ihatemoney/pyproject.toml
Michele Grimaldi 776ea9d948 Fix maintainability:
- Resolved formatting issues using isort and black.
- Updated deprecated methods (_app_ctx_stack, datetime.utcnow).
- Added a requirements.txt file for dependency management.
- Addressed Python 3. warnings (ast.Num, ast.n).
2025-01-08 21:04:06 +01:00

107 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, <3.14"
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",
"Programming Language :: Python :: 3.13",
"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,<3",
"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"]