mimesis

Mimesis is fast and extremely easy to use Python package, which helps generate big volumes of fake data for a variety of purposes in a variety of languages.

Github星跟蹤圖

Mimesis - Fake Data Generator
-----------------------------, .. image:: https://raw.githubusercontent.com/lk-geimfari/mimesis/master/media/readme-logo.png
:target: https://github.com/lk-geimfari/mimesis, Description

.. image:: https://travis-ci.org/lk-geimfari/mimesis.svg?branch=master
:target: https://travis-ci.org/lk-geimfari/mimesis
:alt: Travis CI

.. image:: https://readthedocs.org/projects/mimesis/badge/?version=latest
:target: https://mimesis.name/
:alt: Documentation Status

.. image:: https://codecov.io/gh/lk-geimfari/mimesis/branch/master/graph/badge.svg
:target: https://codecov.io/gh/lk-geimfari/mimesis
:alt: Code Coverage

.. image:: https://badge.fury.io/py/mimesis.svg
:target: https://badge.fury.io/py/mimesis
:alt: Package version

.. image:: https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8-brightgreen.svg
:target: https://badge.fury.io/py/mimesis
:alt: 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:

.. code:: text

[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 <https://mimesis.name/api.html#person>_,
which represents data related to personal information, such as name, surname, email and etc:

.. code:: python

>>> 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_.

.. _documentation: https://mimesis.name/getting_started.html#providers

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:

.. code:: python

>>> 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'

.. _locales: https://mimesis.name/getting_started.html#locales

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 <https://mimesis.name/api.html>_ 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:

.. code:: python

>>> 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:

.. code:: text

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

See Schema and Fields <https://mimesis.name/getting_started.html#schema-and-fields>_ for more info.

Documentation

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

It is divided into several sections:

  • Foreword_
  • Getting Started_
  • Tips and Tricks_
  • API Reference_
  • Contributing_
  • Changelog_

You can improve it by sending pull requests to this repository.

.. _Read the Docs: https://mimesis.name
.. _Foreword: https://mimesis.name/foreword.html
.. _Getting Started: https://mimesis.name/getting_started.html
.. _Tips and Tricks: https://mimesis.name/tips.html
.. _API Reference: https://mimesis.name/api.html
.. _Contributing: https://mimesis.name/contributing.html
.. _Changelog: https://mimesis.name/changelog.html

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.

.. _contributing guidelines: https://github.com/lk-geimfari/mimesis/blob/master/CONTRIBUTING.rst
.. _contributors: https://github.com/lk-geimfari/mimesis/blob/master/CONTRIBUTORS.rst

License

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

.. _LICENSE: https://github.com/lk-geimfari/mimesis/blob/master/LICENSE

主要指標

概覽
名稱與所有者lk-geimfari/mimesis
主編程語言Python
編程語言Python (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2016-09-09 21:41:22
推送於2025-03-26 10:03:28
最后一次提交2025-02-06 20:06:20
發布數75
最新版本名稱v18.0.0 (發布於 2024-09-14 01:16:46)
第一版名稱v0.1.6 (發布於 )
用户参与
星數4.5k
關注者數59
派生數338
提交數2.7k
已啟用問題?
問題數361
打開的問題數15
拉請求數708
打開的拉請求數11
關閉的拉請求數534
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?