π A simple, modern, full-stack toolkit for Python π
Documentation: https://snok.corletti.xyz
Source Code: https://github.com/anthonycorletti/snok
Snok is a simple, modern, full-stack toolkit for Python.
Snok is in it's earliest stages, so feedback and ideas are very welcome and encouraged. Please open an issue if you have a question, comment, feature request, idea, etc, and/or connect with Anthony directly on Twitter if you'd like to get in touch about the project.
The Python tooling ecosystem has plenty of options, and often times, it's not clear whether or not you're following the "right" way to do things, especially when those ways are changing week to week.
With this in mind, snok is a Python toolkit for developers that focuses on making it simple and easy to build modern, full-stack applications, across web and AI frameworks.
Snok leverages tools and packages from the Python ecosystem with awesome performance and developer experience to provide simple, effective, and easy to use workflows for developers.
Snok is designed for the programmer, and not much else.
- Package generation
- Built-in dependency management
- Packaging with
setuptools
- Linting and formatting with
ruff
andblack
- Type checking with
mypy
- Async, multi-worker testing with
pytest
- Async API scaffolding with
fastapi
- Async database integration with
pydantic
,sqlmodel
, andalembic
- Natively deploy to Modal and run key-value stores, jobs, and seamlessly access GPU compute.
- AI framework integrations with
pytorch
andlangchain
- Documentation site generation with
mkdocs
andmkdocs-material
- Connect to monitoring with services like
sentry
andlogz
, or with DIYopentelemetry
- Web-page generation with
tailwindcss
andhtmx
- Deployment stacks with
docker
,skaffold
andkustomize
- Queueing and caching stacks with
arq
andredis
- Want to make a feature request? π₯ Submit one here!
Check out the latest issues and pull requests to see what else is happening.
- Python 3.11+
pip
After you've created your Python 3.11+ virtual environment in a new directory, install Snok:
pip install snok
Create a new package with:
snok new mypackage
To install dependencies:
snok install
To add a new dependency:
snok add fastapi
To remove a dependency:
snok remove fastapi
- βοΈ Star snok on GitHub! βοΈ
- Try out snok for yourself!
- Open an issue if you have a question, comment, feature request, or bug report.
- Open a pull request on GitHub. Contributions are encouraged and welcome!
Reach out on Twitter if you'd like to get in touch!