Skip to main content

Turn black-and-white artwork into stamp-ready STL models.

Project description

stampify

Turn black-and-white artwork into stamp-ready STL models.

Repository: https://github.com/nwcell/stampify

Install

Run the CLI without installing:

uvx stampify path/to/image.png

Install it as a standalone tool:

uv tool install stampify
stampify path/to/image.png

Add it to another Python project:

uv add stampify

CLI

Generate the bundled sample stamp:

uv run stampify sample/xmas-cowboy.jpeg

Write to a specific STL path:

uvx stampify path/to/image.png -o stamp.stl

Compare the two geometry modes:

uvx stampify path/to/image.png --mode vector -o stamp-vector.stl
uvx stampify path/to/image.png --mode voxel --resolution 300 -o stamp-voxel.stl

Show all options:

uvx stampify --help

Python API

Use it from Python:

from ink_print import StampOptions, write_stamp

options = StampOptions(mode="vector", size=80, border=2, simplify=0.05)
output_path, mesh = write_stamp("path/to/image.png", options=options)
print(output_path, mesh.extents)

Development

Run from a local checkout:

uv run stampify sample/xmas-cowboy.jpeg

Install the local checkout as a tool:

uv tool install .

Add the local checkout to another project:

uv add git+https://github.com/nwcell/stampify

Notes

  • The repo includes sample/xmas-cowboy.jpeg as a sample input.
  • vector mode is the default and produces smoother, smaller meshes.
  • voxel mode is still available as a fallback.
  • --resolution 0 keeps the source image resolution.
  • --simplify and --min-area are the main cleanup controls for traced artwork.
  • The default stamp mirrors the artwork so the printed impression reads correctly.
  • The border is raised by default. Disable it with --no-raised-border.
  • ink-stamp remains available as a compatibility alias for the CLI.

Release automation

This repo includes:

  • .github/workflows/ci.yml for tests and build validation on pushes and pull requests.
  • .github/workflows/release.yml for publishing to PyPI from a GitHub Release via Trusted Publishing.

See RELEASING.md for the release process.

License

MIT. See LICENSE.

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

stampify-0.1.2.tar.gz (562.1 kB view details)

Uploaded Source

Built Distribution

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

stampify-0.1.2-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file stampify-0.1.2.tar.gz.

File metadata

  • Download URL: stampify-0.1.2.tar.gz
  • Upload date:
  • Size: 562.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stampify-0.1.2.tar.gz
Algorithm Hash digest
SHA256 74991480bae853d4036b796c6ff567b464ecf622340ddf6e7d256e32441156af
MD5 c32ea80c2ef28d83aa2499dfee63ec9d
BLAKE2b-256 1b0bf29b85e3b7846a87c341e68e849b71f7af15ea7d3fdb8446f964e05c7d97

See more details on using hashes here.

Provenance

The following attestation bundles were made for stampify-0.1.2.tar.gz:

Publisher: release.yml on nwcell/stampify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stampify-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: stampify-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stampify-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ce1cd99e62617063051e6fda701f0a0ef308f66e467eb72368581d23c67d0ccc
MD5 56d9d6ce18b0c047f78622d95308ad07
BLAKE2b-256 560f0b4fd3c8f499ed62db6002b98971ea6da58ec4a02c19a357d054291e4054

See more details on using hashes here.

Provenance

The following attestation bundles were made for stampify-0.1.2-py3-none-any.whl:

Publisher: release.yml on nwcell/stampify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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