Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

tnia-ops

tnia-python's utilities, as ops: plain Python functions declared with opspec, so a runner can run them in their own environments and a front end can show them.

Each op wraps a tnia-python function and changes nothing about it.

Namespace Ops
background rolling_ball, dilate_subtract
deconvolve richardson_lucy, richardson_lucy_cupy
kernels gaussian_psf, paraxial_psf
morphology fill_holes, connect_2d_in_3d
segment local_global_threshold, find_large_objects, object_boxes, threshold_and_fill (a workflow)
simulation random_circles, random_spheres, grid_of_circles
photo relight, color_correct, unsharp, denoise, sharpness, subject_crop
restore motion_deblur, upscale (pretrained networks, via spandrel)
detect detect_people (YOLO, person class)
ocr read_numbers (EasyOCR, race bibs)

Namespaces are laid out like scikit-ops': one scikit-ops has as a folder (deconvolve, detect, kernels, segment) is a folder here too, one file per op, even if there is only one; the rest are single files. Either way, ops are imported from the namespace: from tnia_ops.deconvolve import richardson_lucy.

Environments are in envs/<id>/pixi.toml: skimage (CPU), cupy (GPU), and numpy_1x, for the simulation ops, whose raster-geometry needs NumPy 1, and photo (OpenCV and PyTorch) for the photo, restore, detect and ocr ops.

The photo ops are not wrappers of tnia-python: they came from a race-photo app, which calls them directly. Model weights are parameters (weights: Path), never downloaded by the op.

Some names are the same as scikit-ops' on purpose -- ops called richardson_lucy and connect_2d_in_3d, environments called skimage and cupy -- to find out how a runner copes with two collections that clash.

uv sync
uv run pytest      # every op reads as a valid spec; no environment needed

Examples

tnia-ops has no runner of its own. examples/hybrid.ipynb runs it with scikit-ops' runner, in one pipeline with a scikit-ops op, and shows which environment each op runs in and where it is built.

The notebook's kernel is tnia-ops (editable): Jupyter, scikit-ops' runner, and tnia-ops, both editable from sibling checkouts. With pixi:

cd pixi/tnia-ops-editable
pixi install
pixi run register-kernel     # once; then pick the kernel in Jupyter or VS Code
pixi run lab

Or with uv, from the top folder (the examples group has the same things):

uv sync
uv run python -m ipykernel install --user --name=tnia-ops-examples --display-name 'tnia-ops (examples)'

Metadata

Release files for tnia-ops 0.1.0.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tnia-ops 0.1.0.dev0
File Size Uploaded Provenance Actions
tnia_ops-0.1.0.dev0.tar.gz 46.1 kB Without provenance Details for tnia_ops-0.1.0.dev0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tnia-ops 0.1.0.dev0
File Interpreter ABI Platform Actions
tnia_ops-0.1.0.dev0-py3-none-any.whl Python 3 none any Details for tnia_ops-0.1.0.dev0-py3-none-any.whl

Total release size: 69.3 kB

Release files / tnia_ops-0.1.0.dev0.tar.gz

Download URL tnia_ops-0.1.0.dev0.tar.gz
Size 46.1 kB
Tags Source
SHA-256 checksum
How to use checksums
09fd2e0d3096668fbefd1b185707d3d7a167aef3ac1489d4e180292859829ca7
BLAKE2b-256 checksum
How to use checksums
3d90a5722be8e76d9e8363ba3a4ad3c0561a75120cba0fb40c0c98726d43f072
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / tnia_ops-0.1.0.dev0-py3-none-any.whl

Download URL tnia_ops-0.1.0.dev0-py3-none-any.whl
Size 23.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fb8c7df4af1e2dcd7b874615999309b6cbc30efd48d071bb85034b3817132bd
BLAKE2b-256 checksum
How to use checksums
957d6eecd2fd604cfbed12006bffc7e5ca204dd7fe34cfae3c4ca83873b1ad57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for tnia-ops 0.1.0.dev0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page