feat: add pyproject.toml for PEP 517/518/621 packaging standardization - #110
Open
t0kubetsu wants to merge 2 commits into
Open
feat: add pyproject.toml for PEP 517/518/621 packaging standardization#110t0kubetsu wants to merge 2 commits into
t0kubetsu wants to merge 2 commits into
Conversation
Introduces PEP 517/518/621-compliant pyproject.toml covering: - Build system (setuptools>=68) - Project metadata, AGPL-3.0 license, requires-python>=3.11 - Pinned/bounded dependencies mirroring requirements.txt - Optional dev extras: pytest, pytest-cov, ruff - Ruff linter/formatter config (target py311, line-length 88) - Pytest config with integration/unit markers Closes D4-project#109
Aligns pyproject.toml version with the latest released version recorded in release_note.md (MarmotUp Release v0.2604.0).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pyproject.tomlat the project root compliant with PEP 517/518/621requirements.txtwith the same pins/bounds established in Add minimum version lower bounds for unpinned dependencies #108Details
Build system
Uses
setuptools>=68with the legacy build backend so the existingwebapp/layout is preserved without restructuring.Project metadata
name = "plum-island",version = "0.1.0",requires-python = ">=3.11"AGPL-3.0-onlyDependencies
Exact mirror of
requirements.txtafter #108 —flask-appbuilder==4.8.1,flask-Limiter==3.12, and bounded lower versions forAPScheduler,netaddr,meilisearch,redis,PyYAML,pybgpranking2,pyipasnhistory.pyfaup-rs==0.2.0kept as exact pin.Dev extras
pip install -e ".[dev]"installspytest>=8.0,pytest-cov>=5.0,ruff>=0.4.0.Ruff configuration
target-version = "py311",line-length = 88E,W,F,I(isort),UP(pyupgrade),B(bugbear),C4,PIE,SIM,S(bandit),RUFwebapp/sql_upd/*.pyexcluded entirely;tools/*.pyexempted fromSandT201Pytest configuration
testpaths = ["tests", "tools"]integration(requires live Kvrocks/Meilisearch),unit(pure unit tests)Test plan
pip install -e ".[dev]"installs without errorsruff check webapp/runs without configuration errorspytest --co -qcollects tests without warnings about unknown markersCloses #109