Mimesis is a powerful Python library that empowers developers to generate massive amounts of synthetic data efficiently.

lk-geimfari lk-geimfari Last update: Dec 11, 2023

Mimesis: The Fake Data Generator


https://raw.githubusercontent.com/lk-geimfari/mimesis/master/.github/images/logo.png

Description

Github Actions Test Documentation Status Code Coverage PyPi Version PyPI - Downloads Python version

Mimesis (/mɪˈmiːsɪs) is a robust data generator for Python that can produce a wide range of fake data in various languages. This tool is useful for populating testing databases, creating fake API endpoints, filling pandas DataFrames, generating JSON and XML files with custom structures, and anonymizing production data, among other purposes.

Installation

To install mimesis, simply use pip:

pip install mimesis

Features

  • Multilingual: Supports multiple languages.
  • Extensibility: Supports custom data providers.
  • Easy: Offers a simple design and clear documentation for easy data generation.
  • Performance: Widely recognized as the fastest data generator among Python solutions.
  • Data variety: Includes a variety of data providers designed for different use cases.
  • Schema-based generators: Offers schema-based data generators to effortlessly produce data of any complexity.

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()
'Brande Sears'

>>> person.email(domains=['example.com'])
'[email protected]'

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

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

You can learn more about other providers and locales in our documentation.

How to Contribute

  1. Take a look at contributing guidelines.
  2. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
  3. Fork the repository on GitHub to start making your changes to the your_branch branch.
  4. Add yourself to the list of contributors.
  5. Send a pull request and bug the maintainer until it gets merged and published.

License

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

Subscribe to our newsletter