Skip to main content

A Python project template for a pip package with MCP server support and agentic coding workflows (planning + test-driven development)

Project description

Pip Project Template

A Python project template for a pip package, featuring FastMCP 2.0 servers for agentic coding workflows (planning + test-driven development).

CI codecov Python 3.11+ FastMCP

Quick Start

Makefile, which defines commands, is the entry point.

# Installation
make install          # Install project dependencies (or pip install -e .)
                       
# Tests
make test-changed     # Run tests which affected by source code change (fast)
make test-full        # Run full tests with coverage
make coverage-html    # Generate HTML coverage report
make ci-act           # Run GitHub Actions locally with Act and Apptainer
make ci-container     # Run CI with containers (Apptainer -> Docker fallback)
make ci-local         # Run local CI emulator (Python-based)
make lint             # Run linting and formatting

# Publish as a pip package in PyPI repository
make build            # Build package for distribution
make upload-pypi-test # Upload to Test PyPI
make upload-pypi      # Upload to PyPI
make release          # Clean, build, and upload to PyPI

# Maintainance
make clean            # Remove cache files

Python API

python -m pip_project_template calculate 10 5
python -m pip_project_template serve01
python -m pip_project_template info

MCP Servers

{
  "mcpServers": {
    "calculator-basic": {
      "command": "python",
      "args": ["-m", "pip_project_template", "serve01", "--transport", "stdio"],
      "env": {
        "PYTHONPATH": "."
      }
    },
    "calculator-enhanced": {
      "command": "python", 
      "args": ["-m", "pip_project_template", "serve02", "--transport", "stdio"],
      "env": {
        "PYTHONPATH": "."
      }
    },
    "http-calculator": {
      "url": "http://localhost:8081/mcp",
      "transport": "http"
    },
    "sse-calculator": {
      "url": "http://localhost:8082",
      "transport": "sse"
    }
  },
  "defaults": {
    "timeout": 30,
    "retries": 3
  },
  "logging": {
    "level": "INFO",
    "file": "logs/mcp.log"
  }
}
## Project Structure
src/pip_project_template/    # Source code
tests/custom                 # Custom Tests
tests/github_actions         # Scripts for running GitHub Actions locally
tests/pip_project_template/  # Tests for source code (1-on-1 relationship)
tests/reports                # Test results
data/                        # For persistent data
config/mcp_config.json       # MCP configuration
mgmt/                        # Project Management and Agent Definitions

Requirements

Python 3.11+

License

MIT

Contact

Yusuke.Watanabe@scitex.ai

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip_project_template-0.1.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pip_project_template-0.1.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file pip_project_template-0.1.0.tar.gz.

File metadata

  • Download URL: pip_project_template-0.1.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0rc1

File hashes

Hashes for pip_project_template-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3e6ee93f243c0b210b6c11e69e8ca75e8972e19ee5a41570b57964b84af9154d
MD5 1f9297dd8367c45063d5fa86167a1ea8
BLAKE2b-256 a8e284fe9a633c1a4f512709ded3d89341a962250ea3a0b82a8cbe6c3198bd55

See more details on using hashes here.

File details

Details for the file pip_project_template-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pip_project_template-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f453976ee1beede61f84d76701b9a0b227328fa3194678882d6a0af2fcace338
MD5 37588c94339a89db7070dc00fb9a86b8
BLAKE2b-256 4b7ab2464017adc8af4b6e8f1f6a350247556045a589c032cdf8a3bc52050ff4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page