Consolidate package configuration in pyproject.toml - #152
Conversation
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
|
@copilot fix the |
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
|
@copilot add the supported platforms as classifiers. |
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Added platform classifiers in commit e82ee90. The classifiers now include:
These correspond to the platforms originally specified in |
|
@copilot merge the |
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Merged develop branch in commit 93435cf. Resolved the setup.py conflict by confirming deletion (since it's no longer needed with pyproject.toml). Also updated pyproject.toml to remove the openbabel optional dependency that was removed in develop. |
|
@copilot the conflict with the |
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Fixed in commit b6ca06d. The develop branch is now properly merged with an actual merge commit. The previous commit (93435cf) only manually applied changes but wasn't a true merge. The conflict with setup.py has been resolved by confirming its deletion (no longer needed with pyproject.toml). |
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
|
@copilot list the changes made in the CHANGELOG file |
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Updated in commit 43afe0d. The CHANGELOG now includes:
|
There was a problem hiding this comment.
Pull request overview
This PR modernizes the package configuration by consolidating all settings from setup.py, setup.cfg, and .coveragerc into pyproject.toml, following current Python packaging standards (PEP 517/518/621).
Key Changes
- Migrated package metadata and dependencies to
pyproject.tomlusing the[project]table - Consolidated tool configurations (pytest, coverage, mypy, isort) into
pyproject.toml - Added optional dependency groups for testing, development, and parallel execution
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Consolidated all package metadata from setup.py and tool configurations from setup.cfg and .coveragerc; added optional dependencies for test, dev, and parallel features |
| setup.py | Removed in favor of pyproject.toml configuration |
| setup.cfg | Removed in favor of pyproject.toml configuration |
| .coveragerc | Removed; coverage configuration migrated to pyproject.toml |
| .flake8 | Created separate config file for flake8 (doesn't support pyproject.toml) |
| .github/workflows/mypy.yml | Updated to use modern pip install -e . instead of deprecated setup.py develop |
| .github/workflows/flake8.yml | Updated to use modern pip install -e . instead of deprecated setup.py develop |
| tests/test_graph.py | Applied black formatting to use parenthesized context managers (Python 3.9+ syntax) |
| CHANGELOG.md | Documented the migration changes and addition of optional dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Migration Plan: Move to pyproject.toml
This PR migrates all configuration from
setup.cfgandsetup.pytopyproject.toml, following modern Python packaging standards. This PR also properly merges the latest changes from thedevelopbranch.Checklist
pyproject.tomlwith all metadata fromsetup.pysetup.cfgtopyproject.toml.coveragerctopyproject.toml.flake8config file (flake8 doesn't support pyproject.toml)pip install -e .instead ofsetup.py developsetup.cfgfilesetup.pyfile.coveragercfileSummary of Changes
Files Modified:
pyproject.toml: Migrated all package metadata and tool configurations[project]table with metadata fromsetup.py[project.optional-dependencies]fromsetup.py(openbabel removed per develop branch)paralleloptional dependency: pebble (for parallel execution)testoptional dependencies: pytest, pytest-cov, pytest-benchmark, requestsdevoptional dependencies: mypy, types-requests, flake8, black, isort, pre-commit[tool.pytest.ini_options]fromsetup.cfg[tool.coverage.run]and[tool.coverage.report]from.coveragerc[tool.mypy]fromsetup.cfg[tool.isort]fromsetup.cfg.github/workflows/mypy.yml: Changed to usepip install -e .instead ofpython setup.py develop.github/workflows/flake8.yml: Changed to usepip install -e .instead ofpython setup.py developtests/test_graph.py: Fixed black formatting (parenthesized context managers)CHANGELOG.md: Documented all migration changesdevelopbranch (Open Babel support removal and other updates) with proper merge commitFiles Added:
.flake8: Created separate config for flake8 (doesn't support pyproject.toml)Files Removed:
setup.cfg: All configurations migrated topyproject.tomland.flake8setup.py: No longer needed with flit build backend (properly resolved merge conflict).coveragerc: Coverage configuration migrated topyproject.tomlTesting:
pip install -e .python -m buildOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.