Skip to main content

vibetuner

Core Python framework and blessed dependencies for Vibetuner projects

This package provides the complete Python framework and curated dependency set for building modern web applications with Vibetuner. It includes everything from FastAPI and MongoDB integration to authentication, background jobs, and CLI tools.

What is Vibetuner?

Vibetuner is a production-ready scaffolding tool for FastAPI web applications. This package (vibetuner) is the Python component that provides:

  • Complete web application framework built on FastAPI
  • Flexible database support: MongoDB (Beanie ODM) or SQL (SQLModel/SQLAlchemy)
  • OAuth and magic link authentication out of the box
  • Background job processing with Redis + Streaq (optional)
  • CLI framework with Typer
  • Email services, blob storage, and more

This package is designed to be used within projects generated by the Vibetuner scaffolding tool. For standalone use, you'll need to set up the project structure manually.

Installation

# In a Vibetuner-generated project (automatic)
uv sync

# Add to an existing project
uv add vibetuner

# With development dependencies
uv add vibetuner[dev]

Quick Start

The recommended way to use Vibetuner is via the scaffolding tool:

# Create a new project with all the framework code
uvx vibetuner scaffold new my-project
cd my-project
just dev

This will generate a complete project with:

  • Pre-configured FastAPI application
  • Authentication system (OAuth + magic links)
  • MongoDB models and configuration
  • Frontend templates and asset pipeline
  • Docker setup for development and production
  • CLI commands and background job infrastructure

What's Included

Core Framework (src/vibetuner/)

  • frontend/: FastAPI app, routes, middleware, auth
  • models/: User, OAuth, email verification, blob storage models
  • services/: Email (Mailjet), blob storage (S3)
  • tasks/: Background job infrastructure
  • cli/: CLI framework with scaffold, run, db commands
  • config.py: Pydantic settings management
  • mongo.py: MongoDB/Beanie setup (optional)
  • sqlmodel.py: SQLModel/SQLAlchemy setup (optional)
  • logging.py: Structured logging configuration

Blessed Dependencies

  • FastAPI (0.121+): Modern, fast web framework
  • Beanie: Async MongoDB ODM with Pydantic (optional)
  • SQLModel + SQLAlchemy: SQL databases - PostgreSQL, MySQL, SQLite (optional)
  • Authlib: OAuth 1.0/2.0 client
  • Granian: High-performance ASGI server
  • Redis + Streaq: Background task processing (optional)
  • Typer: CLI framework
  • Rich: Beautiful terminal output
  • Loguru: Structured logging
  • Pydantic: Data validation and settings

See pyproject.toml for the complete dependency list.

CLI Tools

When installed, provides the vibetuner command:

# Create new project from template
vibetuner scaffold new my-project
vibetuner scaffold new my-project --defaults

# Update existing project
vibetuner scaffold update

# Database management (SQLModel)
vibetuner db create-schema    # Create SQL database tables

# Run development server (in generated projects)
vibetuner run dev frontend
vibetuner run dev worker

# Run production server (in generated projects)
vibetuner run prod frontend
vibetuner run prod worker

Development Dependencies

The [dev] extra includes all tools needed for development:

  • Ruff: Fast linting and formatting
  • Babel: i18n message extraction
  • pre-commit: Git hooks (prek is a fast pre-commit drop-in replacement)
  • Type stubs: For aioboto3, authlib, PyYAML
  • And more...

Usage in Generated Projects

In a Vibetuner-generated project, import from vibetuner:

# Use core models
from vibetuner.models import UserModel, OAuthAccountModel

# Use services
from vibetuner.services.email import EmailService

# Use configuration
from vibetuner.config import settings

# Extend core routes
from vibetuner.frontend import app


# Add your routes
@app.get("/api/hello")
async def hello():
    return {"message": "Hello World"}

Documentation

For complete documentation, guides, and examples, see the main Vibetuner repository:

📖 Vibetuner Documentation

Package Ecosystem

Vibetuner consists of four packages that work together:

  1. vibetuner (this package): Python framework and dependencies
  2. @alltuner/vibetuner: JavaScript/CSS build dependencies (tailwind, daisyui, htmx, etc.)
  3. @alltuner/vibetuner-jinja: npm-shipped mirror of this package's frontend jinja templates, pulled in transitively by @alltuner/vibetuner so tailwind can scan them at frontend build time without shelling out to Python (no direct install needed)
  4. Scaffolding template: Copier template for project generation

All four are version-locked and tested together to ensure compatibility.

Contributing

Contributions welcome! See the main repository for contribution guidelines:

🤝 Contributing to Vibetuner

License

MIT License - Copyright (c) 2025 All Tuner Labs, S.L.

See LICENSE for details.

Metadata

Release files for vibetuner 13.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vibetuner 13.0.0
File Size Uploaded
vibetuner-13.0.0.tar.gz 221.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibetuner 13.0.0
File Interpreter ABI Platform
vibetuner-13.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 484.0 kB

Release files / vibetuner-13.0.0.tar.gz

Download URL vibetuner-13.0.0.tar.gz
Size 221.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ab8377946882b6440220319cd09c679477f414e670b60683e4578c63e0b7476b
BLAKE2b-256 checksum
How to use checksums
1ff89dbdbbbe8617d3305ab185cc6054eef5a21a9659a2ae9ff7d86334e49931
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / vibetuner-13.0.0-py3-none-any.whl

Download URL vibetuner-13.0.0-py3-none-any.whl
Size 262.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15103adbcfc5e31b2f597ee5df62ca8813b357b6293ce76cd270819885fcb571
BLAKE2b-256 checksum
How to use checksums
ac6d7ceff3f2eb4fc063f4a39006c5e5413913dd36e46ab245349cd12a634a09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

13.0.0 This release

2 release files

12.0.0

2 release files

10.8.0

2 release files

10.7.0

2 release files

10.6.0

2 release files

10.5.0

2 release files

10.4.7

2 release files

10.4.6

2 release files

10.4.5

2 release files

10.4.4

2 release files

9.16.0

2 release files

9.15.0

2 release files

9.14.0

2 release files

9.13.0

2 release files

9.12.1

2 release files

9.12.0

2 release files

9.11.0

2 release files

9.10.0

2 release files

9.9.2

2 release files

9.9.1

2 release files

9.9.0

2 release files

9.8.0

2 release files

9.7.2

2 release files

9.7.1

2 release files

9.7.0

2 release files

9.6.0

2 release files

9.5.0

2 release files

9.4.0

2 release files

9.3.1

2 release files

9.3.0

2 release files

9.2.0

2 release files

9.1.4

2 release files

9.1.3

2 release files

9.1.2

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.6

2 release files

9.0.5

2 release files

9.0.4

2 release files

9.0.3

2 release files

9.0.2

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.9.0

2 release files

8.8.3

2 release files

8.8.2

2 release files

8.8.1

2 release files

8.8.0

2 release files

8.7.1

2 release files

8.7.0

2 release files

8.6.5

2 release files

8.6.4

2 release files

8.6.3

2 release files

8.6.2

2 release files

8.6.1

2 release files

8.6.0

2 release files

8.5.0

2 release files

8.4.2

2 release files

8.4.0

2 release files

8.3.0

2 release files

8.2.5

2 release files

8.2.4

2 release files

8.2.3

2 release files

8.2.0

2 release files

8.1.2

2 release files

8.1.1

2 release files

8.1.0

2 release files

8.0.1

2 release files

8.0.0

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.9

2 release files

6.3.8

2 release files

6.3.5

2 release files

6.3.3

2 release files

6.3.0

2 release files

6.2.2

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.5

2 release files

6.1.4

2 release files

6.1.3

2 release files

6.1.2

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.3

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.5.0

2 release files

3.4.3

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.53.3

2 release files

2.53.2

2 release files

2.53.1

2 release files

2.53.0

2 release files

2.52.0

2 release files

2.51.0

2 release files

2.50.1

2 release files

2.50.0

2 release files

2.49.0

2 release files

2.48.0

2 release files

2.47.4

2 release files

2.47.2

2 release files

2.47.1

2 release files

2.47.0

2 release files

2.39.1

2 release files

2.39.0

2 release files

2.38.0

2 release files

2.37.0

2 release files

2.36.8

2 release files

2.35.0

2 release files

2.34.3

2 release files

2.34.0

2 release files

2.33.0

2 release files

2.32.0

2 release files

2.31.1

2 release files

2.31.0

2 release files

2.30.3

2 release files

2.30.2

2 release files

2.30.1

2 release files

2.30.0

2 release files

2.29.0

2 release files

2.28.6

2 release files

2.28.5

2 release files

2.28.4

2 release files

2.28.3

2 release files

2.28.2

2 release files

2.28.1

2 release files

2.28.0

2 release files

2.27.1

2 release files

2.27.0

2 release files

2.26.9

2 release files

2.26.8

2 release files

2.26.7

2 release files

2.26.6

2 release files

2.26.5

2 release files

2.26.4

2 release files

2.26.3

2 release files

2.26.2

2 release files

2.26.0

2 release files

2.25.0

2 release files

2.24.1

2 release files

2.24.0

2 release files

2.23.0

2 release files

2.22.0

2 release files

2.21.2

2 release files

2.21.1

2 release files

2.21.0

2 release files

2.19.6

2 release files

2.18.3

2 release files

2.18.1

2 release files

2.18.0

2 release files

2.17.8

2 release files

2.17.6

2 release files

2.17.5

2 release files

2.17.4

2 release files

2.17.3

2 release files

2.17.1

2 release files

2.9.4

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page