Skip to content

Conversation

@candleindark
Copy link
Contributor

@candleindark candleindark commented Jan 10, 2026

This PR closes #324. It move all configurations from setup.cfg to pyproject.toml and some configurations in tox.ini to pyproject.toml. The only configurations that remain in tox.ini are the ones for tox and flake8. The configurations for flake8 are not supported to be expressed in pyproject.toml. As for the configurations for tox, they seems to be more intuitive to stay in tox.ini, moving them over to pyproject.toml will significantly enlarge it.

Additionally, this PR also includes the following adjustments.

  1. update of the project description in pyproject.toml.
  2. keys in [project.urls] in pyproject.toml have been adjusted to well-known labels.
  3. license classifier has been removed as it is deprecated

TODO:

  • Test build locally

Co-authored-by: Austin Macdonald <austin@dartmouth.edu>
from `tox.ini` to `pyproject.toml`
from `tox.ini` to `pyproject.toml`
@codecov
Copy link

codecov bot commented Jan 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@b7dc6b8). Learn more about missing BASE report.
⚠️ Report is 19 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #367   +/-   ##
=======================================
  Coverage        ?   91.19%           
=======================================
  Files           ?        8           
  Lines           ?     1056           
  Branches        ?      138           
=======================================
  Hits            ?      963           
  Misses          ?       70           
  Partials        ?       23           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@candleindark candleindark marked this pull request as ready for review January 12, 2026 02:26
Copilot AI review requested due to automatic review settings January 12, 2026 02:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates build and tool configurations by migrating settings from setup.cfg and tox.ini into pyproject.toml, following modern Python packaging standards. The migration eliminates setup.cfg entirely while retaining only tox and flake8 configurations in tox.ini (since flake8 doesn't support pyproject.toml).

Changes:

  • Migrated all project metadata, dependencies, and entry points from setup.cfg to pyproject.toml
  • Moved tool configurations (pytest, mypy, isort, coverage) from tox.ini to pyproject.toml
  • Updated project description and adjusted project URL keys

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
pyproject.toml Added complete project metadata, optional dependencies, scripts, and tool configurations (pytest, mypy, isort, coverage, setuptools)
setup.cfg Removed entirely - all configurations migrated to pyproject.toml
tox.ini Removed migrated configurations (pytest, coverage, isort) while keeping tox and flake8 configs

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@candleindark candleindark changed the title Move setup configurations to pyproject.toml Consolidate configurations into pyproject.toml Jan 12, 2026
@candleindark candleindark requested a review from asmacdo January 12, 2026 06:30
from `tox.ini` to `pyproject.toml`
@yarikoptic
Copy link
Member

@asmacdo please re-review

Copy link
Member

@asmacdo asmacdo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks @candleindark!

@asmacdo asmacdo merged commit f35633e into con:main Jan 14, 2026
28 checks passed
@candleindark candleindark deleted the pyproject branch January 23, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use pyproject.toml for setup configuration for modern python best practice

3 participants