[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "ihatemoney"
version = "6.1.2.dev0"
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.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Topic :: Internet :: WWW/HTTP",
    "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
]

dependencies = [
    "blinker>=1.4,<2",
    "cachetools>=4.1,<5",
    "debts>=0.5,<1",
    "email_validator>=1.0,<3",
    "Flask-Babel>=1.0,<4",
    "Flask-Cors>=3.0.8,<4",
    "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",
    "WTForms>=2.3.1,<3.2",
    "Flask>=2,<2.3",
    "Werkzeug>=2,<2.3",
    "itsdangerous>=2,<3",
    "Jinja2>=3,<4",
    "qrcode>=7.1,<8",
    "requests>=2.25,<3",
    "SQLAlchemy-Continuum>=1.3.12,<2",
    "SQLAlchemy>=1.3.0,<1.5",  # New 1.4 changes API, see #728
    "python-dateutil",
]

[project.optional-dependencies]
database = [
    # Python 3.11 support starts in 2.9.2
    "psycopg2-binary>=2.9.2,<3",
    "PyMySQL>=0.9,<1.1",
]

dev = [
    "black==23.3.0",
    "flake8==5.0.4",
    "isort==5.11.5",
    "vermin==1.5.2",
    "pytest>=6.2.5",
    "pytest-flask>=1.2.0",
    "pytest-libfaketime>=0.1.2",
    "tox>=3.14.6",
    "zest.releaser>=6.20.1",
]

doc = [
    "Sphinx>=7.0.1,<8",
    "docutils==0.20.1",
    "myst-parser>=2,<3",
]

[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.setuptools]
packages = ["ihatemoney"]
