audiolibrarian 0.16.2__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.
Files changed (39) hide show
  1. audiolibrarian-0.16.2/.github/workflows/main.yml +67 -0
  2. audiolibrarian-0.16.2/.gitignore +16 -0
  3. audiolibrarian-0.16.2/.python-version +1 -0
  4. audiolibrarian-0.16.2/CONTRIBUTING.md +10 -0
  5. audiolibrarian-0.16.2/COPYING +674 -0
  6. audiolibrarian-0.16.2/LICENSE +674 -0
  7. audiolibrarian-0.16.2/Makefile +114 -0
  8. audiolibrarian-0.16.2/PKG-INFO +334 -0
  9. audiolibrarian-0.16.2/README.md +309 -0
  10. audiolibrarian-0.16.2/git_hooks/README.md +8 -0
  11. audiolibrarian-0.16.2/git_hooks/pre-push +4 -0
  12. audiolibrarian-0.16.2/pyproject.toml +105 -0
  13. audiolibrarian-0.16.2/scripts/update_links.sh +54 -0
  14. audiolibrarian-0.16.2/src/audiolibrarian/__init__.py +19 -0
  15. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/__init__.py +23 -0
  16. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/audiofile.py +114 -0
  17. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/formats/__init__.py +1 -0
  18. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/formats/flac.py +207 -0
  19. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/formats/m4a.py +221 -0
  20. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/formats/mp3.py +259 -0
  21. audiolibrarian-0.16.2/src/audiolibrarian/audiofile/tags.py +48 -0
  22. audiolibrarian-0.16.2/src/audiolibrarian/audiosource.py +215 -0
  23. audiolibrarian-0.16.2/src/audiolibrarian/base.py +433 -0
  24. audiolibrarian-0.16.2/src/audiolibrarian/cli.py +123 -0
  25. audiolibrarian-0.16.2/src/audiolibrarian/commands.py +283 -0
  26. audiolibrarian-0.16.2/src/audiolibrarian/genremanager.py +176 -0
  27. audiolibrarian-0.16.2/src/audiolibrarian/musicbrainz.py +465 -0
  28. audiolibrarian-0.16.2/src/audiolibrarian/output.py +57 -0
  29. audiolibrarian-0.16.2/src/audiolibrarian/records.py +259 -0
  30. audiolibrarian-0.16.2/src/audiolibrarian/settings.py +79 -0
  31. audiolibrarian-0.16.2/src/audiolibrarian/sh.py +55 -0
  32. audiolibrarian-0.16.2/src/audiolibrarian/text.py +115 -0
  33. audiolibrarian-0.16.2/src/picard_src/README.md +11 -0
  34. audiolibrarian-0.16.2/src/picard_src/__init__.py +7 -0
  35. audiolibrarian-0.16.2/src/picard_src/textencoding.py +495 -0
  36. audiolibrarian-0.16.2/tools/__init__.py +1 -0
  37. audiolibrarian-0.16.2/tools/diff.py +37 -0
  38. audiolibrarian-0.16.2/tools/show_tags.py +30 -0
  39. audiolibrarian-0.16.2/uv.lock +566 -0
@@ -0,0 +1,67 @@
1
+ name: Makefile CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+ release:
9
+ types: [created]
10
+
11
+ jobs:
12
+ build:
13
+
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - name: Check out
18
+ uses: actions/checkout@v4
19
+ with:
20
+ fetch-depth: 0 # Needed for version detection
21
+
22
+ - name: Install uv
23
+ uses: astral-sh/setup-uv@v6
24
+ with:
25
+ enable-cache: true
26
+ cache-dependency-glob: |
27
+ **/pyproject.toml
28
+ **/.python_version
29
+ **/uv.lock
30
+ version: latest
31
+
32
+ - name: Install libdiscid
33
+ run: sudo apt update && sudo apt install -y libdiscid0
34
+
35
+ - name: Install dependencies
36
+ run: make dep
37
+
38
+ - name: Build package
39
+ run: make
40
+
41
+ - name: Check
42
+ run: make check
43
+
44
+ - name: Store the distribution packages
45
+ uses: actions/upload-artifact@v4
46
+ with:
47
+ name: python-package-distributions
48
+ path: dist/
49
+
50
+ publish-to-pypi:
51
+ name: Publish to PyPI
52
+ if: startsWith(github.ref, 'refs/tags/v') # Only publish on tag pushes.
53
+ needs: build
54
+ runs-on: ubuntu-latest
55
+ environment:
56
+ name: pypi
57
+ url: https://pypi.org/p/audiolibrarian
58
+ permissions:
59
+ id-token: write
60
+ steps:
61
+ - name: Download the distribution packages
62
+ uses: actions/download-artifact@v4
63
+ with:
64
+ name: python-package-distributions
65
+ path: dist/
66
+ - name: Publish distribution to PyPI
67
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,16 @@
1
+ .coverage
2
+ MANIFEST
3
+
4
+ *.jpg
5
+
6
+ __pycache__/
7
+ .mypy_cache/
8
+ .pytype/
9
+ .venv/
10
+ audiolibrarian.egg-info/
11
+ dist/
12
+ htmlcov/
13
+ library/
14
+ new_library/
15
+ workdir/
16
+ venv/
@@ -0,0 +1 @@
1
+ 3.13
@@ -0,0 +1,10 @@
1
+ # CONTRIBUTING
2
+
3
+ ## Git Hooks
4
+
5
+ The project includes a git_hooks directory with a pre-push hook that verifies that all code is
6
+ linted and tests pass. To have git use the hooks in this directory, run:
7
+
8
+ ```bash
9
+ git config core.hooksPath git_hooks
10
+ ```