replicahq / doppelganger

A Python package of tools to support population synthesizers
Apache License 2.0
165 stars 32 forks source link

Doppelganger

A Python package of tools to support population synthesizers. Population synthesizers create make-believe or synthetic households and persons for use in agent-based models, i.e. models or simulations that attempt to represent the behavior of individual actors or "agents".

Merriam Webster's fourth definition of "synthetic": devised, arranged, or fabricated for special situations to imitate or replace usual realities

Test status Coverage Status

Installing

Doppelganger relies on numpy. You can check if you have numpy on your system by running this from your shell:

pip freeze | grep numpy

If you see a result like numpy==[version_number], you're good to go.

If you don't already have numpy running on your system, we strongly recommend you use a version of python with numpy pre-built. We recommend Anaconda but there are several options.

Installing for use

To use simply use the doppelganger package, run

pip install doppelganger

You should now have doppelganger installed.

Installing for development

To develop Doppelganger, once you have numpy set up, clone or download this repository, go to the root directory and run

pip install .[tests]

You should now have the local doppelganger code & testing tools installed.

From the repo root, run the tests to confirm everything is working:

py.test

Examples

The example directory contains a Jupyter Notebook of examples and demonstrations of Doppelganger's features.

Features

Doppelganger has the following two key feature categories that we hope will improve population synthesis in practice:

What's Next?

Doppelganger version 0.1 is the beginning of our work -- a simple demonstration of the potential uses of the key features -- with population synthesizers, not the end. Up next: adding features and improving performance.

Interested in Collaborating?

We'd love to hear from and collaborate with you.

Please communicate with us via GitHub's Issues.

Credits

Doppelganger is inspired by:

Licensing

Apache 2.0 © Sidewalk Labs