{"id":3549,"library":"mimesis","title":"Mimesis: Fake Data Generator","description":"Mimesis is a powerful and fast fake data generator for Python. It provides data for a variety of purposes, including populating databases, creating test data, and anonymizing existing datasets. As of version 19.1.0, it supports numerous locales and data types. The library maintains an active development pace, with regular minor and major releases introducing new features, locales, and performance improvements, often on a monthly or bi-monthly cadence.","status":"active","version":"19.1.0","language":"en","source_language":"en","source_url":"https://github.com/lk-geimfari/mimesis","tags":["fake data","generator","testing","development","data generation","anonymization"],"install":[{"cmd":"pip install mimesis","lang":"bash","label":"Install stable version"}],"dependencies":[{"reason":"Mimesis requires Python 3.10 or newer.","package":"python","optional":false}],"imports":[{"symbol":"Generic","correct":"from mimesis import Generic"},{"symbol":"Person","correct":"from mimesis import Person"},{"symbol":"Locale","correct":"from mimesis.enums import Locale"},{"note":"Since v15.0.0, mimesis-factory was integrated directly into Mimesis. Use MimesisBaseFactory or similar classes from mimesis.builtins.","wrong":"from mimesis_factory import Factory","symbol":"Factory","correct":"from mimesis.builtins import MimesisBaseFactory"}],"quickstart":{"code":"from mimesis import Generic\nfrom mimesis.enums import Locale\n\n# Initialize with a specific locale\ngenerator = Generic(locale=Locale.EN)\n\n# Generate some fake data\nname = generator.person.full_name()\nemail = generator.person.email()\naddress = generator.address.full_address()\ncompany = generator.business.company()\n\nprint(f\"Name: {name}\")\nprint(f\"Email: {email}\")\nprint(f\"Address: {address}\")\nprint(f\"Company: {company}\")\n\n# Example with a specific provider\nperson_provider = Person(Locale.RU)\nprint(f\"Russian Phone: {person_provider.phone_number()}\")","lang":"python","description":"This quickstart demonstrates how to initialize a `Generic` data generator with a specific locale and generate various types of fake data. It also shows direct initialization of a specific provider like `Person`."},"warnings":[{"fix":"Instead of relying on the internal plugin, users should create project-specific fixtures and utilize the `Field` class for data generation within their tests.","message":"The internal pytest plugin was removed from Mimesis.","severity":"breaking","affected_versions":">=19.0.0"},{"fix":"If you were using `mimesis-factory`, you should now import factory-related functionalities directly from `mimesis` (e.g., `from mimesis.builtins import MimesisBaseFactory`) and adapt your code accordingly.","message":"The `mimesis-factory` library was integrated directly into Mimesis, changing import paths and usage patterns for factory-based data generation.","severity":"breaking","affected_versions":">=15.0.0"},{"fix":"For generating random integers that previously `age()` or `work_experience()` might have provided, use `person.random.randint(min_value, max_value)` instead.","message":"The methods `Person.age()` and `Person.work_experience()` were removed.","severity":"breaking","affected_versions":">=13.1.0"},{"fix":"If your previous code relied on the cryptographically secure randomness provided by `secrets` for the `Cryptographic` provider, be aware that this has changed. Ensure your usage aligns with the new seedable random behavior, especially for security-sensitive applications or when reproducible results are needed.","message":"The `Cryptographic` provider now uses a seedable random number generator instead of Python's `secrets` module.","severity":"gotcha","affected_versions":">=19.0.0"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}