[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "energy-consumption-ingester" version = "0.1.0" description = "Energy consumption data ingester for Eloverblik API with PostgreSQL storage" readme = "README.md" requires-python = ">=3.12" authors = [ {name = "Brian Bjarke Jensen", email = "your-email@example.com"}, ] keywords = ["energy", "consumption", "eloverblik", "postgresql", "data"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12", ] dependencies = [ "pydantic>=2.12.3", "psycopg2-binary>=2.9.0", ] [dependency-groups] dev = [ "ipykernel>=7.0.1", "python-dotenv>=1.0.0", "pytest>=7.0.0", "black>=23.0.0", "flake8>=6.0.0", "mypy>=1.0.0", "ruff>=0.14.2", "pyupgrade>=3.21.0", "types-psycopg2>=2.9.21.20251012", "pre-commit>=4.3.0", ] [[tool.uv.index]] name = "threadripper-proxpi-cache" url = "http://10.0.0.2:5001/index/" default = true [project.scripts] energy-ingester = "energy_consumption_ingester.cli:main" [tool.hatch.build.targets.wheel] packages = ["src/energy_consumption_ingester"] [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