Skip to main content

Extensible drift diffusion modeling for Python

Project description

PyDDM - A drift-diffusion model simulator

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/Scipy/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.

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

pyddm-0.1.1.tar.gz (44.5 kB view details)

Uploaded Source

Built Distribution

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

pyddm-0.1.1-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file pyddm-0.1.1.tar.gz.

File metadata

  • Download URL: pyddm-0.1.1.tar.gz
  • Upload date:
  • Size: 44.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyddm-0.1.1.tar.gz
Algorithm Hash digest
SHA256 79277100b72eecca937d769c617d5a46760c1b4f71f6a74db81627db5ae7f684
MD5 32eb9734bbb95de121aa9dd6df2d0e99
BLAKE2b-256 7e89b029a10b707569ecde4488d770a90e1e0207dd2ae6a8197cf74bdf495cee

See more details on using hashes here.

File details

Details for the file pyddm-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyddm-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e802e9ae86480c3b6955b6f58ee03b5a0336fb1e79393e613129841a573deefc
MD5 fc4488d15e595e5a34cdbce4d82767f2
BLAKE2b-256 40d275a4def6d634d2771ee273ee5feb8f7e7569a682474a47a7ecca43f7a0ba

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