Gnofract4d
A fractal generation program for linux
Install / Use
/learn @fract4d/Gnofract4dREADME
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/gnofract4d
Examples, screenshots etc are at https://fract4d.github.io/gnofract4d
Basic Installation
Run:
meson setup --prefix ~/.local/ _build
meson compile -C _build
You can then run Gnofract 4D in the local directory:
./gnofract4d
Alternatively to install Gnofract 4D type:
meson install -C _build
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.9 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:
- Meson and Ninja
- A C++ compiler
- headers for libpng and libjpeg
- Python headers
- glib-compile-resources and optionally xmllint
- pkg-config
On Debian/Ubuntu, these can be installed with:
sudo apt install build-essential libglib2.0-dev-bin libjpeg-dev libpng-dev libpython3-dev libxml2-utils meson pkg-config
If FFmpeg is installed it will be possible to create videos.
On macOS, you can install the dependencies using brew:
brew install librsvg meson 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.py
Optionally, install tox and test with all supported Python versions by running: tox
On 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 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:
- Make sure you're starting from a git clone not a source .zip - you need the files under manual/content
- 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 - Install hugo
- Ubuntu 18.04 has an older version. Run
snap install hugo --channel=extendedinstead ofapt install hugo - For macOS you can install with
brew install hugo
- Ubuntu 18.04 has an older version. Run
- Run
./createdocs.py
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
