Skip to content

Commit cf1542b

Browse files
authored
Merge pull request #152 from gh2hq/v2
V2
2 parents 94a6c9e + 1a34435 commit cf1542b

File tree

203 files changed

+1830
-13125
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+1830
-13125
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@ dist/
55
.vscode
66
venv
77
*.egg-info
8-
*.log
8+
*.log
9+
.pytest_cache
10+
node_modules
11+
**/.vitepress/cache

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2020-present Pearmini https://github.com/pearmini
1+
Copyright 2020-present Bairui SU https://github.com/pearmini
22

33
Permission to use, copy, modify, and/or distribute this software for any purpose
44
with or without fee is hereby granted, provided that the above copyright notice

README.md

Lines changed: 2 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,3 @@
1-
# Charming.py: Character Terminal Art Programming
1+
# gh2
22

3-
Charming.py is a creative coding language designed for **Character Terminal Art Programming**.
4-
5-
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.
6-
7-
- [ASCII Art Animation](./docs/examples/readme.md#ASCII-Art-Animation)
8-
- [Character-Style Generative Art](./docs/examples/readme.md#Character-Style-Generative-Art)
9-
- [Terminal Game Application](./docs/examples/readme.md#Terminal-Game-Application)
10-
- [Expressive Data Visualization](./docs/examples/readme.md#Expressive-Data-Visualization)
11-
12-
There are many reasons for creating Charming.py, but the most important one is that **I hope not only does Charming.py make you love programming for fun or show a magic world to you, but also make this journey relaxing and interesting.**
13-
14-
<img src="https://raw.githubusercontent.com/gh2hq/public-files/master/cover.png" alt="cover" width="100%">
15-
16-
## 📎 Links
17-
18-
- [Introduction](./docs/introduction.md)
19-
- [Tutorials](./docs/tutorials/readme.md)
20-
- [API Reference](./docs/api/readme.md)
21-
- [Examples](./docs/examples/readme.md)
22-
- [Processing&P5.js to Charming.py](./docs/processing&p5js-to-charming.md)
23-
24-
## ✨ Features
25-
26-
- **Highly Expressive**: Unlike traditional drawing system or tool using three numerical channels (`(r, g, b)` or `(h, s, v)`) to describe a color, Charming.py allows you to describe a color like `(character, foreground color, background color)`, which means you can express more with the extra the `character` channel.
27-
- **Powerful and Flexible**: Charming.py 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 Charming.py.
28-
- **Easy to Learn and Use**: Charming.py 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 Charming.py, you can create anything interesting in you head with it and enjoy the pure joy of coding.
29-
30-
<img src="https://raw.githubusercontent.com/gh2hq/public-files/master/hello_world.gif" alt="Charming" width="100%">
31-
32-
## 📦 Installation
33-
34-
- **Supported OS**: Charming.py 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**.
35-
- **Python**: 3.6/3.7/3.8
36-
37-
```bash
38-
$ pip3 install charming --user
39-
```
40-
41-
## 📺 A Simple Example
42-
43-
```python
44-
'''rect.py'''
45-
import charming as cm
46-
47-
# draw a rect
48-
cm.full_screen()
49-
cm.rect(0, 0, 10, 10)
50-
51-
# run the sketch
52-
cm.run()
53-
```
54-
55-
```bash
56-
$ python3 rect.py
57-
```
58-
59-
![get started](https://raw.githubusercontent.com/gh2hq/public-files/master/get_started.png)
60-
61-
## 🛸 Future work
62-
63-
- Using Rust as backend to run in browser and support multiple OS, using both JavaScript and Python as frontend.
64-
- Add more API to be more expressive.
65-
- Build a community and online playground like OpenProcessing.
66-
67-
## 💳 License
68-
69-
Charming.py is [LGPL-2.1 License](./LICENSE).
3+
The creative coding language for ASCII art and poetic form.

0 commit comments

Comments
 (0)