build(deps): bump pyo3 from 0.22.1 to 0.22.2#1979
Merged
jqnatividad merged 1 commit intomasterfrom Jul 18, 2024
Merged
Conversation
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.22.1 to 0.22.2. - [Release notes](https://github.com/pyo3/pyo3/releases) - [Changelog](https://github.com/PyO3/pyo3/blob/v0.22.2/CHANGELOG.md) - [Commits](PyO3/pyo3@v0.22.1...v0.22.2) --- updated-dependencies: - dependency-name: pyo3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
jqnatividad
added a commit
that referenced
this pull request
May 7, 2026
- Added MarkdownTemplateOverride struct with per-field Option<String>
fields and an `apply_to` overlay that fills any omitted field from
the embedded defaults. Now a user can drop in a --markdown-template
TOML containing only the templates they want to change instead of
copying the entire default file. USAGE updated to mention this.
- New `markdown_template_override_falls_back_per_field` test locks in
that omitted templates fall back to embedded defaults.
- Inlined `source_label` inside the toml::from_str map_err closure
using `args.flag_markdown_template.as_deref().unwrap_or("...")`,
removing the cross-branch tuple binding that was fragile under
future refactors.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jqnatividad
added a commit
that referenced
this pull request
May 8, 2026
…output (#3834) * feat(describegpt): add --markdown-template for customizable Markdown output Adds a `--markdown-template <file>` flag and a default `resources/describegpt_md_defaults.toml` so users can customize the Markdown layout without recompiling. Per-inference-type templates (`dictionary_md_template`, `description_md_template`, `tags_md_template`, `custom_prompt_md_template`) drive the H1/REASONING/TOKEN-USAGE wrapper, and a separate `dictionary_md_body_template` drives the per-field table that fills `{{ llm_response }}` for the Dictionary kind. The wrapper templates and the body template share one Mini Jinja Environment with custom filters: `pipe_escape`, `br_replace`, `human_count`, `dict_cell`, `humanize_examples`. Defaults reproduce the legacy hardcoded `format!()` output byte-for-byte; two embedded tests lock that in. Also fixes a pre-existing race in `get_prompt_file` where two threads racing to initialize `PROMPT_FILE` would panic the loser via `OnceLock::set().unwrap()`; now the loser silently uses the winner's value (same pattern as the new `get_md_template_file`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(describegpt): address roborev review #1976 (5 Low findings) - Thread a single SharedRenderCtx (attribution + timestamp) through render_dictionary_md_body and render_markdown_template so the body footer's attribution and the wrapper's `{{ timestamp }}` / `{{ generated_by_signature }}` are byte-identical in the same phase. - Cache the Mini Jinja Environment in a LazyLock so filters (pipe_escape, br_replace, human_count, dict_cell, humanize_examples) are registered once instead of on every render call. - Add `default_wrapper_templates_are_byte_identical` test plus a TOML comment locking the four wrapper templates in sync — drift fails loudly instead of silently diverging. - Reuse the shared timestamp from the SharedRenderCtx (no second `chrono::Utc::now()` call per dictionary phase). - Add a doc comment on PROMPT_FILE / MD_TEMPLATE_FILE explaining the test-binary singleton constraint and what tests touching custom templates would need. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: rust fmt * address review: copilot comments on PR #3834 - USAGE help and generated docs now mention dictionary_md_body_template and the available custom Mini Jinja filters, pointing users at the inline variable/filter docs in the default TOML. - Markdown template TOML parse error now includes the source path (or "<default embedded TOML>") so users can tell which file failed. - Metadata fields (name/description/author/version) on MarkdownTemplateFile are now `#[serde(default)]` so users can supply a minimal --markdown-template file without copying the metadata header. - Replaced struct-level `#[allow(dead_code)]` with per-field allows on only the genuinely-unused metadata fields, so future genuinely unused additions get caught. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(describegpt): address roborev review #1979 (2 Low findings) - Added MarkdownTemplateOverride struct with per-field Option<String> fields and an `apply_to` overlay that fills any omitted field from the embedded defaults. Now a user can drop in a --markdown-template TOML containing only the templates they want to change instead of copying the entire default file. USAGE updated to mention this. - New `markdown_template_override_falls_back_per_field` test locks in that omitted templates fall back to embedded defaults. - Inlined `source_label` inside the toml::from_str map_err closure using `args.flag_markdown_template.as_deref().unwrap_or("...")`, removing the cross-branch tuple binding that was fragile under future refactors. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(describegpt): apply nightly rustfmt CI uses `cargo +nightly fmt --check`, which respects the unstable `struct_field_align_threshold = 20` in rustfmt.toml. My local stable rustfmt silently ignores that option, so a few struct field declarations landed with hand-aligned colons that nightly rejects. Run nightly fmt to bring the file in line with what CI expects. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(describegpt): normalize line endings on markdown template load (Windows CI) The markdown_default_template_byte_identical_to_legacy and dictionary_body_default_template_byte_identical_to_legacy tests fail on Windows runners because: - `* text=auto` in .gitattributes lets git check out *.toml with CRLF on Windows; `include_str!` then bundles the embedded default `describegpt_md_defaults.toml` with CRLF in its template strings. - Mini Jinja preserves the source line endings verbatim, so the rendered Markdown carries CRLF on Windows. - The legacy `format!()` baseline the tests compare against is LF only. Two-pronged fix: 1. Code-level: normalize CRLF -> LF in `get_md_template_file` before handing content to `toml::from_str`, so both the embedded default and any user-supplied --markdown-template TOML render with LF regardless of the platform git checked them out on. 2. .gitattributes: add `*.toml text eol=lf` so the TOML files are committed AND checked out as LF on every platform. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps pyo3 from 0.22.1 to 0.22.2.
Release notes
Sourced from pyo3's releases.
Changelog
Sourced from pyo3's changelog.
Commits
92b0f15release: 0.22.2da9f52eonly emit c-string literals on Rust 1.79 and later (#4352) (#4353)3d7e5a3chore: updateruffconfiguration to resolve deprecation warning (#4346)e2ebb72use FFI calls for refcounting on all abi3 versions (#4324)7e0fc30allow#[pymodule(...)]to accept all relevant#[pyo3(...)]options (#4330)6317570removeBuildFlagmember to avoid breaking change in patch7fed7c3Prevent building in GIL-less environment (#4327)d99fc06docs: fixups to 0.22 migration guide (#4332)613a70bdocs: use versioned links from docs to guide (#4331)b50f1c3ci: check minimal-versions on MSRV feature powerset (#4273)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)