Skip to content

Modernize packaging and project metadata (pyproject.toml, drop egg-info) #8

Description

@bernalde

Goal

Modernize packaging and project metadata so PharmaPy installs cleanly and follows current Python standards. Part of #3.

Problems today

Tasks

  • Add pyproject.toml with [build-system] and [project] metadata (name, version, license, authors, URLs, requires-python).
  • Move dependencies into [project.dependencies] and [project.optional-dependencies] (test, docs, simulation/assimulo as an extra).
  • Remove PharmaPy.egg-info/ from version control and add to .gitignore.
  • Add MANIFEST.in (or tool.setuptools.package-data) so data files ship in sdists/wheels.
  • Real license (the repo has LICENSE.md) and project url.
  • Consider dynamic/declarative versioning (single source of truth).

Acceptance criteria

  • pip install -e . and python -m build both succeed and produce a wheel that imports.
  • egg-info no longer tracked; git status clean after a build.
  • Optional deps installable via pip install -e ".[test]", ".[docs]".

Reference

Reverted PR #106 included a pyproject.toml, setup.cfg, MANIFEST.in, and split requirements files at commit 599ffb3 — reuse selectively, keeping this PR packaging-only.


Upstream PR

Wave 1 — isolated, high-acceptance. One focused upstream PR: pyproject.toml + remove committed egg-info + metadata. See #3.


Reverted PR provenance

This issue is part of the selective re-introduction of useful infrastructure from the reverted upstream work:

Implementation should stay small and reviewable, avoid repo-wide formatting, and preserve traceability through one focused PR per issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:packagingPackaging, dependency metadata, and distributionpackagingPackaging, deps, distributionstatus:plannedPlanned roadmap or maintenance work, not a verified bug report

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions