chore: move deps from requirements.txt to pyproject.toml - #233
Conversation
|
Caution Review failedThe pull request is closed. ## Walkthrough
This update transitions the project's dependency management from requirements files to using package extras defined in `pyproject.toml`. It removes `requirements-dev.txt` and `docs/requirements.txt`, adjusts workflow and Gitpod commands, and updates `noxfile.py` to install dependencies via extras, streamlining development and documentation setup.
## Changes
| File(s) | Change Summary |
|------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| .github/workflows/main.yml, .gitpod.yml | Replaced explicit requirements file installation with package extras (`.[dev]`), simplified setup steps. |
| docs/requirements.txt, requirements-dev.txt | Deleted requirements files for docs and development dependencies. |
| noxfile.py | Removed REQUIREMENTS dict; sessions now install dependencies using package extras (`.[test]`, `.[docs]`).|
| pyproject.toml | Added `[project.optional-dependencies]` for `dev`, `test`, and `docs` extras. |
## Sequence Diagram(s)
```mermaid
sequenceDiagram
participant Developer
participant Workflow/Gitpod/Nox
participant Package Installer
Developer->>Workflow/Gitpod/Nox: Initiate environment setup
Workflow/Gitpod/Nox->>Package Installer: pip install .[dev] or .[docs]
Package Installer-->>Workflow/Gitpod/Nox: Installs dependencies from pyproject.toml extras
Workflow/Gitpod/Nox-->>Developer: Environment readyPossibly related PRs
Suggested labels
Poem
|
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
.github/workflows/main.yml(1 hunks).gitpod.yml(1 hunks)docs/requirements.txt(0 hunks)noxfile.py(2 hunks)pyproject.toml(1 hunks)requirements-dev.txt(0 hunks)
💤 Files with no reviewable changes (2)
- docs/requirements.txt
- requirements-dev.txt
🧰 Additional context used
🪛 Pylint (3.3.7)
noxfile.py
[convention] 67-67: Missing function or method docstring
(C0116)
🔇 Additional comments (3)
pyproject.toml (1)
43-53: LGTM! Clean dependency group implementation.The dependency groups are well-structured and follow PEP 735 standards. The separation of
devanddocsdependencies is logical, and including"."in the docs group ensures the current package is available for documentation builds..gitpod.yml (1)
6-8: LGTM! Correctly updated for dependency groups.The changes properly transition from installing
requirements-dev.txtto using the new[dev]dependency group. This simplifies the setup process while maintaining the same functionality..github/workflows/main.yml (1)
64-65: LGTM! Workflow correctly updated for dependency groups.The installation command properly uses the new
[dev]dependency group instead of requirements files, maintaining consistency with the project's transition to pyproject.toml-based dependency management.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #233 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 7 7
Lines 290 290
=========================================
Hits 290 290 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
noxfile.py (1)
64-67: LGTM! Correct implementation of package extras with additional dependency.The docs-live session correctly combines package extras
'.[docs]'with the additional"sphinx-autobuild"package. The syntax is proper and maintains the intended functionality.Note: Static analysis suggests adding a docstring for this function, but this is a minor convention issue for nox session functions.
🧰 Tools
🪛 Pylint (3.3.7)
[convention] 65-65: Missing function or method docstring
(C0116)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/main.yml(3 hunks)noxfile.py(1 hunks)pyproject.toml(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- .github/workflows/main.yml
- pyproject.toml
🧰 Additional context used
🪛 Pylint (3.3.7)
noxfile.py
[convention] 59-59: Missing function or method docstring
(C0116)
[convention] 65-65: Missing function or method docstring
(C0116)
🔇 Additional comments (2)
noxfile.py (2)
51-55: LGTM! Correct implementation of package extras.The transition from requirements files to package extras syntax is correctly implemented. The
'.[test]'syntax properly installs the test dependencies defined in pyproject.toml.🧰 Tools
🪛 Pylint (3.3.7)
[convention] 51-51: Missing function or method docstring
(C0116)
58-61: LGTM! Correct implementation of package extras.The docs session correctly uses package extras syntax with
'.[docs]'to install documentation dependencies from pyproject.toml.🧰 Tools
🪛 Pylint (3.3.7)
[convention] 59-59: Missing function or method docstring
(C0116)
|
requirements.txt to pyproject.toml



Summary by CodeRabbit