Commit Graph

59 Commits

Author SHA1 Message Date
Ben Stolovitz
2f98f11d57 fix local langdetect test failures
avoid linter error

avoid other linter error

fix format

changing deps (no lock!)

poetry lock?

lint & format

attempt 2 at poetry lock

crlf -> lf line endings

changelog!
2025-05-31 18:56:21 -04:00
snejus
d487d675b9 Increment version to 2.3.1 2025-05-14 09:53:19 +00:00
Šarūnas Nejus
28781e9077 Pin Poetry version <2 2025-05-14 10:42:07 +01:00
snejus
250b0da900 Increment version to 2.3.0 2025-05-07 22:34:25 +00:00
Šarūnas Nejus
fdc1aba603 Replace typing.cast with explicit type definitions and ignore TC006 2025-05-07 20:39:33 +01:00
Šarūnas Nejus
63c23c32ed Add missed out python versions to package classifiers 2025-05-07 10:24:04 +01:00
Šarūnas Nejus
921b7ed9ea Rewrite legalisation tests for readability 2025-05-04 12:23:26 +01:00
Benedikt
43301c4caa fixup #5701 (#5745)
which added some mypy config to pyproject.toml, leading to mypy ignoring
setup.cfg
 (this shows up in CI output for #5701, but is not very visible
since we currently ignore mypy errors)

Related: https://github.com/beetbox/beets/pull/5728
2025-04-20 10:43:10 +02:00
Sebastian Mohr
2f57dd9e1c Added missing return types. 2025-04-18 23:03:32 +02:00
Šarūnas Nejus
fc49902f3a Refactor lyrics backend tests to use pytest fixtures
- Replaced unittest.mock with pytest fixtures for better test isolation and readability.
- Simplified test cases by using parameterized tests.
- Added `requests-mock` dependency to `pyproject.toml` and `poetry.lock`.
- Removed redundant helper functions and classes.
2025-01-19 01:33:15 +00:00
valrus
c9afb8664b Add types-mock for typechecking 2024-12-31 17:22:53 -08:00
Šarūnas Nejus
420117b598 Track assignment: replace munkres with lapjv
See the following comparison between several implementations to solve
this problem: https://github.com/berhane/LAP-solvers
2024-12-27 10:16:28 +00:00
Arsen Arsenović
994f9b83f1 pyproject.toml: don't install docs et al into the wheel
wheels are directly unpacked into site-packages, so this means likely
conflict with other packages
2024-12-19 05:12:04 +00:00
Šarūnas Nejus
5c81f94cf7 Move imports required for typing under the TYPE_CHECKING block 2024-12-10 06:10:04 +00:00
Šarūnas Nejus
7be8f9c97a Update CI config, minimum ruff version, docs and add changelog note 2024-12-10 06:10:03 +00:00
Šarūnas Nejus
88deb07890 Drop Python 3.8 from the package, update dependencies 2024-12-10 06:08:14 +00:00
Šarūnas Nejus
ed3a53f2fe Exclude plugin tests, include all files from MANIFEST.in 2024-12-10 05:51:09 +00:00
snejus
f92c0ec8b1 Increment version to 2.2.0 2024-12-02 06:56:49 +00:00
Šarūnas Nejus
9c4d4d9632 Include test files, manual to sdist 2024-11-26 15:38:13 +00:00
snejus
bc16ed1817 Increment version to 2.1.0 2024-11-22 01:50:28 +00:00
Šarūnas Nejus
826783d4c3 Define docs dependencies as an extra
Seems like readthedocs build expects docs dependencies to be available
as an extra, see one of the failing builds: https://app.readthedocs.org/projects/beets/builds/26079213/.

You can see this has been failing due to missing 'pydata_sphinx_theme':

    raise ThemeError(__('no theme named %r found (missing theme.toml?)') % name)
    sphinx.errors.ThemeError: no theme named 'pydata_sphinx_theme' found (missing theme.toml?)
    Theme error:
    no theme named 'pydata_sphinx_theme' found (missing theme.toml?)
2024-10-30 11:55:55 +00:00
Šarūnas Nejus
5f78d1b82b Remove some lint exclusions and fix the issues
* Replace `noqa` comments in `assert...` method definitions with
  a configuration option to ignore these names.
* Use the `__all__` variable to specify importable items from the
  module, replacing `*` imports and `noqa` comments for unused imports.
* Address issues with poorly named variables and methods by renaming
  them appropriately.
2024-09-21 11:59:19 +01:00
Šarūnas Nejus
f36bc497c8 Fix lint issues
- Fix imports
- Fix pytest issues
- Do not assign lambda as variable
- Use isinstance instead of type to check type
- Rename ambiguously named variables
- Name custom errors with Error suffix
2024-09-21 11:59:18 +01:00
Šarūnas Nejus
06a5ecaf80 Replace isort and black by ruff format 2024-09-21 11:29:24 +01:00
Šarūnas Nejus
f8ef22348b Replace flake8 by ruff 2024-09-21 11:28:43 +01:00
Arav K.
87cd81d481 Add dependency on 'platformdirs' 2024-09-20 23:27:36 +02:00
Šarūnas Nejus
06ca500ff2 Do not install reflink for tests on Windows 2024-09-04 18:56:19 +01:00
Šarūnas Nejus
49cae5ca23 autobpm: Fix the issue with tempo being a numpy array 2024-08-19 22:44:16 +01:00
Šarūnas Nejus
03cf567a90 autobpm: Add autobpm extra and update the docs
Given that librosa has been introducing breaking changes like there's no
tomorrow, use '^' version specifier to only allow updating the patch
version.
2024-08-19 22:44:16 +01:00
Šarūnas Nejus
f88bb4ed60 Add a shell command which tests for leftover temp files 2024-07-12 20:32:18 +01:00
Arkadiy Illarionov
859072ee9e Use typing_extensions only when needed
Self was added in Python 3.11
TypeAlias was added in Python 3.10
2024-06-22 16:02:24 +03:00
Šarūnas Nejus
2800a323a2 Revert "Make queries fast, filter all flexible attributes (#5240)"
This reverts commit 143b9202f3, reversing
changes made to 8508a57d77.
2024-06-19 21:51:44 +01:00
Šarūnas Nejus
e61c7d637d fixup! Add ability to debug queries 2024-06-16 19:46:03 +01:00
Šarūnas Nejus
1862c7367b Add ability to debug queries 2024-06-16 15:28:45 +01:00
Šarūnas Nejus
6b63a3090d Remove flake8 docstrings and its exclusion rules (#5234) 2024-06-16 02:55:49 +01:00
Šarūnas Nejus
3e075f2a9a Add 'test-with-coverage' command
And do not measure coverage by default.
2024-06-15 23:52:18 +01:00
Šarūnas Nejus
fa788e2e5a Remove flake8-docstrings and its exclusion rules 2024-06-15 13:09:33 +01:00
Šarūnas Nejus
e3075b76e0 Move dependencies required for release to a separate group 2024-06-15 04:25:50 +01:00
Serene
aacf983268 Remove release script from pyproject (#5307)
I realised that when users install beets, this `release` script would
also get installed for them, which is not ideal, I guess.
2024-06-15 09:57:36 +10:00
Šarūnas Nejus
e7ece96268 Remove release script from pyproject
I realised that when users install beets, this `release` script would
also get installed for them, which is not ideal, I guess.
2024-06-14 16:27:40 +01:00
Šarūnas Nejus
b29c9a83b9 Upgrade black, pin it below v25 2024-06-14 16:16:51 +01:00
Šarūnas Nejus
50cf70eea3 Check all python files for formatting issues 2024-06-11 15:21:39 +01:00
Šarūnas Nejus
6d3b76d3ef Update dependencies 2024-06-10 13:46:27 +01:00
Šarūnas Nejus
f3df90c9ff Revert "Add poethepoet to dependencies for devs"
This reverts commit fc373f5fef8c8dd1656dfdf31c14b3365a0a75bc.

See CONTRIBUTING.rst which has tools setup guidelines for users. They
are expected to install both poetry and poethepoet globally in their
system.
2024-06-10 13:46:26 +01:00
Šarūnas Nejus
627c0698ee Revert "Only format correct directories"
This reverts commit c3b6f07c4336e6639e4597a800700820155ad294.

This commit hardcoded the paths that `isort` and `black` checks. This
means that the `check-format` job will act on the entire codebase
instead of only changed files. We need to define a `path` argument with
a default value in order to achieve the above.

Regarding "." vs "beets beetsplug test", the intention behind using "."
was to also check python files like `docs/conf.py` and
`extra/release.py` which I presume we would also want to format
properly.
2024-06-10 13:46:26 +01:00
Serene-Arc
35533b3807 Add poethepoet to dependencies for devs 2024-06-10 13:46:26 +01:00
Serene-Arc
4f566f181f Only format correct directories 2024-06-10 13:46:25 +01:00
Šarūnas Nejus
4a8e6e961f Update workflows 2024-06-10 13:46:25 +01:00
Šarūnas Nejus
bfd9753314 Remove tox
Unfortunately tox does not play very nicely with Poetry. Tox was mostly
useful since it managed virtual environments, however now this is done
by Poetry.

Thus we do not anymore need it since we can run our commands using
`poetry run`. I have extended the internal helper tool 'project' with
those commands that have previously been run using tox.
2024-06-10 13:46:25 +01:00
Šarūnas Nejus
347911cdee Introduce Poe the Poet task runner and define tasks.
This makes it easier for people to interact with the project in
a unified manner.
2024-06-10 13:46:25 +01:00