Add your description here
Project description
KymFlow
KymFlow is a NiceGUI-based application for browsing kymograph TIFF files, editing metadata, and running Radon-based flow analysis.
The backend lives in src/kymflow_core and is completely GUI-agnostic, so scripts and notebooks can
reuse the same API for analysis, metadata editing, or batch processing.
Requirements
- Python 3.9+
- uv for dependency management (recommended)
Getting the Source
Clone the repository (or download the ZIP) from GitHub:
git clone https://github.com/mapmanager/kymflow.git
cd kymflow
All commands below assume you are in the project root.
Installation (uv)
KymFlow uses a src/ layout and should be installed in editable mode. With uv this is a single command:
uv pip install -e ".[gui]"
This creates (or updates) .venv/, installs the package in editable mode, and
pulls in the GUI + dev extras. If you add/remove dependencies in
pyproject.toml, rerun the same command. Regular source edits do not
require reinstalling.
Not using uv? Any standard tool can install the same extras via:
pip install -e ".[gui,test]"or the equivalent in your environment.
Running the GUI
Launch the NiceGUI app with:
uv run python -m kymflow_gui.main
This automatically uses the uv-managed environment and keeps editable imports
intact. The GUI defaults to port 8080; tweak defaults in
src/kymflow_gui/config.py if needed.
Running Tests
uv pip install -e ".[test]"
uv run pytest
Tests that require proprietary TIFF data auto-skip when the sample data is unavailable.
Working with Jupyter Notebooks
Install the optional notebook extras (once):
uv pip install -e ".[notebook]"
Launch Jupyter Lab inside the repo (it will open in the notebooks/ folder by
default):
uv run jupyter lab --notebook-dir notebooks
You can also use jupyter notebook if you prefer the classic interface. All
dependencies run inside the same uv-managed environment.
Project Layout
kymflow/
├─ src/
│ ├─ kymflow_core/ # backend (KymFile, metadata, analysis, repository)
│ └─ kymflow_gui/ # NiceGUI frontend (layout, components)
├─ tests/ # unit/integration tests
├─ pyproject.toml
├─ README.md
└─ .venv/ # uv-managed virtualenv
Contributing
Issues and pull requests are welcome. Please include clear steps to reproduce
bugs and run uv run pytest before submitting changes. More detailed
guidelines will be added later.
Troubleshooting
To kill a stale nicegui. By default it should be running on port 8080.
sudo lsof -iTCP:8080 -sTCP:LISTEN
Then look for pid and kill <pid>
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kymflow-0.1.0.tar.gz.
File metadata
- Download URL: kymflow-0.1.0.tar.gz
- Upload date:
- Size: 317.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d267543f5b5e961a5a5b1c2b7866d8fbe16975ea801008e9deca34d9b8dfbd8e
|
|
| MD5 |
b0b46696aefb9f52573396fe14f4811d
|
|
| BLAKE2b-256 |
cf1a7a0d913700420465884f2b24f4e257d4f4f1fda17321a2ba69d3e9d454a3
|
File details
Details for the file kymflow-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kymflow-0.1.0-py3-none-any.whl
- Upload date:
- Size: 57.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45d95df8636a672360637a174cb6685d39eb4162142161221cc0c492c9f2499d
|
|
| MD5 |
feb270960ca5ecf57d3a660ddbdef1dc
|
|
| BLAKE2b-256 |
e7b588d81f36bce203f1c21d26b782cb7ed101845031adc20abce499a1a1c01c
|