marimo-uv-starter-template icon indicating copy to clipboard operation
marimo-uv-starter-template copied to clipboard

marimo + uv starter template

marimo + uv Starter Template

A starter template for marimo notebooks using uv for dependency and project management. This template provides a modern Python development setup with best practices for notebook development.

Features

  • ๐Ÿš€ Python 3.12+ support
  • ๐Ÿ“ฆ Fast dependency management with uv
  • ๐Ÿงช Testing setup with pytest
  • ๐ŸŽฏ Code quality with Ruff (linting + formatting)
  • ๐Ÿ‘ท CI/CD with GitHub Actions
  • ๐Ÿ““ Interactive notebook development with marimo

Prerequisites

  • Python 3.12 or higher
  • uv installed

Getting Started

  1. Clone this repository:

    git clone https://github.com/yourusername/marimo-uv-starter-template
    cd marimo-uv-starter-template
    
  2. Run the marimo editor:

    uv run marimo edit
    

Development

Running Tests

# Run testing in your regular python files
uv run pytest tests
# Running testing in your marimo notebooks
uv run pytest notebooks

Linting and formatting

uv run ruff check .
uv run ruff format .

Project Structure

โ”œโ”€โ”€ .github/            # GitHub Actions workflows
โ”œโ”€โ”€ src/               # Source code
โ”‚   โ””โ”€โ”€ app.py        # Sample marimo notebook
โ”œโ”€โ”€ tests/            # Test files
โ”œโ”€โ”€ pyproject.toml    # Project configuration
โ””โ”€โ”€ uv.lock           # Dependency lock file

License

MIT