Mimesis: fake data generator.

fake, mock, data, populate, database, testing, generate, mimesis, dummy, django, fixtures, generator, json, python, schema, synthetic
pip install mimesis==4.0.0


Mimesis - Fake Data Generator



Travis CI Documentation Status Code Coverage CodeFactor PyPi Version Python version Mimesis on PyPi

Mimesis is a package for Python, which helps generate big volumes of fake data for a variety of purposes in a variety of languages. The fake data could be used to populate a testing database, create JSON and XML files of arbitrary structure, anonymize data taken from production and etc.


To install mimesis, simply use pip:

[venv] ~ ⟩ pip install mimesis


This library is really easy to use and everything you need is just import an object which represents a type of data you need (we call such object Provider).

In example below we import provider Person, which represents data related to personal information, such as name, surname, email and etc:

>>> from mimesis import Person
>>> person = Person('en')

>>> person.full_name()
'Brande Sears'

>>> person.email(domains=['mimesis.name'])

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

More about the other providers you can read in our documentation.


Mimesis currently includes support for 34 different locales. You can specify a locale when creating providers and they will return data that is appropriate for the language or country associated with that locale.

Let's take a look how it works:

>>> from mimesis import Person
>>> from mimesis.enums import Gender

>>> de = Person('de')
>>> en = Person('en')

>>> de.full_name(gender=Gender.FEMALE)
'Sabrina Gutermuth'

>>> en.full_name(gender=Gender.MALE)
'Layne Gallagher'


Mimesis support over twenty different data providers available, which can produce data related to people, food, computer hardware, transportation, addresses, internet and more.

See API Reference for more info.

Generating structured data

You can generate dictionaries which can be easily converted to any format you want (JSON/XML/YAML etc.) with any structure you want.

See Schema and Fields for more info.


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.

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.


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