An open API service indexing awesome lists of open source software.

https://github.com/marimo-team/marimo-poetry-starter-template

marimo + poetry starter template
https://github.com/marimo-team/marimo-poetry-starter-template

marimo marimo-notebook marimo-starter-template

Last synced: 12 months ago
JSON representation

marimo + poetry starter template

Awesome Lists containing this project

README

          

# marimo + Poetry Starter Template

A starter template for [marimo](https://marimo.io) notebooks using [Poetry](https://python-poetry.org) for dependency and project management. This template provides a modern Python development setup with best practices for notebook development.

## Features

- ๐Ÿš€ Python 3.12+ support
- ๐Ÿ“ฆ Dependency management with Poetry
- ๐Ÿงช 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
- [Poetry](https://python-poetry.org/docs/#installation) installed

## Getting Started

1. Clone this repository:

```bash
git clone https://github.com/yourusername/marimo-poetry-starter-template
cd marimo-poetry-starter-template
```

2. Install dependencies:

```bash
poetry install
```

3. Run the marimo editor:

```bash
poetry run marimo edit
```

## Development

### Running Tests

```bash
# Run testing in your regular python files
poetry run pytest tests
# Running testing in your marimo notebooks
poetry run pytest src
```

### Linting and formatting

```bash
poetry run ruff check .
poetry run ruff format .
```

### Pre-commit hooks

```bash
poetry run pre-commit install
poetry run pre-commit run --all-files
```

## Project Structure

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

## License

MIT