[project] name = "visual-semiotic-ai-analysis" version = "0.1.0" description = "Add your description here" authors = [ { name = "Brian Bjarke Jensen", email = "schnitzelen@gmail.com" } ] readme = "README.md" requires-python = ">=3.12" license = { text = "MIT" } classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] dependencies = [ "pandas>=2.3.2", "pillow>=11.3.0", "pydantic>=2.11.9", "python-repositories[minio]>=0.2.0", "python-utils>=0.1.1", ] [build-system] requires = ["uv_build"] build-backend = "uv_build" [tool.uv.build-backend] module-name = [ "data_store", ] module-root = "." [tool.uv.sources] python-repositories = { index = "gitea" } python-utils = { index = "gitea" } [[tool.uv.index]] name = "threadripper-proxpi-cache" url = "http://10.0.0.2:5001/index/" default = true [[tool.uv.index]] name = "gitea" url = "https://gitea.gt-proj.com/api/packages/brian/pypi/simple/" explicit = true [tool.mypy] python_version = "3.12" warn_return_any = true # nudge to use stricter types warn_unused_configs = true # nudge to remove unused configs disallow_untyped_defs = true # disallow untyped function definitions disallow_incomplete_defs = true # ensure all parts of a function has type annotation check_untyped_defs = true # dont skip untyped functions disallow_untyped_decorators = false # allow untyped decorators to keep code more readable no_implicit_optional = true # disallow implicit optional types leading to None-mess warn_redundant_casts = true # nudge to use explicit type casts warn_unused_ignores = true # nudge to remove unused ignores warn_no_return = true # catch missing return statements warn_unreachable = true # catch unreachable code show_error_codes = true # show error codes in output explicit_package_bases = true # reduce risk of import confusion namespace_packages = true # enable namespace packages [[tool.mypy.overrides]] module = "testcontainers.*" ignore_missing_imports = true [[tool.mypy.overrides]] module = "minio.*" ignore_missing_imports = true [dependency-groups] dev = [ "mypy>=1.18.1", "pandas-stubs>=2.3.2.250827", "pre-commit>=4.3.0", "pytest>=8.4.2", "pytest-cov>=7.0.0", "python-dotenv>=1.1.1", "pyupgrade>=3.20.0", "ruff>=0.13.0", "safety>=3.2.11", "testcontainers>=4.13.0", ]