diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..a49c986 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,80 @@ +[build-system] +requires = ["setuptools>=45", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "dolibarr-mcp" +version = "1.0.0" +description = "Professional Model Context Protocol server for complete Dolibarr ERP management with comprehensive CRUD operations and business intelligence" +readme = "README.md" +requires-python = ">=3.8" +authors = [ + {name = "Dolibarr MCP Team"} +] +keywords = [ + "dolibarr", "mcp", "model-context-protocol", "erp", "api", + "business-management", "crm", "accounting", "automation", "unified-api", + "customer-management", "invoice-management", "product-management", "order-management" +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Internet :: WWW/HTTP :: Dynamic Content", + "Topic :: Office/Business :: Financial :: Accounting", + "Topic :: System :: Systems Administration", +] +dependencies = [ + "mcp>=1.0.0", + "requests>=2.31.0", + "aiohttp>=3.9.0", + "pydantic>=2.5.0", + "click>=8.1.0", + "python-dotenv>=1.0.0", + "typing-extensions>=4.8.0", +] + +[project.urls] +"Homepage" = "https://github.com/latinogino/dolibarr-mcp" +"Bug Reports" = "https://github.com/latinogino/dolibarr-mcp/issues" +"Source" = "https://github.com/latinogino/dolibarr-mcp" +"Documentation" = "https://github.com/latinogino/dolibarr-mcp#readme" + +[project.scripts] +dolibarr-mcp = "dolibarr_mcp.cli:main" + +[tool.setuptools.packages.find] +where = ["src"] + +[tool.setuptools.package-dir] +"" = "src" + +[tool.pytest.ini_options] +testpaths = ["tests"] +python_files = ["test_*.py"] +python_classes = ["Test*"] +python_functions = ["test_*"] +addopts = "-v --tb=short --cov=src/dolibarr_mcp" + +[tool.coverage.run] +source = ["src/dolibarr_mcp"] +omit = ["tests/*"] + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + "def __repr__", + "raise AssertionError", + "raise NotImplementedError", + "if __name__ == .__main__.:", +] +show_missing = true +precision = 2