diff --git a/.gitignore b/.gitignore index 876539c..c5e9821 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__/ # Distribution / packaging .Python env/ +venv/ build/ develop-eggs/ dist/ diff --git a/README.md b/README.md index 040f37a..e93b277 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,13 @@ Note that v1.18.* will be the last line of releases compatible with Python 2. Please report issues at https://tickets.musicbrainz.org/browse/BU. +# Development +To develop BrainzUtils itself, install it locally in editable mode with development +dependencies by running: `pip install --group dev -e .`. + +> [!NOTE] +> Support for dependency groups (`--group`) was added to pip in 25.1.0. + ## Usage You can include this line into a `requirements.txt` file: diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..961660b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,31 @@ +[project] +name = "brainzutils" +description = "Python tools for MetaBrainz projects" +authors = [ + { name = "MetaBrainz Foundation", email = "support@metabrainz.org" } +] +dynamic = ["version"] +requires-python = ">=3.10" +dependencies = [ + "Flask>=3.1.0", + "Jinja2>=3.1.6", + "itsdangerous>=2.2.0", + "click>=8.1.8", + "Werkzeug>=3.1.3", + "Flask-DebugToolbar", + "sentry-sdk[flask]>=2.27.0", + "redis>=5.2.1", + "msgpack>=1.1.0", + "requests>=2.32.3", + "SQLAlchemy>=2.0.40", + "mbdata@git+https://github.com/metabrainz/mbdata.git@v30.0.0" +] + +[tool.setuptools] +packages = ["brainzutils"] + +[tool.setuptools_scm] + +[build-system] +requires = ["setuptools>=80", "setuptools-scm>=8"] +build-backend = "setuptools.build_meta" diff --git a/requirements.txt b/requirements.txt index 18facd0..c7201a0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,4 +9,4 @@ redis>=5.2.1 msgpack>=1.1.0 requests>=2.32.3 SQLAlchemy>=2.0.40 -mbdata@git+https://github.com/acoustid/mbdata.git@v29.0.0 +mbdata@git+https://github.com/metabrainz/mbdata.git@v29.0.0 diff --git a/setup.py b/setup.py deleted file mode 100644 index c78fdae..0000000 --- a/setup.py +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env python - -from setuptools import setup, find_packages - -setup( - name="brainzutils", - description="Python tools for MetaBrainz projects", - author="MetaBrainz Foundation", - author_email="support@metabrainz.org", - py_modules=["brainzutils"], - python_requires='>=3.10', - packages=find_packages(), - use_scm_version=True, - setup_requires=['setuptools_scm'], - install_requires=open("requirements.txt").read().splitlines(), -)