Skip to main content

PyDDM - A drift-diffusion model simulator

Build Status

Overview

PyDDM is a simulator and modeling framework for drift-diffusion models (DDM), with a focus on cognitive neuroscience.

Key features include:

  • Models solved numerically using Crank-Nicolson to solve the Fokker-Planck equation (Backward Euler, analytical solutions, and particle simulations also available)
  • Arbitrary functions for drift rate, noise, bounds, and initial position distribution
  • Arbitrary loss function and fitting method for parameter fitting
  • Optional multiprocessor support
  • Optional GUI for debugging and gaining an intuition for different models
  • Convenient and extensible object oriented API allows building models in a component-wise fashion
  • Verified accuracy of simulations using novel program verification techniques

See the documentation, FAQs, or tutorial for more information.

Please note that PyDDM is still beta software so you may experience some glitches or uninformative error messages.

Installation

Normally, you can install with:

$ pip install pyddm

If you are in a shared environment (e.g. a cluster), install with:

$ pip install pyddm --user

If installing from source, download the source code, extract, and do:

$ python3 setup.py install

System requirements

  • Python 3.5 or above
  • Numpy version 1.9.2 or higher
  • Scipy version 0.15.1 or higher
  • Matplotlib
  • Paranoid Scientist
  • Pathos (optional, for multiprocessing support)

Contact

Please report bugs to https://github.com/mwshinn/pyddm/issues. This includes any problems with the documentation. PRs for bugs are greatly appreciated.

Feature requests are currently not being accepted due to limited resources. If you implement a new feature in PyDDM, please do the following before submitting a PR on Github:

  • Make sure your code is clean and well commented
  • If appropriate, update the official documentation in the docs/ directory
  • Ensure there are Paranoid Scientist verification conditions to your code
  • Write unit tests and optionally integration tests for your new feature (runtests.sh)
  • Ensure all existing tests pass

For all other questions or comments, contact maxwell.shinn@yale.edu.

License

All code is available under the MIT license. See LICENSE.txt for more information.

Release files for pyddm 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyddm 0.1.3
File Size Uploaded
pyddm-0.1.3.tar.gz 44.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyddm 0.1.3
File Interpreter ABI Platform
pyddm-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 102.4 kB

Release files / pyddm-0.1.3.tar.gz

Download URL pyddm-0.1.3.tar.gz
Size 44.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a94c5c650dcb4340097a92e4dcc68e9ccadeda10cceb6bcabd0cbbabf1db4ca0
BLAKE2b-256 checksum
How to use checksums
2b1881db62653e4da9a8f14cbebabad95d7a8e49c334a2efecdc425790a672d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.5.2

Release files / pyddm-0.1.3-py3-none-any.whl

Download URL pyddm-0.1.3-py3-none-any.whl
Size 57.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
389101317f0348e69dce71d6c6aea94e30573cbea77fb2d1fccd1fefba4a642c
BLAKE2b-256 checksum
How to use checksums
8e6d7e1d423bb6be32a12675dcef210efe82616ba283ba09c060644bfe6d2d34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.5.2

Release history Release notifications | RSS feed

0.9.0

48 release files

0.8.1

35 release files

0.8.0

35 release files

0.6.1

36 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.3 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page