Documentation

You can access the basic classes by just importing dammy:

import dammy
But if you want to add more functionality, there are more modules available.
Check the documentation page for each module to see the available classes and

functions.

db this module contains everything database related, allowing you to create primary keys, foreign keys and autoincrement fields
exceptions This module contains all the custom exceptions used by dammy.
functions This module includes some standard functions to be used on dammy objects
stdlib This module contains some basic and common utilities, such as random generation for person names, countries, integers, strings, dates…

The main module

The classes in the main module are listed below.

class dammy.BaseGenerator(sql_equivalent)

The base class from which all generators must inherit.

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generate without posterior treatment. All generators must implement this method. If a generator does not implement this method a NotImplementedError will be raised

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
Raises:NotImplementedError
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.EntityGenerator

The class from which all composite generators must inherit.

Note

All clases inheriting from this class should not have any other methods than the ones listed below, for the sake of consistency.

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Gets all the attributes of the class and generates a new value.

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A dict where every key value pair is an attribute and its value
Raises:dammy.exceptions.DatasetRequiredException
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
to_csv(number, save_to)

Save the specified amount of instances in a csv file

Parameters:
  • number (int) – The number of instances
  • save_to (str) – The path to the file where the instances will be saved
to_json(number, save_to=None, indent=4)

Get the specified amount of instances as a list of json dicts

Parameters:
  • number (int) – The number of instances
  • save_to (str) – The path where the generated json will be saved. If none, it will be returned as a string
Returns:

str containing the generated json if save_to=None, None in other cases

class dammy.FunctionResult(function, obj, *args, **kwargs)

Allows the manipulation of generators by functions

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generate a value and call the function using the generated value as a parameter

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The result of running the generated value through the function
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.AttributeGetter(obj, attr)

Allows getting attribute values from values generated by generators

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generate a value and get the specified attribute

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value of the attribute on the generated object
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.MethodCaller(obj, method, *args, **kwargs)

Allows calling methods of values generated by generators

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generate a value and call the specified method on the generated value

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value returned by the called method
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.OperationResult(a, b, op, sql)

Allows binary operations with regular and Dammy objects and it is returned when any of such operations is performed

class Operator

Enumerated type containing all the available operators

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a value and performs the operation. It will raise a TypeError if the operator is invalid.

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value returned after performing the operation
Raises:TypeError
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError

More modules

In addition to the main module, dammy contains other modules extending the functionalities