Skip to main content

The creative coding language for ASCII art and poetic form.

Project description

Lighght: ASCII Art and Poetic Form

Lighght is a creative coding language for ASCII art and poetic form.

It is currently written in Python and provides Processing-like APIs, which aims to help artists, designers, educators, beginners, and anyone else to easily create following visual effects in terminal.

There are many reasons for creating Lighght, but the most important one is that I hope not only does Lighght make you love programming for fun or show a magic world to you, but also make this journey relaxing and interesting.

cover

📎 Links

✨ Features

  • Highly Expressive: Unlike traditional drawing system or tool using three numerical channels ((r, g, b) or (h, s, v)) to describe a color, Lighght allows you to describe a color like (character, foreground color, background color), which means you can express more with the extra the character channel.
  • Powerful and Flexible: Lighght is not as same as urwid or click to build console line interface. Actually it more like asciimatics, art or tcharts to draw some visual effects in the terminal but with more flexibility. Instead of drawing limited and predefined shapes or effects, you can draw some basic primitives, custom shapes, curves, images, typography with transforms (translate, rotate, shear) and even events (mouse, keyboard) in Lighght.
  • Easy to Learn and Use: Lighght is very beginner-friendly, because of Python's simple syntax and Processing's concise APIs. It will be more easier if you are already familiar with them. Once you've master Lighght, you can create anything interesting in you head with it and enjoy the pure joy of coding.
Lighght

📦 Installation

  • Supported OS: Lighght currently only supports MacOS, though it should also work for any other platform that provides a working curses implementation. It soon will support Windows and run in Modern Browsers.
  • Python: 3.6/3.7/3.8
$ pip3 install Lighght --user

📺 A Simple Example

'''rect.py'''
import lighght as gh

# draw a rect
gh.full_screen()
gh.rect(0, 0, 10, 10)

# run the sketch
gh.run()
$ python3 rect.py

get started

🛸 Future work

  • Using Rust as backend to run in browser and support multiple OS, using both JavaScript and Python as frontend.
  • Add more API to be more expressive.
  • Build a community and online playground like OpenProcessing.

💳 License

Lighght is LGPL-2.1 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

lighght-1.0.0a3.tar.gz (541.7 kB view details)

Uploaded Source

Built Distribution

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

lighght-1.0.0a3-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file lighght-1.0.0a3.tar.gz.

File metadata

  • Download URL: lighght-1.0.0a3.tar.gz
  • Upload date:
  • Size: 541.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for lighght-1.0.0a3.tar.gz
Algorithm Hash digest
SHA256 b826152ee64afcba64e067285a4030dca2d0ecc86359f7921e3bbf472645cc18
MD5 d0fd317fb13007de8fdaa4adb7f78f53
BLAKE2b-256 7ce519664c0344bb8575afe8dbdd7c85d4722a677beb38150163aacd959d5bb9

See more details on using hashes here.

File details

Details for the file lighght-1.0.0a3-py3-none-any.whl.

File metadata

  • Download URL: lighght-1.0.0a3-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for lighght-1.0.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 5bdf8d460ae1285ff462e87b25d0407e8816dbeeb86e4511bb849290a837a895
MD5 c58cd2b848f0075cb29b3cdf5de3b728
BLAKE2b-256 1f32d949d66bfb0d368c6b2ce6dbeceabf184530c687b0a8d14efec8681504ec

See more details on using hashes here.

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