Skip to content
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

No more man page for version 2.1.0? #5513

Open
catap opened this issue Nov 22, 2024 · 23 comments · May be fixed by #5520
Open

No more man page for version 2.1.0? #5513

catap opened this issue Nov 22, 2024 · 23 comments · May be fixed by #5520
Assignees
Labels
bug bugs that are confirmed and actionable docs

Comments

@catap
Copy link
Contributor

catap commented Nov 22, 2024

Problem

When I download https://pypi.io/packages/source/b/beets/beets-2.1.0.tar.gz I don see any man pages anymore which was a part of https://pypi.io/packages/source/b/beets/beets-2.0.0.tar.gz, see:

tmp $ tar ztvf beets-2.1.0.tar.gz | grep man                                                                                              
-rwxr-xr-x  1 root     wheel        80642 Nov 22 02:50 beets-2.1.0/beets/ui/commands.py
tmp $ tar ztvf beets-2.0.0.tar.gz | grep man 
-rwxr-xr-x  1 catap    catap        80709 May 19  2024 beets-2.0.0/beets/ui/commands.py
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/man
-rwxrwxrwx  1 catap    catap        22334 May 30 06:13 beets-2.0.0/man/beet.1
-rwxrwxrwx  1 catap    catap        45498 May 30 06:13 beets-2.0.0/man/beetsconfig.5
-rw-r--r--  1 catap    catap         5120 May 19  2024 beets-2.0.0/test/test_config_command.py
-rw-r--r--  1 catap    catap         3735 May 19  2024 beets-2.0.0/test/test_ui_commands.py
tmp $ 

Setup

  • OS: OpenBSD-current
  • Python version: 3.11.10
  • beets version: 2.1.0
  • Turning off plugins made problem go away (yes/no): no
@snejus snejus added bug bugs that are confirmed and actionable docs labels Nov 22, 2024
@TinfoilSubmarine
Copy link

TinfoilSubmarine commented Nov 22, 2024

Fix for now:

  1. Make sure the python Sphinx package is available (package name will differ by distro).
  2. Download a release tarball from this repo rather than from pypi.
  3. Run:
cd docs
make man

@snejus
Copy link
Member

snejus commented Nov 22, 2024

Thanks for reporting this! I have indeed missed out on this when I updated the project to be packaged by Poetry 🙂 will get it sorted for the next release

@snejus snejus self-assigned this Nov 22, 2024
@catap
Copy link
Contributor Author

catap commented Nov 22, 2024

@snejus may I ask you to include tests back to the pypi as well? It is quite useful for maintaners.

@snejus
Copy link
Member

snejus commented Nov 22, 2024

@snejus may I ask you to include tests back to the pypi as well? It is quite useful for maintaners.

Possibly - is there anything specific that you need? We're trying to expose the relevant test helpers under beets.test so I'm just trying to understand whether there's anything missing.

@catap
Copy link
Contributor Author

catap commented Nov 22, 2024

@snejus 2.0.0 had the full test suite which allows me to run it to be sure that everything is working. 2.1.0 hasn't got them, see:

tmp $ tar ztvf beets-2.1.0.tar.gz | grep test
-rw-r--r--  1 root     wheel          909 Nov 22 02:50 beets-2.1.0/beets/test/__init__.py
-rw-r--r--  1 root     wheel         6647 Nov 22 02:50 beets-2.1.0/beets/test/_common.py
-rw-r--r--  1 root     wheel        28711 Nov 22 02:50 beets-2.1.0/beets/test/helper.py
tmp $ tar ztvf beets-2.0.0.tar.gz | grep test
-rw-r--r--  1 catap    catap         1372 Nov 16  2023 beets-2.0.0/.github/workflows/integration_test.yaml
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/beets/test
-rw-r--r--  1 catap    catap          909 Mar  1  2024 beets-2.0.0/beets/test/__init__.py
-rw-r--r--  1 catap    catap        11194 Mar  1  2024 beets-2.0.0/beets/test/_common.py
-rw-r--r--  1 catap    catap        29464 May 19  2024 beets-2.0.0/beets/test/helper.py
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test
-rw-r--r--  1 catap    catap           34 Nov 16  2023 beets-2.0.0/test/__init__.py
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc
-rw-r--r--  1 catap    catap        36939 Nov 16  2023 beets-2.0.0/test/rsrc/abbey-different.jpg
-rw-r--r--  1 catap    catap        83679 Nov 16  2023 beets-2.0.0/test/rsrc/abbey-similar.jpg
-rw-r--r--  1 catap    catap        12094 Nov 16  2023 beets-2.0.0/test/rsrc/abbey.jpg
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/acousticbrainz
-rw-r--r--  1 catap    catap       129346 Nov 16  2023 beets-2.0.0/test/rsrc/acousticbrainz/data.json
-rw-r--r--  1 catap    catap         2395 Nov 16  2023 beets-2.0.0/test/rsrc/archive.7z
-rw-r--r--  1 catap    catap         2357 Nov 16  2023 beets-2.0.0/test/rsrc/archive.rar
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/beetsplug
-rw-r--r--  1 catap    catap          490 Nov 24  2023 beets-2.0.0/test/rsrc/beetsplug/test.py
-rw-r--r--  1 catap    catap        12820 Nov 16  2023 beets-2.0.0/test/rsrc/bpm.mp3
-rwxr-xr-x  1 catap    catap          708 Nov 24  2023 beets-2.0.0/test/rsrc/convert_stub.py
-rw-r--r--  1 catap    catap         8765 Nov 16  2023 beets-2.0.0/test/rsrc/coverart.ogg
-rw-r--r--  1 catap    catap        12820 Nov 16  2023 beets-2.0.0/test/rsrc/date.mp3
-rw-r--r--  1 catap    catap         8562 Nov 16  2023 beets-2.0.0/test/rsrc/date_with_slashes.ogg
-rw-r--r--  1 catap    catap         8818 Nov 16  2023 beets-2.0.0/test/rsrc/discc.ogg
-rw-r--r--  1 catap    catap        88254 Nov 16  2023 beets-2.0.0/test/rsrc/empty.aiff
-rw-r--r--  1 catap    catap         6884 Nov 16  2023 beets-2.0.0/test/rsrc/empty.alac.m4a
-rw-r--r--  1 catap    catap        13420 Nov 16  2023 beets-2.0.0/test/rsrc/empty.ape
-rw-r--r--  1 catap    catap         4188 Nov 16  2023 beets-2.0.0/test/rsrc/empty.dsf
-rw-r--r--  1 catap    catap        21890 Nov 16  2023 beets-2.0.0/test/rsrc/empty.flac
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/empty.m4a
-rw-r--r--  1 catap    catap         8567 Nov 16  2023 beets-2.0.0/test/rsrc/empty.mp3
-rw-r--r--  1 catap    catap         2196 Nov 16  2023 beets-2.0.0/test/rsrc/empty.mpc
-rw-r--r--  1 catap    catap         8543 Nov 16  2023 beets-2.0.0/test/rsrc/empty.ogg
-rw-r--r--  1 catap    catap         8243 Nov 16  2023 beets-2.0.0/test/rsrc/empty.opus
-rw-r--r--  1 catap    catap        23608 Nov 16  2023 beets-2.0.0/test/rsrc/empty.wma
-rw-r--r--  1 catap    catap        12840 Nov 16  2023 beets-2.0.0/test/rsrc/empty.wv
-rw-r--r--  1 catap    catap         8192 Nov 16  2023 beets-2.0.0/test/rsrc/emptylist.mp3
-rw-r--r--  1 catap    catap        89296 Nov 16  2023 beets-2.0.0/test/rsrc/full.aiff
-rw-r--r--  1 catap    catap         6884 Nov 16  2023 beets-2.0.0/test/rsrc/full.alac.m4a
-rw-r--r--  1 catap    catap        14076 Nov 16  2023 beets-2.0.0/test/rsrc/full.ape
-rw-r--r--  1 catap    catap       114582 Nov 16  2023 beets-2.0.0/test/rsrc/full.dsf
-rw-r--r--  1 catap    catap        21890 Nov 16  2023 beets-2.0.0/test/rsrc/full.flac
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/full.m4a
-rw-r--r--  1 catap    catap        12820 Nov 16  2023 beets-2.0.0/test/rsrc/full.mp3
-rw-r--r--  1 catap    catap         3020 Nov 16  2023 beets-2.0.0/test/rsrc/full.mpc
-rw-r--r--  1 catap    catap        10176 Nov 16  2023 beets-2.0.0/test/rsrc/full.ogg
-rw-r--r--  1 catap    catap         8349 Nov 16  2023 beets-2.0.0/test/rsrc/full.opus
-rw-r--r--  1 catap    catap        26883 Nov 16  2023 beets-2.0.0/test/rsrc/full.wma
-rw-r--r--  1 catap    catap        13664 Nov 16  2023 beets-2.0.0/test/rsrc/full.wv
-rw-r--r--  1 catap    catap          628 Nov 16  2023 beets-2.0.0/test/rsrc/image-2x3.jpg
-rw-r--r--  1 catap    catap          155 Nov 16  2023 beets-2.0.0/test/rsrc/image-2x3.png
-rw-r--r--  1 catap    catap          206 Nov 16  2023 beets-2.0.0/test/rsrc/image-2x3.tiff
-rw-r--r--  1 catap    catap        10452 Nov 16  2023 beets-2.0.0/test/rsrc/image-jpeg.mp3
-rw-r--r--  1 catap    catap        14279 Nov 16  2023 beets-2.0.0/test/rsrc/image.ape
-rw-r--r--  1 catap    catap        21890 Nov 16  2023 beets-2.0.0/test/rsrc/image.flac
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/image.m4a
-rw-r--r--  1 catap    catap        10452 Nov 16  2023 beets-2.0.0/test/rsrc/image.mp3
-rw-r--r--  1 catap    catap         9786 Nov 16  2023 beets-2.0.0/test/rsrc/image.ogg
-rw-r--r--  1 catap    catap        24561 Nov 16  2023 beets-2.0.0/test/rsrc/image.wma
-rw-r--r--  1 catap    catap        10452 Nov 16  2023 beets-2.0.0/test/rsrc/image_unknown_type.mp3
-rw-r--r--  1 catap    catap         6924 Nov 16  2023 beets-2.0.0/test/rsrc/itunes_library_unix.xml
-rw-r--r--  1 catap    catap         7223 Nov 16  2023 beets-2.0.0/test/rsrc/itunes_library_windows.xml
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/lyrics
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/lyrics/examplecom
-rw-r--r--  1 catap    catap        28899 Nov 16  2023 beets-2.0.0/test/rsrc/lyrics/examplecom/beetssong.txt
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/lyrics/geniuscom
-rw-r--r--  1 catap    catap       191142 Nov 16  2023 beets-2.0.0/test/rsrc/lyrics/geniuscom/Ttngchinchillalyrics.txt
-rw-r--r--  1 catap    catap       836077 Nov 16  2023 beets-2.0.0/test/rsrc/lyrics/geniuscom/Wutangclancreamlyrics.txt
-rw-r--r--  1 catap    catap        10375 Nov 16  2023 beets-2.0.0/test/rsrc/lyrics/geniuscom/sample.txt
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/lyrics/tekstowopl
-rwxrwxrwx  1 catap    catap        96547 Oct 27  2023 beets-2.0.0/test/rsrc/lyrics/tekstowopl/piosenka24kgoldncityofangels1.txt
-rwxrwxrwx  1 catap    catap        94910 Oct 27  2023 beets-2.0.0/test/rsrc/lyrics/tekstowopl/piosenkabaileybiggerblackeyedsusan.txt
-rwxrwxrwx  1 catap    catap        90005 Oct 27  2023 beets-2.0.0/test/rsrc/lyrics/tekstowopl/piosenkabeethovenbeethovenpianosonata17tempestthe3rdmovement.txt
-rwxrwxrwx  1 catap    catap        78363 Oct 27  2023 beets-2.0.0/test/rsrc/lyrics/tekstowopl/szukajwykonawcaagfdgjatytulagfdgafg.txt
-rwxrwxrwx  1 catap    catap        83284 Oct 27  2023 beets-2.0.0/test/rsrc/lyrics/tekstowopl/szukajwykonawcajuicewrldtytulluciddreams.txt
-rw-r--r--  1 catap    catap         3893 Nov 16  2023 beets-2.0.0/test/rsrc/lyricstext.yaml
-rw-r--r--  1 catap    catap        21890 Nov 16  2023 beets-2.0.0/test/rsrc/min.flac
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/min.m4a
-rw-r--r--  1 catap    catap        12820 Nov 16  2023 beets-2.0.0/test/rsrc/min.mp3
-rw-r--r--  1 catap    catap        13955 Nov 16  2023 beets-2.0.0/test/rsrc/oldape.ape
-rw-r--r--  1 catap    catap          622 Nov 16  2023 beets-2.0.0/test/rsrc/only-magic-bytes.jpg
-rw-r--r--  1 catap    catap        21890 Nov 16  2023 beets-2.0.0/test/rsrc/partial.flac
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/partial.m4a
-rw-r--r--  1 catap    catap        12820 Nov 16  2023 beets-2.0.0/test/rsrc/partial.mp3
-rw-r--r--  1 catap    catap           74 Nov 16  2023 beets-2.0.0/test/rsrc/playlist.m3u
-rw-r--r--  1 catap    catap           76 Nov 16  2023 beets-2.0.0/test/rsrc/playlist.m3u8
-rw-r--r--  1 catap    catap           66 Nov 16  2023 beets-2.0.0/test/rsrc/playlist_non_ext.m3u
-rw-r--r--  1 catap    catap           86 Nov 16  2023 beets-2.0.0/test/rsrc/playlist_windows.m3u8
-rw-r--r--  1 catap    catap        23680 Nov 16  2023 beets-2.0.0/test/rsrc/pure.wma
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/soundcheck-nonascii.m4a
-rw-r--r--  1 catap    catap        12820 Nov 16  2023 beets-2.0.0/test/rsrc/space_time.mp3
drwxr-xr-x  2 catap    catap            0 May 30 06:13 beets-2.0.0/test/rsrc/spotify
-rw-r--r--  1 catap    catap        27206 Nov 16  2023 beets-2.0.0/test/rsrc/spotify/album_info.json
-rw-r--r--  1 catap    catap          296 Nov 16  2023 beets-2.0.0/test/rsrc/spotify/missing_request.json
-rw-r--r--  1 catap    catap         2402 Nov 16  2023 beets-2.0.0/test/rsrc/spotify/track_info.json
-rw-r--r--  1 catap    catap         4135 Nov 16  2023 beets-2.0.0/test/rsrc/spotify/track_request.json
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/t_time.m4a
-rw-r--r--  1 catap    catap         2994 Nov 16  2023 beets-2.0.0/test/rsrc/test_completion.sh
-rw-r--r--  1 catap    catap        75297 Nov 16  2023 beets-2.0.0/test/rsrc/unicode’d.mp3
-rw-r--r--  1 catap    catap        88272 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.aiff
-rw-r--r--  1 catap    catap         6884 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.alac.m4a
-rw-r--r--  1 catap    catap        13444 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.ape
-rw-r--r--  1 catap    catap         5243 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.dsf
-rw-r--r--  1 catap    catap        21890 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.flac
-rw-r--r--  1 catap    catap         5862 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.m4a
-rw-r--r--  1 catap    catap         9601 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.mp3
-rw-r--r--  1 catap    catap         2284 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.mpc
-rw-r--r--  1 catap    catap         8563 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.ogg
-rw-r--r--  1 catap    catap         8263 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.opus
-rw-r--r--  1 catap    catap        23664 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.wma
-rw-r--r--  1 catap    catap        12928 Nov 16  2023 beets-2.0.0/test/rsrc/unparseable.wv
-rw-r--r--  1 catap    catap       288332 Nov 16  2023 beets-2.0.0/test/rsrc/whitenoise.flac
-rw-r--r--  1 catap    catap        16592 Nov 16  2023 beets-2.0.0/test/rsrc/whitenoise.mp3
-rw-r--r--  1 catap    catap        17482 Nov 16  2023 beets-2.0.0/test/rsrc/whitenoise.opus
-rw-r--r--  1 catap    catap         8556 Nov 16  2023 beets-2.0.0/test/rsrc/year.ogg
-rw-r--r--  1 catap    catap         5786 May 19  2024 beets-2.0.0/test/test_art_resize.py
-rw-r--r--  1 catap    catap        37863 May 19  2024 beets-2.0.0/test/test_autotag.py
-rw-r--r--  1 catap    catap         5120 May 19  2024 beets-2.0.0/test/test_config_command.py
-rw-r--r--  1 catap    catap        11967 Mar  1  2024 beets-2.0.0/test/test_datequery.py
-rw-r--r--  1 catap    catap        23786 May 19  2024 beets-2.0.0/test/test_dbcore.py
-rw-r--r--  1 catap    catap        23562 May 19  2024 beets-2.0.0/test/test_files.py
-rw-r--r--  1 catap    catap         2555 Nov 24  2023 beets-2.0.0/test/test_hidden.py
-rw-r--r--  1 catap    catap        70421 May 19  2024 beets-2.0.0/test/test_importer.py
-rw-r--r--  1 catap    catap        50035 May 19  2024 beets-2.0.0/test/test_library.py
-rw-r--r--  1 catap    catap        10260 Mar  1  2024 beets-2.0.0/test/test_logging.py
-rw-r--r--  1 catap    catap         5866 Mar  1  2024 beets-2.0.0/test/test_m3ufile.py
-rw-r--r--  1 catap    catap        40831 May 19  2024 beets-2.0.0/test/test_mb.py
-rw-r--r--  1 catap    catap         4819 Mar  1  2024 beets-2.0.0/test/test_metasync.py
-rw-r--r--  1 catap    catap         6692 Nov 24  2023 beets-2.0.0/test/test_pipeline.py
-rw-r--r--  1 catap    catap        22939 May 19  2024 beets-2.0.0/test/test_plugins.py
-rw-r--r--  1 catap    catap        39384 May 19  2024 beets-2.0.0/test/test_query.py
-rw-r--r--  1 catap    catap        19982 May 19  2024 beets-2.0.0/test/test_sort.py
-rw-r--r--  1 catap    catap        10593 Nov 24  2023 beets-2.0.0/test/test_template.py
-rw-r--r--  1 catap    catap        59124 May 19  2024 beets-2.0.0/test/test_ui.py
-rw-r--r--  1 catap    catap         3735 May 19  2024 beets-2.0.0/test/test_ui_commands.py
-rw-r--r--  1 catap    catap         2052 Mar  1  2024 beets-2.0.0/test/test_ui_importer.py
-rw-r--r--  1 catap    catap         5314 Mar  1  2024 beets-2.0.0/test/test_ui_init.py
-rw-r--r--  1 catap    catap         8423 May 19  2024 beets-2.0.0/test/test_util.py
-rw-r--r--  1 catap    catap         1645 Mar  1  2024 beets-2.0.0/test/test_vfs.py
-rwxr-xr-x  1 catap    catap         1255 Nov 24  2023 beets-2.0.0/test/testall.py
tmp $

@snejus
Copy link
Member

snejus commented Nov 22, 2024

This makes sense - though what are you testing in this case? beets or your own plugin?

@catap
Copy link
Contributor Author

catap commented Nov 22, 2024

Beets when I update packages for OpenBSD I'd love to use unit tests from software to be sure that everything is working fine.

@snejus
Copy link
Member

snejus commented Nov 22, 2024

beets requires the tests to pass in order for a commit to be merged into master, so you can be certain that the functionality passes the tests.

Are you installing beets in some sort of a different way, potentially overriding its dependencies?

@catap
Copy link
Contributor Author

catap commented Nov 22, 2024

Are you installing beets in some sort of a different way, potentially overriding its dependencies?

beets is installed on OpenBSD as pkg_add beets, and all dependencies is provided by OpenBSD packages / ports system. The same way it is installed on many other OS: https://repology.org/project/beets/versions

Unit tests is nice way to check that everything works after updating version for example.

@catap
Copy link
Contributor Author

catap commented Nov 22, 2024

And no, using pipx or something similar requires some work on OpenBSD because user need rust and some hacks to be able to build all needed dependencies. Or at least it had like year ago when I had tried it the last time.

@715south
Copy link

715south commented Nov 22, 2024 via email

@snejus
Copy link
Member

snejus commented Nov 22, 2024

Are you installing beets in some sort of a different way, potentially overriding its dependencies?

beets is installed on OpenBSD as pkg_add beets, and all dependencies is provided by OpenBSD packages / ports system. The same way it is installed on many other OS: https://repology.org/project/beets/versions

Unit tests is nice way to check that everything works after updating version for example.

I see.

Practically speaking, how do you ensure that dependencies are present for one of the plugins? Let's say you want to use discogs plugin, which requires python3-discogs-client Python package which is not installed by default?

@catap
Copy link
Contributor Author

catap commented Nov 22, 2024

Practically speaking, how do you ensure that dependencies are present for one of the plugins? Let's say you want to use discogs plugin, which requires python3-discogs-client Python package which is not installed by default?

By adding some runtime dependencies for most popular plugins, or add in readme that if you would like to use plugin X, please install Y and Z.

@snejus
Copy link
Member

snejus commented Nov 23, 2024

Sorry my question was ambiguous: I meant what sort of commands do you run as a user to install additional dependencies for beets on your system?

@catap
Copy link
Contributor Author

catap commented Nov 23, 2024

If I understand your question when it’s documented here: https://beets.readthedocs.io/en/stable/guides/main.html

@snejus
Copy link
Member

snejus commented Nov 23, 2024

Are you installing beets in some sort of a different way, potentially overriding its dependencies?

beets is installed on OpenBSD as pkg_add beets, and all dependencies is provided by OpenBSD packages / ports system. The same way it is installed on many other OS: https://repology.org/project/beets/versions

Unit tests is nice way to check that everything works after updating version for example.

I'm just curious about the process you mentioned above since I am not aware how things work in OpenBSD world. You mentioned that pipx was not an option, so I am interested how do you install the base beets package, and how do you install dependencies for plugins.

For example, on my end (on Arch) I could

  1. Install beets as a system package
$ pacman -Syu beets
# however this does not include plugins, so I'd have to hack something like this, probably
$ /bin/python -m pip install beets[replaygain,fetchart]
  1. I could use pipx
$ pipx install beets[replaygain,fetchart]
# this way it's isolated from the system and I have flexibility to install more plugins
# for example I'd use something like below to make sure 'autobpm' dependencies are present
$ pipx runpip beets install beets[autobpm]
  1. But I actually have it installed as an editable package in a venv
$ git clone https://github.com/beetbox/beets
$ cd beets
$ poetry install
# make the command available everywhere
$ ln -s $VIRTUALENV/bin/beet ~/.local/bin

Since I'm actively working on it, I have it installed in a virtual environment as an editable package.

@catap
Copy link
Contributor Author

catap commented Nov 23, 2024

Well, in OpenBSD world the simplest way is install beets as system package by pkg_add beets.

pipx may work until... it doesn't. OpenSSL uses it's own LibreSSL which is a bit different. Also, it needs some patches for rust and few other things. Can anyone use pipx to install beets on OpenBSD. Yes, it is durable, but requires some manual hack. The same with virtual env.

And in case of development of beets it is much simpler to install it's dependencies from packages and just run it without venv.

@snejus
Copy link
Member

snejus commented Nov 26, 2024

So if I understand correctly you're not able to install plugin dependencies together with beets, like pipx install beets[fetchart], which would ensure that compatible dependency versions are being installed. Instead, you install them manually later (when their versions are not being checked against beets requirements), and that's why you'd like to run tests to ensure compatibility?

@catap
Copy link
Contributor Author

catap commented Nov 26, 2024

@snejus a kind of. When someone pack beets to a package he usually copies dependnecies to ask package system to install it. Like this https://github.com/openbsd/ports/blob/master/audio/beets/Makefile#L21-L39

And unit test is good way to be sure that all needed dependnecies really installed and works as expected, due to new enough ot not new enough version for example.

@snejus
Copy link
Member

snejus commented Nov 26, 2024

That's great! Thanks for your patience walking me through this.

I've just checked previous versions of beets - it seems like neither beets 1.6.0 nor 2.0.0 included the tests?

@catap
Copy link
Contributor Author

catap commented Nov 26, 2024

That's great! Thanks for your patience walking me through this.

np

I've just checked previous versions of beets - it seems like neither beets 1.6.0 nor 2.0.0 included the tests?

As I show in #5513 (comment) 2.0.0 had tests. And 1.6.0 had tests as well, if I recall right.

@snejus
Copy link
Member

snejus commented Nov 26, 2024

That's great! Thanks for your patience walking me through this.

np

I've just checked previous versions of beets - it seems like neither beets 1.6.0 nor 2.0.0 included the tests?

As I show in #5513 (comment) 2.0.0 had tests. And 1.6.0 had tests as well, if I recall right.

Ah this makes sense! I will include the manual and the tests in the sdist.

@snejus
Copy link
Member

snejus commented Nov 26, 2024

See #5520

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug bugs that are confirmed and actionable docs
Projects
None yet
4 participants