Skip to main content

PyBonsai procedurally generates ASCII art bonsai trees in your terminal.

Project description

PyBonsai-CLI 🌴

PyBonsai is a Python script that generates procedural ASCII art trees in the comfort of your terminal.

                                                        #
                                                    @%%&#@&
                                    ##%              \&%#%&#%%#@
                       #%@&@#    @%&&:&%%#&         &#@_/&&#@# &
                         &@@%@&  &@&&@@%&@@%        %# @@@@#@&
                  @%  #%#%@@@%  @%#&@@&##@@@#          |% &&@
             %%#&%@#  @#~%&%%#%   @%%&@&# %%#          |
            %#&&      @@%%%#&@&%@ %%|%###&%_=\ %&       |
              #@| &% &@% @# %# & &%#|@  @@ &&@%&&&      ; =__=
              &@###_#@  #   @ & @&/# @     #%@%&@%@    __~#@@ %#&@%%##&&
          &#  %##%_%##%;        & ~ %     %@##% @  @ &@&&@  #  @%#@&#@
        %##&%&#@@\  %## ~\        |        &@  & _____ _|#&&&@#@@##@ #
         @%&#@@#@#\/_#_///___;_=_=\:   %&     /:        ~ &##%#&%%#&&
        @%&@@%%@%@#&&%~/_          \:~\  @    /:          ||#@#&& @
          @@@@#&%&&#&@#&             ==\@&%@ //         &%% %@# %
          ######%#%##%# @              %\\###&         &%&@#   #
            @ %%%%#                    @ \=#:       %#@#=@@#@
             @   %#                       |:|       &# &%&%&
                  #                        |||        #   %#&
                                           ;;;
                                            ::|
                              \.--.__.-._../:||\..__________/
                               \             ~  *.     *   /
                                \_________________________ /
                                                       

Features 🌱

This is a fork of PyBonsai with some additional features.

  • Simple package installation 📦
  • Better CLI experience 💻
  • Infinite mode 🔄
  • Save to text files 📄

About other features read more on PyBonsai.

Installation 🔗

Requirements:

  • Python 3.9 or greater

Recommended

Use pipx to install PyBonsai globally.

pipx install pybonsai

or using uv to install in temporary, isolated environment:

uvx pybonsai

Alternative

Also can be installed using pip:

pip install pybonsai

or build from source:

git clone https://github.com/DaEtoJostka/PyBonsai-CLI.git
cd PyBonsai-CLI
pip install .

Verify the installation by running:

pybonsai --version

Usage 🔧

Run pybonsai --help for usage:

OPTIONS:
    -h, --help            display help
        --version         display version

    -s, --seed            seed for the random number generator

    -i, --instant         instant mode: display finished tree immediately
    -w, --wait            time delay between drawing characters when not in instant mode [default 0]

    -c, --branch-chars    string of chars randomly chosen for branches [default "~;:="]
    -C, --leaf-chars      string of chars randomly chosen for leaves [default "&%#@"]

    -x, --width           maximum width of the tree [default 80]
    -y, --height          maximum height of the tree [default 25]

    -t, --type            tree type: integer between 0 and 3 inclusive [default random]
    -S, --start-len       length of the root branch [default 15]
    -L, --leaf-len        length of each leaf [default 4]
    -l, --layers          number of branch layers: more => more branches [default 8]
    -a, --angle           mean angle of branches to their parent, in degrees; more => more arched trees [default 40]

    -o, --save PATH       save the tree to a text file. If only a filename is provided, it will be saved in a user's Downloads directory.
    -f, --fixed-window    do not allow window height to increase when tree grows off screen
    
    -I, --infinite        run in infinite mode, infinitely growing same tree
    -n, --new             run in infinite mode, automatically growing new trees
    -W, --wait-infinite   time delay between drawing in infinite mode [default 5]

Other options usage examples see examples.md

Like it?

If you like this project, please consider giving it a ⭐️ on GitHub

Also don't forget to check out PyBonsai

Contributing

If you want to contribute to this project, please feel free to submit a pull request.

License

MIT 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

pybonsai-1.2.7.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

pybonsai-1.2.7-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file pybonsai-1.2.7.tar.gz.

File metadata

  • Download URL: pybonsai-1.2.7.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for pybonsai-1.2.7.tar.gz
Algorithm Hash digest
SHA256 a42dd9648a546bef4ce1719ce5f9f29a210c0652ad9e5a5c0a76a8b340f9292a
MD5 7dfef49eb39b1f34dabc0e2079e164b2
BLAKE2b-256 abfbc90b31d8423dfc34993156199f399a762d3d8ff1bec40faf87c7446aa1cd

See more details on using hashes here.

File details

Details for the file pybonsai-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: pybonsai-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for pybonsai-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1f1c0ef8696f781377f5ec5ff798b74049fae19625a41b422f8c91e4e4e74a8f
MD5 2555120d8e4d005f39901df6326f2d30
BLAKE2b-256 b20a26c722bb52b62b8f8ed1a83d8574c01a7b2c9565f4828b01b0fd764e2cc2

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