Python Best Practices Launchpad

by Acid-base

1 stars
101 downloads
Not rated
GitHub

About

Python MCP server with CI/CD tooling and testability built-in

Details

Author
Acid-base
GitHub stars
1
Downloads
101
Categories
Developer Tools

- REST API with FastAPI and Pydantic validation
- Docker multi‑stage builds and Docker Compose support
- Fast dependency management with uv
- Linting and formatting with ruff
- Static type checking with mypy
- Testing with pytest including unit, API, and integration tests
- Pre‑commit Git hooks for automated code quality checks
- GitHub Actions workflow for CI/CD
- Dev Container configuration for instant development environments

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Python Best Practices Launchpad
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

You can set up the project using one of three approaches: using Dev Containers (recommended with VS Code or GitHub Codespaces), using Docker Compose, or via a local setup with Linuxbrew/Homebrew and uv. After cloning, run uv venv to create a virtual environment, uv sync to install dependencies, pre-commit install to set up Git hooks, and then start the API with python -m src.my_package.run or uvicorn my_package.api:app --reload. Access the automatically generated OpenAPI documentation at /docs.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "python best practices launchpad": {
            "FastMCP-Proper": {
                "command": "uv",
                "args": [
                    "venv"
                ]
            }
        }
    }
}

McpServers

{
    "FastMCP-Proper": {
        "command": "uv",
        "args": [
            "venv"
        ]
    }
}

Python Best Practices Launchpad

CI
Python 3.10+
Code style: ruff
License: MIT

This repository provides a modern Python project template with a functional FastAPI REST API, designed for efficient development with uv, ruff, mypy, pytest, and Git hooks powered by pre-commit. It demonstrates best practices for building production-ready Python applications with robust testing, containerization, and CI/CD integration.

Features

REST API with FastAPI: Ready-to-use API with data validation using Pydantic models.
Docker & Docker Compose: Production-ready containerization with multi-stage builds.
uv for Dependency Management: Fast and efficient dependency resolution and virtual environment management.
ruff for Linting and Formatting: Enforces consistent code style, catches errors early, and provides auto-fixing capabilities.
mypy for Type Checking: Adds static typing to your Python code, preventing type-related errors.
pytest for Testing: Comprehensive test suite with unit, API, and integration tests.
pre-commit for Git Hooks: Automates code quality checks before every commit.
GitHub Actions Workflow: Ready-to-use CI pipeline for testing and quality assurance.
Dev Container Support: Included configuration for instant development in VS Code or GitHub Codespaces.

Project Structure

2024-Python-Best-Practices-Launchpad/
├── .github/workflows/       # GitHub workflows for CI/CD
│   └── main.yml             # Main CI workflow
├── .devcontainer/           # Dev Container configuration
│   ├── devcontainer.json    # Dev container settings
│   └── Dockerfile           # Dev container image definition
├── src/                     # Source code directory
│   └── my_package/          # Main package directory
│       ├── __init__.py      # Package initialization
│       ├── api.py           # FastAPI implementation
│       ├── models.py        # Pydantic data models
│       ├── module.py        # Core functionality
│       ├── example.py       # Example calculator class
│       └── run.py           # Script to run the FastAPI server
├── tests/                   # Test directory
│   ├── test_api.py          # Tests for FastAPI endpoints using models
│   ├── test_endpoints.py    # Tests for API endpoints using test client
│   ├── test_module.py       # Tests for core functionality
│   ├── test_example.py      # Tests for example calculator
│   └── integration_test.py  # Integration tests
├── .pre-commit-config.yaml  # Pre-commit hooks configuration
├── docker-compose.yml       # Docker Compose configuration
├── Dockerfile               # Multi-stage production Docker image
├── LICENSE                  # MIT License
├── pyproject.toml           # Project configuration and dependencies
├── pytest.ini               # Pytest configuration
└── README.md                # This file

API Features

The included FastAPI application provides:

Data processing API with input validation
Proper error handling and status codes
CORS middleware for cross-origin requests
Automatic OpenAPI documentation (available at /docs)
Pydantic models for request/response schema validation

Getting Started

You can choose one of two approaches to set up this project:

Option 1: Using Dev Containers (Recommended)

If you have VS Code with the Dev Containers extension or GitHub Codespaces, you can get started quickly without any local setup:

1. VS Code + Dev Containers:
- Clone this repository
- Open the repository folder in VS Code
- When prompted "Reopen in Container", click "Reopen in Container"
- (Alternatively, press F1, type "Reopen in Container" and select the option)

2. GitHub Codespaces:
- Click the "Code" button on the GitHub repository
- Select the "Codespaces" tab
- Click "Create codespace on main"

The container includes all necessary tools and dependencies, properly configured and ready to use.

Option 2: Using Docker Compose

To run the API using Docker Compose:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.