Giter VIP home page Giter VIP logo

mimesis's Introduction

Mimesis - Fake Data Generator


https://raw.githubusercontent.com/lk-geimfari/mimesis/master/media/readme-logo.png

Description

Travis CI Documentation Status Code Coverage Package version Python version

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 beautiful JSON and XML files, anonymize data taken from production and etc.

Installation

To install mimesis, simply use pip:

[env] ~ โŸฉ pip install mimesis

Getting started

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()
'Antonetta Garrison'

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

>>> person.telephone()
'1-408-855-5063'

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

Locales

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.

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'

Providers

Mimesis support over twenty different data providers available, which can produce data related to people, food, computer hardware, transportation, addresses, 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.

Just use object Field() as shown below:

>>> from mimesis.schema import Field, Schema
>>> from mimesis.enums import Gender
>>> _ = Field('en')
>>> description = (
...     lambda: {
...         'id': _('uuid'),
...         'name': _('text.word'),
...         'version': _('version', pre_release=True),
...         'timestamp': _('timestamp', posix=False),
...         'owner': {
...             'email': _('person.email', key=str.lower),
...             'token': _('token_hex'),
...             'creator': _('full_name', gender=Gender.FEMALE),
...         },
...     }
... )
>>> schema = Schema(schema=description)
>>> schema.create(iterations=1)

Output:

[
  {
    'id': '7a41f446-57a8-ec17-b9ad-367742251679',
    'name': 'desert',
    'version': '7.3.7-alpha.6',
    'timestamp': '2026-06-06T14:00:52Z',
    'owner': {
      'email': '[email protected]',
      'token': 'acfd799af9b46e5560a51dabace593033171ec81e997905acfc602c93a741735',
      'creator': 'Keena Hendricks'
    }
  }
]

See Schema and Fields for more info.

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.

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.

License

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

mimesis's People

Contributors

lk-geimfari avatar dependabot[bot] avatar sobolevn avatar dependabot-preview[bot] avatar sinecode avatar wikkiewikkie avatar valerievich avatar battleroid avatar pyup-bot avatar jwilk avatar destag avatar aprasanna avatar jorisdevrede avatar jlwt90 avatar uvegla avatar yn-coder avatar marcosvafg avatar jasonwaiting-dev avatar dependabot-support avatar axce1 avatar vlangf avatar duckyou avatar auyer avatar paulwaltersdev avatar mipaaa avatar jackhenry avatar gustavokatel avatar faheel avatar drpoggi avatar tsimpdim avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.