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/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, 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

Python compatibility

Mimesis is compatible with Python, including PyPy, version 3.8 or higher. The Mimesis 4.1.3 is the last release that accommodates Python 3.6 and 3.7.

To prevent unintended upgrades, it is highly advisable to always specify the version of mimesis that you are using by pinning it.

Supported Features

  • Easy: Mimesis offers a simple design and clear documentation for easy data generation.

  • Multilingual: Mimesis can generate data in multiple languages.

  • Performance: Widely recognized as the fastest data generator among Python solutions.

  • Data variety: Mimesis includes various data providers for names, addresses, phone numbers, email addresses, dates, times, and more, catering to different use cases.

  • Country-specific data providers: Mimesis supports country-specific data providers for generating region-specific data.

  • Extensibility: Developers can extend Mimesis by creating and integrating their own data providers.

  • Generic data provider: Mimesis provides a single object that grants easy access to all available data providers in the library.

  • Zero hard dependencies: Mimesis has no hard dependencies, eliminating the need for additional third-party libraries.

  • Schema-based generators: Mimesis 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'])
'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 presently encompasses 34 distinct locales, enabling users to specify the desired region and language when creating providers.

Here’s how it operates practically:

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

>>> person_de = Person(locale=Locale.DE)
>>> person_en = Person(locale=Locale.EN)

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

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

Providers

Mimesis provides more than twenty data providers which can generate a broad range of data related to food, transportation, computer hardware, people, internet, addresses, and more.

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 creators of Mimesis do not hold themselves accountable for how you employ the library’s functionalities or the data generated with it. Mimesis is designed to facilitate testing and with good intentions. Mimesis should not be used for illicit 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-10.1.0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mimesis-10.1.0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.8.16 Linux/5.15.0-1037-azure

File hashes

Hashes for mimesis-10.1.0.tar.gz
Algorithm Hash digest
SHA256 f69db447bab98169a351fe16d691c973adfaa2a70ebb6650ce46df705f0530e9
MD5 ef33692493a4b84da4ff4cf91164f208
BLAKE2b-256 2149fae5bcad16b292f3d6db318dd1b73c7d7f2a6f6e4d9bfa7c8e72224b6807

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mimesis-10.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.8.16 Linux/5.15.0-1037-azure

File hashes

Hashes for mimesis-10.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13f97f27661774afe3465f139cf77d7a1c1d4d091fc3b1d49c09a45f4661e67a
MD5 08748e8e23d06c965f8456ed3238f7e9
BLAKE2b-256 bf209e63b5d8636cb918910d7e4edbfb115f269c21368a3300d5b2010e35552e

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