rekordbox-edit 0.13.1.dev4__tar.gz → 0.13.1.dev7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.pre-commit-config.yaml +1 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/CHANGELOG.md +21 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/PKG-INFO +1 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/pyproject.toml +1 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_import.py +36 -7
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_utils.py +5 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/tags.py +14 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/utils.py +2 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_import.py +23 -1
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/test_import.py +10 -4
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_tag_fields.py +2 -2
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_tags.py +23 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/uv.lock +52 -52
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.agent-style/RULES.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.agent-style/claude-code.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/build-release-notes/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/build-release-notes/build_release_notes.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/commit-check/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/commitizen-bump/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/commitizen-bump/commitizen-bump.sh +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/e2e/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/install/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/lint/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/test/action.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/workflows/cd.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/workflows/ci.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/workflows/publish.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/workflows/release.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.gitignore +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.python-version +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.readthedocs.yaml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/AGENTS.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/CLAUDE.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/CONTRIBUTING.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/LICENSE +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/Makefile +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/README.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/codecov.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docker-compose.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/api.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/commands/convert.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/commands/edit.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/commands/import.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/commands/remove.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/commands/search.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/faqs.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/filtering.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/index.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/docs/stylesheets/extra.css +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/mkdocs.yml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/_tag_fields.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_anlz.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_convert.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_edit.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_field_handlers.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_relations.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_remove.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/api/_search.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/_click.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/_progress.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/_utils.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/convert.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/edit.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/import_.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/main.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/remove.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/cli/search.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/display.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/errors.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/locking.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/logger.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/models.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/rekordbox_edit/query.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/renovate.json5 +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/README.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/beets-plugin-integration.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/decisions/converted-original-disposition.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/evidence/convert-repoint.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/evidence/event-order.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/evidence/file-level-encode.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/evidence/id-stability.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/evidence/media-field-roundtrip.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/scripts/convert_repoint.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/scripts/event_probe.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/scripts/file_level_encode.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/scripts/id_stability.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/beets-plugin-integration/scripts/media_field_roundtrip.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/convert-export-impact-test-plan.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/convert-export-impact.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r1-10-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r1-20-postexport.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r1-21-postexport-full.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r2-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r2b-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r2b-10-deviceedit.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r2b-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r3-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r3-10-deviceedit.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r3-40-resync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/export-r3-41-reexport-full.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-11317782-r3-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-11317782-r3-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r1-10-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r1-20-postexport.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r2-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r2b-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r2b-00-lib.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r2b-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-121715696-r2b-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-140193439-r3-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-140193439-r3-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r1-10-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r1-20-postexport.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r2-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r2b-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r2b-00-lib.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r2b-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-258421826-r2b-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-268012584-r3-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-268012584-r3-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r1-10-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r1-20-postexport.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r2-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r2b-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r2b-00-lib.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r2b-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-53013048-r2b-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r1-10-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r1-20-postexport.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r2-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r2b-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r2b-20-postconvert.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/evidence/subject-54793376-r2b-30-postsync.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/scripts/export_diff.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-export-impact/scripts/export_snapshot.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/convert-anlz-cue-impact-experiment2-plan.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/convert-anlz-cue-impact-experiment2.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/convert-anlz-cue-impact-test-plan.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/convert-anlz-cue-impact-verification.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/convert-anlz-cue-impact.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/decisions/convert-and-reanalysis-impact.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/decisions/convert-helper-structure.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/01-inventory.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/02-cue-schema.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/03-cue-fields-by-format.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/04-anlz-deep.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/05-census.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/06-content-columns.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/07-analysis-flags.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/exp2-00-pvb2-origin.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-00-zero.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-dyn-high-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-dyn-high-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-dyn-high-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-dyn-normal-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-dyn-normal-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-dyn-normal-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-04.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-05.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-auto-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-auto-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-high-auto-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-04.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-05.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-06.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-then-high.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-normal-unlocked-ref.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-174954387-nth-mid-normal.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205157376-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205157376-aiff-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205157376-aiff-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205157376-combined-ctrl-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205157376-combined-ctrl-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205157376-combined-ctrl-postanalyze2.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-aiff-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-aiff-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-aiff-postopen.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-flac-ctrl-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-flac-ctrl-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-flac-ctrl-postanalyze2.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-flac-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-mp3-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-205795680-mp3-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-230928195-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-230928195-mp3-locked.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-230928195-mp3-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-230928195-mp3-unlocked-reanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-230928195-postlock.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-230928195-prelock.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-231283665-iso-rate-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-231283665-iso-rate-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-231283665-iso-rate-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-00-zero.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-dyn-high-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-dyn-high-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-dyn-high-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-dyn-normal-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-dyn-normal-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-dyn-normal-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-04.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-05.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-auto-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-auto-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-high-auto-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-01.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-02.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-03.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-04.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-05.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-06.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-locked.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-normal-then-high.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-27790898-nth-mid-normal.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-34178159-iso-depth-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-34178159-iso-depth-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-34178159-iso-depth-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-7691309-pvb2-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-7691309-pvb2-postanalyze.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/evidence/subject-7691309-pvb2-postconv.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/README.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/analysis_flags.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/anlz_census.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/anlz_deep.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/content_columns.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/cue_fields_by_format.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/cue_schema.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/grid_drift.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/inventory.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/pvb2_origin.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/reset_fresh_to_zero.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/restore_fixtures.sh +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-reanalysis-impact/scripts/row_snapshot.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-thread-scaling/convert-thread-scaling.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-thread-scaling/evidence/thread-scaling.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-thread-scaling/scripts/_sources.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-thread-scaling/scripts/format_scaling.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-thread-scaling/scripts/shipped_path_scaling.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/convert-thread-scaling/scripts/write_cost.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/database-concurrency.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/evidence/plan-apply-probes.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/evidence/usn-spikes.txt +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/plan-apply-window.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/scripts/block_reservation.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/scripts/concurrent_increment.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/scripts/identity_probe.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/scripts/membership_probe.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/scripts/snapshot_probe.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/scripts/wal_snapshot.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/database-concurrency/usn-maintenance.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/decisions/edit-field-handlers.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/edit-relational-fields-test-plan.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/edit-relational-fields.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-112264610-e2-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-112264610-e2-10-reuse.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-141833798-e3b-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-141833798-e3b-10-newalbum.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-145166719-e0-census.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-176388182-e1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-176388182-e1-10-reuse.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-183309432-e4-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-183309432-e4-10-orphaned.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-47413782-v-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-47413782-v-10-reuse.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-50395296-v-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-50395296-v-10-reuse.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-57701453-e3-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-57701453-e3-10-diffartist.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-71974950-v-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/evidence/rel-71974950-v-10-reuse.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/scripts/relational_diff.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/edit-relational-fields/scripts/relational_snapshot.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/file-types/README.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/file-types/decisions/unknown-file-types.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/decisions/commit-semantics-and-usn.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/evidence/column-coverage-gig.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/evidence/datecreated-source-gig.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/evidence/filetype-searchstr-gig.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/evidence/filetype-searchstr-local.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/evidence/import-row-shape-gig.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/evidence/tag-key-mapping-gig.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/import-track-row-shape.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/scripts/column_coverage.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/scripts/datecreated_source.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/scripts/filetype_and_searchstr.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/scripts/import_row_shape.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/import-track-row-shape/scripts/tag_key_mapping.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/decisions/remove-command-behavior.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-109570093-r8-00-imported.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-109570093-r8-10-analyzed.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-114745319-r1-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-114745319-r1-10-removed.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-120331280-f6-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-120331280-f6-10-control.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-137975518-f3-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-137975518-f3-10-control.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-139425629-r6-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-139425629-r6-10-removed.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-14241481-r5-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-14241481-r5-10-removed.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-143461275-r7-01-folder-art.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-265892207-r3-00-baseline.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-265892207-r3-10-removed.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-265892207-r4-10-playlist-only.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-36337051-r7-00-folder-art.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-74039842-r8-00-imported.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/evidence/rm-74039842-r8-10-analyzed.json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/remove-track-impact-test-plan.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/remove-track-impact.md +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/scripts/build_fixtures.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/scripts/removal_diff.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/scripts/removal_snapshot.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/remove-track-impact/scripts/restore.sh +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/shared/scripts/subject_diff.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/research/shared/scripts/subject_snapshot.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/ruff.toml +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/anlz_helpers.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/conftest.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_anlz.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_convert.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_edit.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_field_handlers.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_package.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_relations.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_remove.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_search.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/api/test_utils.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_convert.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_edit.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_import.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_locking.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_main.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_progress.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_remove.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_search.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/cli/test_utils.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/conftest.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/Dockerfile +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/__init__.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/__snapshots__/test_journey/test_search_full_json_snapshot[macos].json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/__snapshots__/test_journey/test_search_full_json_snapshot[windows].json +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/__snapshots__/test_journey.ambr +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/conftest.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/01-flac-44_1k-16b.flac +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/02-flac-96k-24b.flac +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/03-alac-44_1k-16b.m4a +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/04-alac-48k-24b.m4a +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/05-aiff-44_1k-16b.aiff +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/06-wav-96k-24b.wav +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/07-mp3-44_1k-320cbr.mp3 +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/08-mp3-44_1k-v0vbr.mp3 +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/09-aac-44_1k-256kbps.m4a +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/audio/10-/303/274/303/261/303/256c/303/266d/303/251-flac-44_1k-16b.flac" +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/macos/master.6.8.6.db +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/fixtures/windows/master.6.8.6.db +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/test_edit_fields.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/test_journey.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/e2e/test_remove.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_display.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_locking.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_logger.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_models.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_query.py +0 -0
- {rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,26 @@
|
|
|
1
|
-
## v0.13.1.
|
|
1
|
+
## v0.13.1.dev7 (2026-09-19)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
- chore(deps): update dependency commitizen to v4.18.1 (#235)
|
|
5
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
6
|
+
- chore(deps): update dependency ruff to v0.16.7 (#233)
|
|
7
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
8
|
+
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.16.7 (#234)
|
|
9
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
10
|
+
- chore(deps): update dependency ty to v0.0.80 (#232)
|
|
11
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
12
|
+
- chore(deps): update dependency ty to v0.0.79 (#230)
|
|
13
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
14
|
+
- chore(deps): update dependency platformdirs to v4.11.8 (#229)
|
|
15
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
16
|
+
- chore(deps): update dependency filelock to v3.32.6 (#228)
|
|
17
|
+
- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
|
18
|
+
|
|
19
|
+
## v0.13.1 (2026-09-10)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
- fix(import): fill the audio columns from the file's stream header
|
|
23
|
+
- fix(edit): tell the user how to repair a stale analysis path
|
|
4
24
|
- fix(rating): use rekordbox's 0-5 scale, not the XML x51 encoding
|
|
5
25
|
- fix(display): keep the new value visible in a change preview
|
|
6
26
|
- The changed column rendered the old and new values into one cell that was
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: rekordbox-edit
|
|
3
|
-
Version: 0.13.1.
|
|
3
|
+
Version: 0.13.1.dev7
|
|
4
4
|
Summary: Tools for managing and modifying a RekordBox library en-masse
|
|
5
5
|
Project-URL: Homepage, https://github.com/jviall/rekordbox-edit
|
|
6
6
|
Project-URL: Repository, https://github.com/jviall/rekordbox-edit
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rekordbox-edit"
|
|
7
|
-
version = "0.13.1.
|
|
7
|
+
version = "0.13.1.dev7"
|
|
8
8
|
description = "Tools for managing and modifying a RekordBox library en-masse"
|
|
9
9
|
authors = [{ name = "James Viall", email= "jamesviall@pm.me"}]
|
|
10
10
|
license = "MIT"
|
|
@@ -11,7 +11,12 @@ from pyrekordbox.db6 import tables as tb
|
|
|
11
11
|
|
|
12
12
|
from rekordbox_edit._tag_fields import TAG_FIELDS
|
|
13
13
|
from rekordbox_edit.api._relations import RELATIONS, find_by_name, get_or_create
|
|
14
|
-
from rekordbox_edit.api._utils import
|
|
14
|
+
from rekordbox_edit.api._utils import (
|
|
15
|
+
_sync_audio_columns,
|
|
16
|
+
stamp_usns,
|
|
17
|
+
track_from_content,
|
|
18
|
+
writing,
|
|
19
|
+
)
|
|
15
20
|
from rekordbox_edit.errors import (
|
|
16
21
|
DirectoryConfirmationRequired,
|
|
17
22
|
ImportInputError,
|
|
@@ -31,7 +36,7 @@ from rekordbox_edit.query import (
|
|
|
31
36
|
require_session,
|
|
32
37
|
)
|
|
33
38
|
from rekordbox_edit.tags import TrackTags, UnreadableFile, read_tags
|
|
34
|
-
from rekordbox_edit.utils import FILE_TYPES
|
|
39
|
+
from rekordbox_edit.utils import FILE_TYPES, AudioInfo
|
|
35
40
|
|
|
36
41
|
_logger = logging.getLogger(__name__)
|
|
37
42
|
|
|
@@ -155,10 +160,8 @@ IMPORT_DEFAULTS: dict[str, object] = {
|
|
|
155
160
|
"rb_local_data_status": 0,
|
|
156
161
|
"rb_local_deleted": 0,
|
|
157
162
|
"rb_local_synced": 0,
|
|
158
|
-
# Analysis fills these; an import leaves them zero.
|
|
159
|
-
|
|
160
|
-
"BitRate": 0,
|
|
161
|
-
"BitDepth": 0,
|
|
163
|
+
# Analysis fills these; an import leaves them zero. SampleRate, BitDepth,
|
|
164
|
+
# and BitRate are absent because _build_content reads them from the file.
|
|
162
165
|
"BPM": 0,
|
|
163
166
|
"Analysed": 0,
|
|
164
167
|
}
|
|
@@ -196,6 +199,27 @@ def _scalar_columns(tags: TrackTags) -> dict[str, str | int]:
|
|
|
196
199
|
}
|
|
197
200
|
|
|
198
201
|
|
|
202
|
+
def _stream_audio_info(tags: TrackTags) -> AudioInfo:
|
|
203
|
+
"""A track's stream header in the shape `_sync_audio_columns` reads.
|
|
204
|
+
|
|
205
|
+
Only the three audio columns are taken from this. The probe-only fields
|
|
206
|
+
describe nothing an import row records, so they carry no value.
|
|
207
|
+
|
|
208
|
+
rekordbox's own import leaves these columns at zero and lets analysis fill
|
|
209
|
+
them. Reading them here diverges from that deliberately, so that a row an
|
|
210
|
+
import creates already describes its file the way a repointed `edit` does.
|
|
211
|
+
"""
|
|
212
|
+
return {
|
|
213
|
+
"sample_rate": tags["sample_rate"] or 0,
|
|
214
|
+
"bit_depth": tags["bit_depth"],
|
|
215
|
+
"bitrate": tags["bitrate"],
|
|
216
|
+
"channels": 0,
|
|
217
|
+
"codec": None,
|
|
218
|
+
"container": None,
|
|
219
|
+
"duration": None,
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
199
223
|
def _created_date(path: str) -> str:
|
|
200
224
|
"""The file's creation date, as Rekordbox records DateCreated.
|
|
201
225
|
|
|
@@ -230,7 +254,12 @@ def _build_content(
|
|
|
230
254
|
# add_content types by extension, mapping every .m4a to AAC, and stamps
|
|
231
255
|
# DateCreated with today rather than the file's own date.
|
|
232
256
|
if tags["file_type"] is not None:
|
|
233
|
-
|
|
257
|
+
_sync_audio_columns(
|
|
258
|
+
content,
|
|
259
|
+
_stream_audio_info(tags),
|
|
260
|
+
tags["file_type"],
|
|
261
|
+
content.FileSize,
|
|
262
|
+
)
|
|
234
263
|
content.DateCreated = _created_date(candidate.path)
|
|
235
264
|
# add_content stores str(Path(path)), which is backslashed on Windows.
|
|
236
265
|
# Rekordbox forward-slashes FolderPath on every platform.
|
|
@@ -111,7 +111,11 @@ def _update_anlz_paths(
|
|
|
111
111
|
with open(anlz_path, "wb") as fh:
|
|
112
112
|
fh.write(updated)
|
|
113
113
|
except (AnlzFormatError, OSError) as e:
|
|
114
|
-
_logger.warning(
|
|
114
|
+
_logger.warning(
|
|
115
|
+
f"Could not rewrite the path tag in {anlz_path}: {e}. It still "
|
|
116
|
+
"names the previous file; re-analyze the track in Rekordbox to "
|
|
117
|
+
"rebuild the analysis."
|
|
118
|
+
)
|
|
115
119
|
continue
|
|
116
120
|
_logger.debug(f"Updated PPTH of {anlz_path} to {new_ppth}")
|
|
117
121
|
|
|
@@ -37,6 +37,9 @@ class TrackTags(TypedDict):
|
|
|
37
37
|
release_year: int | None
|
|
38
38
|
length: int | None
|
|
39
39
|
file_type: int | None
|
|
40
|
+
sample_rate: int | None
|
|
41
|
+
bit_depth: int | None
|
|
42
|
+
bitrate: int | None
|
|
40
43
|
|
|
41
44
|
|
|
42
45
|
# Rekordbox FileType by mutagen's file class. MP4 splits on the codec because
|
|
@@ -158,6 +161,11 @@ def _file_type(audio) -> int | None:
|
|
|
158
161
|
return file_type.code if file_type else None
|
|
159
162
|
|
|
160
163
|
|
|
164
|
+
def _kbps(bitrate: int | None) -> int | None:
|
|
165
|
+
"""A stream header's bits per second in the whole kilobits rekordbox stores."""
|
|
166
|
+
return bitrate // 1000 if bitrate else None
|
|
167
|
+
|
|
168
|
+
|
|
161
169
|
def read_tags(path: str) -> TrackTags:
|
|
162
170
|
"""Read one file's tags and stream header.
|
|
163
171
|
|
|
@@ -184,7 +192,8 @@ def read_tags(path: str) -> TrackTags:
|
|
|
184
192
|
read = {field: _first(tags, tag_keys) for field, tag_keys in keys.items()}
|
|
185
193
|
|
|
186
194
|
isrc = _mp4_isrc(tags) if name == "MP4" else read.get("isrc")
|
|
187
|
-
|
|
195
|
+
info = audio.info
|
|
196
|
+
length = getattr(info, "length", None)
|
|
188
197
|
|
|
189
198
|
result: TrackTags = {
|
|
190
199
|
"title": read.get("title") or os.path.splitext(os.path.basename(path))[0],
|
|
@@ -201,6 +210,10 @@ def read_tags(path: str) -> TrackTags:
|
|
|
201
210
|
"release_year": _leading_int(read.get("release_year")),
|
|
202
211
|
"length": int(length) if length is not None else None,
|
|
203
212
|
"file_type": _file_type(audio),
|
|
213
|
+
"sample_rate": getattr(info, "sample_rate", None),
|
|
214
|
+
# MP3 and some MP4 headers report no depth; the caller supplies one.
|
|
215
|
+
"bit_depth": getattr(info, "bits_per_sample", None) or None,
|
|
216
|
+
"bitrate": _kbps(getattr(info, "bitrate", None)),
|
|
204
217
|
}
|
|
205
218
|
_logger.debug(f"read tags for {path}: file_type={result['file_type']}")
|
|
206
219
|
return result
|
|
@@ -237,7 +237,8 @@ Install it with `brew install ffmpeg`, or from https://ffmpeg.org/download.html
|
|
|
237
237
|
|
|
238
238
|
|
|
239
239
|
class AudioInfo(TypedDict):
|
|
240
|
-
"""
|
|
240
|
+
"""One audio file's stream characteristics, from an ffmpeg probe or from
|
|
241
|
+
the header mutagen reads."""
|
|
241
242
|
|
|
242
243
|
bit_depth: int | None
|
|
243
244
|
sample_rate: int
|
|
@@ -182,6 +182,9 @@ def tags() -> TrackTags:
|
|
|
182
182
|
"release_year": 2022,
|
|
183
183
|
"length": 254,
|
|
184
184
|
"file_type": 5,
|
|
185
|
+
"sample_rate": 44100,
|
|
186
|
+
"bit_depth": 16,
|
|
187
|
+
"bitrate": 96,
|
|
185
188
|
}
|
|
186
189
|
|
|
187
190
|
|
|
@@ -193,10 +196,16 @@ class TestImportDefaults:
|
|
|
193
196
|
assert IMPORT_DEFAULTS["ExtInfo"] == "null"
|
|
194
197
|
|
|
195
198
|
def test_leaves_the_analysis_columns_at_zero(self):
|
|
196
|
-
for column in ("
|
|
199
|
+
for column in ("BPM", "Analysed"):
|
|
197
200
|
assert IMPORT_DEFAULTS[column] == 0
|
|
198
201
|
assert IMPORT_DEFAULTS["AnalysisDataPath"] == ""
|
|
199
202
|
|
|
203
|
+
def test_omits_the_columns_read_from_the_stream_header(self):
|
|
204
|
+
# _build_content writes these from the file, so a default here would
|
|
205
|
+
# be overwritten anyway and reads as though an import left them zero.
|
|
206
|
+
for column in ("SampleRate", "BitRate", "BitDepth"):
|
|
207
|
+
assert column not in IMPORT_DEFAULTS
|
|
208
|
+
|
|
200
209
|
def test_omits_searchstr_so_it_stays_null(self):
|
|
201
210
|
# NULL on all 924 content rows sampled; no observed value to imitate.
|
|
202
211
|
assert "SearchStr" not in IMPORT_DEFAULTS
|
|
@@ -309,6 +318,19 @@ class TestBuildContent:
|
|
|
309
318
|
assert kwargs["ReleaseYear"] == tags["release_year"]
|
|
310
319
|
assert kwargs["Length"] == tags["length"]
|
|
311
320
|
|
|
321
|
+
def test_writes_the_audio_columns_from_the_stream_header(
|
|
322
|
+
self, mock_db, tags, tmp_path, stale_content
|
|
323
|
+
):
|
|
324
|
+
track = tmp_path / "a.flac"
|
|
325
|
+
track.write_bytes(b"")
|
|
326
|
+
|
|
327
|
+
content = _build_content(mock_db, _candidate(str(track), tags))
|
|
328
|
+
|
|
329
|
+
assert content.SampleRate == tags["sample_rate"]
|
|
330
|
+
assert content.BitDepth == tags["bit_depth"]
|
|
331
|
+
# FLAC bitrate is stored as 0, the same convention edit applies.
|
|
332
|
+
assert content.BitRate == 0
|
|
333
|
+
|
|
312
334
|
def test_overrides_file_type_and_date_created_after_add_content(
|
|
313
335
|
self, mock_db, tags, tmp_path, stale_content
|
|
314
336
|
):
|
|
@@ -55,10 +55,10 @@ EXPECTED_EMPTY = {
|
|
|
55
55
|
"rb_local_synced": 0,
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
# Analysis fills
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
EXPECTED_ZERO = ("
|
|
58
|
+
# Analysis fills BPM and Analysed, so an import leaves them at zero.
|
|
59
|
+
# SampleRate, BitDepth, and BitRate are read from the file instead: rekordbox
|
|
60
|
+
# waits for analysis to fill them, and this tool deliberately does not.
|
|
61
|
+
EXPECTED_ZERO = ("BPM", "Analysed")
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
@pytest.fixture
|
|
@@ -98,6 +98,12 @@ def test_imported_row_matches_the_rekordbox_import_shape(
|
|
|
98
98
|
assert row.Length == 2
|
|
99
99
|
assert row.FileSize == track.stat().st_size
|
|
100
100
|
|
|
101
|
+
# Read from the stream header at import, following the same conventions
|
|
102
|
+
# `edit` applies. FLAC bitrate is stored as 0 for variable-rate audio.
|
|
103
|
+
assert row.SampleRate == 44100
|
|
104
|
+
assert row.BitDepth == 16
|
|
105
|
+
assert row.BitRate == 0
|
|
106
|
+
|
|
101
107
|
for column, expected in EXPECTED_EMPTY.items():
|
|
102
108
|
assert getattr(row, column) == expected, f"{column} diverges from Rekordbox"
|
|
103
109
|
for column in EXPECTED_ZERO:
|
|
@@ -16,8 +16,8 @@ from rekordbox_edit.display import PrintableField
|
|
|
16
16
|
from rekordbox_edit.tags import TrackTags
|
|
17
17
|
|
|
18
18
|
#: TrackTags keys read off the audio stream rather than a tag, so they have no
|
|
19
|
-
#: registry row: `import` derives
|
|
20
|
-
_STREAM_KEYS = {"length", "file_type"}
|
|
19
|
+
#: registry row: `import` derives them all and none is editable.
|
|
20
|
+
_STREAM_KEYS = {"length", "file_type", "sample_rate", "bit_depth", "bitrate"}
|
|
21
21
|
|
|
22
22
|
#: Fields `edit` offers that are not audio tags at all.
|
|
23
23
|
_NON_TAG_FIELDS = {"Rating", "FolderPath"}
|
|
@@ -52,6 +52,29 @@ class TestScalarTags:
|
|
|
52
52
|
assert tags["title"] == "05-aiff-44_1k-16b"
|
|
53
53
|
assert tags["artist"] is None
|
|
54
54
|
|
|
55
|
+
@pytest.mark.parametrize(
|
|
56
|
+
"name,sample_rate,bit_depth,bitrate",
|
|
57
|
+
[
|
|
58
|
+
("01-flac-44_1k-16b.flac", 44100, 16, 96),
|
|
59
|
+
("05-aiff-44_1k-16b.aiff", 44100, 16, 705),
|
|
60
|
+
("06-wav-96k-24b.wav", 96000, 24, 2304),
|
|
61
|
+
# MP3 carries no bit depth; the import conventions supply one.
|
|
62
|
+
("07-mp3-44_1k-320cbr.mp3", 44100, None, 320),
|
|
63
|
+
# ALAC reports the PCM-equivalent rate, which is what Rekordbox
|
|
64
|
+
# stores. An ffmpeg probe reports the compressed rate instead.
|
|
65
|
+
("03-alac-44_1k-16b.m4a", 44100, 16, 705),
|
|
66
|
+
("09-aac-44_1k-256kbps.m4a", 44100, 16, 132),
|
|
67
|
+
],
|
|
68
|
+
)
|
|
69
|
+
def test_reads_the_stream_header_numbers(
|
|
70
|
+
self, name, sample_rate, bit_depth, bitrate
|
|
71
|
+
):
|
|
72
|
+
tags = read_tags(str(FIXTURES / name))
|
|
73
|
+
|
|
74
|
+
assert tags["sample_rate"] == sample_rate
|
|
75
|
+
assert tags["bit_depth"] == bit_depth
|
|
76
|
+
assert tags["bitrate"] == bitrate
|
|
77
|
+
|
|
55
78
|
def test_reads_length_as_whole_seconds(self):
|
|
56
79
|
assert read_tags(str(FIXTURES / "01-flac-44_1k-16b.flac"))["length"] == 2
|
|
57
80
|
|
|
@@ -188,7 +188,7 @@ wheels = [
|
|
|
188
188
|
|
|
189
189
|
[[package]]
|
|
190
190
|
name = "commitizen"
|
|
191
|
-
version = "4.18.
|
|
191
|
+
version = "4.18.1"
|
|
192
192
|
source = { registry = "https://pypi.org/simple" }
|
|
193
193
|
dependencies = [
|
|
194
194
|
{ name = "argcomplete" },
|
|
@@ -204,9 +204,9 @@ dependencies = [
|
|
|
204
204
|
{ name = "termcolor" },
|
|
205
205
|
{ name = "tomlkit" },
|
|
206
206
|
]
|
|
207
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
207
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0a/05/5740bfcd2e89e8be97757294335b5c480bcf60b134ef7bc84428c3a15884/commitizen-4.18.1.tar.gz", hash = "sha256:27379caedd00553344e44cc8cef039598b6d3e65f9b598e31d355489c481563d", size = 68482, upload-time = "2026-09-13T21:37:43.008Z" }
|
|
208
208
|
wheels = [
|
|
209
|
-
{ url = "https://files.pythonhosted.org/packages/eb/
|
|
209
|
+
{ url = "https://files.pythonhosted.org/packages/eb/3e/c15f31a04a3432bce3312cde554ba73e8c5232a3615f08f39264a447c427/commitizen-4.18.1-py3-none-any.whl", hash = "sha256:16ed052ff775bf42cad85bc09075db110ca7ba84f49233fc642629a0da65862b", size = 90476, upload-time = "2026-09-13T21:37:41.152Z" },
|
|
210
210
|
]
|
|
211
211
|
|
|
212
212
|
[[package]]
|
|
@@ -366,11 +366,11 @@ wheels = [
|
|
|
366
366
|
|
|
367
367
|
[[package]]
|
|
368
368
|
name = "filelock"
|
|
369
|
-
version = "3.32.
|
|
369
|
+
version = "3.32.6"
|
|
370
370
|
source = { registry = "https://pypi.org/simple" }
|
|
371
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
371
|
+
sdist = { url = "https://files.pythonhosted.org/packages/38/46/126b1831dca12060d4a8296bf9c4fe5c93c4f22197fa239cb0cc82042bba/filelock-3.32.6.tar.gz", hash = "sha256:a3f55a18af3652a94d8f47d6055df434f254ca1d02ef2524850c6d249ca2512c", size = 225172, upload-time = "2026-09-08T22:57:11.528Z" }
|
|
372
372
|
wheels = [
|
|
373
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
373
|
+
{ url = "https://files.pythonhosted.org/packages/cc/06/4f138f618dbea66803291274f228f01daf29f306fe8b96bc30dab765df75/filelock-3.32.6-py3-none-any.whl", hash = "sha256:3f16ecd0117feae0dfc147e8c62eb5daeccd8bd800378c3ddf416de9b4feb6b1", size = 100189, upload-time = "2026-09-08T22:57:10.182Z" },
|
|
374
374
|
]
|
|
375
375
|
|
|
376
376
|
[[package]]
|
|
@@ -884,11 +884,11 @@ wheels = [
|
|
|
884
884
|
|
|
885
885
|
[[package]]
|
|
886
886
|
name = "platformdirs"
|
|
887
|
-
version = "4.11.
|
|
887
|
+
version = "4.11.8"
|
|
888
888
|
source = { registry = "https://pypi.org/simple" }
|
|
889
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
889
|
+
sdist = { url = "https://files.pythonhosted.org/packages/53/18/f3bb8ef0d3b930692343da8aa4d3cbcd6749477c053959395ac81965a6e9/platformdirs-4.11.8.tar.gz", hash = "sha256:f23abafea7dd4276d1f29104b83598d7dcc567cafd07c9c951e66665645437fc", size = 37182, upload-time = "2026-09-08T22:20:42.866Z" }
|
|
890
890
|
wheels = [
|
|
891
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
891
|
+
{ url = "https://files.pythonhosted.org/packages/f4/e1/5b7b8bbb55084d1425bcb9bc823ff519e1b2be05f6ebb0089e2eacc38413/platformdirs-4.11.8-py3-none-any.whl", hash = "sha256:52f2f181bbfde907966932cc8312d967d02976422d66d537ea16092b8e291081", size = 24027, upload-time = "2026-09-08T22:20:41.537Z" },
|
|
892
892
|
]
|
|
893
893
|
|
|
894
894
|
[[package]]
|
|
@@ -1274,7 +1274,7 @@ wheels = [
|
|
|
1274
1274
|
|
|
1275
1275
|
[[package]]
|
|
1276
1276
|
name = "rekordbox-edit"
|
|
1277
|
-
version = "0.13.1.
|
|
1277
|
+
version = "0.13.1.dev7"
|
|
1278
1278
|
source = { editable = "." }
|
|
1279
1279
|
dependencies = [
|
|
1280
1280
|
{ name = "click" },
|
|
@@ -1371,27 +1371,27 @@ wheels = [
|
|
|
1371
1371
|
|
|
1372
1372
|
[[package]]
|
|
1373
1373
|
name = "ruff"
|
|
1374
|
-
version = "0.16.
|
|
1375
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1376
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1377
|
-
wheels = [
|
|
1378
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1379
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1380
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1381
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1382
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1383
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1384
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1385
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1386
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1387
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1388
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1389
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1390
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1391
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1392
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1393
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1394
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1374
|
+
version = "0.16.7"
|
|
1375
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1376
|
+
sdist = { url = "https://files.pythonhosted.org/packages/82/bb/5a449b9162e49b139d72f61672bd3ac1d790221f796d3304e2241fff4c58/ruff-0.16.7.tar.gz", hash = "sha256:5f71d004ac1263b22fa39462ac5ae618a4b77d58981af2cc79bf79a29c12b1a6", size = 4924184, upload-time = "2026-09-10T18:04:06.336Z" }
|
|
1377
|
+
wheels = [
|
|
1378
|
+
{ url = "https://files.pythonhosted.org/packages/e3/b2/c80aeeb7f9e469c0d63a85d2f1ab6e1ebfbe10ea7a8d2438b7e09e3ff09e/ruff-0.16.7-py3-none-linux_armv6l.whl", hash = "sha256:727307773e7c7f9181d3ed3a2484186e56c1fa1874255911c74585eb2c7c19f9", size = 10048917, upload-time = "2026-09-10T18:03:30.28Z" },
|
|
1379
|
+
{ url = "https://files.pythonhosted.org/packages/7b/96/20bb7bcae008004df52afcb7ac83432d4a467f2c17b672fe46d26be231c5/ruff-0.16.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9d61c258deabf58f34c67bd4bb4d939c7f2e6b5f0e59c1cdd1cf771b11cde929", size = 10242929, upload-time = "2026-09-10T18:03:32.706Z" },
|
|
1380
|
+
{ url = "https://files.pythonhosted.org/packages/90/b2/f184b0d5abec02db69cfd7e49b688ae0237554528ca777136c613bf36bee/ruff-0.16.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7ab81118df8945e0193d0240712aa4496573595b75185c3636ed825592a0f728", size = 9847245, upload-time = "2026-09-10T18:03:34.509Z" },
|
|
1381
|
+
{ url = "https://files.pythonhosted.org/packages/eb/2d/db1633a641866ed801e34cc6b60ef236c5e16f9b2124ab1d49cc24a5fe4f/ruff-0.16.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c196c968874fc8019da8e7163de7a1a370f111e2309b4b7dfea0fce950198d0", size = 9961780, upload-time = "2026-09-10T18:03:36.618Z" },
|
|
1382
|
+
{ url = "https://files.pythonhosted.org/packages/4d/98/edea21e1a3e38dbbc3bf6bb068b863b3b06184cf8533a4c7dbbe208a89d5/ruff-0.16.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac8c3bd0a7e10ad31e6ce51e7a99f3cb772e69aecdd6b9ea7e99b362f62a62c0", size = 9866337, upload-time = "2026-09-10T18:03:38.805Z" },
|
|
1383
|
+
{ url = "https://files.pythonhosted.org/packages/0b/11/a15e60d4c87b214646f116ca9d204475bf993ee1047459bc9a360fd4d6d1/ruff-0.16.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:398d3988edde000b5c75dc1b3f584708da9bc990de069c18909142580fec1af9", size = 10562512, upload-time = "2026-09-10T18:03:40.71Z" },
|
|
1384
|
+
{ url = "https://files.pythonhosted.org/packages/29/42/eaff4c9b6d0c7cdf56df313a17e89ae854f5bbc0b0c8f9cce19be0ab7a8f/ruff-0.16.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce05b62b770a8217c4646a9c4139fca00efe8fe5d71f87df2b243ff20d4584d1", size = 11302938, upload-time = "2026-09-10T18:03:42.607Z" },
|
|
1385
|
+
{ url = "https://files.pythonhosted.org/packages/5d/43/c75aa59a4ec181fe2ec06cab30e198c1c6d107229a9f008ae3a7c16cabd8/ruff-0.16.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af1b576fddb9d9ef2ececfb5fadcd6a624b25070ed85e3cfcfe449fc3ff6a7b9", size = 10840857, upload-time = "2026-09-10T18:03:44.604Z" },
|
|
1386
|
+
{ url = "https://files.pythonhosted.org/packages/21/33/81f3da371942ea031105ba679d8d6e28ec1660ccd690a45f42d381161356/ruff-0.16.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce7f8f22df67c93ed96c717f9128eadb797144ac2bad475cf536f31d6100c55", size = 10370001, upload-time = "2026-09-10T18:03:46.706Z" },
|
|
1387
|
+
{ url = "https://files.pythonhosted.org/packages/fa/0b/6345fb4dbf6dd0ed1cfe5d18391dc9c3f59cc81622a7b0a65b84b3e730ba/ruff-0.16.7-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:06d0e93d04f392996435ebd600c153f65b47d73fbec2415aa99c5ee5756b3a5f", size = 10548735, upload-time = "2026-09-10T18:03:48.658Z" },
|
|
1388
|
+
{ url = "https://files.pythonhosted.org/packages/3f/4d/c5576adf511f92a328e5569dda190ecdd430da51f1a649f3a4a2fd73e21e/ruff-0.16.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:142151a5e7b93c1b11111337142f89dd2fbfee92161225c99a97222f22e32656", size = 10108496, upload-time = "2026-09-10T18:03:50.563Z" },
|
|
1389
|
+
{ url = "https://files.pythonhosted.org/packages/ff/8c/667d83c16199a17a56adc6b0bd4c3beb5b767a2babcd16a56f76f9be7fd6/ruff-0.16.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e6651f97a342d8b35d54d8991544ca22169b86dc54111cb604666940c431b750", size = 9860136, upload-time = "2026-09-10T18:03:52.621Z" },
|
|
1390
|
+
{ url = "https://files.pythonhosted.org/packages/99/75/78d401106731999a1dd20cc5a6961e37e1eb9397a3b589f73f3a5ce146a3/ruff-0.16.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ef140c6eb935fa9a84c9c607dfb2cb1b85843c192e79265b0c54f35f557ea8e5", size = 10286290, upload-time = "2026-09-10T18:03:55.207Z" },
|
|
1391
|
+
{ url = "https://files.pythonhosted.org/packages/68/49/56f9c3a8b755df93a0ad318b2147bf4ef5dae9a7e5ec61c460109c67957f/ruff-0.16.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:53e39506a730fadeee0d998ed5946f30671f0db240c6c7c73bdabbe33604bb6f", size = 10745048, upload-time = "2026-09-10T18:03:57.299Z" },
|
|
1392
|
+
{ url = "https://files.pythonhosted.org/packages/5f/ea/7f9b938a63ece4bec677ad7f9f7fa02df3383db1949ed93a382441c09a87/ruff-0.16.7-py3-none-win32.whl", hash = "sha256:2ea3470fcebcbc5df2fb0c6f3b90333fa9084c534e0111c038fa4a6ab9f1c4b7", size = 10059082, upload-time = "2026-09-10T18:03:59.632Z" },
|
|
1393
|
+
{ url = "https://files.pythonhosted.org/packages/39/11/480a6973a927aa653e1cead6a6416008640e03a99d05b34c0434b8c6c366/ruff-0.16.7-py3-none-win_amd64.whl", hash = "sha256:7ac26aca826e9e21d0f1cb25b54ac660760a9fdd094d3e4df9848232be98cfc6", size = 10593368, upload-time = "2026-09-10T18:04:01.999Z" },
|
|
1394
|
+
{ url = "https://files.pythonhosted.org/packages/8b/4b/51327018d056f0dad2c2238f26d1fb0f53707a9d91b75dea6d1b3039f136/ruff-0.16.7-py3-none-win_arm64.whl", hash = "sha256:aab7f39e2c9df6c596216070f98eef1207b94f8516cca20c808826974971855b", size = 10412401, upload-time = "2026-09-10T18:04:04.098Z" },
|
|
1395
1395
|
]
|
|
1396
1396
|
|
|
1397
1397
|
[[package]]
|
|
@@ -1630,27 +1630,27 @@ wheels = [
|
|
|
1630
1630
|
|
|
1631
1631
|
[[package]]
|
|
1632
1632
|
name = "ty"
|
|
1633
|
-
version = "0.0.
|
|
1634
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1635
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1636
|
-
wheels = [
|
|
1637
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1638
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1639
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1640
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1641
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1642
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1643
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1644
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1645
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1646
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1647
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1648
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1649
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1650
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1651
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1652
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1653
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1633
|
+
version = "0.0.80"
|
|
1634
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1635
|
+
sdist = { url = "https://files.pythonhosted.org/packages/54/b0/6d1b10e0d422736a3c439e487c950ae785f401d71ff879d5be68bccb6d90/ty-0.0.80.tar.gz", hash = "sha256:fe86bc91327e45ff5e3593b7e306e7f57a44bc0608f38d647b8d97bd99c96013", size = 7183998, upload-time = "2026-09-09T21:18:47.547Z" }
|
|
1636
|
+
wheels = [
|
|
1637
|
+
{ url = "https://files.pythonhosted.org/packages/29/c8/3c93195eca282936ebb574d0ba98843e4b147ee324006f88464777012a92/ty-0.0.80-py3-none-linux_armv6l.whl", hash = "sha256:738d1cfca466c577aea24547c348629c00c63548cf7da2c46b497b3840f85dee", size = 13606509, upload-time = "2026-09-09T21:18:10.476Z" },
|
|
1638
|
+
{ url = "https://files.pythonhosted.org/packages/e7/48/bbb47f7001c97262a5109bcd92a45bcc8a2fbb21e994c214a9897630bfb7/ty-0.0.80-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:56060164bb8ee43770fa367524fbdba2611fc90f8923a02cc91f80eb37d5a1b0", size = 13203812, upload-time = "2026-09-09T21:18:12.796Z" },
|
|
1639
|
+
{ url = "https://files.pythonhosted.org/packages/db/8d/fd141160567047b742e466be8ed09a4c4ed80fa045d37f946eb4f4532fee/ty-0.0.80-py3-none-macosx_11_0_arm64.whl", hash = "sha256:da4062e0fbf3923d9b71688157c5753394f243348f00732e9edbb27498397169", size = 13021896, upload-time = "2026-09-09T21:18:15.186Z" },
|
|
1640
|
+
{ url = "https://files.pythonhosted.org/packages/1e/10/b4177faf9e71bc37bc4d08f512042269660a1ce0ec457c48f96e51fc91d7/ty-0.0.80-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9eb94b2659f506a3a07a9ea1415d5c18aaa1e554adc1612614d617a0ed320e1", size = 13083881, upload-time = "2026-09-09T21:18:17.616Z" },
|
|
1641
|
+
{ url = "https://files.pythonhosted.org/packages/7f/c2/192d48b9a9acbbe030fc9a4bd73af75671a5566e731949f77e912a68ce68/ty-0.0.80-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e2f5e39a87da48c1af1a3b3135f02be7a83a93da30b0d6a5f5d27806e7c747ce", size = 13354874, upload-time = "2026-09-09T21:18:19.744Z" },
|
|
1642
|
+
{ url = "https://files.pythonhosted.org/packages/0a/5b/736dfd31efd98bed9dbe018ff91676e5ea83485b1e24afb635fd0247728f/ty-0.0.80-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e00149e7779c6b98f3ba12e10a631a861bd7ca1a42bbf064e2677ada7d2c0c2", size = 14204805, upload-time = "2026-09-09T21:18:21.999Z" },
|
|
1643
|
+
{ url = "https://files.pythonhosted.org/packages/fd/6f/557c726cb53401998e3589bb632c963a6887a70240e0a4386024f3731c81/ty-0.0.80-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a377268f359fb6e7a2cc9026a09223c764f58d020dec8e6baeaba9caba6ff829", size = 14630014, upload-time = "2026-09-09T21:18:24Z" },
|
|
1644
|
+
{ url = "https://files.pythonhosted.org/packages/e9/19/7a4b18fe27f6b6bd4ffa56b67c8b09ecb76bb4312d1c64b73f65417b4dbd/ty-0.0.80-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4511dbf1b266b9ce5b73e9b28d94468096c2b6da00e2fe205168c32d3b352ca7", size = 14326946, upload-time = "2026-09-09T21:18:26.679Z" },
|
|
1645
|
+
{ url = "https://files.pythonhosted.org/packages/f8/95/16dd90805fc7e53ec54ae9fdb1a8b74753fb159a55a170f60f49b9417824/ty-0.0.80-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe95feffa7156800c6f804195acb9fb5846a39671c7192c30fff23351aaf7c31", size = 13705988, upload-time = "2026-09-09T21:18:28.681Z" },
|
|
1646
|
+
{ url = "https://files.pythonhosted.org/packages/b1/09/4e87992c23ab8a742c7d4914ac5fe66fb9301c8464a69fd2ecbc0be3fbcd/ty-0.0.80-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:ba26b39f06bc8c3c2c5acd3a147239482b36620cdbca1b9d02e915294854f2cc", size = 14233729, upload-time = "2026-09-09T21:18:30.961Z" },
|
|
1647
|
+
{ url = "https://files.pythonhosted.org/packages/36/e9/b8c11fda8e66a1d1cc1a7160ed719a33f4dc0107b1cef6a14e2673965763/ty-0.0.80-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:2e6167320888c115a6fbe69893b63fd1c848f9121a454e75e5f612674528e3f3", size = 13173523, upload-time = "2026-09-09T21:18:33.266Z" },
|
|
1648
|
+
{ url = "https://files.pythonhosted.org/packages/73/a7/512083fa540c5be1ac8642658f03bfb5bfa6fd168ea4f55e3c0aabe04166/ty-0.0.80-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7aecb62b4de70b479eab07d1779ea66da26dd8b068f50a9330867157312f103c", size = 13373014, upload-time = "2026-09-09T21:18:35.339Z" },
|
|
1649
|
+
{ url = "https://files.pythonhosted.org/packages/5e/63/cd2f0ca81fd9b8cafef93bbcf022bf636bc4de8ee7465c6aafeec1d4d52b/ty-0.0.80-py3-none-musllinux_1_2_i686.whl", hash = "sha256:4fed06adacd16b7e2d722f37449021b1419598d0440769701c0f4827faddde63", size = 13667827, upload-time = "2026-09-09T21:18:37.241Z" },
|
|
1650
|
+
{ url = "https://files.pythonhosted.org/packages/0d/5d/ebdfdcb2dc099ae74dc4b75511eef0dd398b2fa27006c543543974b4567f/ty-0.0.80-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:09329af6303ce611ec2cfffc995dc1ddf76c9f47194fc1a4d64a984759c25f5b", size = 13963866, upload-time = "2026-09-09T21:18:39.386Z" },
|
|
1651
|
+
{ url = "https://files.pythonhosted.org/packages/c4/f6/c286d5e1b560cfd16d6e91fdab683718aacf09fc88938ca06dcc9d1c8502/ty-0.0.80-py3-none-win32.whl", hash = "sha256:a81b3b512f7b4c68e42fbd1835633de658809666e9aafd5defa52bbc5197698d", size = 12881806, upload-time = "2026-09-09T21:18:41.507Z" },
|
|
1652
|
+
{ url = "https://files.pythonhosted.org/packages/fd/c8/3b3a8ac16d47a23ff34bf57c0d99a491860748aea96e0e886b4bfed54f9b/ty-0.0.80-py3-none-win_amd64.whl", hash = "sha256:8043f99878a2ae434781cb881c8a3840dff70c4a5b60bdc5ae84251f35ee063f", size = 13528883, upload-time = "2026-09-09T21:18:43.687Z" },
|
|
1653
|
+
{ url = "https://files.pythonhosted.org/packages/2e/71/a6c697930fca76596d7d17f8853120f41a298fd9ea632c901cfca8ca869b/ty-0.0.80-py3-none-win_arm64.whl", hash = "sha256:e277ef034331da5319efc839c064968d24f35715b71c70369cf97d36fe4dcbdb", size = 13370135, upload-time = "2026-09-09T21:18:45.758Z" },
|
|
1654
1654
|
]
|
|
1655
1655
|
|
|
1656
1656
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/commit-check/action.yml
RENAMED
|
File without changes
|
{rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/commitizen-bump/action.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rekordbox_edit-0.13.1.dev4 → rekordbox_edit-0.13.1.dev7}/.github/actions/install/action.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|