Metadata-Version: 2.4
Name: pip-project-template
Version: 0.1.0
Summary: A Python project template for a pip package with MCP server support and agentic coding workflows (planning + test-driven development)
Author-email: Yusuke Watanabe <Yusuke.Watanabe@scitex.ai>
Maintainer-email: Yusuke Watanabe <Yusuke.Watanabe@scitex.ai>
License-Expression: MIT
Project-URL: Homepage, https://github.com/ywatanabe1989/pip-project-template
Project-URL: Repository, https://github.com/ywatanabe1989/pip-project-template
Project-URL: Documentation, https://github.com/ywatanabe1989/pip-project-template
Keywords: vibe coding,AI agent,mcp,planning,test-driven development,TDD,template,testing,coverage
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Communications
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: pandas>=2.0.0
Requires-Dist: pytest>=8.0.0
Requires-Dist: pytest-cov>=5.0.0
Requires-Dist: pytest-xdist>=3.0.0
Requires-Dist: pytest-testmon>=2.0.0
Requires-Dist: fastmcp>=2.0.0
Provides-Extra: dev
Requires-Dist: ruff>=0.7.0; extra == "dev"
Requires-Dist: mypy>=1.13.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: pytest-json-report>=1.5.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
Requires-Dist: pytest-watch>=4.2.0; extra == "dev"
Requires-Dist: pre-commit>=3.5.0; extra == "dev"
Requires-Dist: build>=1.0.0; extra == "dev"
Requires-Dist: twine>=5.0.0; extra == "dev"

<!-- ---
!-- Timestamp: 2025-08-27 10:52:15
!-- Author: ywatanabe
!-- File: /home/ywatanabe/proj/pip-project-template/README.md
!-- --- -->

# 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](https://github.com/ywatanabe1989/pip-project-template/workflows/Validation/badge.svg)](https://github.com/ywatanabe1989/pip-project-template/actions)
[![codecov](https://codecov.io/gh/ywatanabe1989/pip-project-template/branch/develop/graph/badge.svg)](https://codecov.io/gh/ywatanabe1989/pip-project-template)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![FastMCP](https://img.shields.io/badge/FastMCP-2.0-green.svg)](https://gofastmcp.com)

## Quick Start

[Makefile](./Makefile), which defines commands, is the entry point.

```bash
# 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

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

## MCP Servers
<details>

``` json
{
  "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"
  }
}
```

</details>
## 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

<!-- EOF -->
