Skip to main content

A Python library for parsing and simulating dynamical graph models from string descriptions

Project description

GraphModelParser

GraphModelParser is a Python library for representing and simulating dynamical graph models from a string description. The library supports various probability distributions such as normal, poisson, expon, binom, and uniform from the scipy.stats module.

Installation

You can install GraphModelParser from PyPI by running:

pip install graph-model-parser

Usage

from graph_model_parser import GraphModelParser
import numpy as np

# Set seed for reproducibility
np.random.seed(42)

model_description = '''
            a_{t} = a_{t-1} + 1
            b_{t} = b_{t-1} + 2*b_{t-2} + a_0
            c_{t} = c_{t-1} + normal(1, 2)
            '''
# Always enclose the dynamic time index in curly braces e.g. {t-1}  
initial_values = {'a_0': 0, 'a_1': 1, 'b_0': 0, 'b_1': 1, 'c_0': 0}
model = GraphModelParser(model_description, initial_values)
print(model(t=20))

In this example, we define a simple dynamical graph model with three variables (a_{t}, b_{t}, and c_{t}) and their relationships over time. The c_{t} variable is also affected by a random normal distribution with a mean of 1 and a standard deviation of 2.

Features

  • Define dynamical graph models using a simple string-based syntax.
  • Support for various probability distributions from scipy.stats, including normal, poisson, expon, binom, and uniform.
  • Easily compute the values of variables at specific time points.
  • Define initial values for variables and model their evolution over time.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

Project details


Download files

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

Source Distribution

graph-model-parser-0.1.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

graph_model_parser-0.1.4-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file graph-model-parser-0.1.4.tar.gz.

File metadata

  • Download URL: graph-model-parser-0.1.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for graph-model-parser-0.1.4.tar.gz
Algorithm Hash digest
SHA256 82d895f2bc103affe8c23771479ade1f5ae112e314e9eac8de18ee9f159d34a8
MD5 6843d8912b82a5be6ef1a8aa42ad7261
BLAKE2b-256 3ed7c3a948bb438709988aaf023715ab7a3ae9ec56b75ae0139abe57e71ce536

See more details on using hashes here.

File details

Details for the file graph_model_parser-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for graph_model_parser-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7402d5b7f5ebd38ae7a96fa21a26b2150c051beab78e7b610cce3863853865f5
MD5 e7d93802b5c0df0fcf9947eb22a1080b
BLAKE2b-256 4006a3cff12be2591c6aa541f46b8af87f21077a792a8aaa08b4ece818ae84a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page