cyto

Idiomatic boilerplate and glue code for Python

https://github.com/sbtinstruments/cyto

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Idiomatic boilerplate and glue code for Python

Basic Info
  • Host: GitHub
  • Owner: sbtinstruments
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 629 KB
Statistics
  • Stars: 15
  • Watchers: 3
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Created over 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

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: shell 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 shell git clone git@github.com:sbtinstruments/cyto.git
  2. Install uv (for dependency management) shell curl -LsSf https://astral.sh/uv/install.sh | sh
  3. Create virtual environment and get all dependencies and all extra features. shell 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

You can run the QA basic tools manually. This is useful if you don't want to install the pre-commit hooks.

Run the QA basic tools manually with: shell uv run task ruff uv run task 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)

Visual Studio Code

Settings

We have a default settings file that you can use via the following command: shell cp .vscode/settings.json.default .vscode/settings.json This is optional.

Owner

  • Name: SBT
  • Login: sbtinstruments
  • Kind: organization
  • Email: info@sbtinstruments.com
  • Location: Herlev, Denmark

Real-time bacteria sensors

GitHub Events

Total
  • Watch event: 3
  • Push event: 32
Last Year
  • Watch event: 3
  • Push event: 32

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 135
  • Total Committers: 3
  • Avg Commits per committer: 45.0
  • Development Distribution Score (DDS): 0.022
Past Year
  • Commits: 31
  • Committers: 1
  • Avg Commits per committer: 31.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Frederik Peter Aalund f****a@s****m 132
Jonatan j****d@g****m 2
Kian-Meng Ang k****g@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 9 hours
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 2.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ricosaurus (1)
Pull Request Authors
  • kianmeng (1)
  • frederikaalund (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 36 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 4
  • Total maintainers: 1
pypi.org: cyto

SBT Instruments' framework for Python-based applications

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 36 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 17.1%
Average: 20.9%
Dependent repos count: 21.7%
Forks count: 22.6%
Downloads: 32.8%
Maintainers (1)
Last synced: 11 months ago

Dependencies

poetry.lock pypi
  • astroid 2.9.3 develop
  • atomicwrites 1.4.0 develop
  • attrs 21.4.0 develop
  • black 21.12b0 develop
  • cfgv 3.3.1 develop
  • coverage 6.3.1 develop
  • distlib 0.3.4 develop
  • filelock 3.4.2 develop
  • identify 2.4.8 develop
  • iniconfig 1.1.1 develop
  • isort 5.10.1 develop
  • lazy-object-proxy 1.7.1 develop
  • mccabe 0.6.1 develop
  • mslex 0.3.0 develop
  • mypy 0.930 develop
  • mypy-extensions 0.4.3 develop
  • nodeenv 1.6.0 develop
  • packaging 21.3 develop
  • pathspec 0.9.0 develop
  • platformdirs 2.4.1 develop
  • pluggy 1.0.0 develop
  • pre-commit 2.17.0 develop
  • psutil 5.9.0 develop
  • py 1.11.0 develop
  • pydocstyle 5.1.1 develop
  • pyfakefs 4.5.4 develop
  • pylint 2.12.2 develop
  • pyparsing 3.0.7 develop
  • pytest 6.2.5 develop
  • pytest-cov 2.12.1 develop
  • pyyaml 6.0 develop
  • rope 0.18.0 develop
  • six 1.16.0 develop
  • snowballstemmer 2.2.0 develop
  • taskipy 1.9.0 develop
  • tomli 1.2.3 develop
  • virtualenv 20.13.0 develop
  • wrapt 1.13.3 develop
  • anyio 3.5.0
  • click 8.0.3
  • colorama 0.4.4
  • idna 3.3
  • pydantic 1.9.0
  • sniffio 1.2.0
  • toml 0.10.2
  • typing-extensions 4.0.1
pyproject.toml pypi
  • black ^21.12b0 develop
  • isort ^5.6.4 develop
  • mypy ^0.930 develop
  • pre-commit ^2.8.2 develop
  • pydocstyle ^5.1.1 develop
  • pyfakefs ^4.2.1 develop
  • pylint ^2.12.2 develop
  • pytest ^6.1.2 develop
  • pytest-cov ^2.10.1 develop
  • rope ^0.18.0 develop
  • taskipy ^1.9.0 develop
  • anyio ^3.5.0
  • click ^8.0.1
  • pydantic ^1.9.0
  • python ^3.9
  • toml ^0.10.2