Skip to content

Migrate2pyproject.toml - #104

Open
psolmor wants to merge 6 commits into
masterfrom
migrate2pyproject.toml
Open

Migrate2pyproject.toml#104
psolmor wants to merge 6 commits into
masterfrom
migrate2pyproject.toml

Conversation

@psolmor

@psolmor psolmor commented Apr 21, 2026

Copy link
Copy Markdown
Collaborator

Migrate packaging metadata to pyproject.toml and define optional extras for test and documentation workflows. This updates the repository to use modern Python packaging, removes the need for ad hoc dependency installation in CI and docs, and keeps the public setup instructions aligned with the project metadata.

The documentation and GitHub Actions workflow have been updated to install dependencies via extras instead of manually listing them. The changelog now includes an Unreleased entry describing the packaging migration.

The installation has been verified in a clean environment, and functionality was checked by running the existing smoke tests (python tests/smoke_notebooks.py).

Installation options:

  • Core package:
    pip install .
  • With test dependencies:
    pip install .[test]
  • With documentation dependencies:
    pip install .[docs]

Copilot AI review requested due to automatic review settings April 21, 2026 11:07

Copilot AI left a comment

Copy link
Copy Markdown

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 migrates the project’s packaging configuration from setup.py/requirements.txt to a modern pyproject.toml (PEP 621), and updates documentation/CI to install doc/test dependencies via extras.

Changes:

  • Removed legacy setup.py and requirements.txt, introducing pyproject.toml with core dependencies plus test/docs extras.
  • Updated docs and GitHub Actions / Read the Docs configuration to install .[docs] (and documented .[test]).
  • Added an Unreleased changelog entry and exposed opal.__version__ via package metadata.

Reviewed changes

Copilot reviewed 7 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
setup.py Removed legacy setuptools setup metadata.
requirements.txt Removed ad hoc dependency list (now covered by pyproject.toml).
pyproject.toml Added project metadata, dependencies, and optional extras for docs/tests.
opal/__init__.py Added runtime __version__ lookup via importlib.metadata.
doc/source/setup.rst Updated installation instructions to use .[test] / .[docs] extras.
CHANGELOG.md Added Unreleased entry describing the packaging migration.
.readthedocs.yml Switched RTD install to pip with the docs extra and updated build image/tooling.
.gitignore Added ignores for build artifacts and environments.
.github/workflows/main.yml Updated docs workflow to install dependencies via .[docs].

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

Comment thread pyproject.toml

[tool.setuptools]
include-package-data = true

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.

2 participants