Skip to main content

🌿 Mossify – A simple, organic framework for FastAPI + SQLModel with automatic CRUD and intelligent caching.

Project description

🌿 mossify

PyPI - Version PyPI - Python Version PyPI - License PyPI - Downloads GitHub Actions Workflow Status

Mossify is a simple, organic framework that wraps FastAPI and SQLModel to give you automatic CRUD routes and intelligent caching – with almost zero boilerplate.

"Mossify your backend. Simple, organic, and fully covered."


🚀 Quick Start

pip install mossify
from mossify import Mossify
from sqlmodel import SQLModel, Field
from typing import Optional

class Product(SQLModel, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    name: str
    price: float

app = Mossify(database_url="sqlite:///database.db")
app.register_model(Product)

if __name__ == "__main__":
    app.run(workers=2)

That's it! You now have a fully functional API with:

  • GET /products → list all products
  • POST /products → create a product
  • GET /products/{id} → get a product
  • PATCH /products/{id} → update a product
  • DELETE /products/{id} → delete a product

All routes are automatically cached and invalidated on write operations.


✨ Features

  • 🔌 Zero boilerplate – just define your models and go.
  • FastAPI + SQLModel – fully async, modern, and type-safe.
  • 🧠 Intelligent caching – automatic TTL-based cache for GET endpoints.
  • 🔄 Automatic invalidation – cache is cleared on POST, PUT, PATCH, DELETE.
  • 🔧 Multi‑worker ready – scale with uvicorn workers out of the box.
  • 📦 Built‑in OpenAPI – interactive docs at /docs and /redoc.
  • 🪶 Lightweight – only essential dependencies, no bloat.

📦 Installation

pip install mossify

Or with uv:

uv pip install mossify

🧑‍💻 Development

If you want to contribute or test the latest version:

git clone https://github.com/Luiz-Trindade/mossify.git
cd mossify
uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
uv sync
pytest tests/

📄 License

MIT © Luiz Gabriel Magalhães Trindade


🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page or open a pull request.


🙏 Acknowledgements

Built on top of the amazing FastAPI and SQLModel.


Made with 🌿 and ❤️

mossify

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mossify-0.1.2.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mossify-0.1.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file mossify-0.1.2.tar.gz.

File metadata

  • Download URL: mossify-0.1.2.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","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":null}

File hashes

Hashes for mossify-0.1.2.tar.gz
Algorithm Hash digest
SHA256 faab5b28443be45812116851814c30494207536136858b66fe4a29e5d33e5c8d
MD5 be2f0a2a342e0d87c3f2ed620cf6ec59
BLAKE2b-256 3ba9d0ed0107d3dc6b3f05b7c29c0cd2dcca88a9086de56bbfacb794ff316965

See more details on using hashes here.

File details

Details for the file mossify-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mossify-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","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":null}

File hashes

Hashes for mossify-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 94e98cdf71e53ab237b2c49c51c8a4ae93cc37d7763199bc4dbba532eeaf4b8a
MD5 793b3d1b1598d2256558c4fe81bd4d12
BLAKE2b-256 ed9070c95639091303bc3f3da92e4fe78fd63b9244e2111b34bb73db9e48a3b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page