Skip to content

MatheweB/pyfreeform

Repository files navigation

PyFreeform logo

PyFreeform

Turn images into art with Python.

Mona Lisa rendered as dot art

Install

pip install pyfreeform

Requires Python 3.10+.

Quick Start

from pyfreeform import Scene

scene = Scene.from_image("photo.jpg", grid_size=40)
for cell in scene.grid:
    cell.add_dot(radius=cell.brightness * 0.4, color=cell.color)
scene.save("artwork.svg")

That's it — four lines from photo to SVG.

What Can You Make?


Color dots

Filled Lissajous curves

Flowing curves

ASCII art

Connected networks

Multi-layer compositions

Dots, lines, curves, polygons, text, ellipses, custom paths — all positioned relative to a grid of cells. Sizes are fractions of the cell, so your art scales to any resolution.

Learn More

Everything you need is in the docs:

  • Getting Started — install and create your first artwork
  • Guide — every feature, explained visually
  • Recipes — portraits, patterns, typography, networks
  • API Surface — complete reference

License

MIT — see LICENSE for details.

Acknowledgments

Built on NumPy (BSD-3-Clause) and Pillow (MIT-CMU). See LICENSES/third_party/ for full texts.

About

Turn images into art with Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published