faker-graphics
Provider for Faker to generate placeholder images with cairo.
- Includes a random color generator forked from the Python port of randomColor.js
- Provides a simple CLI to generate image files or just colors in the terminal
- Generated images show size, aspect ratio and a simple geometry
Installation
$ pip install faker-graphics
Usage with Faker and/or Factory-Boy
Register the provider with Faker
The faker-graphics provider will reuse Faker's random instance.
from faker import Faker
from faker_graphics import Provider
fake = Faker()
fake.add_provider(Provider)
Alternatively register the provider with Faker via Factory-Boy
import factory
from faker_graphics import Provider
factory.Faker.add_provider(Provider)
Using the "placeholder_image" fake
After registration the "placeholder_image" fake is available. It returns a PNG image as bytes.
from faker import Faker
fake = Faker()
data = fake.placeholder_image()
assert data[:6] == b'\x89PNG\r\n'
placeholder_image() accepts the following optional arguments:
width: image size in pixels, default: 256height: image size in pixels, default: 256hue: influence the color randomizer, e.g. a hue name like "green", "blue", "pink" (seefgr colormapcommand below) or a number in a 360° spectrum, default:Noneresults in random colorluminosity: "random", "bright", "dark", "light", default:Luminosity.light
Usage with Factory-Boy/Django
import factory
class ModelWithImageFactory(factory.django.DjangoModelFactory):
class Meta:
model = 'models.ModelWithImage'
image = factory.django.FileField(
filename='mock_image.png',
data=factory.Faker(
'placeholder_image',
width=640,
height=320,
hue='green',
luminosity='dark',
),
)
CLI Usage
The CLI provides sub commands for various tasks.
$ fgr --help
Usage: fgr [OPTIONS] COMMAND [ARGS]...
faker_graphics commandline interface.
Options:
-v, --verbose Increase verbosity.
--help Show this message and exit.
Commands:
color Show random colors in your terminal.
colormap Show colormap used by random color generator as JSON.
image Generate a placeholder image with random hue.
All subcommands provide their own --help messages!
Generate an image via CLI
Create image files or write to stdout using - as OUTPUT.
$ fgr image sample.png green --size 640 320 --luminosity dark
Show colormap
The colormap command returns the whole colormap as JSON; you could use jq to extract the known hue names.
$ fgr colormap | jq "keys_unsorted"
[
"monochrome",
"grey",
"red",
"orange",
"yellow",
"green",
"cyan",
"blue",
"purple",
"magenta",
"pink"
]
Generate random colors
Generate one or multiple random colors. Colors are returned as HSV/B values and shown as background color if your terminal supports it.
$ fgr color pink --count 3 --luminosity light --sorted
hsv(328, 30, 98) rgb(249, 174, 214) #f9aed6
hsv(334, 55, 97) rgb(247, 111, 170) #f76faa
hsv(344, 26, 100) rgb(255, 188, 206) #ffbcce
Release files for faker-graphics 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| faker_graphics-0.3.0.tar.gz | 12.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| faker_graphics-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.1 kB
Release files / faker_graphics-0.3.0.tar.gz
| Download URL | faker_graphics-0.3.0.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e966ffe373ee81f98d137de96050eedc957f5316e226d19edc4787c05e2dec4e
|
|
BLAKE2b-256 checksum How to use checksums |
946d7a8f74d2ce8262d60e4abe6114cadefbd4cdce0b82aae53c6bbf6d4783b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Release files / faker_graphics-0.3.0-py3-none-any.whl
| Download URL | faker_graphics-0.3.0-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba33ca38654739ec51558fae3a20901fa149e9fc110a31147de2b02e84450f4e
|
|
BLAKE2b-256 checksum How to use checksums |
7f2638b9310ec3abe76475d72ff758cf3070a4c9e5b62e3d574fd08bb74c75ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|