mirror of
https://github.com/kennethreitz/pytheory.git
synced 2026-06-21 15:00:57 +00:00
e8e7cdca80
Relocate test_pytheory.py to tests/test_pytheory.py and point the Makefile, CI workflow, and CLAUDE.md at tests/. Add pytest testpaths so a bare 'pytest' targets the folder — and so future split-out test files are picked up automatically. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.2 KiB
1.2 KiB
Claude Code Instructions
Release Process
When releasing to PyPI, always do all three:
- Tag the commit:
git tag v0.X.Y - Push the tag:
git push origin --tags - Create a GitHub release:
gh release create v0.X.Y --title "v0.X.Y: Short description" --notes "Release notes" --latest
Don't forget to update CHANGELOG.md before the release commit.
Version Bumping
pyproject.tomlandpytheory/__init__.pymust match- Run
uv lockafter changing the version - Patch releases (0.X.Y) for bug fixes and small additions
- Minor releases (0.X.0) for new features
Testing
uv run python -m pytest tests/ -x -q --tb=short -m "not slow"
Publishing
Preferred — uses the existing ~/.pypirc credentials, no token in the chat:
uv build && uvx twine upload dist/pytheory-0.X.Y*
(uv publish does NOT read ~/.pypirc; only use uv publish --token <token>
as a fallback if .pypirc isn't available.)
Music Preferences
- Detune: keep at 8-15, don't go above 25
- Humanize: 0.2 is the sweet spot for melodic parts
- Drum humanize: 0.15 default is good
- No swing unless specifically asked
- Sine and triangle are underrated — use them more