Table of contents
- Overview
- Installation
- Usage
- Issues & Bug Reports
- Dependencies
- Contribution
- References
- Authors
- License
- Show Your Support
- Changelog
- Code of Conduct
Overview
Samila is a generative art generator written in Python, Samila let's you create arts based on many thousand points. The position of every single point is calculated by a formula, which has random parameters. Because of the random numbers, every image looks different.
Open Hub | |
PyPI Counter | |
Github Stars |
Branch | master | dev |
CI |
Code Quality |
Installation
Source code
- Download Version 0.1 or Latest Source
- Run
pip install -r requirements.txt
orpip3 install -r requirements.txt
(Need root access) - Run
python3 setup.py install
orpython setup.py install
(Need root access)
PyPI
- Check Python Packaging User Guide
- Run
pip install samila==0.1
orpip3 install samila==0.1
(Need root access)
Easy install
- Run
easy_install --upgrade samila
(Need root access)
Usage
Basic
>>> import random
>>> import math
>>> import matplotlib.pyplot as plt
>>> from samila import GenerativeImage
>>> def f1(x,y):
result = random.uniform(-1,1) * x**2 - math.sin(y**2) + abs(y-x)
return result
>>> def f2(x,y):
result = random.uniform(-1,1) * y**3 - math.cos(x**2) + 2*x
return result
>>> g = GenerativeImage(f1,f2)
>>> g.generate()
>>> g.plot()
>>> g.seed
188781
>>> plt.show()
Projection
>>> from samila import Projection
>>> g = GenerativeImage(f1,f2)
>>> g.generate()
>>> g.plot(projection=Projection.POLAR)
>>> g.seed
829730
>>> plt.show()
- Supported projections :
RECTILINEAR
,POLAR
,AITOFF
,HAMMER
,LAMBERT
andMOLLWEIDE
- Default projection is
RECTILINEAR
Range
>>> g = GenerativeImage(f1,f2)
>>> g.generate(start = -2*math.pi,step=0.1,stop=0)
>>> g.plot()
>>> g.seed
234752
>>> plt.show()
Color
>>> g = GenerativeImage(f1,f2)
>>> g.generate()
>>> g.plot(color="yellow",bgcolor="black",projection=Projection.POLAR)
>>> g.seed
1018273
>>> plt.show()
- Supported colors are available in
VALID_COLORS
list color
andbgcolor
parameters support color name and RGB/RGBA formats
Regeneration
>>> g = GenerativeImage(f1,f2)
>>> g.generate(seed=1018273)
>>> g.plot(projection=Projection.POLAR)
>>> plt.show()
NFT.storage
Upload generated image directly to NFT.storage
>>> g.nft_storage(api_key = YOUR_API_KEY)
{'status': True, 'message': 'Everything seems good'}
Issues & bug reports
Just fill an issue and describe it. We'll check it ASAP! or send an email to [email protected].
- Please complete the issue template
Dependencies
master | dev |
References
1-
Show your support
Star this repo
Give a
Donate to our project
If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .
1KtNLEEeUbTEK9PdN6Ya3ZAKXaqoKUuxCy Bitcoin
0xcD4Db18B6664A9662123D4307B074aE968535388 Ethereum
Ldnz5gMcEeV8BAdsyf8FstWDC6uyYR6pgZ Litecoin
DDUnKpFQbBqLpFVZ9DfuVysBdr249HxVDh Doge
TCZxzPZLcJHr2qR3uPUB1tXB6L3FDSSAx7 Tron
rN7ZuRG7HDGHR5nof8nu5LrsbmSB61V1qq Ripple
bnb1zglwcf0ac3d0s2f6ck5kgwvcru4tlctt4p5qef Binance Coin
0xcD4Db18B6664A9662123D4307B074aE968535388 Tether
Xd3Yn2qZJ7VE8nbKw2fS98aLxR5M6WUU3s Dash
Stellar
GALPOLPISRHIYHLQER2TLJRGUSZH52RYDK6C3HIU4PSMNAV65Q36EGNL