No description
  • HTML 63.9%
  • Python 35.9%
  • Dockerfile 0.2%
Find a file
2026-04-21 12:05:01 +02:00
.github functions working 2026-01-21 16:36:39 +01:00
assets functions working 2026-01-21 16:36:39 +01:00
bike_box update 2026-04-21 12:05:01 +02:00
earring Add bike box and earring generators with sticky previews and fit improvements 2026-04-05 14:55:38 +02:00
ruler Add bike box and earring generators with sticky previews and fit improvements 2026-04-05 14:55:38 +02:00
sticker Add bike box and earring generators with sticky previews and fit improvements 2026-04-05 14:55:38 +02:00
tests functions working 2026-01-21 16:36:39 +01:00
.dockerignore working ruler with preview 2025-11-20 14:34:20 +01:00
.gitignore working ruler with preview 2025-11-20 14:34:20 +01:00
.venv rebuild 2025-11-29 15:28:38 +01:00
docker-compose.yml functions working 2026-01-21 16:36:39 +01:00
Dockerfile functions working 2026-01-21 16:36:39 +01:00
index.html Add bike box and earring generators with sticky previews and fit improvements 2026-04-05 14:55:38 +02:00
LICENSE add license 2026-04-14 15:35:33 +02:00
README.md add license 2026-04-14 15:35:33 +02:00
requirements.txt working ruler with preview 2025-11-20 14:34:20 +01:00

SVG Generator Suite

Parametric SVG generators for laser cutting, plotting, and digital fabrication. All tools generate true-to-scale SVG output using millimetre-based geometry.

Projects

  • ruler/ — ruler generator (boxes_ruler.py) + live preview (ruler_preview.html)
  • sticker/ — sticker/logo generator (boxes_sticker.py) + live preview (sticker_preview.html)
  • earring/ — earring generator (boxes_earring.py) + live preview (earring_preview.html)
  • bike_box/ — bike shipping box generator (boxes_bike_box.py) + live preview (bike_box_preview.html)

Quick Start

# (optional) create and activate env
pyenv virtualenv 3.13.3 svg-gen
pyenv activate svg-gen

# install dependencies
pip install -r requirements.txt

CLI Usage Examples

# Ruler
python ruler/boxes_ruler.py --length 150 --output ruler/examples/ruler.svg

# Sticker
python sticker/boxes_sticker.py --output sticker/example.svg

# Earring
python earring/boxes_earring.py --output earring/examples/earring.svg

# Bike box
python bike_box/boxes_bike_box.py --output bike_box/examples/bike_box.svg

Web Preview

Run the static server:

docker-compose up -d

Then open:

  • http://localhost:8000/ (landing page)
  • http://localhost:8000/ruler/ruler_preview.html
  • http://localhost:8000/sticker/sticker_preview.html
  • http://localhost:8000/earring/earring_preview.html
  • http://localhost:8000/bike_box/bike_box_preview.html

Stop preview server:

docker-compose down

Assets

  • assets/fonts/ — local custom TTF fonts
  • assets/css/all.min.css and assets/webfonts/ — local FontAwesome assets for offline previews

Testing

Current automated tests are in tests/test_sticker.py.

pytest tests/test_sticker.py

License

This repository is licensed under GNU General Public License v3.0 (GPL-3.0).

See LICENSE for details.