[tool.poetry] name = "mappingservice" version = "0.1.0" description = "" authors = ["oscar "] readme = "README.md" [tool.poetry.dependencies] python = "^3.11" psutil = "^5.9.8" fastapi = "^0.111.0" uvicorn = {extras = ["standard"], version = "^0.29.0"} pydantic = {version = "^2.7.1", extras = ["email"]} pydantic-settings = "^2.2.1" transformers = "^4.40.2" torch = {version = "^2.3.0", source = "pytorch-cpu"} langdetect = "^1.0.9" accelerate = "^0.30.1" optimum = "^1.19.2" onnx = "^1.16.0" onnxruntime = "^1.18.0" [tool.poetry.group.dev.dependencies] pytest = "^8.2.0" pytest-cov="^5.0.0" pre-commit="^3.7.0" ruff="^0.4.4" [tool.poetry.group.benchmark.dependencies] locust = "^2.27.0" [tool.pytest.ini_options] addopts = "-vv -rA --disable-warnings --cov=app --cov-report term-missing" testpaths = [ "tests", ] asyncio_mode = "auto" pythonpath = [ "." ] [tool.ruff] # Same as Black. line-length = 88 indent-width = 4 # Assume Python 3.11 target-version = "py38" # Exclude a variety of commonly ignored directories. lint.exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".ipynb_checkpoints", ".mypy_cache", ".nox", ".pants.d", ".pyenv", ".pytest_cache", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", ".vscode", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "site-packages", "venv", ] lint.select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "C", # flake8-comprehensions "B", # flake8-bugbear "UP", # pyupgrade ] lint.ignore = [ "B008", # do not perform function calls in argument defaults "C901", # too complex "W191", # indentation contains tabs "E711", # `None` should be `cond is None` ] [tool.ruff.format] # Like Black, use double quotes for strings. quote-style = "double" # Like Black, indent with spaces, rather than tabs. indent-style = "space" # Like Black, respect magic trailing commas. skip-magic-trailing-comma = false # Like Black, automatically detect the appropriate line ending. line-ending = "auto" # Enable auto-formatting of code examples in docstrings. Markdown, # reStructuredText code/literal blocks and doctests are all supported. # # This is currently disabled by default, but it is planned for this # to be opt-out in the future. docstring-code-format = false # Set the line length limit used when formatting code snippets in # docstrings. # # This only has an effect when the `docstring-code-format` setting is # enabled. docstring-code-line-length = "dynamic" [tool.ruff.lint.per-file-ignores] "__init__.py" = ["F401"] "**/{tests,docs,tools}/*" = ["E402"] [tool.ruff.lint.pyupgrade] # Preserve types, even if a file imports `from __future__ import annotations`. keep-runtime-typing = true [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [[tool.poetry.source]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" priority = "supplemental"