CoolFace
Apppublic

lamhieu/docsifer

sourceHugging Facemitupdated 4mo agoView on Hugging Face
13likes
pyproject.toml102 linesDownload Raw Back to root
1[build-system]2requires = ["poetry-core>=1.6.0"]3build-backend = "poetry.core.masonry.api"4 5[tool.poetry]6name = "docsifer"7version = "1.1.0"8description = "Convert PDF, PPT, Word, Excel, images, audio, HTML, JSON, CSV, XML, ZIP and more to Markdown — with optional LLM enhancement."9authors = ["Hieu Lam <lamhieu.vk@gmail.com>"]10readme = "README.md"11homepage = "https://github.com/lh0x00/docsifer"12repository = "https://github.com/lh0x00/docsifer"13license = "MIT"14packages = [{ include = "docsifer" }]15 16[tool.poetry.dependencies]17python = "^3.10"18# Runtime stack aligned with ``lightweight-embeddings`` for clean Gradio /19# FastAPI / Starlette / Pydantic / Jinja2 interop on Hugging Face Spaces.20fastapi = ">=0.115,<0.120"21uvicorn = { version = ">=0.30,<0.40", extras = ["standard"] }22pydantic = ">=2.7,<3.0"23pydantic-settings = ">=2.4,<3.0"24orjson = ">=3.10,<4.0"25python-multipart = ">=0.0.9"26httpx = { version = ">=0.27,<0.30", extras = ["http2"] }27openai = ">=1.40,<2.0"28tiktoken = ">=0.7,<1.0"29markitdown = "0.0.1a3"30selectolax = ">=0.3.21"31python-magic = "0.4.27"32upstash-redis = ">=1.2,<2.0"33cachetools = ">=5.3,<6.0"34psutil = ">=5.9,<8.0"35Pillow = ">=10.3,<12.0"36requests = ">=2.31,<3.0"37# Gradio 5.x is required for compatibility with modern Starlette templating;38# Gradio 4.x calls ``TemplateResponse`` with a deprecated signature.39gradio = { version = ">=5.0,<6.0", optional = true }40pandas = { version = ">=2.0,<3.0", optional = true }41 42[tool.poetry.extras]43ui = ["gradio", "pandas"]44 45[tool.poetry.group.dev.dependencies]46pytest = ">=8.0,<9.0"47pytest-asyncio = ">=0.23,<1.0"48ruff = ">=0.6,<1.0"49mypy = ">=1.10,<2.0"50types-requests = "*"51fakeredis = ">=2.23,<3.0"52 53# ---------------------------------------------------------------------------54# Tooling55# ---------------------------------------------------------------------------56[tool.ruff]57line-length = 10058target-version = "py310"59extend-exclude = ["poetry.lock"]60 61[tool.ruff.lint]62select = [63  "E", "F", "W",  # pycodestyle / pyflakes64  "I",            # isort65  "B",            # flake8-bugbear66  "UP",           # pyupgrade67  "SIM",          # simplify68  "RET",          # flake8-return69  "C4",           # comprehensions70  "ASYNC",        # async best practices71]72ignore = [73  "E501",  # line length handled by formatter74  "B008",  # FastAPI Depends() in defaults is idiomatic75]76 77[tool.ruff.lint.per-file-ignores]78"tests/**" = ["B011", "S101"]79 80[tool.ruff.format]81quote-style = "double"82 83[tool.mypy]84python_version = "3.10"85warn_unused_configs = true86warn_redundant_casts = true87warn_unused_ignores = true88disallow_untyped_defs = false89ignore_missing_imports = true90files = ["docsifer"]91 92[[tool.mypy.overrides]]93module = ["docsifer.core.*", "docsifer.analytics.*", "docsifer.safety.*"]94disallow_untyped_defs = true95 96[tool.pytest.ini_options]97asyncio_mode = "auto"98testpaths = ["tests"]99filterwarnings = [100  "ignore::DeprecationWarning",101]102