ihatemoney/pyproject.toml
2025-01-28 16:09:14 +01:00

106 lines
2.9 KiB
TOML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "ihatemoney"
version = "6.2.0.dev0"
requires-python = ">=3.9"
description = "A simple shared budget manager web application."
readme = "README.md"
license = {file = "LICENSE"}
authors = [
{"name" = "Alexis Métaireau & contributors", email = "alexis@notmyidea.org"},
]
keywords = ["web", "budget"]
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
]
dependencies = [
"blinker>=1.4,<2",
"cachetools>=4.1,<6",
"debts>=0.5,<1",
"email_validator>=1.0,<3",
"Flask>=2,<4",
"Flask-Babel>=1.0,<4",
"Flask-Cors>=3.0.8,<6",
"Flask-Limiter>=2.6,<3",
"Flask-Mail>=0.9.1,<1",
"Flask-Migrate>=2.5.3,<5", # Not following semantic versioning (e.g. https://github.com/miguelgrinberg/flask-migrate/commit/1af28ba273de6c88544623b8dc02dd539340294b)
"Flask-RESTful>=0.3.9,<1",
"Flask-SQLAlchemy>=2.4,<3",
"Flask-Talisman>=0.8,<2",
"Flask-WTF>=0.14.3,<2",
"itsdangerous>=2,<3",
"Jinja2>=3,<4",
"python-dateutil",
"qrcode>=7.1,<9",
"requests>=2.25,<3",
"SQLAlchemy>=1.3.0,<1.5",
"SQLAlchemy-Continuum>=1.3.12,<2", # New 1.4 changes API, see #728
"Werkzeug>=2,<4",
"WTForms>=2.3.3,<3.3",]
[project.optional-dependencies]
database = [
# Python 3.11 support starts in 2.9.2
"psycopg2-binary>=2.9.2,<2.9.11",
"PyMySQL>=0.9,<1.2",
]
dev = [
"ruff==0.8.4",
"isort==5.11.5",
"vermin==1.6.0",
"pytest>=6.2.5",
"pytest-flask>=1.2.0",
"zest.releaser>=6.20.1",
]
doc = [
"Sphinx>=7.0.1,<9",
"docutils==0.20.1",
"myst-parser>=2,<5",
]
[project.urls]
"Source Code" = "https://github.com/spiral-project/ihatemoney"
"Main instance" = "https://ihatemoney.org/"
"Mobile app" = "https://ihatemoney.org/mobile"
"Documentation" = "https://ihatemoney.readthedocs.io/en/latest/"
[project.scripts]
ihatemoney = "ihatemoney.manage:cli"
[tool.hatch.build.hooks.custom]
dependencies = [
# Babel is needed to compile translations catalogs at package build time
"Babel>=2.13.1",
# Babel 2.14 does not directly depend on setuptools
# https://github.com/python-babel/babel/blob/40e60a1f6cf178d9f57fcc14f157ea1b2ab77361/CHANGES.rst?plain=1#L22-L24
# and neither python 3.12 due to PEP 632
# https://peps.python.org/pep-0632/
"setuptools; python_version>='3.12'",
]
[tool.hatch.build]
artifacts = ["ihatemoney/translations/**/*.mo"]
include = [
"ihatemoney/",
"LICENSE",
"CONTRIBUTORS",
"CHANGELOG.md",
"README.md",
"SECURITY.md",
]
[tool.ruff]
exclude = ["ihatemoney/migrations"]