Skip to content

Replace setup.py/requirements*.txt with pyproject.toml - #71

Open
tbennun wants to merge 1 commit into
mainfrom
pyproject-packaging
Open

Replace setup.py/requirements*.txt with pyproject.toml#71
tbennun wants to merge 1 commit into
mainfrom
pyproject-packaging

Conversation

@tbennun

@tbennun tbennun commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Move all packaging metadata into a single PEP 621 pyproject.toml and drop setup.py, requirements.txt, and requirements-ci.txt.

Move all packaging metadata into a single PEP 621 pyproject.toml and drop
setup.py, requirements.txt, and requirements-ci.txt.

- Distribution name is declared as SpaDA; sdist/wheel filenames still
  normalize to `spada-0.1.0`, so `pip install spada` is unaffected.
- Repository URLs point at the new home, https://github.com/spcl/spada.
- Core dependencies are now just click, lark, networkx, and numpy. The
  previously declared `parse` is imported nowhere. `pydot` is only reachable
  through a commented-out nx_pydot debug dump in syntax/csl/tasks.py, so it
  moves to the `dev` extra rather than being required for every install.
  `pycairo` (which needs system cairo, and was the only difference between
  requirements.txt and requirements-ci.txt) moves to a `render` extra.
- Extras: `placement` (igraph/matplotlib/hilbertcurve, used only by the
  standalone spada/placement research code and its tests), `render`, `docs`,
  `dev` (= placement + pydot + pytest/black/isort/flake8/yapf), and `all`.
- Version stays dynamic from spada.__version__; license corrected to the
  actual BSD-3-Clause; package data now also ships the two .lark grammars,
  which the old setup.py package_data omitted.
- Version pins relax to lower bounds; the suite passes on numpy 2.x and
  networkx 3.x, which the old `~=1.24.4` style pins forbade.
- CI installs `-e ".[dev]"` instead of requirements-ci.txt, so pytest no
  longer needs PYTHONPATH and the CSL job drops its duplicate install. Adds
  a build-package job running `python -m build` + `twine check`.
- Makefile, run-in-lima.sh, and README updated to the new install command.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant