Cyto
Idiomatic boilerplate and glue code for Python
Install / Use
/learn @sbtinstruments/CytoREADME
Cyto 🦠
Idiomatic boilerplate and glue code for Python
Cyto is the bridge between an oppinionated selection of Python tech. Cyto is everything you need to create a modern Python app. Cyto is the glue and boilerplate code that you no longer have to write yourself.
Note 2024-08-21: pydantic-settings now supports auto-generation of a CLI based on a pydantic model. Therefore, cyto no longer includes this feature.
Only pay for what you use
Cyto has zero dependencies per default. Opt-in to functionality via extras.
Installation
Install Cyto along with all extras:
pip install cyto[all]
Or, using uv:
uv add cyto[all]
Choose specific extras
If you only want a specific extra, choose that when you install Cyto. E.g.:
pip install cyto[settings] # Automatically pulls in pydantic-settings
Similar for uv:
uv add cyto[settings] # Automatically pulls in pydantic-settings
Development
Python Version
Development requires Python 3.12 or later. Test your python version with:
python3 --version
If you have multiple python installations, you can replace python3
with a specific version (e.g., python3.12) in the steps below.
Getting Started
Do the following:
- Clone this repository
git clone git@github.com:sbtinstruments/cyto.git - Install uv (for dependency management)
curl -LsSf https://astral.sh/uv/install.sh | sh - Create virtual environment and get all dependencies
and all extra features.
uv sync --all-extras
Quality Assurance (QA) Tools
QA Basic Tools
All QA basic tools automatically run in Jenkins for each commit pushed to the remote repository.
The QA basic tools are:
ruffmypy
Run the QA basic tools manually with:
uv run ruff format --check
uv run ruff check
uv run mypy .
QA Test Tools
All of the tools below automatically run in Jenkins for each commit pushed to the remote repository.
The QA test tools are:
pytest(the test framework itself)pytest-cov(for test coverage percentage)
Run the QA basic tools manually with:
uv run pytest
uv run pytest --cov=cyto
Visual Studio Code
Settings
We have a default settings file that you can use via the following command:
cp .vscode/settings.json.default .vscode/settings.json
This is optional.
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
