fix: bump the python-maintenance group across 6 directories with 34 updates
Type: Pull Request
State: Open
Association: Unknown
Comments: 1
(11 days ago)
(11 days ago)
dependencies python
Updates the requirements on anthropic, openai, numpy, ruff, fsspec, peewee, opentelemetry-api, opentelemetry-exporter-otlp, opentelemetry-exporter-otlp-proto-common, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-exporter-otlp-proto-http, opentelemetry-proto, opentelemetry-sdk, opentelemetry-instrumentation, opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-fastapi, opentelemetry-instrumentation-requests, opentelemetry-instrumentation-threading, opentelemetry-semantic-conventions, opentelemetry-util-http, wrapt, httpcore2, httpx2, idna, multidict, platformdirs, pydantic-core, soupsieve, wcwidth, mkdocstrings-python, pymdown-extensions, sphinx-autodoc-typehints, victor-contracts and tree-sitter-language-pack to permit the latest version.
Updates anthropic from 1.6.0 to 1.8.0
Release notes
Sourced from anthropic's releases.
v1.8.0
1.8.0 (2026-09-22)
Full Changelog: v1.7.0...v1.8.0
Features
- api: add support for claude-opus-5-5, inline tool definitions and MCP tool-list pinning (beta) (b5cc700)
Bug Fixes
- api: share one evaluated_permission enum across Managed Agents events (f4f51c8)
- streaming: avoid a Python 3.13 crash at exit when a stream is left open (af029bd)
- tools: add_tools() takes effect straight away (#874) (06d0a6b)
- tools: leave reply-only params off the tool runner's compaction request (#871) (4687310)
Chores
- docs: add descriptions to the Dreams API reference (5574c63)
- docs: add descriptions to the User Profiles API reference (5574c63)
- docs: add memory store descriptions to the Managed Agents API reference (5574c63)
- docs: improve descriptions in the Dreams API reference (1f5e477)
- docs: simplify the session thread agent type description (a45b7ec)
- docs: update diagnostics field descriptions on beta messages (367750c)
- internal: fix tests (70c8cbd)
- internal: remove mypy (be01ed6)
- tests: update fixtures (77f6df8)
Documentation
- add path and header parameter descriptions (f429a30)
Refactors
- client: remove the request param transform in favour of the JSON encoder (539422c)
v1.7.0
1.7.0 (2026-09-18)
Full Changelog: v1.6.0...v1.7.0
Features
... (truncated)
Changelog
Sourced from anthropic's changelog.
1.8.0 (2026-09-22)
Full Changelog: v1.7.0...v1.8.0
Features
- api: add support for claude-opus-5-5, inline tool definitions and MCP tool-list pinning (beta) (b5cc700)
Bug Fixes
- api: share one evaluated_permission enum across Managed Agents events (f4f51c8)
- streaming: avoid a Python 3.13 crash at exit when a stream is left open (af029bd)
- tools: add_tools() takes effect straight away (#874) (06d0a6b)
- tools: leave reply-only params off the tool runner's compaction request (#871) (4687310)
Chores
- docs: add descriptions to the Dreams API reference (5574c63)
- docs: add descriptions to the User Profiles API reference (5574c63)
- docs: add memory store descriptions to the Managed Agents API reference (5574c63)
- docs: improve descriptions in the Dreams API reference (1f5e477)
- docs: simplify the session thread agent type description (a45b7ec)
- docs: update diagnostics field descriptions on beta messages (367750c)
- internal: fix tests (70c8cbd)
- internal: remove mypy (be01ed6)
- tests: update fixtures (77f6df8)
Documentation
- add path and header parameter descriptions (f429a30)
Refactors
- client: remove the request param transform in favour of the JSON encoder (539422c)
1.7.0 (2026-09-18)
Full Changelog: v1.6.0...v1.7.0
Features
- api: add group with display_name to rate limits, deprecate group_type (28f0a83)
- tools: add compact_before_next_turn() to the tool runner (#641) (8b23fb3)
Bug Fixes
... (truncated)
Commits
4421d56Merge pull request #1946 from anthropics/release-please--branches--main--chan...d0247c2release: 1.8.0be01ed6chore(internal): remove mypy06d0a6bfix(tools): add_tools() takes effect straight away (#874)af029bdfix(streaming): avoid a Python 3.13 crash at exit when a stream is left open4687310fix(tools): leave reply-only params off the tool runner's compaction request ...b5cc700feat(api): add support for claude-opus-5-5, inline tool definitions and MCP t...70c8cbdchore(internal): fix tests539422crefactor(client): remove the request param transform in favour of the JSON en...10a4c07codegen metadata- Additional commits viewable in compare view
Updates openai from 3.14.1 to 3.19.2
Release notes
Sourced from openai's releases.
v3.19.2
3.19.2 (2026-09-23)
Bug Fixes
Chores
- api: clarify approximate web search location defaults (#3953) (a95c95e)
- api: clarify Realtime modality array definitions (#3954) (e79cf53)
- api: correct fine-tuning bounds and Realtime response reference (#3949) (325a948)
v3.19.1
3.19.1 (2026-09-23)
Bug Fixes
- chat: preserve single-pass tool iterables (#3770) (33ffa1f)
- client: merge HTTP headers case-insensitively (#3486) (5e39766)
Chores
Documentation
v3.19.0
3.19.0 (2026-09-22)
Features
- api: add GCP external storage support (#3943) (d12d60f)
- api: add GPT-Rosalind research model (#3940) (d041d73)
Bug Fixes
... (truncated)
Changelog
Sourced from openai's changelog.
3.19.2 (2026-09-23)
Bug Fixes
Chores
- api: clarify approximate web search location defaults (#3953) (a95c95e)
- api: clarify Realtime modality array definitions (#3954) (e79cf53)
- api: correct fine-tuning bounds and Realtime response reference (#3949) (325a948)
3.19.1 (2026-09-23)
Bug Fixes
- chat: preserve single-pass tool iterables (#3770) (33ffa1f)
- client: merge HTTP headers case-insensitively (#3486) (5e39766)
Chores
Documentation
3.19.0 (2026-09-22)
Features
- api: add GCP external storage support (#3943) (d12d60f)
- api: add GPT-Rosalind research model (#3940) (d041d73)
Bug Fixes
- _utils/_transform: propagate api_exclude in _async_transform_recursive (#3324) (161ae65)
- api: handle omission markers in queued WebSocket events (#3944) (63e4616)
- client: retry only replayable request content (#3771) (6e0c2be)
- client: tolerate older optional aiohttp installations (#3941) (0d91efb)
- helpers: use asyncio.get_running_loop() inside async methods (#3289) (bac3545)
3.18.0 (2026-09-22)
... (truncated)
Commits
d9f7b7arelease: 3.19.2 (#3951)e79cf53chore(api): clarify Realtime modality array definitions (#3954)a95c95echore(api): clarify approximate web search location defaults (#3953)325a948chore(api): correct fine-tuning bounds and Realtime response reference (#3949)bfd3680fix: preserve single files for fallback extraction paths (#3875)4d12746release: 3.19.1 (#3946)33ffa1ffix(chat): preserve single-pass tool iterables (#3770)5e39766fix(client): merge HTTP headers case-insensitively (#3486)ead1fa2docs: clarify collaborator-only pull request policy (#3948)be9d666chore(api): clarify Chat Completions seed limits (#3945)- Additional commits viewable in compare view
Updates numpy to 2.5.3
Release notes
Sourced from numpy's releases.
v2.5.3 (Sep 6, 2026)
NumPy 2.5.3 Release Notes
The NumPy 2.5.3 is a patch release that fixes bugs discovered after the 2.5.2 release. Apart from the usual bug and maintenance work, there are a number of StringDType related fixes for problems discovered during the ongoing string work in the main branch.
This release supports Python versions 3.12-3.15
Changes
Casting a fixed-width byte string array (
np.bytes_) toStringDTypenow raisesTypeErrorwhen the bytes are not valid UTF-8. Previously the invalid bytes were stored as-is and later caused undefined behavior in string operations.(gh-32296)
MaskedArray._fill_valuewould become stale when ufuncs that change dtype left the result holding a fill_value typed for the old dtype. The mismatch was silent until something later called_check_fill_value, such as.view(), and then aTypeErrorwould be raised. Now, when the copied fill_value is no longer valid for the new dtype, fall back to the default fill_value for that dtype instead of propagating the stale value. This may raise aComplexWarningif the fill_value is complex and the new dtype is real.(gh-32423)
Contributors
A total of 9 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Charles Harris
- Iason Krommydas
- James Davies +
- Joren Hammudoglu
- Maanas Arora
- Matti Picus
- Nathan Goldbaum
- Shikhar Goel +
- Yeonho Kim +
Pull requests merged
A total of 27 pull requests were merged for this release.
- #32235: MAINT: Prepare 2.5.x for further development
... (truncated)
Changelog
Sourced from numpy's changelog.
This is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the first feature release using the
numpy/numpy-release <https://github.com/numpy/numpy-release>__ repository.The commands can be copied into the command line, but be sure to replace 2.4.0 with the correct version. This should be read together with the :ref:
general release guide <prepare_release>.Facility preparation
Before beginning to make a release, use the
requirements/*_requirements.txtfiles to ensure that you have the needed software. Most software can be installed with pip, but some will require apt-get, dnf, or whatever your system uses for software. You will also need a GitHub personal access token (PAT) to push the documentation. There are a few ways to streamline things:
- Git can be set up to use a keyring to store your GitHub personal access token. Search online for the details.
Prior to release
Add/drop Python versions
When adding or dropping Python versions, multiple config and CI files need to be edited in addition to changing the minimum version in
pyproject.toml. Make these changes in an ordinary PR against main and backport if necessary. We currently release wheels for new Python versions after the first Python RC once manylinux and cibuildwheel support that new Python version.Backport pull requests
Changes that have been marked for this release must be backported to the maintenance/2.4.x branch.
Update 2.4.0 milestones
Look at the issues/prs with 2.4.0 milestones and either push them off to a later version, or maybe remove the milestone. You may need to add a milestone.
Check the numpy-release repo
... (truncated)
Commits
dd88c0cMerge pull request #32511 from charris/prepare-2.5.3edcac6aREL: Prepare for the NumPy 2.5.3 releasefd4d908Merge pull request #32509 from charris/backport-3249665bb1daBUG: fix crash in ufunc.resolve_dtypes with a Python scalar type (#32496)294956eMerge pull request #32506 from charris/backport-3250326428d9DOC: fix scipy docs links in intersphinx mapping (#32507)5fab1cbDOC: use static scipy doc site for intershpinx (#32503)7beed2fMerge pull request #32481 from ngoldbaum/stringdtype-backport8972f70Merge pull request #32478 from charris/backport-32466ab1b589Merge pull request #32477 from charris/backport-32423- Additional commits viewable in compare view
Updates ruff from 0.16.7 to 0.16.9
Release notes
Sourced from ruff's releases.
0.16.9
Release Notes
Released on 2026-09-24.
Preview features
- [
ruff] Avoid false positives for overloaded division (RUF069) (#28309)Bug fixes
- [
flake8-bugbear] Avoid false positives for calls with keyword arguments (B009,B010,B043) (#28776)- [
flake8-tidy-imports] Allow lazy imports to be used in deferred annotations (TID255) (#28767)Rule changes
- Update LibCST-based fixes for Python 3.15 (#28616)
- [
flake8-pyi] Mention stubs in the diagnostic message (PYI002) (#28542)Documentation
- Fix horizontal overflow on the rules documentation page (#28699)
- Update rules table with category information (#28651)
- [
flake8-annotations] Clarify thatANN401checks return types in addition to arguments (#28334)- [
flake8-bugbear] Document type-checker interaction (B010) (#28509)- [
flake8-comprehensions] Documentmap/generator exception behavior (C417) (#27794)- [
ruff] Mention related isort settings (RUF022) (#28719)Contributors
@qinpei-dev@sanjayrohith@ntBre@webdevsamran@zaniebot@ewdurbin@MichaReiser@spaceone@IbrahimKhan12@devtechedge@GruffElixirInstall ruff 0.16.9
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.9/ruff-installer.sh | sh
... (truncated)
Changelog
Sourced from ruff's changelog.
0.16.9
Released on 2026-09-24.
Preview features
- [
ruff] Avoid false positives for overloaded division (RUF069) (#28309)Bug fixes
- [
flake8-bugbear] Avoid false positives for calls with keyword arguments (B009,B010,B043) (#28776)- [
flake8-tidy-imports] Allow lazy imports to be used in deferred annotations (TID255) (#28767)Rule changes
- Update LibCST-based fixes for Python 3.15 (#28616)
- [
flake8-pyi] Mention stubs in the diagnostic message (PYI002) (#28542)Documentation
- Fix horizontal overflow on the rules documentation page (#28699)
- Update rules table with category information (#28651)
- [
flake8-annotations] Clarify thatANN401checks return types in addition to arguments (#28334)- [
flake8-bugbear] Document type-checker interaction (B010) (#28509)- [
flake8-comprehensions] Documentmap/generator exception behavior (C417) (#27794)- [
ruff] Mention related isort settings (RUF022) (#28719)Contributors
@qinpei-dev@sanjayrohith@ntBre@webdevsamran@zaniebot@ewdurbin@MichaReiser@spaceone@IbrahimKhan12@devtechedge@GruffElixir0.16.8
Released on 2026-09-16.
Bug fixes
... (truncated)
Commits
0be08a2Bump version to 0.16.9 (#28882)b4920b7Renameruff_clitoruff_command_line(#28881)47c751bUpdate dependency astral-sh/uv to v0.12.18 (#28880)8c244e5[flake8-comprehensions] Documentmap/generator exception behavior (C417...5edf5a1Usetargetform inrooster.version_files(#28876)915bb2b[ty] Prefer existing @ paths over response files in Ruff and ty (#28877)4710e1aci(github): update version number in placeholder of issue template (#28871)eedfc62[ty] Propagate outer type context through cast calls (#28855)ceaa6a0[ty] Contain rendered code within Markdown fences (#28869)dba0f30authorize ruff-pre-commit dispatch via OIDC (#28867)- Additional commits viewable in compare view
Updates fsspec to 2026.9.0
Commits
0f76baachangelog (#2166)695f831Add age-based cleanup for simplecache (#2118)42aa468Mirrorreadintofrom the pyarrow stream ontoArrowFile(#2111)4a4e6aeMake the SFTP host key policy configurable (#2126)a0ce6dbNormalize paths in AsyncFileSystemWrapper like the wrapped filesystem (#2159)c5fea6dFix cat_ranges on whole-file caches after #2154 (#2163)9efb18bPatch HAS_CPYTHON_API where _fast_slice reads it (#2164)27bcd35feat(AdaptiveReadaheadCache): introducing a new cache-type adaptive (#2093)a681acaIgnore a leading slash in TarFileSystem paths (#2148)57c55f8Make names relative in DirFileSystem.walk(detail=True) (#2160)- Additional commits viewable in compare view
Updates peewee to 4.5.1
Release notes
Sourced from peewee's releases.
4.5.1
Couple little things for
EnumField.
EnumFieldandIntEnumFieldvalidate member value types (strandintrespectively) at field construction.EnumFieldandIntEnumFielddefaultchoicesto(value, name)pairs derived from the enum.- Fix #3075, migration generation for
EnumField. Generated migrations will emit the storage field type (e.g.IntegerField) rather thanEnumField().
Changelog
Sourced from peewee's changelog.
4.5.1
EnumFieldandIntEnumFieldvalidate member value types (strandintrespectively) at field construction.EnumFieldandIntEnumFielddefaultchoicesto(value, name)pairs derived from the enum.- Fix #3075, migration generation for
EnumField. Generated migrations will emit the storage field type (e.g.IntegerField) rather thanEnumField().4.5.0
Backwards-incompatible:
- MySQL and MariaDB connections no longer set
sql_mode. Peewee had been settingPIPES_AS_CONCAT, but the param replaced the server's mode rather than adding to it, which silently disabledSTRICT_TRANS_TABLES(etc). Going forward Peewee will not modifysql_modeby default and useCONCAT()rather than||for MySQL/MariaDB.- MySQL and MariaDB connection charset defaults to
utf8mb4instead ofutf8, which is an alias forutf8mb3and cannot store 4-byte characters.- A field's
sequence=is now qualified with the model'sMeta.schema. If the name you pass already contains a dot it is treated as fully-qualified and used as-is, sosequence='other.seq'is unaffected byMeta.schema. Also,sequence_exists()accepts a schema-qualified name.- SQLite
BEGIN,COMMITandROLLBACKare issued directly on a cursor rather than throughexecute_sql(), so they are no longer debug-logged, do not fire query hooks and are not counted bycount_queries(). This matches Postgres and MySQL.atomic()andtransaction()on a closed database withautoconnect=Falsenow raiseInterfaceErroron Postgres and MySQL, as they already did on SQLite (and as queries do). Previouslybegin()opened a connection regardless ofautoconnect.Improvements:
- Add
SqliteDatabase(..., lock_type=...)to set the default locking strategy for transactions that do not specify one, e.g.lock_type='IMMEDIATE'.- Postgres introspection (
get_tables(),get_columns(),get_indexes(),get_primary_keys(),get_foreign_keys(),get_views()) with noschemanow follows the search path viacurrent_schema()instead of assumingpublic, matching MySQL'sDATABASE()behavior.- Add
Runner(db, schema=...)andpwmigrate --schemafor running migrations against a specific schema. The history table lives in that schema, so each schema tracks its own applied set and one set of migration files can be run against any number of schemas.- Add
SchemaMigrator(db, schema=...), which qualifies every table name w/the given schema (or database on MySQL). Not supported for SQLite, as the table-rebuild rewrites DDL straight fromsqlite_master.
... (truncated)
Commits
21b093f4.5.1b1faea2Populatechoicesfrom enum values for enum fields.c6328d6Fix hardcoded ids in tests.c6d7233Remove some dead json test helpersac9f18eMerge cysqlite sqlite-specific tests, no more overrides.fd04f2aTest cleanup73d3c7eFix #3075, support enumfield in migrations.18061ea4.5.06275317Add time w/offset handling for sqlite.8dded9fTest import cleanup- Additional commits viewable in compare view
Updates opentelemetry-api from 1.37.0 to 1.45.0
Release notes
Sourced from opentelemetry-api's releases.
Version 1.45.0/0.66b0
Added
opentelemetry-exporter-prometheus: add support to configure Resource attributes as metric labels (#5122)- infra: add renovate (#5202)
opentelemetry-api,opentelemetry-sdk: add support for extended attribute values everywhere. (#5266)opentelemetry-sdk: wire the top-levellog_levelfield in declarative configuration — when set, maps the OTelSeverityNumbervalue to a Python logging level and applies it to theopentelemetrylogger so SDK internal diagnostics respect the configured severity. (#5351)opentelemetry-sdk: add the new stableAlwaysRecordSampler(#5354)opentelemetry-configuration,opentelemetry-sdk: wire top-levelattribute_limitsinto per-signal providers via declarative config; addlog_record_limitssupport toLoggerProvider(#5365)opentelemetry-exporter-otlp-json-http: add OTLP JSON HTTP exporter package (#5374)opentelemetry-api,opentelemetry-sdk: addenabled()support to the Logger API, SDK, andLogRecordProcessorto let instrumentation skip expensive work when logging is disabled (#5380)opentelemetry-exporter-otlp-json-file: add OTLP JSON file Docker tests (#5412)opentelemetry-configuration: wire the experimentaltracer_configurator/development,meter_configurator/developmentandlogger_configurator/developmentfields intocreate_tracer_provider,create_meter_providerandcreate_logger_provider, so per-instrumentation-scopeenabledoverrides declared in the config file are applied to the provider (previously these fields were parsed but silently discarded). The loggerminimum_severity/trace_basedfields are not supported by the Python SDK and are ignored with a warning. (#5418)docs/examples: add example on how to manually setup the SDK to get SDK metrics (#5449)opentelemetry-docker-tests: add Prometheus exporter docker tests (#5457)opentelemetry-sdk: count records dropped after shutdown onotel.sdk.processor.{span,log}.processedwitherror.type=already_shutdown(batch span/log and simple log processors), which the semantic conventions define as a valid value for this metric. (#5509)opentelemetry-semantic-conventions: update semantic conventions to v1.44.0 (#5511)opentelemetry-sdk: addhost.idto the host resource detector (#5653)opentelemetry-test-utils: addCapturingSamplerto record what samplers receive in instrumentation tests (#5681)Changed
- Enable
PIE(flake8-pie) ruff rule and fix all violations (#5150)- The public
opentelemetry.util.types.AttributeValuetype in packageopentelemetry-apiis being expanded to includeNone, heterogeneous sequences of primitive types (and nested sequences) as opposed to only homogeneous primitive sequences, and Mappings of strings to any primitive types or sequences/mappings (which themselves must only contain primitive types or sequences/mappings validated the same way). If abytestype is set as an attribute value in the SDK, it will no longer be utf-8 decoded to a string, instead it will be passed along as is in accordance with the OTEL spec, sincebytesis a valid type in the OTLP proto. (#5266)opentelemetry-exporter-otlp-proto-http: add amax_request_sizeargument to the OTLP HTTP exporters (traces, logs, metrics); serialized requests larger than the limit are dropped before sending, measured before compression. Defaults to 64 MiB (enabled); set to 0 to disable. Mirrors opentelemetry-go#8157. (#5369)- [BREAKING]
opentelemetry-api: subclasses ofLoggerneed to implement theenabledmethod (#5380)opentelemetry-exporter-otlp-proto-http: refactor to use shared opentelemetry-exporter-otlp-common and opentelemetry-exporter-http-transport packages and switch default HTTP backend to urllib3 (#5389)opentelemetry-sdk: unify logging force_flush timeout defaults to 30000ms (#5438)opentelemetry-python: enable Ruff default ruleset and fix auto-fixable lint issues (#5491)opentelemetry-sdk:SimpleSpanProcessornow drops spans ended aftershutdown()instead of passing them to the exporter, and counts them onotel.sdk.processor.span.processedwitherror.type=already_shutdown. (#5512)- Bump pytest to 9.0.3 (#5518)
opentelemetry-exporter-otlp-proto-http: clarify that theendpoint=kwarg requires the full signal path (#5633)opentelemetry-sdk: fix typos in SpanLimits docstring (#5658)Fixed
opentelemetry-configuration: perform environment variable substitution on scalar values after parsing the configuration file, so${VAR}references inside comments and mapping keys are no longer substituted and undefined references in comments no longer abort loading (#5407)opentelemetry-configuration: declarative config environment variable substitution now replaces an unset variable that has no default with an empty value instead of raising an error, per the configuration spec. Resource attributes whose value resolves to null (an unset${VAR}with no default) are skipped with a warning instead of being inserted as a null value. (#5408)- 'scripts/build.sh
: addopentelemetry-configurationandopentelemetry-proto-json` to the package to release (#5425)opentelemetry-sdk: fixViewinstrument-name matching so a view configured with an instrument's real (mixed-case) name is applied; matching is now case-insensitive and platform-independent instead of relying onfnmatch's OS-dependent case handling (#5430)opentelemetry-sdk: fix missing f-prefix in exponential histogram error messages (#5434)opentelemetry-configuration: resolve false-positive warning logs for newer schema minor version (#5436)opentelemetry-sdk: make methods onFixedSizeExemplarReservoirABCthread safe (#5437)opentelemetry-propagator-jaeger: fix typing issues and enable pyright typechecking for the packageopentelemetry-propagator-jaeger: skipuberctx-baggage headers with an empty value on extraction instead of raisingTypeError(#5440)opentelemetry-sdk: fixTypeErrorwhen instantiating a_BaseConfiguratorsubclass whose__init__takes arguments (#5441)opentelemetry-sdk: fixTypeErrorinos.fork()when aBatchProcessororPeriodicExportingMetricReaderis garbage collected (#5453)opentelemetry-configuration: a declarative config key present with an empty (null) value on an object-typed node (e.g.always_on:, a- service:detector, or a metricconsole:exporter) is now treated the same as an explicit empty config (always_on: {}) instead of failing type dispatch or silently skipping the node. Bothdict-typed nodes and dataclasses constructible with no arguments are covered. (#5454)opentelemetry-api: fix copy-pasted log message inSpanContext.__delattr__(#5455)opentelemetry-sdk: reject views withExponentialBucketHistogramAggregationfor asynchronous instruments instead of silently producing no data (#5461)Description has been truncated
Package Dependencies
Technical Details
| ID: | 16659100 |
| UUID: | 5687807592 |
| Node ID: | PR_kwDOQcV9r88AAAABGaL0Uw |
| Host: | GitHub |
| Repository: | anvai-labs/victor |