[tool.poetry] name = "document-server" version = "0.1.0" description = "HTML Document Management and Viewer System" authors = ["Your Name "] readme = "README.md" [tool.poetry.dependencies] python = "^3.11" fastapi = "^0.104.0" uvicorn = {extras = ["standard"], version = "^0.24.0"} sqlalchemy = "^2.0.0" asyncpg = "^0.29.0" alembic = "^1.12.0" python-jose = {extras = ["cryptography"], version = "^3.3.0"} passlib = {extras = ["bcrypt"], version = "^1.7.4"} python-multipart = "^0.0.6" pillow = "^10.0.0" redis = "^5.0.0" pydantic = {extras = ["email"], version = "^2.4.0"} pydantic-settings = "^2.0.0" python-dotenv = "^1.0.0" httpx = "^0.25.0" aiofiles = "^23.2.0" jinja2 = "^3.1.0" beautifulsoup4 = "^4.13.0" pypdf2 = "^3.0.0" [tool.poetry.group.dev.dependencies] pytest = "^7.4.0" pytest-asyncio = "^0.21.0" black = "^23.9.0" isort = "^5.12.0" flake8 = "^6.1.0" mypy = "^1.6.0" pre-commit = "^3.5.0" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.black] line-length = 88 target-version = ['py311'] include = '\.pyi?$' extend-exclude = ''' /( # directories \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | build | dist )/ ''' [tool.isort] profile = "black" multi_line_output = 3 line_length = 88 known_first_party = ["src"] [tool.mypy] python_version = "3.11" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true strict_equality = true [[tool.mypy.overrides]] module = [ "passlib.*", "jose.*", "redis.*", ] ignore_missing_imports = true