[project]
name = "joop"
version = "0.0.5"
description = "Justin's Object-Oriented Paradigms"
authors = [
    {name = "Justin Rushin"}
]
license = "Apache-2.0"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
    "click (>=7.0)",
    "jinja2 (>=3.1.6,<4.0.0)",
    "markupsafe (>=3.0.3,<4.0.0)",
    "pydantic (>=2.12.5,<3.0.0)",
    "sqlmodel (>=0.0.31,<0.0.32)"
]

classifiers = [
    'Intended Audience :: Developers',
    'Intended Audience :: Education',
    'Natural Language :: English',
    'Programming Language :: Python :: 3.10',
    'Programming Language :: Python :: 3.11',
    'Topic :: Software Development :: Libraries'
]
keywords = ["object-oriented programming", "DAO", "HTMX", "AlpineJS", "Python"]

[project.urls]
bugs = "https://github.com/rushinjgr/joop/issues"
changelog = "https://github.com/rushinjgr/joop/blob/master/python/docs/source/changelog.rst"
homepage = "https://github.com/rushinjgr/joop"
source = "https://github.com/rushinjgr/joop"

[project.scripts]
joop = "joop.cli:main"

[project.optional-dependencies]
flask = ["flask (>=3.1.2,<4.0.0)"]

[dependency-groups]
dev = [
    "coverage (>=7.13)",
    "twine (>=6.2.0,<7.0.0)",
    "build (>=1.3.0,<2.0.0)",
    "sphinx (<9.0.0)",
    "sphinx-autodoc-typehints (<3.6.0)",
    "sphinx-rtd-theme (>=3.0.2,<4.0.0)",
]


[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-v"
testpaths = [
    "joop/tests"
]

[tool.poetry]
include = ["README.md", "LICENSE", "docs/*", "tests/*"]
exclude = ["*.pyc", "*.pyo", ".DS_Store", "build/*", "dist/*"]
