So how is progress?

I see a lot of commits!! :smiley: How is it going? Just checking in.

We are currently working on support for windows & python3. It now compiles with C++11 through C++17. It is still a WIP but we are making great progress to modernize & commoditize nupic.

One big change is from swig to pybind11, which has proven to be very easy to work with.

Another big change is to favor the connections class over the matrix libraries. The connections class is tailored to the needs of Nupic, and is now quite fast. The SP now uses it instead of the matrix libraries.

Also we’ve done numerous bug fixes and other misc. improvements. We removed unused code too.


A few more features:

  • We just finished the PR that adds MS Visual Studio 2017 as one of the supported C++ development platforms (rather than LinGW). Unfortunately it cannot support Python2.7 but it does support Python 3.x. Python3.x and Python 2.7 both work on the Ubuntu and OSx platforms.

  • We also implemented the build process such that a single command (or maybe two) will install all needed dependencies and perform the build. Much simpler that the existing system.

  • The prime objective is to retain the Documented Nupic API such that .py code written for the numenta’s python repository will also run with the community nupic.cpp extension library. The core library could also be used directly by C++ programmers to build applications without Python.

All of this is a little rough around the edges yet but every day it gets a little cleaner. We still have a few fringe unit tests that don’t run quite right so its not quite ready for prime time but we are making good progress.

We have not yet started to convert the Python code in the nupic repository to Python3. We could use some more volunteers if anyone is interested.


I just installed the community edition for my first time, on my Mac.

It installed quickly and simply. I only had 1 speedbump, but it came with a helpful message. Tests were passing in no time.

Great job to those working on this! It’s much further along that I had presumed.