fake.py
Minimalistic, standalone alternative fake data generator with no dependencies.
Overview
fake.py
is a standalone and portable library that allows you to generate
various types of random data for testing and other purposes. The package
provides a simplified, dependency-free alternative for generating random
words, sentences, paragraphs, file names, URLs, person names, as well as
bytes content for PDF
-, DOCX
- and various image formats (such as
PNG
, SVG
, BMP
and GIF
). It also can create files directly
on your filesystem.
Requirements
Python 3.8+
Installation
pip
pip install fake.py
Download and copy
fake.py
is the sole, self-contained module of the package. It includes
tests too. If it’s more convenient to you, you could simply download the
fake.py
module and include it in your repository.
Since tests are included, it won’t have a negative impact on your test coverage (you might need to apply tweaks to your coverage configuration).
Usage
Imports and initialization
from fake import Faker
FAKER = Faker()
first_name
Returns a random first name.
FAKER.first_name()
last_name
Returns a random last name.
FAKER.last_name()
name
Returns a random full name.
FAKER.name()
word
Returns a random word.
FAKER.word()
words
Returns a list of nb
random words.
FAKER.words()
Arguments:
nb
(type:int
, default value:5
) is an optional argument.
sentence
Returns a random sentence with nb_words
number of words.
FAKER.sentence()
Arguments:
nb_words
(type:int
, default value:5
) is an optional argument.
sentences
Returns nb
number of random sentences.
FAKER.sentences()
Arguments:
nb
(type:int
, default value:3
) is an optional argument.
paragraph
Returns a random paragraph with nb_sentences
number of sentences.
FAKER.paragraph()
Arguments:
nb_sentences
(type:int
, default value:5
) is an optional argument.
paragraphs
Returns nb
number of random paragraphs.
FAKER.paragraphs()
Arguments:
nb
(type:int
, default value:3
) is an optional argument.
text
Returns random text with up to nb_chars
characters.
FAKER.text()
Arguments:
nb_chars
(type:int
, default value:200
) is an optional argument.
texts
Returns nb
number of random texts.
FAKER.texts()
Arguments:
nb
(type:int
, default value:3
) is an optional argument.
file_name
Returns a random file name with the given extension.
FAKER.file_name()
Arguments:
extension
(type:str
, default value:txt
) is an optional argument.
Returns a random email with the specified domain.
FAKER.email()
Arguments:
domain
(type:str
, default value:example.com
) is an optional argument.
url
Returns a random URL.
FAKER.url()
Arguments:
protocols
(type:Optional[Tuple[str]]
, default value:None
) is an optional argument.tlds
(type:Optional[Tuple[str]]
, default value:None
) is an optional argument.suffixes
(type:Optional[Tuple[str]]
, default value:None
) is an optional argument.
pyint
Returns a random integer between min_value
and max_value
.
FAKER.pyint()
Arguments:
min_value
(type:int
, default value:0
) is an optional argument.max_value
(type:int
, default value:9999
) is an optional argument.
pybool
Returns a random boolean value.
FAKER.pybool()
pystr
Returns a random string of nb_chars
length.
FAKER.pystr()
Arguments:
nb_chars
(type:int
, default value:20
) is an optional argument.
pyfloat
Returns a random float between min_value
and max_value
.
FAKER.pyfloat()
Arguments:
min_value
(type:float
, default value:0.0
) is an optional argument.max_value
(type:float
, default value:10.00
) is an optional argument.
ipv4
Returns a random IPv4 address.
FAKER.ipv4()
date_between
Generates a random date between start_date
and end_date
.
FAKER.date_between(start_date="-1d", end_date="+1d")
Arguments:
start_date
(type:str
) is a required argument.end_date
(type:str
, default value:+0d
) is an optional argument.
date_time_between
Generates a random datetime between start_date
and end_date
.
FAKER.date_time_between(start_date="-1d", end_date="+1d")
Arguments:
start_date
(type:str
) is a required argument.end_date
(type:str
, default value:+0d
) is an optional argument.
Generates a content (bytes
) of a PDF document.
FAKER.pdf()
Arguments:
nb_pages
(type:int
, default value:1
) is an optional argument.texts
(type:List[str]
, default value:None
) is an optional argument.generator
(type:Union[Type[TextPdfGenerator], Type[GraphicPdfGenerator]]
, default value:GraphicPdfGenerator
) is an optional argument.
Note
texts
is valid only in case TextPdfGenerator
is used.
Note
Either nb_pages
or texts
shall be provided. nb_pages
is by
default set to 1
, but if texts
is given, the value of nb_pages
is adjusted accordingly.
image
Generates a content (bytes
) of a image of the specified format and colour.
FAKER.image() # Supported formats are `png`, `svg`, `bmp` and `gif`
Arguments:
image_format
(type:str
, default value:png
) is an optional argument.size
(type:Tuple[int, int]
, default value:(100, 100)
) is an optional argument.color
(type:Tuple[int, int, int]
, default value:(0, 0, 255)
) is an optional argument.
docx
Generates a content (bytes
) of a DOCX document.
FAKER.docx()
Arguments:
nb_pages
(type:int
, default value:1
) is an optional argument.texts
(type:List[str]
, default value:None
) is an optional argument.
Note
Either nb_pages
or texts
shall be provided. nb_pages
is by
default set to 1
, but if texts
is given, the value of nb_pages
is adjusted accordingly.
pdf_file
Generates a PDF
file.
FAKER.pdf_file()
Arguments:
Note
Accepts all arguments of pdf
+ the following:
storage
(type:BaseStorage
, default value:None
) is an optional argument.basename
(type:str
, default value:None
) is an optional argument.prefix
(type:str
, default value:None
) is an optional argument.
png_file
Generates a PNG
file.
FAKER.png_file()
Arguments:
Note
Accepts all arguments of png
+ the following:
storage
(type:BaseStorage
, default value:None
) is an optional argument.basename
(type:str
, default value:None
) is an optional argument.prefix
(type:str
, default value:None
) is an optional argument.
svg_file
Generates an SVG
file.
FAKER.svg_file()
Arguments:
Note
Accepts all arguments of svg
+ the following:
storage
(type:BaseStorage
, default value:None
) is an optional argument.basename
(type:str
, default value:None
) is an optional argument.prefix
(type:str
, default value:None
) is an optional argument.
bmp_file
Generates a BMP
file.
FAKER.bmp_file()
Arguments:
Note
Accepts all arguments of bmp
+ the following:
storage
(type:BaseStorage
, default value:None
) is an optional argument.basename
(type:str
, default value:None
) is an optional argument.prefix
(type:str
, default value:None
) is an optional argument.
gif_file
Generates a GIF
file.
FAKER.gif_file()
Arguments:
Note
Accepts all arguments of gif
+ the following:
storage
(type:BaseStorage
, default value:None
) is an optional argument.basename
(type:str
, default value:None
) is an optional argument.prefix
(type:str
, default value:None
) is an optional argument.
txt_file
Generates a TXT
file.
FAKER.txt_file()
Arguments:
Note
Accepts all arguments of text
+ the following:
storage
(type:BaseStorage
, default value:None
) is an optional argument.basename
(type:str
, default value:None
) is an optional argument.prefix
(type:str
, default value:None
) is an optional argument.
Tests
Run the tests with unittest:
python -m unittest
Or pytest:
pytest
Differences with Faker
fake.py
is modeled after the famous Faker package. Its’ API is highly
compatible, although drastically reduced. It’s not multilingual and does not
support postal codes or that many RAW file formats. However, you could easily
include it in your production setup without worrying about yet another
dependency.
License
MIT
Project documentation
Contents:
- fake.py
- Release history and notes
- Package
- fake module
AuthorshipData
DocxGenerator
Faker
Faker.bmp()
Faker.bmp_file()
Faker.date_between()
Faker.date_time_between()
Faker.docx()
Faker.docx_file()
Faker.email()
Faker.file_name()
Faker.first_name()
Faker.gif()
Faker.gif_file()
Faker.image()
Faker.ipv4()
Faker.last_name()
Faker.name()
Faker.paragraph()
Faker.paragraphs()
Faker.pdf()
Faker.pdf_file()
Faker.png()
Faker.png_file()
Faker.pybool()
Faker.pyfloat()
Faker.pyint()
Faker.pystr()
Faker.sentence()
Faker.sentences()
Faker.svg()
Faker.svg_file()
Faker.text()
Faker.texts()
Faker.txt_file()
Faker.url()
Faker.word()
Faker.words()
GraphicPdfGenerator
TextPdfGenerator
- fake module
- Indices and tables