[build-system] requires = [ "hatchling",] build-backend = "hatchling.build" [project] name = "{{ package_name }}" version = "0.1.0" {% if toolkit_description -%} description = "{{ toolkit_description }}" {% endif -%} requires-python = ">=3.10" dependencies = [ "arcade-tdk>={{ arcade_tdk_min_version }},<{{ arcade_tdk_max_version}}", ] {% if toolkit_author_name or toolkit_author_email -%} [[project.authors]] {% if toolkit_author_name -%} name = "{{ toolkit_author_name }}" {% endif -%} {% if toolkit_author_email -%} email = "{{ toolkit_author_email }}" {% endif -%} {% endif %} [project.optional-dependencies] dev = [ "arcade-ai[evals]>={{ arcade_ai_min_version }},<{{ arcade_ai_max_version }}", "arcade-serve>={{ arcade_serve_min_version }},<{{ arcade_serve_max_version }}", "pytest>=8.3.0,<8.4.0", "pytest-cov>=4.0.0,<4.1.0", "pytest-mock>=3.11.1,<3.12.0", "pytest-asyncio>=0.24.0,<0.25.0", "mypy>=1.5.1,<1.6.0", "pre-commit>=3.4.0,<3.5.0", "tox>=4.11.1,<4.12.0", "ruff>=0.7.4,<0.8.0", ] # Tell Arcade.dev that this package is a toolkit [project.entry-points.arcade_toolkits] toolkit_name = "{{ package_name }}" {% if is_community_toolkit -%} # Use local path sources for arcade libs when working locally [tool.uv.sources] arcade-ai = { path = "../../", editable = true } arcade-serve = { path = "../../libs/arcade-serve/", editable = true } arcade-tdk = { path = "../../libs/arcade-tdk/", editable = true } {% endif -%} {% if is_official_toolkit -%} # Use local path sources for arcade libs when working locally [tool.uv.sources] arcade-ai = { path = "../../../arcade-ai", editable = true } arcade-serve = { path = "../../../arcade-ai/libs/arcade-serve/", editable = true } arcade-tdk = { path = "../../../arcade-ai/libs/arcade-tdk/", editable = true } {% endif -%} [tool.mypy] files = [ "{{ package_name }}/**/*.py",] python_version = "3.10" disallow_untyped_defs = "True" disallow_any_unimported = "True" no_implicit_optional = "True" check_untyped_defs = "True" warn_return_any = "True" warn_unused_ignores = "True" show_error_codes = "True" ignore_missing_imports = "True" [tool.pytest.ini_options] testpaths = [ "tests",] [tool.coverage.report] skip_empty = true [tool.hatch.build.targets.wheel] packages = [ "{{ package_name }}",]