Commit Graph
16578 Commits
Author SHA1 Message Date
Shahar Naveh 4290fd8966 Fixed: unused manifest key: dependencies.libz-sys.package (#7792)
* Fixed: `unused manifest key: dependencies.libz-sys.package`

* Use `libz-rs-sys` instead

* Adjust rust code
2026-05-12 00:54:44 +09:00
Shahar Naveh fe4b369baf Code nits in csv.rs (#7834)
* Code nits in `csv.rs`

* clippy
2026-05-12 00:53:58 +09:00
Shahar Naveh 2e13b454c4 Update configparser.py to 3.14.5 (#7833) 2026-05-12 00:53:36 +09:00
Shahar Naveh 2595680902 Update argparse.py to 3.14.5 (#7832) 2026-05-12 00:53:22 +09:00
Shahar Naveh 7ea85cca55 Update test_csv.py to 3.14.5 (#7831)
* Update `test_csv.py` to 3.14.5

* Mark failing test
2026-05-12 00:53:10 +09:00
Shahar Naveh 27dffed1e3 Add map_unwrap_or clippy rule (#7829) 2026-05-12 00:51:23 +09:00
github-actions[bot]andgithub-actions[bot] 97c6419dde Update doc DB for CPython 3.14.5 (#7828)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-12 00:44:34 +09:00
Shahar Naveh 803971cdf6 Bump targeted CPython version to 3.14.5 (#7826) 2026-05-12 00:44:17 +09:00
Shahar Naveh 13a061334a Update wsgiref.py to 3.14.4 (#7825) 2026-05-12 00:44:05 +09:00
Shahar Naveh 8f37484dc9 Update platform.py to 3.14.4 (#7824) 2026-05-12 00:43:49 +09:00
Shahar Naveh d1d38c0765 Update test_site.py to 3.14.4 (#7822) 2026-05-12 00:43:34 +09:00
Shahar Naveh 0a7c13ff5b Update sysconfig to 3.14.4 (#7821)
* Update `test_sysconfig.py` to 3.14.4

* Update `sysconfig` to 3.14.4
2026-05-12 00:43:18 +09:00
Shahar Naveh 68461c1649 Update logging to 3.14.4 (#7820)
* Update `test_logging.py` to 3.14.4

* Update `logging` to 3.14.4  /
2026-05-12 00:42:54 +09:00
Shahar Naveh bc45bd8c26 Update test_zipimport_support.py to 3.14.4 (#7819)
* Update `test_zipimport_support.py` to 3.14.4

* Add custom doctest checker
2026-05-12 00:42:39 +09:00
Shahar Naveh 20afb43f3a Update datetime related test files to 3.14.4 (#7817)
* Update datetime tests

* Add `test_strptime.py` from 3.14.4
2026-05-12 00:42:10 +09:00
Shahar Naveh 9b9b483b56 Update test_contextlib_async.py to 3.14.4 (#7816) 2026-05-12 00:41:05 +09:00
Shahar Naveh 1ce29cb763 Update test_contextlib.py to 3.14.4 (#7815) 2026-05-12 00:40:32 +09:00
Shahar Naveh 3420ec94c1 Reapply patches to test_io.py (#7814) 2026-05-12 00:40:14 +09:00
Shahar Naveh 815023c2d0 Update ensurepip to 3.14.4 (#7811) 2026-05-12 00:39:37 +09:00
Shahar Naveh c113f11c3d Update test_resource.py to 3.14.4 (#7808)
* Update `test_resource.py` to 3.14.4

* Mark failing tests

* Skip crashing macos test
2026-05-12 00:38:16 +09:00
Shahar Naveh 542ddd40d9 Autogen instructions & opcodes (#7797) 2026-05-10 22:13:38 +09:00
Joshua Megnauth c9d2a92f28 Fix title() and capitalize() (#7717)
* PyBytes.title should be ASCII-only.

* Use icu_casemap over unicode-casing for titles

`icu_casemap` is consistently maintained, official, and tracks the
latest Unicode versions. RustPython is also using other `icu4x` crates,
so using `icu_casemap` is more consistent.

As with islower and isupper, tracking the latest Unicode version is
important because character definitions shift over time which causes
discrepancies between RustPython and CPython.

This commit fixes title().

* Use icu_casemap for capitalize()

I dropped unicode-casing because it's cleaner to use icu4x for
everything. `icu4x` will also stay up to date whereas unicode-casing
will need to be periodically updated with new Unicode tables. Dropping
unicode-casing also removes some binary bloat due to the tables.

`capitalize()` mimics CPython behavior more closely now as well.
Notably, I implemented CPython's sigma edge case handler.

* Match CPython's title() exactly
2026-05-09 18:03:21 +00:00
6316ff73c1 Move dependencies to workspace for capi crate (#7795)
* Add dependency from `capi` crate to workspace

* Declare dependency as workspace = true

* Update Cargo.toml

Co-authored-by: Bas Schoenmaeckers <7943856+bschoenmaeckers@users.noreply.github.com>

---------

Co-authored-by: Shahar Naveh <50263213+ShaharNaveh@users.noreply.github.com>
Co-authored-by: Bas Schoenmaeckers <7943856+bschoenmaeckers@users.noreply.github.com>
2026-05-10 00:31:37 +09:00
Shahar Naveh e2c45da424 Workaround for random windows cache failure (#7812) 2026-05-10 00:30:54 +09:00
Shahar Naveh 85f14a74b9 Update test_charmapcodec.py to 3.14.4 (#7810) 2026-05-10 00:30:26 +09:00
Shahar Naveh f6969e6cf1 Update test_global.py to 3.14.4 (#7809) 2026-05-10 00:29:46 +09:00
Shahar Naveh 7965c2ba83 Update test_userlist.py to 3.14.4 (#7807) 2026-05-10 00:29:27 +09:00
Shahar Naveh 8b88a8147b Update test_isinstance.py to 3.14.4 (#7806) 2026-05-10 00:29:05 +09:00
Shahar Naveh b1349808ea Add test_finalization.py from 3.14.4 (#7805) 2026-05-10 00:28:50 +09:00
Shahar Naveh b739b659f0 Update test_context.py to 3.14.4 (#7804)
* Update `test_context.py` to 3.14.4

* Mark & fix some tests

* clippy
2026-05-10 00:28:30 +09:00
Shahar Naveh af164793d9 Update test_complex.py to 3.14.4 (#7803) 2026-05-10 00:28:13 +09:00
Shahar Naveh a35079967a Fix comment confusion bug in update_lib (#7802)
* Use `unittest.expectedSuccess` to mark failing tests

* Fix comment find logic

* Add test for it
2026-05-10 00:27:51 +09:00
dependabot[bot] 5724485682 Bump fast-uri from 3.0.6 to 3.1.2 in /wasm/demo (#7801)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.0.6 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.0.6...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-10 00:26:55 +09:00
Joshua Megnauth 40a996ec68 Use rustix for uname; drop uname crate (#7799) 2026-05-10 00:26:26 +09:00
Shahar Naveh a848296fb5 Update test_venv.py to 3.14.4 (#7798) 2026-05-10 00:26:05 +09:00
Joshua Megnauth d72a726d63 Fix sys.implementation (#7793)
`sys.version_info` and `sys.implementation` are two different versioning
schemes. `version_info` refers to the target Python version while
`implementation` refers to the implementation version.

For RustPython, `version_info` should be 3.14 because it currently
targets Python 3.14. This was correct and remains unchanged.

`implementation`, however, should be set to RustPython's version. I
updated the code to correctly get RustPython's version from the
environment. I also ensured values are hard coded at build time which
reduces the overall code that needs to be run at runtime as well as
removes some unneeded allocations.

Closes: #7770
2026-05-10 00:25:14 +09:00
dependabot[bot] 10581d3412 Bump openssl from 0.10.78 to 0.10.79 (#7791)
Bumps [openssl](https://github.com/rust-openssl/rust-openssl) from 0.10.78 to 0.10.79.
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.78...openssl-v0.10.79)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.79
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 20:44:10 +09:00
fanninpm 6f51b41164 Make determine_changes step run on ubuntu-slim (#7790) 2026-05-06 20:43:55 +09:00
fanninpm ac613f8ad0 Move dependencies to workspace for vm crate (#7789)
* Add dependencies from `vm` crate to workspace

* Declare dependencies as workspace = true
2026-05-06 14:03:05 +09:00
Bas SchoenmaeckersandJeong, YunWon f122e3e12a Add minimal capi lifecycle support (#7648)
* Add minimal capi lifecycle support

* Force enable `threading` on `stdlib`

---------

Co-authored-by: Jeong, YunWon <jeong@youknowone.org>
2026-05-06 02:02:26 +09:00
Shahar Naveh 76128d183f Remove unused rust impl for formatting dis output (#7660)
* Remove unused rust impl for formatting dis output

* remove `examples/dis.rs`

* Added tests

* Update lock

* Try to set snapshot dir

* Remove verbose flag

* Regenerate snapshots after #7711

* Revert "Bump insta from 1.46.3 to 1.47.2 (#7706)"

This reverts commit e6d9ea6bfe.

* Debug info

* Show diff as well

* Show debug faster

* CI: true env

* Recert CI

* Add `CI: true` in ci emv

* Reapply "Bump insta from 1.46.3 to 1.47.2 (#7706)"

This reverts commit 693ca8cbe4d7885a81162a9be31e8bb567db885a.

* simplify macro

* trim on function side

* Force insta workspace root

* fix merge
2026-05-05 08:09:35 +00:00
Jeong, YunWon 3757582ca2 codegen: module seed CodeInfo emits empty flags (#7782)
CPython convention: top-level module / interactive / expression code
does not carry CO_NEWLOCALS or CO_OPTIMIZED. The per-scope mapping at
enter_scope::CompilerScope::Module already returns empty flags, but
Compiler::new seeded the root CodeInfo with CodeFlags::NEWLOCALS,
forcing module code into the NEWLOCALS arm of frame.rs:725-731 so
locals were allocated as a fresh empty dict instead of being bound to
globals (the correct semantics for exec(code, globals)).

Restore the seed to empty() so it matches the per-scope mapping and
CPython's compiler_enter_scope for module scope.
2026-05-05 16:22:55 +09:00
dependabot[bot] e6d2522cd2 Bump https://github.com/astral-sh/ruff-pre-commit (#7779)
Bumps [https://github.com/astral-sh/ruff-pre-commit](https://github.com/astral-sh/ruff-pre-commit) from v0.15.11 to 0.15.12.
- [Release notes](https://github.com/astral-sh/ruff-pre-commit/releases)
- [Commits](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.11...v0.15.12)

---
updated-dependencies:
- dependency-name: https://github.com/astral-sh/ruff-pre-commit
  dependency-version: 0.15.12
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 14:25:08 +09:00
dependabot[bot] b9498c6a97 Bump mwilliamson/setup-wabt-action from 3.2.0 to 4.0.0 (#7778)
Bumps [mwilliamson/setup-wabt-action](https://github.com/mwilliamson/setup-wabt-action) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/mwilliamson/setup-wabt-action/releases)
- [Commits](https://github.com/mwilliamson/setup-wabt-action/compare/v3.2.0...427f2fdd70bc4dbc2e53c2eb4f19f66162d71bd2)

---
updated-dependencies:
- dependency-name: mwilliamson/setup-wabt-action
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 14:24:34 +09:00
Shahar Naveh 5cacd9c1a3 Move clippy and cargo-shear to a dedicated job (#7741) 2026-05-05 14:24:21 +09:00
dependabot[bot] 2de8d09747 Bump github/gh-aw from 0.68.3 to 0.71.1 (#7776)
Bumps [github/gh-aw](https://github.com/github/gh-aw) from 0.68.3 to 0.71.1.
- [Release notes](https://github.com/github/gh-aw/releases)
- [Changelog](https://github.com/github/gh-aw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/gh-aw/compare/ce1794953e0ec42adc41b6fca05e02ab49ee21c3...f01a9d118afa6e306f3645ca31e43f4ea8fb4d22)

---
updated-dependencies:
- dependency-name: github/gh-aw
  dependency-version: 0.71.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 14:22:14 +09:00
dependabot[bot] d5c2f6132e Bump the wasmtime group across 1 directory with 2 updates (#7775)
Bumps the wasmtime group with 1 update in the / directory: [cranelift-jit](https://github.com/bytecodealliance/wasmtime).


Updates `cranelift-jit` from 0.131.0 to 0.131.1
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/RELEASES.md)
- [Commits](https://github.com/bytecodealliance/wasmtime/commits)

Updates `cranelift-module` from 0.131.0 to 0.131.1
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/RELEASES.md)
- [Commits](https://github.com/bytecodealliance/wasmtime/commits)

---
updated-dependencies:
- dependency-name: cranelift-jit
  dependency-version: 0.131.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: wasmtime
- dependency-name: cranelift-module
  dependency-version: 0.131.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: wasmtime
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 14:22:02 +09:00
Jeong, YunWon 12c58d242c Bytecode parity: align borrow optimization with CFG traversal (#7773)
* Align CFG cleanup bytecode with CPython

* Bytecode parity: fblock unwind, fstring join, folding, scope

- compile.rs: unwind_fblock_stack returns whether a finally ran so
  return-statement emission can adjust location handling; restructure
  try/except/finally cleanup to preserve or drop boundary NOPs based on
  whether the body falls through; rework f-string lowering with
  count/join helpers; remove the per-collection-type heuristic for
  AST-level folding and defer to flowgraph passes; add several folding
  helpers and a ComprehensionLoopControl enum.
- ir.rs: re-run unary/binop folding around tuple folding, add
  reorder_conditional_scope_exit_and_jump_back_blocks and several block
  classification helpers, add MAX_STR_SIZE, change is_exit_without_lineno
  to take the block list.
- symboltable.rs: in analyze_cells, remove names owned as cells in
  function-like scopes from the parent's free set; mark lambda scope
  type explicitly.

* Refine CFG scope-exit backedge ordering
2026-05-05 14:04:12 +09:00
fanninpm 3a14fd6531 Move dependencies to workspace for common crate (#7771)
* Add dependencies from `common` crate to workspace

* Declare dependencies as workspace = true
2026-05-05 14:02:57 +09:00
Noa 6bb84f3e80 Use cfg_select in a bunch more places (#7740) 2026-05-04 20:26:16 +00:00