[project]
name = "booklab"
dynamic = []
description = "A books manager. For any kind of documentation can dream about."
authors = [
    { name = "Petre Iordanescu", email = "petre.iordanescu@gmail.com" },
]
requires-python = ">=3.10"
readme = "README.md"
dependencies = [
    "async-generator==1.10",
    "attrs==23.1.0",
    "Babel==2.12.1",
    "beautifulsoup4==4.12.2",
    "beautifultable==1.1.0",
    "bracex==2.3.post1",
    "Brotli==1.0.9",
    "certifi==2023.7.22",
    "cffi==1.15.1",
    "charset-normalizer==3.2.0",
    "chrome-headless-browser==0.12.0",
    "chrome-master==1.4.0",
    "click==8.1.7",
    "click-man==0.4.1",
    "colorama==0.4.6",
    "cssselect2==0.7.0",
    "exceptiongroup==1.1.3",
    "filelock==3.12.3",
    "fonttools==4.42.0",
    "future==0.18.3",
    "ghp-import==2.1.0",
    "gitdb==4.0.10",
    "GitPython==3.1.32",
    "h11==0.14.0",
    "html5lib==1.1",
    "idna==3.4",
    "importlib-metadata==6.8.0",
    "Jinja2==3.1.2",
    "Markdown==3.4.4",
    "markdown-exec==1.6.0",
    "MarkupSafe==2.1.3",
    "mergedeep==1.3.4",
    "mkdocs==1.5.2",
    "mkdocs-git-revision-date-localized-plugin==1.2.0",
    "mkdocs-include-markdown-plugin==7.2.0",
    "mkdocs-macros-plugin==1.0.4",
    "mkdocs-material==9.1.21",
    "mkdocs-material-extensions==1.1.1",
    "mkdocs-table-reader-plugin==2.0.1",
    "numpy==1.25.2",
    "outcome==1.2.0",
    "packaging==23.1",
    "pandas==2.1.0",
    "pathspec==0.11.2",
    "Pillow==10.0.0",
    "platformdirs==3.10.0",
    "ply==3.11",
    "pycparser==2.21",
    "pydyf==0.7.0",
    "Pygments==2.16.1",
    "pygments-ansi-color==0.3.0",
    "pymdown-extensions==10.1",
    "pyphen==0.14.0",
    "PySocks==1.7.1",
    "pysondb==1.6.7",
    "python-dateutil==2.8.2",
    "pytz==2023.3",
    "PyYAML==6.0.1",
    "pyyaml-env-tag==0.1",
    "qt4w==2.1.5",
    "qtaf==5.6.8",
    "regex==2023.8.8",
    "requests==2.31.0",
    "selenium==4.11.2",
    "six==1.16.0",
    "smmap==5.0.0",
    "sniffio==1.3.0",
    "sortedcontainers==2.4.0",
    "soupsieve==2.4.1",
    "tabulate==0.9.0",
    "termcolor==2.3.0",
    "tinycss2==1.2.1",
    "tornado==5.1.1",
    "trio==0.22.2",
    "trio-websocket==0.10.3",
    "typing-extensions==4.7.1",
    "tzdata==2023.3",
    "urllib3==2.0.4",
    "watchdog==3.0.0",
    "wcmatch==8.4.1",
    "wcwidth==0.2.6",
    "weasyprint==59.0",
    "webencodings==0.5.1",
    "websocket-client==1.6.1",
    "wsproto==1.2.0",
    "zipp==3.16.2",
    "zopfli==0.2.2",
    "flask>=3.1.2",
    "werkzeug>=3.1.3",
    "pathlib>=1.0.1",
    "gunicorn>=23.0.0",
    "pango>=0.0.1",
    "w3lib>=2.3.1",
    "rich>=14.2.0",
    "pylibyaml>=0.1.0",
    "typer>=0.20.0",
]
version = "0.10a68"

[project.license]
text = "GNU"

[project.urls]
HomePage = "http://booklab.renware.eu/"
DevPage = "http://dev.renware.eu/booklab/"

[project.scripts]
booklab = "booklab.__main__:main"

[tool.pdm]
distribution = true

[tool.pdm.scripts.gen_tech_doc]
shell = "src/booklab/scripts/gen-api-doc.sh"

[tool.pdm.scripts.gen_app_routes]
shell = "src/booklab/scripts/gen-app-routes.sh"

[tool.pdm.scripts.gen_static_site]
shell = "src/booklab/scripts/master_site_build.sh"

[tool.pdm.scripts.build_site]
composite = [
    "gen_tech_doc",
    "gen_app_routes",
    "gen_static_site",
]

[tool.pdm.scripts.build_all]
composite = [
    "gen_tech_doc",
    "gen_app_routes",
    "gen_static_site",
    "pdm build",
]

[tool.pdm.scripts.bklab_srv]
shell = "src/booklab/scripts/server-run.sh"

[tool.pdm.version]
source = "file"
path = "src/booklab/__version__.py"

[build-system]
requires = [
    "pdm-backend >= 2.4.0",
]
build-backend = "pdm.backend"

[dependency-groups]
test = [
    "pytest>=8.4.2",
]
dev = [
    "pydoc-markdown>=4.8.2",
    "docopt>=0.6.2",
    "python-dotenv>=1.1.1",
    "pylint>=4.0.2",
    "black>=25.9.0",
    "bpython>=0.26",
    "pex>=2.0.3",
]
