<!-- CURSOR_SUMMARY --> > [!NOTE] > **Medium Risk** > Moderate risk because it changes the default `arcade new --full` scaffolding (dependencies, entry points, Makefile workflow, licensing) and removes interactive prompts, which could break existing expectations for generated projects. > > **Overview** > `arcade new --full` scaffolding is simplified to be non-interactive and always generate an `arcade_<name>` package, with derived name variants (title/hyphenated) and updated next-step instructions (`make install/dev/test/lint`). > > The full template is updated to produce a runnable `arcade-mcp-server` `MCPApp` (`__main__.py` + `project.scripts`), switch sample code/tests/evals to a new async Reddit example tool (auth + metadata) using `httpx`, and refresh dev tooling (new `Makefile`, ruff config tweaks, added pytest `conftest.py`). > > Template licensing/metadata is standardized to Arcade proprietary (removes community/official conditionals and the templated README), and the repo version is bumped to `1.12.0`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit fd39c9ed9beba068fe85cf96979f04a31a40daa4. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
56 lines
1.4 KiB
TOML
56 lines
1.4 KiB
TOML
[build-system]
|
|
requires = [ "hatchling",]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "{{ package_name }}"
|
|
version = "0.1.0"
|
|
description = "{{ toolkit_description }}"
|
|
license = {text = "Proprietary - Arcade Software License Agreement v1.0"}
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"arcade-mcp-server>={{ arcade_mcp_server_min_version }},<{{ arcade_mcp_server_max_version }}",
|
|
"httpx>=0.27.0,<1.0.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
arcade-{{ toolkit_name_hyphenated }} = "{{ package_name }}.__main__:main"
|
|
{{ package_name }} = "{{ package_name }}.__main__:main"
|
|
|
|
[[project.authors]]
|
|
name = "Arcade"
|
|
email = "dev@arcade.dev"
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"arcade-mcp[evals]>={{ arcade_mcp_min_version }},<{{ arcade_mcp_max_version }}",
|
|
"pytest>=8.3.0,<8.4.0",
|
|
"pytest-cov>=4.0.0,<4.1.0",
|
|
"pytest-asyncio>=0.24.0,<0.25.0",
|
|
"pytest-mock>=3.11.1,<3.12.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",
|
|
]
|
|
|
|
[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 }}",]
|