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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.