Coder Social home page Coder Social logo

nengo's Introduction

Travis-CI build status Test coverage Requirements Status Latest PyPI version Number of PyPI downloads

Nengo: Large-scale brain modelling in Python

An illustration of the three principles of the NEF

Installation

To install Nengo, use:

pip install nengo

Nengo depends on NumPy. If you have difficulty installing, try installing NumPy first (see below).

Nengo supports Python 2.6, 2.7, and 3.3+.

Developer install

git clone https://github.com/nengo/nengo.git
cd nengo
python setup.py develop --user

If you're using a virtualenv (recommended!) then you can omit the --user flag.

Installing requirements

Nengo's main requirement is Numpy (and optionally Scipy for better performance). Currently, installing Numpy from pip will install an unoptimized (slow) version, so it is preferable to install Numpy using one of the following methods. It is important to install Numpy before installing the other requirements.

Anaconda

Numpy is included as part of the [Anaconda](https://store.continuum.io/cshop/anaconda/) Python distribution. This is a straightforward solution to get Numpy working on Windows, Mac, or Linux.

Ubuntu

On Ubuntu and derivatives (e.g. Linux Mint), Numpy and Scipy can be installed using apt-get:

sudo apt-get install python-numpy python-scipy
From source

Numpy can be installed from source. This is the most complicated method, but is also the most flexible and results in the best performance. See the detailed instructions [here](http://hunseblog.wordpress.com/2014/09/15/installing-numpy-and-openblas/).

Other requirements

To install optional requirements to enable additional features, do

pip install -r requirements.txt
pip install -r requirements-optional.txt

The testing and documentation requirements can be found in similarly named files.

Documentation & Examples

Documentation and examples can be found at https://pythonhosted.org/nengo/.

Running tests

One way to verify that your installation is working correctly is to run the unit tests. We use py.test, so you can run the Nengo unit tests with:

py.test --pyargs nengo

Running individual tests

Tests in a specific test file can be run by calling py.test on that file. For example:

py.test nengo/tests/test_node.py

will run all the tests in test_node.py.

Individual tests can be run using the -k EXPRESSION argument. Only tests that match the given substring expression are run. For example:

py.test nengo/tests/test_node.py -k test_circular

will run any tests with test_circular in the name, in the file test_node.py.

Plotting the results of tests

Many Nengo test routines have the built-in ability to plot test results for easier debugging. To enable this feature, set the --plots flag, for example:

py.test --plots --pyargs nengo

Plots are placed in nengo.simulator.plots in whatever directory py.test is invoked from. You can also set a different directory:

py.test --plots=path-to-plots --pyargs nengo

Contributing

Please read the LICENSE.rst file to understand what becoming a contributor entails. Once you have read and understood the liscence agreement, add yourself to the CONTRIBUTORS.rst file. Note that all pull requests must be commited by someone else other than the original requestor.

nengo's People

Contributors

tbekolay avatar hunse avatar jaberg avatar jgosmann avatar drasmuss avatar tcstewar avatar arvoelke avatar xchoo avatar seanny123 avatar e2crawfo avatar studywolf avatar youssefzaky avatar celiasmith avatar mundya avatar bptripp avatar illegalllama avatar bjkomer avatar ikajic avatar s72sue avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.