mimesis

Mimesis is a robust data generator for Python that can produce a wide range of fake data in multiple languages.

4451
336
Python

Mimesis

Mimesis: The Fake Data Generator

Test Coverage Package version Package version Supported Python versions


Documentation: https://mimesis.name/


Mimesis (/mɪˈmiːsɪs) is a robust data generator for
Python that can produce a wide range of fake data in various languages.

The key features are:

  • Multilingual: Supports 46 different locales.
  • Extensibility: Supports custom data providers and custom field handlers.
  • Ease of use: Features a simple design and clear documentation for straightforward data generation.
  • Performance: Widely recognized as the fastest data generator among Python solutions.
  • Data variety: Includes various data providers designed for different use cases.
  • Schema-based generators: Offers schema-based data generators to effortlessly produce data of any complexity.
  • Intuitive: Great editor support. Fully typed, thus autocompletion almost everywhere.

Installation

[!IMPORTANT]
To work with Mimesis on Python versions 3.8 and 3.9, the final compatible version is Mimesis 11.1.0. Install this specific version to ensure compatibility.

To install mimesis, use pip:

~ pip install mimesis

Documentation

You can find the complete documentation on the Read the Docs.

It is divided into several sections:

You can improve it by sending pull requests to this repository.

Usage

The library is exceptionally user-friendly, and it only requires you to import a Data Provider object that
corresponds to the desired data type.

For instance, the Person provider can be imported to access personal information,
including name, surname, email, and other related fields:

from mimesis import Person
from mimesis.locales import Locale

person = Person(Locale.EN)

person.full_name()
# Output: 'Brande Sears'

person.email(domains=['example.com'])
# Output: '[email protected]'

person.email(domains=['mimesis.name'], unique=True)
# Output: '[email protected]'

person.telephone(mask='1-4##-8##-5##3')
# Output: '1-436-896-5213'

License

Mimesis is licensed under the MIT License. See LICENSE for more information.