diff --git a/mapping_provider/__init__.py b/mapping_provider/__init__.py index b71618451ed5806e10d1944861e055734ca84ea6..aa309f9cfa78136a8ef621a23d83e13d37b4dffa 100644 --- a/mapping_provider/__init__.py +++ b/mapping_provider/__init__.py @@ -1,10 +1,11 @@ """Initializes the FastAPI application.""" -from xml.sax.handler import version from fastapi import FastAPI + from mapping_provider.api.common import router as version_router -def create_app(): + +def create_app() -> FastAPI: """Create a FastAPI application.""" app = FastAPI( title="Mapping provider", diff --git a/mapping_provider/api/common.py b/mapping_provider/api/common.py index f1395f2d77a509e02adf4a55c965cd14fec40d1a..9c528b0e71b78ccb6f8a8f607359a2013ff60c50 100644 --- a/mapping_provider/api/common.py +++ b/mapping_provider/api/common.py @@ -1,4 +1,4 @@ -from importlib.metadata import version, PackageNotFoundError +from importlib.metadata import PackageNotFoundError, version from fastapi import APIRouter @@ -6,7 +6,7 @@ router = APIRouter() @router.get("/version") -def get_version(): +def get_version() -> dict[str, str]: """Get the version of the package.""" try: return {"version": version("mapping_provider")} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..cdeac565c37fdc9a4f47530c7a09f6413028ef66 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,12 @@ +[tool.ruff] +line-length = 120 +target-version = "py313" +select = ["E", "F", "I", "B", "UP", "N"] +fixable = ["ALL"] +exclude = ["tests", "docs", "build"] + +[tool.mypy] +python_version = "3.13" +strict = true +warn_unused_ignores = true +warn_return_any = true \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 590f2f4692f17f189bbf245ad6e8b2838f69caf3..010ed04932a9ec0cf586279112dc574665b1e89e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,6 @@ fastapi uvicorn[standard] -sphinx \ No newline at end of file +sphinx +ruff +mypy +tox \ No newline at end of file diff --git a/setup.py b/setup.py index 5a84dbf65238b60c9c29ced773c89c572fc5ffb4..5e5209c7d2b398fa6ee6b7e28f954dc397cc8133 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -from setuptools import setup, find_packages +from setuptools import find_packages, setup setup( name="mapping-provider", diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000000000000000000000000000000000000..d9de39c584f993ab0851578349d9fdfe9d6cd44d --- /dev/null +++ b/tox.ini @@ -0,0 +1,12 @@ +[tox] +envlist = lint, typecheck + +[testenv:lint] +description = Lint code with Ruff +deps = ruff +commands = ruff check mapping_provider + +[testenv:typecheck] +description = Type-check code with mypy +deps = mypy +commands = mypy mapping_provider \ No newline at end of file