This library currently implements the generation of following fractals:
- Newton Fractal
- For Newton Fractal, this library can currently be used only for polynomial functions with real powers.
FractPy relies on sympy
, numpy
, and matplotlib
- all part of the standard scientific Python stack so is easy to install on all operating systems.
The recommended way to install fractpy
is using Python Package index (PyPi), to install use the following command:
$ python -m pip install fractpy
Here is an example of generating Newton Fractal for :
from fractpy.models import NewtonFractal
model = NewtonFractal("x**8 - 4x**3 + x**2 - 6")
p = model.plot(-2, 2, -2, 2, (1000, 1000))
p.show()
The above code will generate the following plot:
Full documentation is available here: https://fractpy.readthedocs.io/
After forking and cloning the forked repository on your computer, change the directory to fractpy and create a virtual environment:
$ cd fractpy
$ python -m venv env
Activate the virtual environment and install tox:
$ . env/bin/activate
$ python -m pip install tox
Make the required changes and then run the tests using tox (Make sure to run the tests before opening a PR):
$ python -m tox -e dev
To build the documentation first install flit, which will help in installing the build requirements:
$ python -m pip installl flit
$ python -m flit install --symlink
Then:
$ cd docs
$ make html
Docs will be built in docs/_build directory.
All contributions are welcome, whether it be adding new methods of generating fractals, writing documentation, or fixing embarrassing bugs!
In the interest of fostering an open and welcoming environment, all contributors, maintainers and users are expected to abide by the Python code of conduct: https://www.python.org/psf/codeofconduct/
For more information or to ask questions about FractPy join our Slack Channel.
FractPy is fully open source. For more information about its license, see LICENSE.
Thanks goes to these wonderful people (emoji key):
Amarjit Singh Gaba 💻 🐛 📖 🎨 💡 🤔 🚇 🚧 📦 💬 👀 |
imal552 🤔 📓 |
antholmane 🤔 📓 |
ksp2192 🤔 📓 |
This project follows the all-contributors specification. Contributions of any kind welcome!