Skip to main content

Self-contained flow cytometry analysis helpers with a slim vendored Cytoflow runtime.

Project description

zeztz-flow

zeztz-flow is an marimo-compatible flow-cytometry FCS analysis package. Derived from cytoflow, this package is designed to become a minimal platform, allowing users to perform vibe analysis with their own AI agents.

Features:

  • FCS import with automatic well-plate metadata
  • Cleanup gating: scatter, doublet removal, polygon, custom thresholds
  • Density plots, faceted histograms, ridgeline plots
  • Subset by row, column, or well
  • Median-fluorescence export
  • Self-contained — vendored Cytoflow runtime, no extra installs
  • Pure Python — no compiled extensions
  • Designed for AI-assisted analysis

Installation

pip install zeztz-flow

Package name on PyPI is zeztz-flow (with hyphen), but the import is zeztzflow (no hyphen, no underscore):

import zeztzflow as flow

Using with marimo (uv-based)

# Install into existing marimo environment
uv pip install zeztz-flow

# Or create a new project
uv init my-fcs-analysis
cd my-fcs-analysis
uv add marimo zeztz-flow
uv run marimo edit

Development

git clone https://github.com/anomalyco/ZeztzFlow.git
cd ZeztzFlow
uv venv
uv pip install -e .
uv run python test/package_smoke_test.py

For conda-based setup: mamba env create -f environment.yml

Quick Start

Open a marimo notebook, import zeztzflow, and describe your analysis to your AI agent. The agent reads AGENTS.md and PROJECT_GUIDE.md to generate the right code — from loading FCS files to gating, plotting, and exporting results.

Documentation

Testing

MPLCONFIGDIR=/tmp/mplconfig python test/package_smoke_test.py

License

GPL-compatible. See LICENSE.txt and THIRD_PARTY_NOTICES.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zeztz_flow-0.1.3.tar.gz (76.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zeztz_flow-0.1.3-py3-none-any.whl (82.4 kB view details)

Uploaded Python 3

File details

Details for the file zeztz_flow-0.1.3.tar.gz.

File metadata

  • Download URL: zeztz_flow-0.1.3.tar.gz
  • Upload date:
  • Size: 76.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for zeztz_flow-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7697c002586dcd5e208e4a80b6c899df6184d7d65d03cc5acc3bb9a22176c808
MD5 288a170f10029b80397799130c8d614a
BLAKE2b-256 75625a680b315a0db3ea034d9ec382ebcb1119c9329e007b1698e85542b879cb

See more details on using hashes here.

File details

Details for the file zeztz_flow-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: zeztz_flow-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 82.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for zeztz_flow-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e7de9d9a4d1ac7cdf054f717267a133b4e55c20184b8ee07d511b9d866f4cc37
MD5 b49b65c94408044e5cf316e9f5534f70
BLAKE2b-256 b150506103efde72f31bcbb0b5ca77aa784cb7be42c5683462d739b66b1a31dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page