[tool.poetry] name = "hircine" version = "0.1.1" description = "A web-based comic organizer" authors = ["Wolfgang Müller "] 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.227.3" starlette = "^0.37.0" uvicorn = {extras = ["standard"], version = "^0.29.0"} 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.5.1" types-pillow = "^10.1.0.2" pytest-cov = "^5.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", ]