-
Install dependencies: The
pypi-push.shscript will installbuildandtwineautomatically -
Configure PyPI credentials (one-time setup):
# Get API tokens from: # - Test PyPI: https://test.pypi.org/manage/account/token/ # - Real PyPI: https://pypi.org/manage/account/token/ # Create ~/.pypirc cat > ~/.pypirc << 'EOF' [distutils] index-servers = pypi testpypi [pypi] username = __token__ password = pypi-YOUR_API_TOKEN_HERE [testpypi] repository = https://test.pypi.org/legacy/ username = __token__ password = pypi-YOUR_TEST_API_TOKEN_HERE EOF chmod 600 ~/.pypirc
-
Tag the release:
git tag v0.1.1 git push --tags
-
Build and test:
./pypi-push.sh
-
Test upload (recommended):
twine upload --repository testpypi dist/* # Test install pip install --index-url https://test.pypi.org/simple/ superset-claudette
-
Production upload:
twine upload dist/*
Versions are automatically derived from git tags using hatch-vcs. Follow semantic versioning:
-
Tag a release:
git tag v0.1.1 # patch: bug fixes git tag v0.2.0 # minor: new features git tag v1.0.0 # major: breaking changes git push --tags
-
Version patterns:
- On tagged commit:
v0.1.0→ version0.1.0 - Between tags:
v0.1.0+ 3 commits → version0.1.1.dev3+g<hash> - Dirty working tree: adds
.d<date>suffix
- On tagged commit:
- Package name:
superset-claudette - CLI commands:
claudetteandclo - Repository: GitHub (update URLs in pyproject.toml)
- License: Apache-2.0