From b7add7334e2d55bda3bce941f6bb4424ecfdd44a Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Wed, 16 Jul 2025 18:01:03 +0000 Subject: [PATCH] Add PyPI-ready project configuration with dependencies and metadata --- pyproject.toml | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..46d3286 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,99 @@ +[project] +name = "mcp-mailu" +version = "0.1.0" +description = "FastMCP server for Mailu email server API integration" +authors = [ + {name = "Ryan Malloy", email = "ryan@supported.systems"} +] +readme = "README.md" +license = {text = "MIT"} +requires-python = ">=3.10" +keywords = [ + "mcp", + "fastmcp", + "mailu", + "email", + "mail-server", + "api", + "integration", + "smtp", + "imap" +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Internet :: WWW/HTTP :: HTTP Servers", + "Topic :: Communications :: Email", + "Topic :: System :: Systems Administration", + "Operating System :: OS Independent", +] +dependencies = [ + "fastmcp>=0.1.0", + "httpx>=0.25.0", + "pydantic>=2.0.0", + "python-dotenv>=1.0.0", +] + +[project.urls] +Homepage = "https://git.supported.systems/MCP/mcp-mailu" +Documentation = "https://git.supported.systems/MCP/mcp-mailu#readme" +Repository = "https://git.supported.systems/MCP/mcp-mailu.git" +Issues = "https://git.supported.systems/MCP/mcp-mailu/issues" + +[project.optional-dependencies] +dev = [ + "pytest>=7.0.0", + "pytest-asyncio>=0.21.0", + "black>=23.0.0", + "ruff>=0.1.0", + "mypy>=1.0.0", + "build>=0.10.0", + "twine>=4.0.0", +] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatchling.build.targets.sdist] +include = [ + "/src", + "/tests", + "/examples", + "README.md", + "LICENSE", + "MANIFEST.in", +] + +[tool.uv] +dev-dependencies = [ + "pytest>=7.0.0", + "pytest-asyncio>=0.21.0", + "black>=23.0.0", + "ruff>=0.1.0", + "mypy>=1.0.0", +] + +[tool.black] +line-length = 88 +target-version = ['py38'] + +[tool.ruff] +line-length = 88 +target-version = "py38" + +[tool.mypy] +python_version = "3.8" +warn_return_any = true +warn_unused_configs = true +disallow_untyped_defs = true + +[project.scripts] +mcp-mailu = "mcp_mailu.server:main"