-
Notifications
You must be signed in to change notification settings - Fork 1
Load tunebooks from Eskin #86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
working for kss at least...
kss is %-free now
fixes for a tune that had ; in the name and book that didn't have tune types
like the rest of the codebase
and give the list of keys on invalid key
that doesn't affect mypy
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #86 +/- ##
==========================================
+ Coverage 92.55% 92.60% +0.05%
==========================================
Files 9 10 +1
Lines 1343 1461 +118
==========================================
+ Hits 1243 1353 +110
- Misses 100 108 +8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
consistent with The Session current behavior
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for loading tunebooks from Michael Eskin's ABC Transcription Tools website (https://michaeleskin.com/tunebooks.html). The implementation includes functionality to extract ABC notation from compressed URLs, download and parse tunebook data from various collections, and integrate with the existing pyabc2 sources module.
Key changes:
- New
eskinmodule with functions to load, parse, and convert Eskin ABC tunebook data - Vendored LZString library for URL compression/decompression
- Comprehensive test coverage for all tunebook sources and URL handling
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| pyabc2/sources/eskin.py | Core implementation: URL parsing, tunebook loading, ABC extraction from compressed URLs |
| pyabc2/sources/_lzstring.py | Vendored LZString library for compression/decompression (excluded from linting) |
| pyabc2/sources/init.py | Integration of eskin module into load_url dispatcher |
| tests/test_sources.py | Comprehensive tests for eskin functionality including URL validation, data loading, and parsing |
| pyproject.toml | Configuration updates to exclude vendored code from coverage and type checking |
| .pre-commit-config.yaml | Exclude vendored LZString from isort and black formatting |
| .gitignore | Allow tracking of _lzstring.py despite _* pattern |
| .flake8 | Style exceptions for vendored LZString code |
| docs/examples/sources.ipynb | Usage examples for loading Eskin tunebooks |
| docs/api.rst | API documentation for eskin module functions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.