| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists. You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file. WalkthroughAdds a new internal stdlib module _sysconfig (unconditionally compiled), registers it in the VM’s stdlib initializer map, and exposes a config_vars function that returns a dict with Py_GIL_DISABLED: True. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor App
participant VM
participant StdlibRegistry as "Stdlib Init Map"
participant Sysconfig as "_sysconfig Module"
App->>VM: import _sysconfig
VM->>StdlibRegistry: lookup make_module("_sysconfig")
StdlibRegistry-->>VM: sysconfig::make_module
VM->>Sysconfig: initialize module
VM-->>App: _sysconfig handle
App->>Sysconfig: config_vars()
activate Sysconfig
Note over Sysconfig: Build dict {"Py_GIL_DISABLED": True}
Sysconfig-->>App: PyDict
deactivate Sysconfig
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem✨ Finishing Touches 🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. ❤️ ShareComment @coderabbitai help to get the list of available commands and usage tips. |
Sorry, something went wrong.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)vm/src/stdlib/sysconfig.rs (2)📜 Review details1-4: Avoid a redundant sysconfig::sysconfig path; 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) + }
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration.
📥 CommitsReviewing files that changed from the base of the PR and between 85ca280 and 02320d5.
⛔ Files ignored due to path filters (5)📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/*.rs: Follow the default rustfmt code style (cargo fmt to 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/nt.rs (1)🔇 Additional comments (3)vm/src/stdlib/time.rs (1)
- make_module (7-11)
- make_module (10-17)
vm/src/stdlib/mod.rs (2)vm/src/stdlib/sysconfig.rs (1)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_module as expected; ordering among other entries is fine.
7-13: Verify that all required sysconfig config_vars keys are provided
Could not locate the vendored Python 3.13.7 sysconfig.py in this repo; please manually confirm that no additional keys beyond Py_GIL_DISABLED are expected by config_vars to prevent runtime failures.
Sorry, something went wrong.
There was a problem hiding this comment.
👍
Sorry, something went wrong.
| # See https://bugs.python.org/issue29585 | ||
|
|
||
| # Copy of sysconfig._get_implementation() | ||
| def _get_implementation(): |
There was a problem hiding this comment.
👍 finally this is shipped
Sorry, something went wrong.
Co-authored-by: Jeong, YunWon <69878+youknowone@users.noreply.github.com>
| Back | FazBrowse Home | New Git URL |
Summary by CodeRabbit