Skip to main content

Mimesis: Fake Data Generator.

Project description

Mimesis: The Fake Data Generator


https://raw.githubusercontent.com/lk-geimfari/mimesis/master/.github/images/octopus-no-retina-sm.png

Description

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

Mimesis (/mɪˈmiːsɪs, Ancient Greek: μίμησις, mīmēsis) is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages. The fake data could be used to populate a testing database, create fake API endpoints, create JSON and XML files of arbitrary structure, anonymize data taken from production and etc.

Installation

To install mimesis, simply use pip:

~ ⟩ pip install mimesis

Python compatibility

Mimesis 5.x.x supports Python 3.8, 3.9, and 3.10.

The Mimesis 4.1.3 is the last to support Python 3.6 and 3.7.

Supported Features

  • Easy: Designed to be easy to use and learn.

  • Multilingual: Supports data for a lot of languages.

  • Performance: The fastest data generator available for Python.

  • Data variety: Supports a lot of data providers for a variety of purposes.

  • Country-specific data providers: Provides data specific only for some countries.

  • Extensibility: You can create your own data providers and use them with Mimesis.

  • Generic data provider: The simplified access to all the providers from a single object.

  • Zero hard dependencies: Does not require any modules other than the Python standard library.

  • Schema-based generators: Provides an easy mechanism to generate data by the schema 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

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 a Provider).

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

>>> from mimesis import Person
>>> from mimesis.locales import Locale
>>> person = Person(Locale.EN)

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

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

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

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

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

Locales

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.locales import Locale
>>> from mimesis.enums import Gender

>>> de = Person(locale=Locale.DE)
>>> en = Person(locale=Locale.EN)

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

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

Providers

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

You can generate a lot of extremely detailed data:

>>> from mimesis import Internet
>>> from mimesis.enums import URLScheme
>>> internet = Internet()
>>> internet.hostname()
'blasted.net'
>>> internet.url(
    scheme=URLScheme.WSS,
    port_range=PortRange.WELL_KNOWN,
    tld_type=TLDType.CCTLD,
    subdomains=["api"],
)
'wss://api.system.fr:482/'

See API Reference and Data Providers for more info.

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.

Disclaimer

The authors of Mimesis do not assume any responsibility for how you use it or how you use data generated with it. This library was designed with good intentions to make testing easier. Do not use the data generated with Mimesis for illegal purposes.

License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mimesis-5.2.1.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

mimesis-5.2.1-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

File details

Details for the file mimesis-5.2.1.tar.gz.

File metadata

  • Download URL: mimesis-5.2.1.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1021-azure

File hashes

Hashes for mimesis-5.2.1.tar.gz
Algorithm Hash digest
SHA256 db5c1983c98ff52c9cd27e1232bb7f6005b6231246a300404fd270d0013e317e
MD5 a1d40c181555dd39a9eae90b13ad02b5
BLAKE2b-256 498e921a13aab6762bbe312a6564d0e6c42d56d0131f863baaf3c4c4c43fd6d3

See more details on using hashes here.

File details

Details for the file mimesis-5.2.1-py3-none-any.whl.

File metadata

  • Download URL: mimesis-5.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1021-azure

File hashes

Hashes for mimesis-5.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0bbf19e2884ed9a1edb3bf6a05c5402a8d20f7e14a0f5390a7e2969857fa66b5
MD5 e618beb0d5351bc300c8544715592bf2
BLAKE2b-256 de2a54f8181967bf37c941c7b5008d4e7cd87c51d63b41f20fcf9b1b3946efdc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page