This document lists all files created for professional PyPI package publishing.
-
LICENSE- MIT License -
README.md- Project overview with badges -
setup.py- Package setup configuration -
pyproject.toml- Modern Python packaging configuration -
MANIFEST.in- Files to include in distribution
-
CHANGELOG.md- Version history following Keep a Changelog -
CONTRIBUTING.md- Contribution guidelines -
CODE_OF_CONDUCT.md- Community guidelines -
SECURITY.md- Security policy and vulnerability reporting -
AUTHORS.md- Contributors list -
PUBLISHING.md- Detailed publishing instructions
-
.editorconfig- Editor configuration -
.gitattributes- Git attributes for line endings -
.pre-commit-config.yaml- Pre-commit hooks for code quality
-
.github/workflows/test.yml- Automated testing -
.github/workflows/publish.yml- Automated PyPI publishing
-
.github/ISSUE_TEMPLATE/bug_report.md- Bug report template -
.github/ISSUE_TEMPLATE/feature_request.md- Feature request template -
.github/pull_request_template.md- Pull request template
Secrets to Add:
- Go to Repository Settings → Secrets and Variables → Actions
- Add
PYPI_API_TOKENwith your PyPI API token
Branch Protection:
- Protect
mainbranch - Require pull request reviews
- Require status checks to pass
- Install pre-commit hooks:
pre-commit install - Run all tests:
pytest - Check code formatting:
black --check . - Check linting:
ruff check . - Check types:
mypy src/ - Update version in 3 files:
setup.py(line 8)pyproject.toml(line 7)src/vortex_sdk/__init__.py(line 21)
- Update
CHANGELOG.mdwith changes - Test build:
python -m build - Test on TestPyPI first
# 1. Clean old builds
rm -rf build/ dist/ *.egg-info
# 2. Build package
python -m build
# 3. Check package
twine check dist/*
# 4. Upload to TestPyPI
twine upload --repository testpypi dist/*
# 5. Test installation
pip install --index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple/ \
vortex-sdk-python
# 6. If everything works, upload to PyPI
twine upload dist/*
# 7. Create git tag
git tag -a v0.1.0 -m "Release version 0.1.0"
git push origin v0.1.0
# 8. Create GitHub Release
# Go to GitHub → Releases → Create a new release- Verify package on PyPI: https://pypi.org/project/vortex-sdk-python/
- Test installation:
pip install vortex-sdk-python - Update project links in documentation
- Announce the release (if applicable)
- Update version numbers (3 files)
- Update
CHANGELOG.md - Create PR with changes
- After merge, create and push git tag
- GitHub Actions will auto-publish to PyPI
- Monitor GitHub Issues and PRs
- Keep dependencies updated
- Review and merge Dependabot PRs
- Update documentation as needed
- Respond to security advisories