This project is configured to automatically publish to GitHub Packages when a release is created.
When you create a release on GitHub (using git tag), the workflow in .github/workflows/publish-to-github-packages.yml will:
- Build the Python package
- Publish to GitHub Packages Python registry
- Make it available at:
https://github.com/Stalin-143/ExecuTrace/packages
git tag -a v1.0.1 -m "Version 1.0.1"
git push origin v1.0.1Or use GitHub's web interface to create a release from an existing tag.
If you need to publish manually:
# Build the package
python -m build
# Install twine if not already installed
pip install twine
# Publish to GitHub Packages
python -m twine upload dist/* \
--repository-url https://python.pkg.github.com/Stalin-143 \
--username YOUR_GITHUB_USERNAME \
--password YOUR_GITHUB_TOKENYou'll need a GitHub Personal Access Token with write:packages scope:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate new token with
write:packagesscope - Use token as password in twine commands
Others can install your package from GitHub Packages:
# Create a .netrc file in your home directory
cat > ~/.netrc << EOF
machine python.pkg.github.com
login YOUR_USERNAME
password YOUR_TOKEN
EOF
# Then install
pip install --index-url https://python.pkg.github.com/Stalin-143 exectrace-workflowThe GitHub Actions workflow automatically:
- Runs on release creation
- Can be manually triggered via
workflow_dispatch - Uses
GITHUB_TOKENfor authentication - Requires no additional secrets setup
Current Version: 1.0.1
Repository: https://github.com/Stalin-143/ExecuTrace
Packages: https://github.com/Stalin-143/ExecuTrace/packages