Update {site,sysconfig}.py from 3.13.7#6132
Conversation
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
vm/src/stdlib/sysconfig.rs (2)
1-4: Avoid a redundantsysconfig::sysconfigpath; use a conventional inner module name.Align with existing pattern (
module/decl) to improve clarity.-pub(crate) use sysconfig::make_module; - -#[pymodule(name = "_sysconfig")] -pub(crate) mod sysconfig { +pub(crate) use module::make_module; + +#[pymodule(name = "_sysconfig")] +pub(crate) mod module {
7-13: Return PyResult and drop unwrap for better error hygiene.Matches common style in stdlib shims and keeps exceptions propagatable.
- #[pyfunction] - fn config_vars(vm: &VirtualMachine) -> PyDictRef { - let vars = vm.ctx.new_dict(); - vars.set_item("Py_GIL_DISABLED", false.to_pyobject(vm), vm) - .unwrap(); - vars - } + use crate::PyResult; + + #[pyfunction] + fn config_vars(vm: &VirtualMachine) -> PyResult<PyDictRef> { + let vars = vm.ctx.new_dict(); + vars.set_item("Py_GIL_DISABLED", vm.ctx.new_bool(false), vm)?; + Ok(vars) + }
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (5)
Lib/site.pyis excluded by!Lib/**Lib/sysconfig/__init__.pyis excluded by!Lib/**Lib/sysconfig/__main__.pyis excluded by!Lib/**Lib/test/test_site.pyis excluded by!Lib/**Lib/test/test_sysconfig.pyis excluded by!Lib/**
📒 Files selected for processing (2)
vm/src/stdlib/mod.rs(2 hunks)vm/src/stdlib/sysconfig.rs(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rs
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/*.rs: Follow the default rustfmt code style (cargo fmtto format)
Always run clippy to lint code (cargo clippy) before completing tasks. Fix any warnings or lints that are introduced by your changes
Follow Rust best practices for error handling and memory management
Use the macro system (pyclass,pymodule,pyfunction, etc.) when implementing Python functionality in Rust
Files:
vm/src/stdlib/mod.rsvm/src/stdlib/sysconfig.rs
🧬 Code graph analysis (1)
vm/src/stdlib/mod.rs (2)
vm/src/stdlib/nt.rs (1)
make_module(7-11)vm/src/stdlib/time.rs (1)
make_module(10-17)
🔇 Additional comments (3)
vm/src/stdlib/mod.rs (2)
21-21: Wiring the new stdlib module looks correct.Unconditional
mod sysconfig;is consistent with other always-available stdlib shims.
101-101: Registered initializer for "_sysconfig".Entry points to
sysconfig::make_moduleas expected; ordering among other entries is fine.vm/src/stdlib/sysconfig.rs (1)
7-13: Verify that all required sysconfig config_vars keys are provided
Could not locate the vendored Python 3.13.7sysconfig.pyin this repo; please manually confirm that no additional keys beyondPy_GIL_DISABLEDare expected byconfig_varsto prevent runtime failures.
Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>

Summary by CodeRabbit