[project] name = "mcp-server-smartsheet-rm" version = "1.1.5" description = "Enterprise Model Context Protocol (MCP) server for Smartsheet Resource Management (10,000ft API) — time tracking, projects, allocations, scheduling, and capacity planning." readme = "README.md" license = "Apache-2.0" requires-python = ">=3.10" authors = [ {name = "Christian Claudio", email = "christianclaudio@mail.com"}, ] keywords = ["smartsheet", "resource-management", "10000ft", "mcp", "model-context-protocol", "time-tracking", "scheduling", "capacity-planning"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries", ] dependencies = [ "mcp[cli]>=2.1.1", "httpx>=0.27.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "pytest-cov>=5.0.0", "respx>=0.21.0", "ruff>=0.16,<0.17", "mypy>=1.11.0", "pyyaml>=6.0", "build>=1.2.0", "twine>=5.0.0", ] [project.scripts] mcp-server-smartsheet-rm = "smartsheet_rm_mcp.server:main" smartsheet-rm-mcp = "smartsheet_rm_mcp.server:main" [project.urls] Homepage = "https://github.com/christianclaudio/mcp-server-smartsheet-rm" Repository = "https://github.com/christianclaudio/mcp-server-smartsheet-rm" Issues = "https://github.com/christianclaudio/mcp-server-smartsheet-rm/issues" Documentation = "https://github.com/christianclaudio/mcp-server-smartsheet-rm#readme" Changelog = "https://github.com/christianclaudio/mcp-server-smartsheet-rm/blob/main/CHANGELOG.md" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/smartsheet_rm_mcp"] [tool.mypy] strict = true packages = ["smartsheet_rm_mcp"] mypy_path = "src" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] pythonpath = ["src", "."] markers = [ "e2e: End-to-end integration tests hitting live or mocked APIs (deselect with '-m \"not e2e\"')", ] [tool.ruff] src = ["src"] target-version = "py310" line-length = 120 [tool.ruff.lint] select = ["E", "F", "I", "UP"] [tool.ruff.lint.per-file-ignores] "tests/*" = ["E501"] "src/smartsheet_rm_mcp/server.py" = ["E501"]