diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ffd33b0f4..e0c9188118 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,190 +1,25 @@ # Changelog -## 0.0.38 - -* Removing leftover '-dev' from version numbers. -* remove -dirvtable as it can lead to MEMleaks -* review SWIG flags -* Revert "swig optimization flags - threads" -* Revert "enable swig optimization -builtin" -* enable swig optimization -builtin -* swig optimization flags - threads - -## 0.0.37 - -* added AWS keys for linux wheel upload to S3 on release - -## 0.0.36 +## 0.1.0 -* Fixed bad path to wheel s3 upload script +* Cleaned up README and CHANGELOG for 0.1 release. -## 0.0.35 +## 0.0.38 +* SWIG optimizations. * Script to deploy linux wheel to S3 on release. - -## 0.0.34 - * Publishing select artifacts to pypi on release. -* Adding empty __init__.py to swarming resource dir so it get's included in linux wheels. - -## 0.0.33 - * Changed dev version pattern to match what python wants. * Cleaned up setup and manifest for proper sdists. - -## 0.0.32 - * Faking extensions to get platform-specific wheels. - -## 0.0.31 - -* Manual wheel filename change for linux upload to pypi. - -## 0.0.30 - -* Creating platform dependent linux wheel file for pypi upload. - -## 0.0.29 - -* Updated OS X wheel filename for pypi. - -## 0.0.28 - -* Only release on tags. - -## 0.0.27 - -* Adding back test runs. - -## 0.0.26 - -* Split release logic into osx/linux scripts -* Adds core capnp files to bindings. -* Remove HtmTest and call it from nupic.core binaries +* Added core capnp files to bindings. * GCE now encodes altitude using a 3D coordinate system. - -## 0.0.25 - -* Removing OS X release and using Linux GCC release only. - -## 0.0.24 - -* Trying pip install w/o sudo - -## 0.0.23 - -* Manually upgrading setuptools before pip upgrade before release - -* anomaly mode (pure, likelihood, weighted) can be specified on OPF for swarming. - -## 0.0.22 - -* Manually upgrading pip on OS X. - -## 0.0.21 - -* Trying release w/o pip, setuptools update - -## 0.0.20 - -* Debugging pip - -## 0.0.19 - - -## 0.0.18 - -* Expanded one pip call into 3 for twine/wheel dependencies. Fixed a bug in wheel filename usage. - -## 0.0.17 - -* Installing pip==1.5.6 for twine explicitly - -## 0.0.16 - -* Triggering a build for next release version - -## 0.0.15 - -* Upgrading to pip==1.5.1 explicitly for wheels dependency before release - -## 0.0.14 - -* Reverting to 0.0.14-dev... sorry. -* Botched 0.0.14 release, moving manually to 0.0.15-dev -* Continuing work on 0.0.14-dev. -* Release 0.0.13. -* Continuing work on 0.0.13-dev. -* Release 0.0.13. -* Using a different pip upgrade method. - -## 0.0.13 - -* Upgrade pip before release with wheels. Only change platform name in wheel file if on OSX because platform-specific binaries for Linux are unsupported. - -## 0.0.13 - -* Using a different pip upgrade method. -* Continuing work on 0.0.13-dev. -* Release 0.0.13. -* Upgrade pip before release with wheels. Only change platform name in wheel file if on OSX because platform-specific binaries for Linux are unsupported. - -## 0.0.13 - -* Upgrade pip before release with wheels. Only change platform name in wheel file if on OSX because platform-specific binaries for Linux are unsupported. - -## 0.0.12 - -* Installing python wheel manually. - -## 0.0.11 - -* Fixed bug in release condition. - -## 0.0.10 - -* Trying a custom deployment configuration for better control of pypi deployment files. - -## 0.0.9 - -* Fixed missing `__version__` number problem. * Distributing `*.i` files from `nupic.bindings` in binary packages. - -## 0.0.8 - -* Updated pypi development status to "Stable", otherwise pypi rejects it. - -## 0.0.7 - * Updates test entry points to pure python. README instructions for running tests were updated. * Missing configuration files are no longer ignored. A runtime exception is raised immediately when an expected configuration file is not found. - -## 0.0.6 - -* Updated pypi encrypted password because of authenitcation failure. -* Only installing wheel on iterative builds, because Travis-CI automatically installs it if "bdist_wheel" is specified in deploy provider directive. - -## 0.0.5 - -* Installing doxygen before doc-build for pypi. - -## 0.0.4 - -* Temporarily removing pycapnp dependency to help current release situation. - -## 0.0.3 - * Updated deployment logic to account for both deployment scenarios (iterative and release). - -## 0.0.2 - * Configured pypi deployment on all branches with tags. - -## 0.0.1 - * Added pypi deployment configuration for binary releases. * Parsing python requirements in setuptools so they are included within published packages (working toward releases). * Setting up python wheels packaging and upload to S3 for future distribution. -* Implement logic for reusing segments, to enforce a fixed-size connectivity (nupic.core). -* Added CHANGELOG.md to track changes for versions. -* Added version.txt file to root, read by setuptools to establish version. +* Implemented logic for reusing segments, to enforce a fixed-size connectivity (nupic.core). diff --git a/README.md b/README.md index f27785bc40..4137bf1549 100644 --- a/README.md +++ b/README.md @@ -2,107 +2,50 @@ ## Numenta Platform for Intelligent Computing -* Build: [![Build Status](https://travis-ci.org/numenta/nupic.png?branch=master)](https://travis-ci.org/numenta/nupic) -* Unit Test Coverage: [![Coverage Status](https://coveralls.io/repos/numenta/nupic/badge.png?branch=master)](https://coveralls.io/r/numenta/nupic?branch=master) -* [Regression Tests](https://github.com/numenta/nupic.regression): [![Build Status](https://travis-ci.org/numenta/nupic.regression.svg?branch=master)](https://travis-ci.org/numenta/nupic.regression) - -NuPIC is a library that provides the building blocks for online prediction and anomaly detection systems. The library contains the [Cortical Learning Algorithm (CLA)](https://github.com/numenta/nupic/wiki/Cortical-Learning-Algorithm), but also the [Online Prediction Framework (OPF)] (https://github.com/numenta/nupic/wiki/Online-Prediction-Framework) that allows clients to build prediction systems out of encoders, models, and metrics. +The Numenta Platform for Intelligent Computing (**NuPIC**) is a machine intelligence platform that implements the [HTM learning algorithms](http://numenta.com/learn/hierarchical-temporal-memory-white-paper.html). HTM is a detailed computational theory of the neocortex. At the core of HTM are time-based continuous learning algorithms that store and recall spatial and temporal patterns. NuPIC is suited to a variety of problems, particularly anomaly detection and prediction of streaming data sources. For more information, see [numenta.org](http://numenta.org) or the [NuPIC wiki](https://github.com/numenta/nupic/wiki). -## Installation - -For all installation options, see the [Installing and Building NuPIC](https://github.com/numenta/nupic/wiki/Installing-and-Building-NuPIC) wiki page. - -### Currently supported platforms: - - * 64-bit Linux - * Mac OS X - * [VM images](https://github.com/numenta/nupic/wiki/Running-Nupic-in-a-Virtual-Machine) - -### Dependencies: - - * Python 2.7 (with development headers) - * Compiler toolchain with support for C++11 such as GCC >= 4.7 (Linux-only), or llvm/clang - * Make - * CMake - -The _python_ dependencies are included in platform-specific repositories for convenience. Installing from these repositories is not required if the dependencies defined above have been manually installed or already exist on your system. - -* [nupic-linux64](https://github.com/numenta/nupic-linux64) for 64-bit Linux systems -* [nupic-darwin64](https://github.com/numenta/nupic-darwin64) for 64-bit OS X systems - -Complete set of python requirements are documented in [requirements.txt](/external/common/requirements.txt), -compatible with [pip](http://www.pip-installer.org/en/latest/cookbook.html#requirements-files): - -### Installing Python Dependencies - - pip install -r external/common/requirements.txt - -> _Note_: If using pip 1.5 or later: - - pip install --allow-all-external --allow-unverified PIL --allow-unverified psutil -r external/common/requirements.txt - -> _Note_: If you get a "permission denied" error when using pip, you may add the `--user` flag to install to a location in your home directory, which should resolve any permissions issues. Doing this, you may need to add this location to your PATH and PYTHONPATH. Alternatively, you can run pip with `sudo`. - -### Installing NuPIC - -Move into the NuPIC installation directory and run: - - python setup.py install - -> _Note_: If you get a "permission denied" error when using this, you may add the `--user` flag to install to a location in your home directory, which should resolve any permissions issues. Doing this, you may need to add this location to your PATH and PYTHONPATH. Alternatively, you can run this with `sudo`. - -If you are installing on Mac OS X, you should add the instruction `ARCHFLAGS="-arch x86_64"` before the python call: - - ARCHFLAGS="-arch x86_64" python setup.py install - -Once it is installed, you can import NuPIC library to your python script using: - - import nupic - -For examples, tutorials, and screencasts about using NuPIC, see the [Using NuPIC](https://github.com/numenta/nupic/wiki/Using-NuPIC) wiki page. +## Installing NuPIC 0.1.0 -## Developer instructions +NuPIC binaries are available for: -If you want to develop, debug, or simply test NuPIC, [clone](https://github.com/numenta/nupic/wiki/Installing-and-Building-NuPIC#for-potential-contributors) it and follow the instructions below. +- Linux x86 64b +- OS X 10.9 +- OS X 10.10 -### Using command line +#### Dependencies -> This assumes the `NUPIC` environment variable is set to the directory where the NuPIC source code exists. +- [Python 2.7 & development headers](https://docs.python.org/devguide/setup.html#build-dependencies) +- [pip](https://pypi.python.org/pypi/pip) +- [wheel](http://pythonwheels.com) - cd $NUPIC - python setup.py build - python setup.py develop +### Mac OS X -#### To run the tests: + pip install nupic - # Python HTM Network API tests - $NUPIC/bin/py_region_test +### Linux - # Python unit tests - $NUPIC/scripts/run_nupic_tests -u --coverage +> The Linux wheel file is hosted on AWS S3 instead of on the standard PyPi servers because [Linux wheels are not allowed to be uploaded to pypi](https://bitbucket.org/pypa/pypi-metadata-formats/issue/15/enhance-the-platform-tag-definition-for) yet. - # Python integration tests - $NUPIC/scripts/run_nupic_tests -i --coverage + pip install https://s3-us-west-2.amazonaws.com/artifacts.numenta.org/numenta/nupic/releases/nupic-0.1.0-cp27-none-linux_x86_64.whl - # Python swarming tests (requires mysql) - $NUPIC/scripts/run_nupic_tests -w --coverage - # Run all tests! - $NUPIC/scripts/run_nupic_tests --all --coverage +### _Having problems?_ -### Using an IDE +- You may need to use the `--user` flag for the commands above to install in a non-system location (depends on your environment). Alternatively, you can execute the `pip` commands with `sudo` (not recommended). +- You may need to add the `--use-wheel` option if you have an older pip version (wheels are now the default binary package format for pip). -See our [Development Tips](https://github.com/numenta/nupic/wiki/Development-Tips) wiki page for details. +For any other installation issues, please see our [FAQ](https://github.com/numenta/nupic/wiki/FAQ) or email the [nupic-discuss](http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org) mailing list. -#### To run the tests: +### Building NuPIC From Source Code - * Run any [test](#run-the-tests) project from your IDE (check `output` panel to see the results). +For details about checking out this repository and building in your local environment, see the [Installing and Building NuPIC](https://github.com/numenta/nupic/wiki/Installing-and-Building-NuPIC) wiki page. -For more tips, please see [Development-Tips](https://github.com/numenta/nupic/wiki/Development-Tips) +## How to Contribute: -### Contributing to NuPIC: + Please see the [Contributing to NuPIC](https://github.com/numenta/nupic/wiki/Contributing-to-NuPIC) wiki page. - * Please see the [Contributing to NuPIC wiki](https://github.com/numenta/nupic/wiki/Contributing-to-NuPIC). - * Details on the dependency on `nupic.core` [here](https://github.com/numenta/nupic/wiki/Installing-and-Building-NuPIC#relationship-with-nupiccore). + * Build: [![Build Status](https://travis-ci.org/numenta/nupic.png?branch=master)](https://travis-ci.org/numenta/nupic) + * Unit Test Coverage: [![Coverage Status](https://coveralls.io/repos/numenta/nupic/badge.png?branch=master)](https://coveralls.io/r/numenta/nupic?branch=master) + * [Regression Tests](https://github.com/numenta/nupic.regression): [![Build Status](https://travis-ci.org/numenta/nupic.regression.svg?branch=master)](https://travis-ci.org/numenta/nupic.regression) diff --git a/VERSION b/VERSION index 1d769d3539..a665ad8070 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.39.dev0 +0.1.1.dev0 diff --git a/docs/Doxyfile b/docs/Doxyfile index 574931b8bd..e90f8ee4cf 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = NuPIC # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.0.39.dev0 +PROJECT_NUMBER = 0.1.1.dev0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/nupic/__init__.py b/nupic/__init__.py index 0c871ab415..ab9e24e195 100644 --- a/nupic/__init__.py +++ b/nupic/__init__.py @@ -18,4 +18,4 @@ # # http://numenta.org/licenses/ # ---------------------------------------------------------------------- -__version__ = "0.0.39.dev0" +__version__ = "0.1.1.dev0"