Skip to main content

Terminal fractal viewer

Project description

https://github.com/Tenchi2xh/Almonds/raw/master/misc/logo/logo.png



https://img.shields.io/pypi/v/almonds.svg https://img.shields.io/codacy/3b8d442e099546ec838aa44a2f9a5d23.svg https://img.shields.io/travis/Tenchi2xh/Almonds.svg https://img.shields.io/badge/tag-1.25b-blue.svg

Features

  • Fully fledged Mandelbrot viewer, in your terminal

  • Now compatible with the native Windows console!

  • Julia sets

  • Homemade terminal UI

  • 8 color ANSI mode with dithering

  • 256 color mode

  • Parallelized using multiprocessing

  • Multiple palettes, adaptive mode

  • Save and load capabilities

  • Available in standalone, source compatible with Python 2 & 3

  • Infinite fun from the comfort of your terminal

Running

Using PIP

Just run:

$ pip install almonds
$ almonds

On non-Cygwin Windows, you will still have to install the unofficial curses module (see “From source” below)

From source

Clone the repo:

$ git clone https://github.com/Tenchi2xh/Almonds.git
$ cd Almonds

On OS X, Linux and Cygwin:

$ pip install Pillow
$ python -m almonds.main

(For Cygwin, mintty or babun are recommended)

On Windows, download the curses module from the Unofficial Windows Binaries for Python Extension Packages (a curses implementation for Windows based on PDCurses), then run:

> pip install curses‑2.2‑cp27‑none‑win32.whl
> pip install Pillow
> python -m almonds.main

The font Envy Code R is highly recommended. If your terminal emulator supports it, try to reduce the line spacing so that the box drawing characters touch. When using another font, the appearance of the fractal may seem squashed because the width to height ratio of the character are different; try to adjust it using the argument --ratio (see “Usage” below).

Using PyPy will make the hi-res captures faster, but the terminal navigation slower.

Usage

                ██
          ██  ██████  ██   .d8b.  db                              db
            ██████████    d8' `8b 88 .88b  d88. .d88b. .888b  .d8888 .d8888
      ██  ██████████████  88ooo88 88 88  88  88 8P  Y8 88  88 88  88 `8bo.
  ████████████████████    88   88 88 88  88  88 8b  d8 88  88 88  8D   `Y8b
      ██  ██████████████  YP   YP YP YP  YP  YP `Y88P' VP  VP Y888D' `8888Y
            ██████████
          ██  ██████  ██    T e r m i n a l   f r a c t a l   v i e w e r
                ██

usage: almonds [-h] [-p N] [-r RATIO | -d W H] [-z] [save]

version 1.20b

positional arguments:
  save                          path of a save to load

optional arguments:
  -h, --help                    show this help message and exit
  -p N, --processes N           number of concurrent processes
  -r RATIO, --char-ratio RATIO  width to height ratio of the terminal characters
  -d W H, --dimensions W H      width and height of the terminal characters
  -z, --qwertz                  swap the "z" and "y" keys

Controls

Keys

Action

, , ,

Move around

C, V

Adjust move speed

Input manual coordinates

Y, U

Zoom / Un-zoom

I, O

Increase / Decrase number of iterations

J

Enter / Leave Julia set

P

Next palette

D

Color mode (256 colors / 8 colors ANSI / 8 colors ASCII)

R

Reverse palette order

A

Palette mode (Normal / Adaptive)

Z

Launch palette cycling animation

H

Capture current view in a high-resolution PNG file

X

Show / Hide crosshairs

T

Toggle UI theme (Dark / Light)

S

Save all current settings and view

L

Load a previous save

ESC, CTRL``+``C

Exit

Screenshots & Renders

See on the GitHub Project Page

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

almonds-1.25b.tar.gz (21.4 kB view details)

Uploaded Source

File details

Details for the file almonds-1.25b.tar.gz.

File metadata

  • Download URL: almonds-1.25b.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for almonds-1.25b.tar.gz
Algorithm Hash digest
SHA256 a470c9c89bada915c625e01f6e2c2d4cd8a0a7e12a60ef5ecab0a0099a76848c
MD5 5ffeae028599d4beb021f61e2dcb348d
BLAKE2b-256 9b054cfb03f904685477fc9f619df57f356f31a51843624d65beda3192cb3fba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page