summaryrefslogtreecommitdiffstatshomepage
path: root/pyproject.toml
diff options
context:
space:
mode:
authorWolfgang Müller2024-03-05 18:08:09 +0100
committerWolfgang Müller2024-03-05 19:25:59 +0100
commitd1d654ebac2d51e3841675faeb56480e440f622f (patch)
tree56ef123c1a15a10dfd90836e4038e27efde950c6 /pyproject.toml
downloadhircine-0.1.0.tar.gz
Initial commit0.1.0
Diffstat (limited to '')
-rw-r--r--pyproject.toml61
1 files changed, 61 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..2af84e9
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,61 @@
+[tool.poetry]
+name = "hircine"
+version = "0.1.0"
+description = "A web-based comic organizer"
+authors = ["Wolfgang Müller <wolf@oriole.systems>"]
+license = "ISC"
+include = [{path = "src/hircine/static/**/*"}]
+
+[tool.poetry.scripts]
+hircine = 'hircine.cli:main'
+
+[tool.poetry.plugins."hircine.scraper"]
+gallery_dl = "hircine.plugins.scrapers.gallery_dl:GalleryDLScraper"
+ehentai_api = "hircine.plugins.scrapers.ehentai_api:EHentaiAPIScraper"
+anchira_yaml = "hircine.plugins.scrapers.anchira:AnchiraYamlScraper"
+
+[tool.poetry.dependencies]
+python = "^3.12"
+sqlalchemy = {version = "^2.0.0", extras = ["aiosqlite", "asyncio"]}
+strawberry-graphql = "^0.219.1"
+starlette = "^0.37.0"
+uvicorn = {extras = ["standard"], version = "^0.27.0.post1"}
+pillow = "^10.1.0"
+blake3 = "^0.4.1"
+alembic = "^1.13.1"
+requests = "^2.31.0"
+pyyaml = "^6.0.1"
+natsort = "^8.4.0"
+
+[tool.poetry.group.dev.dependencies]
+black = "^24.1.1"
+pytest = {extras = ["asyncio"], version = "^8.0.0"}
+ruff = "^0.3.0"
+types-pillow = "^10.1.0.2"
+pytest-cov = "^4.0.0"
+sphinx = "^7.2.6"
+furo = "^2024.1.29"
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
+
+[tool.ruff]
+lint.select = ["E", "F", "I", "W"]
+
+[tool.pytest.ini_options]
+pythonpath = ["src"]
+
+[tool.coverage.html]
+directory = "coverage"
+
+[tool.coverage.run]
+concurrency = ["greenlet", "multiprocessing"]
+omit = ["tests/*", "src/hircine/cli.py", "src/hircine/plugins/scrapers/*"]
+
+[tool.coverage.report]
+exclude_also = [
+ "if __name__ == \"__main__\":",
+ "def __repr__",
+ "@(abc\\.)?abstractmethod",
+]