Mimesis is a fast and easy to use library for Python, which helps generate synthetic data for a variety of purposes in a variety of languages.
Clone or download


https://travis-ci.org/lk-geimfari/mimesis.svg?branch=master https://ci.appveyor.com/api/projects/status/chj8huslvn6vde18?svg=true https://readthedocs.org/projects/mimesis/badge/?version=latest

Mimesis is a fast and easy to use Python programming library, which helps generate synthetic data for a variety of purposes in a variety of languages. This data can be particularly useful during software development and testing. For example, it could be used to populate a testing database, create beautiful JSON and XML files, anonymize data taken from a production service, etc.

This library offers a number of advantages over other similar libraries:

  • Performance. Significantly faster than other similar libraries.
  • Completeness. Strives to provide many detailed providers that offer a variety of data generators.
  • Simplicity. Does not require any modules other than the Python standard library.


To install mimesis, simply use pip:

[env] ~ ⟩ pip install mimesis

also you can install it manually:

[env] ⟩ git clone git@github.com:lk-geimfari/mimesis.git
[env] ⟩ cd mimesis/
[env] ⟩ make install

Getting started

This library is really easy to use and everyting you need is just import an object which represents 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()
'Antonetta Garrison'

>>> person.occupation()
'Backend Developer'

>>> person.telephone()

>>> person.identifier(mask='####/##-#')

More about the other providers you can read in here.


Mimesis currently includes support for 33 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:

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

>>> de = Person('de')
>>> pl = Person('pl')

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

>>> pl.full_name(gender=Gender.MALE)
'Światosław Tomankiewicz'


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.


The authors assume no responsibility for how you use this library data generated by it. This library is designed only for developers with good intentions. Do not use the data generated with Mimesis for illegal purposes.