db1d565b64
Integration Tests / melodic (push) Has been cancelled
Integration Tests / noetic (push) Has been cancelled
Integration Tests / humble (push) Has been cancelled
Integration Tests / jazzy (push) Has been cancelled
Ruff Lint & Format / ruff (push) Has been cancelled
Sync main to develop / Check if sync is needed (push) Has been cancelled
Sync main to develop / Sync main to develop (push) Has been cancelled
82 lines
2.2 KiB
TOML
82 lines
2.2 KiB
TOML
[project]
|
|
name = "ros-mcp"
|
|
version = "3.1.0"
|
|
description = "Connect AI Language Models with Robots on ROS using MCP"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = "Apache-2.0"
|
|
authors = [
|
|
{ name = "Rohit John Varghese"},
|
|
{ name = "Jungsoo Lee"},
|
|
{ name = "Youngmok Yun"},
|
|
{ name = "Stefano Dalla Gasperina"}
|
|
]
|
|
|
|
|
|
dependencies = [
|
|
"fastmcp>=2.11.3",
|
|
"jsonschema>=4.25.1",
|
|
"mcp[cli]>=1.13.0",
|
|
"opencv-python>=4.11.0.86",
|
|
"pillow>=11.3.0",
|
|
"websocket-client>=1.8.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"ruff", # single tool for linting & formatting
|
|
"pytest", # for tests
|
|
"pytest-timeout", # test timeouts
|
|
]
|
|
|
|
[project.scripts]
|
|
ros-mcp = "ros_mcp.main:main"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools]
|
|
include-package-data = true
|
|
packages = ["ros_mcp", "ros_mcp.tools", "ros_mcp.utils", "ros_mcp.prompts", "ros_mcp.resources", "config", "robot_specifications"]
|
|
|
|
[tool.setuptools.package-data]
|
|
robot_specifications = ["*.yaml"]
|
|
|
|
[tool.setuptools.data-files]
|
|
"." = ["server.json"]
|
|
|
|
# ---------------- Ruff configuration ----------------
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py310"
|
|
|
|
# Linter config moved to new section
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I"] # basic errors, pyflakes, import sorting
|
|
ignore = ["E501"] # ignore long-line warnings (optional)
|
|
|
|
# Formatter config stays here
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|
|
indent-style = "space"
|
|
skip-magic-trailing-comma = false
|
|
docstring-code-format = true
|
|
|
|
# ---------------- Pytest configuration ----------------
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = "test_*.py"
|
|
python_classes = "Test*"
|
|
python_functions = "test_*"
|
|
addopts = "-v --tb=short -p no:launch_testing -p no:launch_ros -p no:ament_flake8 -p no:ament_copyright -p no:ament_lint -p no:ament_pep257 -p no:ament_xmllint"
|
|
markers = [
|
|
"installation: installation tests using Docker containers",
|
|
"integration: integration tests requiring Docker + ROS",
|
|
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
]
|
|
|
|
# MCP Registry validation - required for PyPI package verification
|
|
[tool.mcp]
|
|
name = "io.github.robotmcp/ros-mcp-server"
|