API¶
This part of the documentation covers all the public interfaces of Mimesis.
Random module¶
- class mimesis.random.Random(x=None)[source]¶
A custom random class.
It is a subclass of the
random.Random
class from the standard library’s random module. The class incorporates additional custom methods.This class can be extended according to specific requirements.
- generate_string_by_mask(mask='@###', char='@', digit='#')[source]¶
Generate custom code using ascii uppercase and random integers.
Keys module¶
The module mimesis.keys provides a set of key functions.
Key functions can be applied to fields and fieldsets using the key argument. These functions are applied after the field’s value is generated and before the field is returned to the caller.
- mimesis.keys.maybe(value, probability=0.5)[source]¶
Return a closure (a key function).
The returned closure itself returns either value or the first argument passed to closure with a certain probability (0.5 by default).
Builtin Data Providers¶
BrazilSpecProvider¶
DenmarkSpecProvider¶
NetherlandsSpecProvider¶
RussiaSpecProvider¶
- class mimesis.builtins.RussiaSpecProvider(seed=<mimesis.types._MissingSeed object>)[source]¶
Class that provides special data for Russia (ru).
- passport_number()[source]¶
Generate random passport number.
- Return type:
- Returns:
Number.
- Example:
560430
UkraineSpecProvider¶
USASpecProvider¶
PolandSpecProvider¶
Shortcuts¶
This module provides internal util functions.
Custom Exceptions¶
Custom exceptions which are used in Mimesis.
- exception mimesis.exceptions.AliasesTypeError[source]¶
Raised when the aliases attribute is set to a format other than a flat dictionary.
- exception mimesis.exceptions.FieldArityError[source]¶
Raised when registering field handler has incompatible arity.
- exception mimesis.exceptions.FieldNameError(name=None)[source]¶
Raised when a field name is invalid.
Base Providers¶
BaseProvider¶
- class mimesis.providers.BaseProvider(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
This is a base class for all providers.
- Attr:
random: An instance of
mimesis.random.Random
.- Attr:
seed: Seed for random.
- __init__(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
Initialize attributes.
Keep in mind that locale-independent data providers will work only with keyword-only arguments.
BaseDataProvider¶
- class mimesis.providers.BaseDataProvider(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>, *args, **kwargs)[source]¶
This is a base class for all data providers.
- __init__(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>, *args, **kwargs)[source]¶
Initialize attributes for data providers.
- get_current_locale()[source]¶
Returns current locale.
If locale is not defined, then this method will always return
en
, becauseen
is default locale for all providers, excluding builtins.- Return type:
- Returns:
Current locale.
Generic Providers¶
Generic¶
- class mimesis.Generic(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>)[source]¶
Class which contain all providers at one.
- __init__(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>)[source]¶
Initialize attributes lazily.
- add_provider(cls, **kwargs)[source]¶
Adds a custom provider to a Generic() object.
- Parameters:
cls (
Type
[BaseProvider
]) – Custom provider.kwargs (
Any
) – Keyword arguments for provider.
- Raises:
TypeError – if cls is Generic, if cls is not class or is not a subclass of BaseProvider.
- Return type:
- Returns:
Absolutely none.
- add_providers(*providers)[source]¶
Adds multiple custom providers to a Generic() object.
This method is a convenience method for adding multiple providers at once. It is equivalent to calling
add_provider()
for each provider in the list of providers.Example:
>>> from mimesis import Generic >>> from myproviders import ProviderA, ProviderB >>> g = Generic() >>> g.add_providers(ProviderA, ProviderB) >>> g.providera.never() >>> g.providerb.gonna()
If you want to pass keyword arguments to the providers, you can do so by using
add_provider()
instead.- Parameters:
providers (
Type
[BaseProvider
]) – Custom providers.- Return type:
- Returns:
None
Locale-Dependent Providers¶
Address¶
- class mimesis.Address(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>, *args, **kwargs)[source]¶
Class for generate fake address data.
This object provides all the data related to geographical location.
- calling_code()[source]¶
Generates a random calling code of random country.
- Return type:
- Returns:
Calling code.
- country_code(code=CountryCode.A2)[source]¶
Generates a random code of country.
Default format is
A2
(ISO 3166-1-alpha2), you can change it by passing parameterfmt
.- Parameters:
code (
Optional
[CountryCode
]) – Country code.- Return type:
- Returns:
Country code in selected format.
- Raises:
KeyError – if fmt is not supported.
- country_emoji_flag()[source]¶
Generates a randomly chosen country emoji flag.
- Example:
🇹🇷
- Return type:
- Returns:
Flag emoji.
- default_country()[source]¶
Returns the country associated with the current locale.
- Return type:
- Returns:
The country associated with current locale.
- federal_subject(*args, **kwargs)[source]¶
Generates a random federal_subject (Russia).
An alias for
state()
.- Return type:
- isd_code()[source]¶
Generates a random ISD code.
An alias for
calling_code()
.- Return type:
- postal_code()[source]¶
Generates a postal code for current locale.
- Return type:
- Returns:
Postal code.
- prefecture(*args, **kwargs)[source]¶
Generates a random prefecture.
An alias for
state()
.- Return type:
- zip_code()[source]¶
Generates a zip code.
An alias for
postal_code()
.- Return type:
- Returns:
Zip code.
Finance¶
- class mimesis.Finance(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>, *args, **kwargs)[source]¶
Class to generate finance and business related data.
- cryptocurrency_iso_code()[source]¶
Generates a random cryptocurrency ISO code.
- Return type:
- Returns:
Symbol of cryptocurrency.
- cryptocurrency_symbol()[source]¶
Get a cryptocurrency symbol.
- Return type:
- Returns:
Symbol of cryptocurrency.
- currency_symbol()[source]¶
Returns a currency symbol for current locale.
- Return type:
- Returns:
Currency symbol.
Datetime¶
- class mimesis.Datetime(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>, *args, **kwargs)[source]¶
Class for generating data related to the date and time.
- static bulk_create_datetimes(date_start, date_end, **kwargs)[source]¶
Bulk create datetime objects.
This method creates a list of datetime objects from
date_start
todate_end
.You can use the following keyword arguments:
days
hours
minutes
seconds
microseconds
Warning
Empty
**kwargs
produces timedelta(0) which obviously cannot be used as step, so you have to pass valid**kwargs
fordatetime.timedelta
which will be used as a step by whichdate_start
will be incremented until it reachesdate_end
to avoid infinite loop which eventually leads toOverflowError
.See
datetime.timedelta
for more details.- Parameters:
date_start (
datetime
) – Begin of the range.date_end (
datetime
) – End of the range.kwargs (
Any
) – Keyword arguments fordatetime.timedelta
- Return type:
- Returns:
List of datetime objects
- Raises:
ValueError: When
date_start
/date_end
not passed, whendate_start
larger thandate_end
or when the given keywords for datetime.timedelta represent a non-positive timedelta.
- day_of_month()[source]¶
Generates a random day of the month, from 1 to 31.
- Return type:
- Returns:
Random value from 1 to 31.
- duration(min_duration=1, max_duration=10, duration_unit=DurationUnit.MINUTES)[source]¶
Generate a random duration.
The default duration unit is Duration.MINUTES.
When the duration unit is None, then random duration from DurationUnit is chosen.
A timedelta object represents a duration, the difference between two datetime or date instances.
- Parameters:
min_duration (
int
) – Minimum duration.max_duration (
int
) – Maximum duration.duration_unit (
Optional
[DurationUnit
]) – Duration unit.
- Return type:
- Returns:
Duration as timedelta.
- formatted_datetime(fmt='', **kwargs)[source]¶
Generates datetime string in human-readable format.
- Parameters:
fmt (
str
) – Custom format (default is format for current locale)kwargs (
Any
) – Keyword arguments fordatetime()
- Return type:
- Returns:
Formatted datetime string.
- timestamp(fmt=TimestampFormat.POSIX, **kwargs)[source]¶
Generates a random timestamp in given format.
Supported formats are:
TimestampFormat.POSIX
TimestampFormat.RFC_3339
TimestampFormat.ISO_8601
Example:
>>> from mimesis import Datetime >>> from mimesis.enums import TimestampFormat >>> dt = Datetime() >>> dt.timestamp(fmt=TimestampFormat.POSIX) 1697322442 >>> dt.timestamp(fmt=TimestampFormat.RFC_3339) '2023-12-08T18:46:34' >>> dt.timestamp(fmt=TimestampFormat.ISO_8601) '2009-05-30T21:45:57.328600'
- Parameters:
fmt (
TimestampFormat
) – Format of timestamp (Default is TimestampFormat.POSIX).kwargs (
Any
) – Kwargs fordatetime()
.
- Return type:
- Returns:
Timestamp.
- timezone(region=None)[source]¶
Generates a random timezone.
- Parameters:
region (
Optional
[TimezoneRegion
]) – Timezone region.- Return type:
- Returns:
Timezone.
Food¶
- class mimesis.Food(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>, *args, **kwargs)[source]¶
Class for generating data related to food.
- dish()[source]¶
Generates a random dish name.
- Return type:
- Returns:
Dish name.
- Example:
Ratatouille.
- fruit()[source]¶
Generates a random fruit or berry name.
- Return type:
- Returns:
Fruit name.
- Example:
Banana.
Person¶
- class mimesis.Person(*args, **kwargs)[source]¶
Class for generating personal data.
- __init__(*args, **kwargs)[source]¶
Initialize attributes.
- Parameters:
locale – Current locale.
seed – Seed.
- academic_degree()[source]¶
Generates a random academic degree.
- Return type:
- Returns:
Degree.
- Example:
Bachelor.
- birthdate(min_year=1980, max_year=2023)[source]¶
Generates a random birthdate as a
datetime.date
object.
- blood_type()[source]¶
Generates a random blood type.
- Return type:
- Returns:
Blood type (blood group).
- Example:
A+
- email(domains=None, unique=False)[source]¶
Generates a random email.
- Parameters:
- Return type:
- Returns:
Email address.
- Raises:
ValueError – if «unique» is True and the provider was seeded.
- Example:
- gender_code()[source]¶
Generate a random ISO/IEC 5218 gender code.
Generate a random title of gender code for the representation of human sexes is an international standard that defines a representation of human sexes through a language-neutral single-digit code or symbol of gender.
Codes for the representation of human sexes is an international standard (0 - not known, 1 - male, 2 - female, 9 - not applicable).
- Return type:
- Returns:
- identifier(mask='##-##/##')[source]¶
Generates a random identifier by mask.
With this method, you can generate any identifiers that you need by specifying the mask.
- language()[source]¶
Generates a random language name.
- Return type:
- Returns:
Random language.
- Example:
Irish.
- occupation()[source]¶
Generates a random job.
- Return type:
- Returns:
The name of job.
- Example:
Programmer.
- political_views()[source]¶
Get a random political views.
- Return type:
- Returns:
Political views.
- Example:
Liberal.
- telephone(*args, **kwargs)[source]¶
An alias for
phone_number()
.- Return type:
- title(gender=None, title_type=None)[source]¶
Generates a random title for name.
You can generate a random prefix or suffix for name using this method.
- university()[source]¶
Generates a random university name.
- Return type:
- Returns:
University name.
- Example:
MIT.
- username(mask=None, drange=(1800, 2100))[source]¶
Generates a username by mask.
Masks allow you to generate a variety of usernames.
C stands for capitalized username.
U stands for uppercase username.
l stands for lowercase username.
d stands for digits in the username.
You can also use symbols to separate the different parts of the username: . _ -
- Parameters:
- Raises:
ValueError – If template is not supported.
- Return type:
- Returns:
Username as string.
- Example:
>>> username(mask='C_C_d') Cotte_Article_1923 >>> username(mask='U.l.d') ELKINS.wolverine.2013 >>> username(mask='l_l_d', drange=(1900, 2021)) plasmic_blockader_1907
Text¶
- class mimesis.Text(*args, **kwargs)[source]¶
Class for generating text data.
- answer()[source]¶
Generates a random answer in the current language.
- Return type:
- Returns:
An answer.
- Example:
No
- emoji(category=EmojyCategory.DEFAULT)[source]¶
Generates a random emoji from the specified category.
Generates a random emoji from the specified category. If the category is not specified, a random emoji from any category will be returned.
- Parameters:
category (
Optional
[EmojyCategory
]) –EmojyCategory
.- Raises:
NonEnumerableError – When category is not supported.
- Return type:
- Returns:
Emoji code.
- Example:
😟
- level()[source]¶
Generates a word that indicates a level of something.
- Return type:
- Returns:
Level.
- Example:
critical.
- quote()[source]¶
Generates a random quote.
- Return type:
- Returns:
Random quote.
- Example:
“Bond… James Bond.”
Locale-Independent Providers¶
BinaryFile¶
- class mimesis.BinaryFile(*args, **kwargs)[source]¶
Class for generating binary data
- __init__(*args, **kwargs)[source]¶
Initialize attributes.
- Parameters:
locale – Current locale.
seed – Seed.
- audio(*, file_type=AudioFile.MP3)[source]¶
Generates an audio file of given format and returns it as bytes.
Note
This method accepts keyword-only arguments.
- compressed(*, file_type=CompressedFile.ZIP)[source]¶
Generates a compressed file of given format and returns it as bytes.
Note
This method accepts keyword-only arguments.
- Parameters:
file_type (
CompressedFile
) – File extension.- Return type:
- Returns:
File as a sequence of bytes.
- document(*, file_type=DocumentFile.PDF)[source]¶
Generates a document of given format and returns it as bytes.
Note
This method accepts keyword-only arguments.
- Parameters:
file_type (
DocumentFile
) – File extension.- Return type:
- Returns:
File as a sequence of bytes.
Code¶
- class mimesis.Code(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
A class, which provides methods for generating codes.
- ean(fmt=None)[source]¶
Generates EAN.
To change an EAN format, pass parameter
code
with needed value of the enum objectEANFormat
.- Parameters:
- Return type:
- Returns:
EAN.
- Raises:
NonEnumerableError – if code is not enum EANFormat.
- isbn(fmt=None, locale=Locale.EN)[source]¶
Generates ISBN for current locale.
To change ISBN format, pass parameter
code
with needed value of the enum objectISBNFormat
- Parameters:
fmt (
Optional
[ISBNFormat
]) – ISBN format.locale (
Locale
) – Locale code.
- Return type:
- Returns:
ISBN.
- Raises:
NonEnumerableError – if code is not enum ISBNFormat.
Choice¶
Cryptographic¶
- class mimesis.Cryptographic(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
Class that provides cryptographic data.
- hash(algorithm=None)[source]¶
Generates random hash.
To change hashing algorithm, pass parameter
algorithm
with needed value of the enum objectAlgorithm
Warning
Seed is not applicable to this method, because of its cryptographic-safe nature.
- Parameters:
- Return type:
- Returns:
Hash.
- Raises:
NonEnumerableError – When algorithm is unsupported.
- mnemonic_phrase()[source]¶
Generates BIP-39 looking mnemonic phrase.
- Return type:
- Returns:
Mnemonic phrase.
- static token_bytes(entropy=32)[source]¶
Generates byte string containing
entropy
bytes.The string has
entropy
random bytes, each byte converted to two hex digits.Warning
Seed is not applicable to this method, because of its cryptographic-safe nature.
- static token_hex(entropy=32)[source]¶
Generates a random text string, in hexadecimal.
The string has entropy random bytes, each byte converted to two hex digits. If entropy is
None
or not supplied, a reasonable default is used.Warning
Seed is not applicable to this method, because of its cryptographic-safe nature.
Development¶
- class mimesis.Development(*args, **kwargs)[source]¶
Class for getting fake data for Developers.
- __init__(*args, **kwargs)[source]¶
Initialize attributes.
Keep in mind that locale-independent data providers will work only with keyword-only arguments.
- Parameters:
seed – Seed for random. When set to None the current system time is used.
random – Custom random. See https://github.com/lk-geimfari/mimesis/issues/1313 for details.
- calver()[source]¶
Generates a random calendar versioning string.
- Return type:
- Returns:
Calendar versioning string.
- Example:
2016.11.08
- ility()[source]¶
Generates a random system quality attribute.
An alias for
system_quality_attribute()
.- Return type:
- os()[source]¶
Generates a random operating system or distributive name.
- Return type:
- Returns:
The name of OS.
- Example:
Gentoo
- programming_language()[source]¶
Generates a random programming language from the list.
- Return type:
- Returns:
Programming language.
- Example:
Erlang.
- software_license()[source]¶
Generates a random software license.
- Return type:
- Returns:
License name.
- Example:
The BSD 3-Clause License.
- stage()[source]¶
Generates a random stage of development.
- Return type:
- Returns:
Release stage.
- Example:
Alpha.
- system_quality_attribute()[source]¶
Generates a random system quality attribute.
Within systems engineering, quality attributes are realized non-functional requirements used to evaluate the performance of a system. These are sometimes named “ilities” after the suffix many of the words share.
- Return type:
- Returns:
System quality attribute.
File¶
- class mimesis.File(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
Class for generate data related to files.
Hardware¶
- class mimesis.Hardware(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
Class for generate data related to hardware.
- cpu()[source]¶
Generates a random CPU name.
- Return type:
- Returns:
CPU name.
- Example:
Intel® Core i7.
- cpu_codename()[source]¶
Generates a random CPU code name.
- Return type:
- Returns:
CPU code name.
- Example:
Cannonlake.
- cpu_frequency()[source]¶
Generates a random frequency of CPU.
- Return type:
- Returns:
Frequency of CPU.
- Example:
4.0 GHz.
- generation()[source]¶
Generates a random generation.
- Return type:
- Returns:
Generation of something.
- Example:
6th Generation.
- graphics()[source]¶
Generates a random graphics card name.
- Return type:
- Returns:
Graphics.
- Example:
Intel® Iris™ Pro Graphics 6200.
- manufacturer()[source]¶
Generates a random manufacturer of hardware.
- Return type:
- Returns:
Manufacturer.
- Example:
Dell.
- phone_model()[source]¶
Generates a random phone model.
- Return type:
- Returns:
Phone model.
- Example:
Nokia Lumia 920.
- resolution()[source]¶
Generates a random screen resolution.
- Return type:
- Returns:
Resolution of screen.
- Example:
1280x720.
Internet¶
- class mimesis.Internet(*args, **kwargs)[source]¶
Class for generating data related to the internet.
- asn()[source]¶
Generates a random 4-byte ASN.
ASNs reserved for private use are not considered.
- Return type:
- Returns:
ASN number as a string.
- Example:
AS123456
- content_type(mime_type=None)[source]¶
Generates a random HTTP content type.
- Return type:
- Returns:
Content type.
- Example:
application/json
- http_method()[source]¶
Generates a random HTTP method.
- Return type:
- Returns:
HTTP method.
- Example:
POST
- http_request_headers()[source]¶
Generates a random HTTP request headers.
The following headers are included:
Referer
Authorization
Cookie
User-Agent
X-CSRF-Token
Content-Type
Content-Length
Connection
Cache-Control
Accept
Host
Accept-Language
- http_response_headers()[source]¶
Generates a random HTTP response headers.
The following headers are included:
Allow
Age
Server
Content-Type
X-Request-ID
Content-Language
Content-Location
Set-Cookie
Upgrade-Insecure-Requests
X-Content-Type-Options
X-XSS-Protection
Connection
X-Frame-Options
Content-Encoding
Cross-Origin-Opener-Policy
Cross-Origin-Resource-Policy
Strict-Transport-Security
- http_status_code()[source]¶
Generates a random HTTP status code.
- Return type:
- Returns:
HTTP status.
- Example:
200
- http_status_message()[source]¶
Generates a random HTTP status message.
- Return type:
- Returns:
HTTP status message.
- Example:
200 OK
- ip_v4_object()[source]¶
Generates a random
ipaddress.IPv4Address
object.If you only need special purpose IPv4 addresses, use
special_ip_v4_object()
.- Return type:
- Returns:
ipaddress.IPv4Address
object.
- ip_v6()[source]¶
Generates a random IPv6 address as string.
- Return type:
- Returns:
IPv6 address string.
- Example:
2001:c244:cf9d:1fb1:c56d:f52c:8a04:94f3
- ip_v6_object()[source]¶
Generates random
ipaddress.IPv6Address
object.- Return type:
- Returns:
ipaddress.IPv6Address
object.
- mac_address()[source]¶
Generates a random MAC address.
- Return type:
- Returns:
Random MAC address.
- Example:
00:16:3e:25:e7:f1
- port(port_range=PortRange.ALL)[source]¶
Generates a random port.
- Parameters:
port_range (
PortRange
) – PortRange enum object.- Return type:
- Returns:
Port number.
- Raises:
NonEnumerableError – if port_range is not in PortRange.
- Example:
8080
- special_ip_v4(purpose=None)[source]¶
Generates a special purpose IPv4 address as string.
- Parameters:
purpose (
Optional
[IPv4Purpose
]) – Enum objectenums.IPv4Purpose
.- Return type:
- Returns:
IPv4 address as string.
- special_ip_v4_object(purpose=None)[source]¶
Generates a special purpose IPv4 address.
- Parameters:
purpose (
Optional
[IPv4Purpose
]) – Enum objectenums.IPv4Purpose
.- Return type:
- Returns:
IPv4 address.
- Raises:
NonEnumerableError – if purpose not in
enums.IPv4Purpose
.
- static stock_image_url(width=1920, height=1080, keywords=None)[source]¶
Generates a random stock image URL hosted on Unsplash.
See «Random search term» on https://source.unsplash.com/ for more details.
- tld(*args, **kwargs)[source]¶
Generates a random TLD.
An alias for
top_level_domain()
- Return type:
- top_level_domain(tld_type=TLDType.CCTLD)[source]¶
Generates random top level domain.
- Parameters:
tld_type (
TLDType
) – Enum objectenums.TLDType
- Return type:
- Returns:
Top level domain.
- Raises:
NonEnumerableError – if tld_type not in
enums.TLDType
.
- uri(scheme=URLScheme.HTTPS, tld_type=None, subdomains=None, query_params_count=None)[source]¶
Generates a random URI.
Numeric¶
- class mimesis.Numeric(*args, **kwargs)[source]¶
A provider for generating numeric data.
- __init__(*args, **kwargs)[source]¶
Initialize attributes.
Keep in mind that locale-independent data providers will work only with keyword-only arguments.
- Parameters:
seed – Seed for random. When set to None the current system time is used.
random – Custom random. See https://github.com/lk-geimfari/mimesis/issues/1313 for details.
- complex_number(start_real=0.0, end_real=1.0, start_imag=0.0, end_imag=1.0, precision_real=15, precision_imag=15)[source]¶
Generates a random complex number.
- Parameters:
start_real (
float
) – Start real range.end_real (
float
) – End real range.start_imag (
float
) – Start imaginary range.end_imag (
float
) – End imaginary range.precision_real (
int
) – Round a real part of number to a given precision.precision_imag (
int
) – Round the imaginary part of number to a given precision.
- Return type:
- Returns:
Complex numbers.
- complexes(start_real=0, end_real=1, start_imag=0, end_imag=1, precision_real=15, precision_imag=15, n=10)[source]¶
Generates a list of random complex numbers.
- Parameters:
start_real (
float
) – Start real range.end_real (
float
) – End real range.start_imag (
float
) – Start imaginary range.end_imag (
float
) – End imaginary range.precision_real (
int
) – Round a real part of number to a given precision.precision_imag (
int
) – Round the imaginary part of number to a given precision.n (
int
) – Length of the list.
- Return type:
- Returns:
A list of random complex numbers.
- decimal_number(start=-1000.0, end=1000.0)[source]¶
Generates a random decimal number.
- Parameters:
- Return type:
- Returns:
decimal.Decimal
object.
- float_number(start=-1000.0, end=1000.0, precision=15)[source]¶
Generates a random float number in range [start, end].
- increment(accumulator=None)[source]¶
Generates an incrementing number.
Each call of this method returns an incrementing number (with the step of +1).
If accumulator passed then increments number associated with it.
- Example:
>>> self.increment() 1 >>> self.increment(accumulator="a") 1 >>> self.increment() 2 >>> self.increment(accumulator="a") 2 >>> self.increment(accumulator="b") 1 >>> self.increment(accumulator="a") 3
Path¶
- class mimesis.Path(platform='linux', *args, **kwargs)[source]¶
Class that provides methods and property for generate paths.
- __init__(platform='linux', *args, **kwargs)[source]¶
Initialize attributes.
Supported platforms: ‘linux’, ‘darwin’, ‘win32’, ‘win64’, ‘freebsd’.
- Parameters:
platform (
str
) – Required platform type.
- dev_dir()[source]¶
Generates a random path to development directory.
- Return type:
- Returns:
Path.
- Example:
/home/sherrell/Development/Python
- project_dir()[source]¶
Generates a random path to project directory.
- Return type:
- Returns:
Path to project.
- Example:
/home/sherika/Development/Falcon/mercenary
Payment¶
- class mimesis.Payment(*args, **kwargs)[source]¶
Class that provides data related to payments.
- bitcoin_address()[source]¶
Generates a random bitcoin address.
Keep in mind that although it generates valid-looking addresses, it does not mean that they are actually valid.
- Return type:
- Returns:
Bitcoin address.
- Example:
3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX
- credit_card_expiration_date(minimum=16, maximum=25)[source]¶
Generates a random expiration date for credit card.
- credit_card_network()[source]¶
Generates a random credit card network.
- Return type:
- Returns:
Credit card network
- Example:
MasterCard
- credit_card_number(card_type=None)[source]¶
Generates a random credit card number.
- Parameters:
card_type (
Optional
[CardType
]) – Issuing Network. Default is Visa.- Return type:
- Returns:
Credit card number.
- Raises:
NotImplementedError – if card_type not supported.
- Example:
4455 5299 1152 2450
- ethereum_address()[source]¶
Generates a random Ethereum address.
..note: The address will look like Ethereum address, but keep in mind that it is not the valid address.
- Return type:
- Returns:
Ethereum address.
- Example:
0xe8ece9e6ff7dba52d4c07d37418036a89af9698d
Transport¶
- class mimesis.Transport(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
Class for generating data related to transports.
- airplane()[source]¶
Generates a random airplane model name.
- Return type:
- Returns:
Airplane model.
- Example:
Boeing 727.
- car()[source]¶
Generates a random vehicle name.
- Return type:
- Returns:
A vehicle.
- Example:
Tesla Model S.
Science¶
- class mimesis.Science(*, seed=<mimesis.types._MissingSeed object>, random=None)[source]¶
Class for generating pseudo-scientific data.
- measure_unit(name=None, symbol=False)[source]¶
Returns unit name from the International System of Units.
- Parameters:
name (
Optional
[MeasureUnit
]) – Enum object UnitName.symbol (
bool
) – Return only symbol
- Return type:
- Returns:
Unit.
- metric_prefix(sign=None, symbol=False)[source]¶
Generates a random prefix for the International System of Units.
- Parameters:
sign (
Optional
[MetricPrefixSign
]) – Sing of prefix (positive/negative).symbol (
bool
) – Return the symbol of the prefix.
- Return type:
- Returns:
Metric prefix for SI measure units.
- Raises:
NonEnumerableError – if sign is not supported.
- Example:
mega
Schema-based Generators¶
BaseField¶
- class mimesis.schema.BaseField(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>)[source]¶
- __init__(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>)[source]¶
Base class for fields.
- get_random_instance()[source]¶
Get a random object from Generic.
- Return type:
- Returns:
Random object.
- handle(field_name=None)[source]¶
Decorator for registering a custom field handler.
You can use this decorator only for functions, not for any other callables.
New in version 12.0.0.
- perform(name=None, key=None, **kwargs)[source]¶
Performs the value of the field by its name.
It takes any string that represents the name of any method of any supported data provider and the
**kwargs
of this method.Note
Some data providers have methods with the same names, and in such cases, you can explicitly define that the method belongs to data-provider
field(name='provider.name')
otherwise it will return the data from the first provider which has a methodname
.Allowed delimiters:
.
,:
,/
and space:provider.name
provider:name
provider/name
provider name
You can apply a key function to the result returned by the method, by passing a parameter key with a callable object which returns the final result.
The key function has the option to accept two parameters: result and random. In case you require access to a random instance within the key function, you must modify the function to accept both of them, where the first corresponds to the method result and the second corresponds to the instance of random.
- Parameters:
- Return type:
- Returns:
The result of method.
- Raises:
ValueError – if provider is not supported or if field is not defined.
- unregister_all_handlers()[source]¶
Unregister all custom field handlers.
- Return type:
- Returns:
None.
Field¶
- class mimesis.schema.Field(locale=Locale.EN, seed=<mimesis.types._MissingSeed object>)[source]¶
Greedy field (evaluates immediately).
Warning
There is no case when you need to instance field in loops.
If you are doing this:
>>> for i in range(1000): ... field = Field()
You’re doing it wrong! It is a terrible idea that will lead to a memory leak.
Forewarned is forearmed.
Here is an example of how to use it:
>>> _ = Field() >>> _('username') Dogtag_1836
Fieldset¶
- class mimesis.schema.Fieldset(*args, **kwargs)[source]¶
Greedy fieldset (evaluates immediately).
Works like a field, but returns a list of values.
Here is an example:
>>> fieldset = Fieldset(i=100) >>> fieldset('username') ['pot_1821', 'vhs_1915', ..., 'reviewed_1849']
You may also specify the number of iterations by passing the i keyword argument to the callable instance of fieldset:
>>> fieldset = Fieldset() >>> fieldset('username', i=2) ['pot_1821', 'vhs_1915']
When i is not specified, the reasonable default is used — 10.
See “Field vs Fieldset” section of documentation for more details.
- Variables:
fieldset_default_iterations – Default iterations. Default is 10.
fieldset_iterations_kwarg – Keyword argument for iterations. Default is i.
Schema¶
- class mimesis.schema.Schema(schema, iterations=10)[source]¶
Class which return list of filled schemas.
- create()[source]¶
Creates a list of a fulfilled schemas.
Note
This method evaluates immediately, so be careful when creating large datasets otherwise you’re risking running out of memory.
If you need a lazy version of this method, see
iterator()
.
- to_csv(file_path, **kwargs)[source]¶
Export a schema as a CSV file.
- Parameters:
file_path (
str
) – The file path.kwargs (
Any
) – The keyword arguments forcsv.DictWriter
class.
- Return type:
- to_json(file_path, **kwargs)[source]¶
Export a schema as a JSON file.
- Parameters:
file_path (
str
) – File a path.kwargs (
Any
) – Extra keyword arguments forjson.dump()
class.
- Return type:
Enums¶
Implements enums for a lot of methods.
Enums from this module are used in a lot of methods. You should always import enums from this module if you want behavior for the methods that differ from the default behavior.
You should never use your own enums in methods because in this case, there is no guarantee that you will get the result which you actually expected.
Below, you can see an example of usage enums in methods of data providers.
- class mimesis.enums.Algorithm(value)[source]¶
Provides algorithms which available.
An argument for
hash()
.- BLAKE2B = 'blake2b'¶
- BLAKE2S = 'blake2s'¶
- MD5 = 'md5'¶
- SHA1 = 'sha1'¶
- SHA224 = 'sha224'¶
- SHA256 = 'sha256'¶
- SHA384 = 'sha384'¶
- SHA512 = 'sha512'¶
- class mimesis.enums.AudioFile(value)[source]¶
Provides the audio file types.
An argument for
audio()
- AAC = 'aac'¶
- MP3 = 'mp3'¶
- class mimesis.enums.CardType(value)[source]¶
Provides credit card types.
An argument for
credit_card_number()
.- AMERICAN_EXPRESS = 'American Express'¶
- MASTER_CARD = 'MasterCard'¶
- VISA = 'Visa'¶
- class mimesis.enums.CompressedFile(value)[source]¶
Provides the compressed file types.
An argument for
compressed()
- GZIP = 'gz'¶
- ZIP = 'zip'¶
- class mimesis.enums.CountryCode(value)[source]¶
Provides types of country codes.
An argument for
country_code()
.- A2 = 'a2'¶
- A3 = 'a3'¶
- FIFA = 'fifa'¶
- IOC = 'ioc'¶
- NUMERIC = 'numeric'¶
- class mimesis.enums.DSNType(value)[source]¶
An enumeration.
- COUCHBASE = ('couchbase', 8092)¶
- MEMCACHED = ('memcached', 11211)¶
- MONGODB = ('mongodb', 27017)¶
- MYSQL = ('mysql', 3306)¶
- POSTGRES = ('postgres', 5432)¶
- RABBITMQ = ('rabbitmq', 5672)¶
- REDIS = ('redis', 6379)¶
- class mimesis.enums.DocumentFile(value)[source]¶
Provides the document file types.
An argument for
document()
- DOCX = 'docx'¶
- PDF = 'pdf'¶
- PPTX = 'pptx'¶
- XLSX = 'xlsx'¶
- class mimesis.enums.DurationUnit(value)[source]¶
Provides duration units.
An argument for
duration()
.- DAYS = 'days'¶
- HOURS = 'hours'¶
- MICROSECONDS = 'microseconds'¶
- MILLISECONDS = 'milliseconds'¶
- MINUTES = 'minutes'¶
- SECONDS = 'seconds'¶
- WEEKS = 'weeks'¶
- class mimesis.enums.EANFormat(value)[source]¶
Provides formats of EAN.
An argument for
ean()
.- EAN13 = 'ean-13'¶
- EAN8 = 'ean-8'¶
- class mimesis.enums.EmojyCategory(value)[source]¶
An enumeration.
- ACTIVITIES = 'activities'¶
- ANIMALS_AND_NATURE = 'animals_and_nature'¶
- DEFAULT = 'smileys_and_emotion'¶
- FLAGS = 'flags'¶
- FOOD_AND_DRINK = 'food_and_drink'¶
- OBJECTS = 'objects'¶
- PEOPLE_AND_BODY = 'people_and_body'¶
- SMILEYS_AND_EMOTION = 'smileys_and_emotion'¶
- SYMBOLS = 'symbols'¶
- TRAVEL_AND_PLACES = 'travel_and_places'¶
- class mimesis.enums.FileType(value)[source]¶
Provides file types.
An argument for
extension()
andfile_name()
.- AUDIO = 'audio'¶
- COMPRESSED = 'compressed'¶
- DATA = 'data'¶
- EXECUTABLE = 'executable'¶
- IMAGE = 'image'¶
- SOURCE = 'source'¶
- TEXT = 'text'¶
- VIDEO = 'video'¶
- class mimesis.enums.Gender(value)[source]¶
Represents genders.
An argument for a lot of methods which are taking parameter
gender
.- FEMALE = 'female'¶
- MALE = 'male'¶
- class mimesis.enums.IPv4Purpose(value)[source]¶
Provides IPv4 address ranges for different purposes.
An argument for
special_ip_v4_object()
.We use integer representation of IP addresses instead of IPv4Network objects for better performance.
- AMT = (3224682752, 3224683007)¶
- AS112_V4 = (3223307264, 3223307519)¶
- BENCHMARKING = (3323068416, 3323199487)¶
- DIRECT_DELEGATION_AS112_SERVICE = (3232706560, 3232706815)¶
- IETF_PROTOCOL_ASSIGNMENTS = (3221225472, 3221225727)¶
- IPV4_DUMMY_ADDRESS = (3221225480, 3221225480)¶
- IPV4_SERVICE_CONTINUITY_PREFIX = (3221225472, 3221225479)¶
- LIMITED_BROADCAST = (4294967295, 4294967295)¶
- LINK_LOCAL = (2851995648, 2852061183)¶
- LOOBACK = (2130706432, 2147483647)¶
- PORT_CONTROL_PROTOCOL_ANYCAST = (3221225481, 3221225481)¶
- PRIVATE_USE_1 = (167772160, 184549375)¶
- PRIVATE_USE_2 = (2886729728, 2887778303)¶
- PRIVATE_USE_3 = (3232235520, 3232301055)¶
- RESERVED = (4026531840, 4294967295)¶
- SHARE_ADDRESS_SPACE = (1681915904, 1686110207)¶
- TEST_NET_1 = (3221225984, 3221226239)¶
- TEST_NET_2 = (3325256704, 3325256959)¶
- TEST_NET_3 = (3405803776, 3405804031)¶
- THIS_NETWORK = (0, 16777215)¶
- TURN_RELAY_ANYCAST = (3221225482, 3221225482)¶
- class mimesis.enums.ISBNFormat(value)[source]¶
Provides formats of ISBN.
An argument for
isbn()
.- ISBN10 = 'isbn-10'¶
- ISBN13 = 'isbn-13'¶
- class mimesis.enums.ImageFile(value)[source]¶
Provides the image file types.
An argument for
image()
- GIF = 'gif'¶
- JPG = 'jpg'¶
- PNG = 'png'¶
- class mimesis.enums.Locale(value)[source]¶
This class provides access to the supported locales from one place.
An argument for all local-depend providers.
- AR_AE = 'ar-ae'¶
- AR_DZ = 'ar-dz'¶
- AR_EG = 'ar-eg'¶
- AR_JO = 'ar-jo'¶
- AR_KW = 'ar-kw'¶
- AR_MA = 'ar-ma'¶
- AR_OM = 'ar-om'¶
- AR_QA = 'ar-qa'¶
- AR_SA = 'ar-sa'¶
- AR_SY = 'ar-sy'¶
- AR_TN = 'ar-tn'¶
- AR_YE = 'ar-ye'¶
- AZ = 'az'¶
- CS = 'cs'¶
- DA = 'da'¶
- DE = 'de'¶
- DEFAULT = 'en'¶
- DE_AT = 'de-at'¶
- DE_CH = 'de-ch'¶
- EL = 'el'¶
- EN = 'en'¶
- EN_AU = 'en-au'¶
- EN_CA = 'en-ca'¶
- EN_GB = 'en-gb'¶
- ES = 'es'¶
- ES_MX = 'es-mx'¶
- ET = 'et'¶
- FA = 'fa'¶
- FI = 'fi'¶
- FR = 'fr'¶
- HR = 'hr'¶
- HU = 'hu'¶
- IS = 'is'¶
- IT = 'it'¶
- JA = 'ja'¶
- KK = 'kk'¶
- KO = 'ko'¶
- NL = 'nl'¶
- NL_BE = 'nl-be'¶
- NO = 'no'¶
- PL = 'pl'¶
- PT = 'pt'¶
- PT_BR = 'pt-br'¶
- RU = 'ru'¶
- SK = 'sk'¶
- SV = 'sv'¶
- TR = 'tr'¶
- UK = 'uk'¶
- ZH = 'zh'¶
- class mimesis.enums.MeasureUnit(value)[source]¶
Provide unit names.
An argument for
measure_unit()
.- AMOUNT_OF_SUBSTANCE = ('mole', 'mol')¶
- ANGLE = ('radian', 'r')¶
- ELECTRICAL_CONDUCTANCE = ('siemens', 'S')¶
- ELECTRIC_CAPACITANCE = ('farad', 'F')¶
- ELECTRIC_CHARGE = ('coulomb', 'C')¶
- ELECTRIC_RESISTANCE = ('ohm', 'Ω')¶
- ENERGY = ('joule', 'J')¶
- FLUX = ('watt', 'W')¶
- FORCE = ('newton', 'N')¶
- FREQUENCY = ('hertz', 'Hz')¶
- INDUCTANCE = ('henry', 'H')¶
- INFORMATION = ('byte', 'b')¶
- MAGNETIC_FLUX = ('weber', 'Wb')¶
- MAGNETIC_FLUX_DENSITY = ('tesla', 'T')¶
- MASS = ('gram', 'gr')¶
- POWER = ('watt', 'W')¶
- PRESSURE = ('pascal', 'P')¶
- RADIOACTIVITY = ('becquerel', 'Bq')¶
- SOLID_ANGLE = ('steradian', '㏛')¶
- TEMPERATURE = ('Celsius', '°C')¶
- THERMODYNAMIC_TEMPERATURE = ('kelvin', 'K')¶
- VOLTAGE = ('volt', 'V')¶
- class mimesis.enums.MetricPrefixSign(value)[source]¶
Provides prefix signs.
An argument for
metric_prefix()`()
.- NEGATIVE = 'negative'¶
- POSITIVE = 'positive'¶
- class mimesis.enums.MimeType(value)[source]¶
Provides common mime types.
An argument for
mime_type()
.- APPLICATION = 'application'¶
- AUDIO = 'audio'¶
- IMAGE = 'image'¶
- MESSAGE = 'message'¶
- TEXT = 'text'¶
- VIDEO = 'video'¶
- class mimesis.enums.NumType(value)[source]¶
Provides the number types.
An argument for
matrix()
.- COMPLEX = 'complexes'¶
- DECIMAL = 'decimals'¶
- FLOAT = 'floats'¶
- INTEGER = 'integers'¶
- class mimesis.enums.PortRange(value)[source]¶
Represents port ranges.
An argument for
port()
.- ALL = (1, 65535)¶
- EPHEMERAL = (49152, 65535)¶
- REGISTERED = (1024, 49151)¶
- WELL_KNOWN = (1, 1023)¶
- class mimesis.enums.TLDType(value)[source]¶
Provides top level domain types.
An argument for a few methods which are taking parameter tld_type.
- CCTLD = 'cctld'¶
- GEOTLD = 'geotld'¶
- GTLD = 'gtld'¶
- STLD = 'stld'¶
- UTLD = 'utld'¶
- class mimesis.enums.TimestampFormat(value)[source]¶
An enumeration.
- ISO_8601 = 2¶
- POSIX = 1¶
- RFC_3339 = 3¶
- class mimesis.enums.TimezoneRegion(value)[source]¶
Provides regions of timezones.
An argument for
timezone()
.- AFRICA = 'Africa'¶
- AMERICA = 'America'¶
- ANTARCTICA = 'Antarctica'¶
- ARCTIC = 'Arctic'¶
- ASIA = 'Asia'¶
- ATLANTIC = 'Atlantic'¶
- AUSTRALIA = 'Australia'¶
- EUROPE = 'Europe'¶
- INDIAN = 'Indian'¶
- PACIFIC = 'Pacific'¶
- class mimesis.enums.TitleType(value)[source]¶
Represents title types.
An argument for
title()
.- ACADEMIC = 'academic'¶
- TYPICAL = 'typical'¶