mimesis

18.0.0last stable release 7 months ago
Complexity Score
High
Open Issues
11
Dependent Projects
25
Weekly Downloadsglobal
30,124

License

  • MIT
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

Mimesis: The Fake Data Generator

Documentation: https://mimesis.name/

Mimesis (/mɪˈmiːsɪs) is a robust data generator for Python that can produce a wide range of fake data in various languages.

The key features are:

  • Multilingual: Supports 42 different locales.
  • Extensibility: Supports custom data providers and custom field handlers.
  • Ease of use: Features a simple design and clear documentation for straightforward data generation.
  • Performance: Widely recognized as the fastest data generator among Python solutions.
  • Data variety: Includes various data providers designed for different use cases.
  • Schema-based generators: Offers schema-based data generators to effortlessly produce data of any complexity.
  • Intuitive: Great editor support. Fully typed, thus autocompletion almost everywhere.

Installation

To install mimesis, use pip:

~ pip install mimesis

To work with Mimesis on Python versions 3.8 and 3.9, the final compatible version is Mimesis 11.1.0. Install this specific version to ensure compatibility.

Documentation

You can find the complete documentation on the Read the Docs.

It is divided into several sections:

  • About Mimesis
  • Quickstart
  • Locales
  • Data Providers
  • Structured Data Generation
  • Random and Seed
  • Integration with Pytest
  • Integration with factory_boy
  • API Reference
  • Changelog

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

person.email(domains=['example.com'])
# Output: 'roccelline1878@example.com'

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

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

License

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

Dependencies

CVE IssuesActive
0
Scorecards Score
4.20
Test Coverage
99.00%
Follows Semver
Yes
Github Stars
4,450
Dependenciestotal
2
DependenciesOutdated
1
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No

Learn how to distribute mimesis in your own private PyPI registry

pip install mimesis
Processing...
Done

60 Releases

PyPI on Cloudsmith

Getting started with PyPI on Cloudsmith is fast and easy.