Skip to main content

owart

Generates posters based on neural network weights.

Pick an MLX-compatible model and this script will iterate over those weights and do the following:

  • Find the global minimum and maximum weight values.
  • Normalize weights to [0, 1].
  • Trim the upper and lower percentiles to reduce outlier impact.
  • Map normalized weights to colors based on intensity.
  • Pack weight matrices into a visually appealing layout.
  • Render the packed layout into a high-resolution image with a legend and metadata.

Requirements

  • Python 3.13+
  • MLX on Apple Silicon (for mlx / mlx-lm)

Dependencies are declared in pyproject.toml.

Usage

Basic:

uvx owart mlx-community/Llama-3.2-1B-Instruct-4bit

Options

  • --packing {polyomino,maxrects,guillotine,shelf}: packing algorithm (default: polyomino).
  • --polyomino-workers N: parallel search workers for polyomino packing (default: CPU count).
  • --palette {tab20,tab20b,tab20c}: color palette (20 colors).
  • --color-method {blackwhite,opacity}: how intensity maps to color.
  • --shrink N / --scale-method {mean,median,max,sample}: image reduction (shrink auto-computed if omitted).
  • --intensity-method {linear,gamma,smoothstep,sigmoid}: intensity curve (default: smoothstep).
  • --intensity-clip-percent P: clamp top/bottom P percentile before normalization (default: 0.05).
  • --frame-padding N: padding around the visualization.
  • --frame-section-gap N: gap between footer sections.
  • --frame-bottom-padding N: space below the legend.
  • --frame-font-size N: base font size for footer/legend.
  • --frame-line-spacing N: line spacing (default: 0.35 * font size).
  • --frame-bg #RRGGBB or R,G,B: frame background color.
  • --inner-border-width N: border width around the central visual.
  • --inner-border-color #RRGGBB or R,G,B: border color.
  • --no-frame: output just the visualization.

Example

uvx owart mlx-community/Llama-3.2-1B-Instruct-4bit \
  --packing polyomino --polyomino-workers 8 \
  --palette tab20 --color-method blackwhite \
  --intensity-method smoothstep --intensity-clip-percent 0.05 \
  --frame-padding 80 --frame-font-size 60 --frame-section-gap 80 \
  --frame-bg "#000000" \
  --inner-border-width 5 --inner-border-color "#FFFFFF"

Metadata

Release files for owart 0.1.0

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

Source distribution (sdist)

Source distribution for owart 0.1.0
File Size Uploaded Provenance
owart-0.1.0.tar.gz 56.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for owart 0.1.0
File Interpreter ABI Platform
owart-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 73.8 kB

Release files / owart-0.1.0.tar.gz

Download URL owart-0.1.0.tar.gz
Size 56.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3faa850923fa009a30359adba0bea7c326ecdcd3c9d5dcbd275b6e9a8d7ed2a8
BLAKE2b-256 checksum
How to use checksums
bb0a7ee07735650f7dd3bb2c06489d395024297f277a66ce05e2dce7b1f94786
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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}

Release files / owart-0.1.0-py3-none-any.whl

Download URL owart-0.1.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd9cd3ac4c09f65b179abc8680c56bf922084d0a284046a81d1b64da3e95202b
BLAKE2b-256 checksum
How to use checksums
9c418435d3d5ce9f6597c8d362c8adc76b94713e5675cef616a8592dc07562b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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}

Security for owart 0.1.0

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

0.1.0 This release

2 release files No provenance

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