Skip to content

Release pipeline for PyPi #6

Description

@mdanish98

Set up an automated release pipeline to build, package, and publish Python distributions to the Python Package Index (PyPI).

Goals
Automate the process of building and publishing Python packages to pypi.org
Ensure packages are properly versioned following semantic versioning
Integrate the pipeline into our existing CI/CD workflow for seamless releases
Requirements
[ ] Define the trigger(s) for the pipeline (e.g., tag push, GitHub release creation, manual dispatch)
[ ] Configure authentication to PyPI using a trusted publisher (OIDC) or API token
[ ] Build source distribution (sdist) and wheel (bdist_wheel) artifacts
[ ] Validate the package before publishing (e.g., twine check)
[ ] Run test suite prior to publishing to prevent broken releases
[ ] Optionally publish to TestPyPI first for validation
[ ] Add documentation/README for the release process

Acceptance Criteria

  • A successful pipeline run publishes a correctly versioned package to pypi.org
  • The package is installable via pip install immediately after release
  • The pipeline is idempotent and handles failures gracefully (e.g., duplicate version detection)
  • Package metadata (description, classifiers, license, project URLs) is complete and accurat

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions