Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThe PR introduces lazy module registration for D3Session and D3AsyncSession, renames d3_api_plugin/d3_api_aplugin functions to d3_api_execute/d3_api_aexecute, changes context_modules type from list[str] to set[str], expands Python test coverage to 3.12 and 3.13, and adds a Test PyPI publish workflow. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant D3Session
participant RegisteredModules as registered_modules<br/>(Session State)
participant API as d3_api_execute
participant Remote as Remote Designer
Client->>D3Session: execute(payload with moduleName="mymodule")
D3Session->>RegisteredModules: Check if "mymodule" in registered_modules
alt Module not registered
RegisteredModules-->>D3Session: false
D3Session->>D3Session: register_module("mymodule")
D3Session->>API: register_module("mymodule")
API->>Remote: Send registration request
Remote-->>API: Ack
D3Session->>RegisteredModules: Add "mymodule"
else Module already registered
RegisteredModules-->>D3Session: true
Note over D3Session: Skip registration
end
D3Session->>API: execute(payload)
API->>Remote: Send execution payload
Remote-->>API: Response
API-->>Client: Return result
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment |
b8889f3 to
086157b
Compare
when user use jupyter notbook, it is exected to register same function with different definition multiple times. update the function to reflect the change and give an warning.
086157b to
98eb47a
Compare
| # For example, jupyter notebook server can be running, but function signature can | ||
| # change constantly. | ||
| if self in D3Function._available_d3functions[module_name]: | ||
| logger.warning( |
There was a problem hiding this comment.
Is it really a warning? It's just a thing that happens, imo.. debug at most
Jupyter support
Summary
When Jupyter notebook was setup, and a function was registered with
@d3function, it was not possible to update the function definition until I restart the python session of the notebook (which can become quite painful).To fix the issue:
with different definition multiple times.
Also, this PR add github Action, they will publish the package on test-pypi server, so we can preview the package and delete it whenever we want.
Summary by CodeRabbit
New Features
Documentation
Chores