🚀 A simple, modern, full-stack toolkit for Python 🐍
Project description
🚀 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.
🙋 Why?
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 is designed to leverage the best tools and packages that exist in the Python ecosystem in simple and easy to use workflows that accelerate development.
🎉 Featuring
- Package generation
- Task management with
invoke
- Packaging with
setuptools
- Linting with
ruff
andblack
- Type checking with
mypy
- Testing with
pytest
🤩 Coming Soon
- Web application generation with
fastapi
andhtmx
- Database integration with
pydantic
andsqlmodel
- Production ready deployment stacks with
nix
,docker
,skaffold
andkustomize
- AI framework integrations with
pytorch
andlangchain
Check out the latest issues and pull requests to see what's coming soon!
📝 Requirements
- Python 3.11+
pip
⚙️ Installation
After you've created your Python 3.11+ virtual environment, install Snok with:
pip install snok
🐍 Getting Started
Create a new package with:
snok new mypackage && cd mypackage
Snok uses invoke
to manage tasks, like installing dependencies, running tests, and more.
inv --list
To install dependencies:
inv add fastapi
To uninstall dependencies:
inv remove fastapi
🫶 How can I help?
- ⭐️ Star snok on GitHub! ⭐️
- 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!
📲 Contact
Reach out on Twitter if you'd like to get in touch!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.