Initial project skeleton

pyproject.toml with FastMCP 3.0, Pillow, src-layout, and mcgibs script entry point.
This commit is contained in:
Ryan Malloy 2026-02-18 14:41:44 -07:00
commit 648c145e14
2 changed files with 51 additions and 0 deletions

50
pyproject.toml Normal file
View File

@ -0,0 +1,50 @@
[project]
name = "mcgibs"
version = "2026.02.18"
description = "FastMCP server for NASA Global Imagery Browse Services (GIBS)"
readme = "CLAUDE.md"
requires-python = ">=3.12"
authors = [{name = "Ryan Malloy", email = "ryan@supported.systems"}]
keywords = ["nasa", "gibs", "mcp", "satellite", "imagery", "earth-science"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: GIS",
]
dependencies = [
"fastmcp>=3.0.0",
"pillow>=12.0.0",
]
[project.scripts]
mcgibs = "mcgibs.server:main"
[project.optional-dependencies]
dev = [
"ruff>=0.9.0",
"pytest>=8.0.0",
"pytest-asyncio>=1.0.0",
"respx>=0.22.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/mcgibs"]
[tool.ruff]
target-version = "py312"
line-length = 99
[tool.ruff.lint]
select = ["E", "F", "W", "I", "UP", "B", "SIM", "RUF"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]

1
src/mcgibs/__init__.py Normal file
View File

@ -0,0 +1 @@
__version__ = "2026.02.18"