Skip to main content

Simplify database population with dummy data

Project description

GitHub top language Travis (.org) Codacy Badge Maintainability PyPI download month PyPI download week PyPI download day

dammy

Populate your database with dummy data

Table of contents

Introduction

dammy is a powerful and simple tool to populate your database with dummy data with a few lines of code.

Features

  • Great simplicity
  • A set of prebuilt objects (Person names, country names, car manufacturers and models, random dates...)
  • The possibility to expand the previous library
  • Generate datasets and export them to SQL

Example

If you wanted to generate 1000 random people, just define what a person looks like and dammy will handle the rest

from dammy import DammyEntity
from dammy.stdlib import RandomName, RandomString, RandomDateTime, RandomInteger, CountryName

class Person(DammyEntity):
    first_name = RandomName()
    password = RandomString(5)
    birthday = RandomDateTime(start=datetime(1980, 1, 1), end=datetime(2000, 12, 31), date_format='%d/%m/%Y')
    favorite_number = RandomInteger(0, 10)
    age = datetime.now() - birthday
    country = CountryName()

# Generate 1000 random people
for i in range(0, 1000):
    print(Person())

It also supports relationships between tables

from dammy import DammyEntity
from dammy.db import AutoIncrement, PrimaryKey, ForeignKey
from dammy.stdlib import RandomName, RandomString, RandomDateTime, RandomInteger, CountryName

# Define what a person looks like
class Person(DammyEntity):
    identifier = PrimaryKey(AutoIncrement())
    first_name = RandomName()
    password = RandomString(5)
    birthday = RandomDateTime(start=datetime(1980, 1, 1), end=datetime(2000, 12, 31), date_format='%d/%m/%Y')
    favorite_number = RandomInteger(0, 10)
    age = datetime.now() - birthday
    country = CountryName()

# Define what a car looks like
class Car(DammyEntity):
    identifier = PrimaryKey(AutoIncrement())
    manufacturer_name = CarBrand())
    model = CarModel(car_brand=manufacturer_name)
    owner = ForeignKey(Person, 'identifier')

And data can be exported to SQL

from dammy import DatasetGenerator

# Generate a dataset with 20000 cars and 94234 people
dataset = DatasetGenerator((Car, 20000), (Person, 94234))
dataset.get_sql(save_to='cars_with_owners.sql')

Installation

To install the latest release of dammy pip run

pip install dammy

Release history

  • 0.1.1
    • Can get attributes of entities
    • Can call methods on entities
    • Ability to perform operations added
    • Code improved
    • Docstrings added
  • 0.0.3
    • Fixed import bug in stdlib
  • 0.0.1
    • First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dammy, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size dammy-0.1.1-py3-none-any.whl (32.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size dammy-0.1.1.tar.gz (10.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page