lighght


Namelighght JSON
Version 1.0.0a3 PyPI version JSON
download
home_pagehttps://github.com/pearmini/lighght
SummaryThe creative coding language for ASCII art and poetic form.
upload_time2025-02-14 04:07:44
maintainerBairui SU
docs_urlNone
authorBairui SU
requires_python>=3.6
licenseLGPL v2.1
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

- [ASCII Art Animation](./docs/examples/readme.md#ASCII-Art-Animation)
- [Character-Style Generative Art](./docs/examples/readme.md#Character-Style-Generative-Art)
- [Terminal Game Application](./docs/examples/readme.md#Terminal-Game-Application)
- [Expressive Data Visualization](./docs/examples/readme.md#Expressive-Data-Visualization)

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.**

<img src="https://raw.githubusercontent.com/charming-art/public-files/master/cover.png" alt="cover" width="100%">

## 📎 Links

- [Introduction](./docs/introduction.md)
- [Tutorials](./docs/tutorials/readme.md)
- [API Reference](./docs/api/readme.md)
- [Examples](./docs/examples/readme.md)
- [Processing&P5.js to Lighght](./docs/processing&p5js-to-lighght.md)

## ✨ 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](https://github.com/urwid/urwid) or [click](https://github.com/pallets/click) to build console line interface. Actually it more like [asciimatics](https://github.com/peterbrittain/asciimatics), [art](https://github.com/sepandhaghighi/art) or [tcharts](https://github.com/ProtoTeam/tcharts.js) 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](https://processing.org/)'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.

<img src="https://raw.githubusercontent.com/charming-art/public-files/master/hello_world.gif" alt="Lighght" width="100%">

## 📦 Installation

- **Supported OS**: Lighght currently only supports **MacOS**, though it should also work for any other platform that provides a working [curses](https://docs.python.org/3/howto/curses.html) implementation. It soon will support **Windows** and run in **Modern Browsers**.
- **Python**: 3.6/3.7/3.8

```bash
$ pip3 install Lighght --user
```

## 📺 A Simple Example

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

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

# run the sketch
gh.run()
```

```bash
$ python3 rect.py
```

![get started](https://raw.githubusercontent.com/charming-art/public-files/master/get_started.png)

## 🛸 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](./LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pearmini/lighght",
    "name": "lighght",
    "maintainer": "Bairui SU",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "subairui@icloud.com",
    "keywords": null,
    "author": "Bairui SU",
    "author_email": "subairui@icloud.com",
    "download_url": "https://files.pythonhosted.org/packages/7c/e5/19664c0344bb8575afe8dbdd7c85d4722a677beb38150163aacd959d5bb9/lighght-1.0.0a3.tar.gz",
    "platform": null,
    "description": "# Lighght: ASCII Art and Poetic Form\n\nLighght is a creative coding language for ASCII art and poetic form.\n\nIt 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.\n\n- [ASCII Art Animation](./docs/examples/readme.md#ASCII-Art-Animation)\n- [Character-Style Generative Art](./docs/examples/readme.md#Character-Style-Generative-Art)\n- [Terminal Game Application](./docs/examples/readme.md#Terminal-Game-Application)\n- [Expressive Data Visualization](./docs/examples/readme.md#Expressive-Data-Visualization)\n\nThere 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.**\n\n<img src=\"https://raw.githubusercontent.com/charming-art/public-files/master/cover.png\" alt=\"cover\" width=\"100%\">\n\n## \ud83d\udcce Links\n\n- [Introduction](./docs/introduction.md)\n- [Tutorials](./docs/tutorials/readme.md)\n- [API Reference](./docs/api/readme.md)\n- [Examples](./docs/examples/readme.md)\n- [Processing&P5.js to Lighght](./docs/processing&p5js-to-lighght.md)\n\n## \u2728 Features\n\n- **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.\n- **Powerful and Flexible**: Lighght is not as same as [urwid](https://github.com/urwid/urwid) or [click](https://github.com/pallets/click) to build console line interface. Actually it more like [asciimatics](https://github.com/peterbrittain/asciimatics), [art](https://github.com/sepandhaghighi/art) or [tcharts](https://github.com/ProtoTeam/tcharts.js) 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.\n- **Easy to Learn and Use**: Lighght is very beginner-friendly, because of Python's simple syntax and [Processing](https://processing.org/)'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.\n\n<img src=\"https://raw.githubusercontent.com/charming-art/public-files/master/hello_world.gif\" alt=\"Lighght\" width=\"100%\">\n\n## \ud83d\udce6 Installation\n\n- **Supported OS**: Lighght currently only supports **MacOS**, though it should also work for any other platform that provides a working [curses](https://docs.python.org/3/howto/curses.html) implementation. It soon will support **Windows** and run in **Modern Browsers**.\n- **Python**: 3.6/3.7/3.8\n\n```bash\n$ pip3 install Lighght --user\n```\n\n## \ud83d\udcfa A Simple Example\n\n```python\n'''rect.py'''\nimport lighght as gh\n\n# draw a rect\ngh.full_screen()\ngh.rect(0, 0, 10, 10)\n\n# run the sketch\ngh.run()\n```\n\n```bash\n$ python3 rect.py\n```\n\n![get started](https://raw.githubusercontent.com/charming-art/public-files/master/get_started.png)\n\n## \ud83d\udef8 Future work\n\n- Using Rust as backend to run in browser and support multiple OS, using both JavaScript and Python as frontend.\n- Add more API to be more expressive.\n- Build a community and online playground like OpenProcessing.\n\n## \ud83d\udcb3 License\n\nLighght is [LGPL-2.1 License](./LICENSE).\n",
    "bugtrack_url": null,
    "license": "LGPL v2.1",
    "summary": "The creative coding language for ASCII art and poetic form.",
    "version": "1.0.0a3",
    "project_urls": {
        "Homepage": "https://github.com/pearmini/lighght"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1f32d949d66bfb0d368c6b2ce6dbeceabf184530c687b0a8d14efec8681504ec",
                "md5": "c58cd2b848f0075cb29b3cdf5de3b728",
                "sha256": "5bdf8d460ae1285ff462e87b25d0407e8816dbeeb86e4511bb849290a837a895"
            },
            "downloads": -1,
            "filename": "lighght-1.0.0a3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c58cd2b848f0075cb29b3cdf5de3b728",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 33052,
            "upload_time": "2025-02-14T04:07:42",
            "upload_time_iso_8601": "2025-02-14T04:07:42.317723Z",
            "url": "https://files.pythonhosted.org/packages/1f/32/d949d66bfb0d368c6b2ce6dbeceabf184530c687b0a8d14efec8681504ec/lighght-1.0.0a3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7ce519664c0344bb8575afe8dbdd7c85d4722a677beb38150163aacd959d5bb9",
                "md5": "d0fd317fb13007de8fdaa4adb7f78f53",
                "sha256": "b826152ee64afcba64e067285a4030dca2d0ecc86359f7921e3bbf472645cc18"
            },
            "downloads": -1,
            "filename": "lighght-1.0.0a3.tar.gz",
            "has_sig": false,
            "md5_digest": "d0fd317fb13007de8fdaa4adb7f78f53",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 541683,
            "upload_time": "2025-02-14T04:07:44",
            "upload_time_iso_8601": "2025-02-14T04:07:44.765080Z",
            "url": "https://files.pythonhosted.org/packages/7c/e5/19664c0344bb8575afe8dbdd7c85d4722a677beb38150163aacd959d5bb9/lighght-1.0.0a3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-14 04:07:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pearmini",
    "github_project": "lighght",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "lighght"
}
        
Elapsed time: 1.21904s