Skip to content

sbtinstruments/cyto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

211 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

  1. Clone this repository
    git clone [email protected]:sbtinstruments/cyto.git
  2. Install uv (for dependency management)
    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 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:

  • ruff
  • mypy

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.

About

Idiomatic boilerplate and glue code for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages