Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fract4d/gnofract4d
A fractal generation program for linux
https://github.com/fract4d/gnofract4d
Last synced: 3 months ago
JSON representation
A fractal generation program for linux
- Host: GitHub
- URL: https://github.com/fract4d/gnofract4d
- Owner: fract4d
- License: other
- Created: 2015-05-30T17:34:18.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-09-11T18:21:50.000Z (10 months ago)
- Last Synced: 2024-01-16T14:07:50.302Z (5 months ago)
- Language: Python
- Homepage:
- Size: 14.2 MB
- Stars: 112
- Watchers: 19
- Forks: 29
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-stars - gnofract4d - A fractal generation program for linux (Python)
README
About this Program
==================Gnofract 4D is a program for drawing beautiful mathematically-based
images known as fractals. See the manual for more details.The most recent version may be obtained from
https://github.com/fract4d/gnofract4dExamples, screenshots etc are at https://fract4d.github.io/gnofract4d
Basic Installation
==================Run:
./setup.py build
You can then run Gnofract 4D in the local directory:
./gnofract4d
Alternatively to build and install Gnofract 4D type:
pip3 install gnofract4d-4.3.tar.gz
You can then run it by clicking on the desktop icon or typing:
gnofract4d
Requirements
============Gnofract 4D requires these packages to run:
- Python version 3.6 or higher
- GTK version 4.6 or higher
- PyGObject version 3.29.2 or higher to access GTK from Python
- A C compiler (used at runtime to compile your fractal formulas)On Debian/Ubuntu, these can be installed with:
sudo apt install gcc gir1.2-gtk-4.0 python3-gi
To build from source you also need:
- A C++ compiler
- headers for libpng and libjpeg
- Python headers
- glib-compile-resources and optionally xmllint
- pkg-config
- Python setuptools packageOn Debian/Ubuntu, these can be installed with:
sudo apt install build-essential libglib2.0-dev-bin libjpeg-dev libpng-dev libpython3-dev libxml2-utils pkg-config python3-setuptools
If FFmpeg is installed it will be possible to create videos.
On macOS, you can install the dependencies using brew:
brew install librsvg python3 pkg-config gtk4 pygobject3 libpng jpeg
Testing
=======Testing requires pytest for Python 3. In some distributions, 'pytest' is for Python 2. Run
pip3 install pytest
To get the latest.
Run individual tests from the top-level directory using pytest, e.g.:
pytest fract4d/test_absyn.pyOptionally, install tox and test with all supported Python versions by running:
toxOn macOS you might find an error regarding the number of opened files, you can increase the system limit with `ulimit -Sn 10000`
Linting
=======Pylint is being used to detect code that doesn't follow the [PEP8 style](https://www.python.org/dev/peps/pep-0008/) guide and potentially erroneous code in Python.
You can run it in two ways:- Directly (firstly you should install pylint through pip3):
$ pip3 install pylint
$ ./bin/pylint.sh- Using docker (same environment as pipeline):
$ ./docker/bin/run_lint.sh
Generating Documentation
========================You can only regenerate the docs if you clone the Gnofract 4D git repo - the source dist packages contain the generated docs but not the input files for the generation process. To regenerate the docs:
1. Make sure you're starting from a git clone not a source .zip - you need the files under manual/content
2. The documentation theme is managed in a separate repository and embedded in manual/themes/book as a submodule. Initialize and update it with `git submodule update --init`
3. Install hugo
* Ubuntu 18.04 has an older version. Run `snap install hugo --channel=extended` instead of `apt install hugo`
* For macOS you can install with `brew install hugo`
4. Run `./createdocs.py`