Metadata-Version: 2.1
Name: nengo_spa
Version: 0.5.2
Summary: An implementation of the Semantic Pointer Architecture for Nengo
Home-page: https://www.nengo.ai/nengo-spa/
Author: Applied Brain Research
Author-email: info@appliedbrainresearch.com
License: Free for non-commercial use
Description: .. image:: https://img.shields.io/travis/nengo/nengo-spa/master.svg
          :target: https://travis-ci.org/nengo/nengo-spa
          :alt: Travis-CI build status
        
        .. image:: https://ci.appveyor.com/api/projects/status/5blofvbh8305w75g/branch/master?svg=true
          :target: https://ci.appveyor.com/project/jgosmann/nengo-spa/branch/master
          :alt: AppVeyor build status
        
        .. image:: https://img.shields.io/codecov/c/github/nengo/nengo-spa/master.svg
          :target: https://codecov.io/gh/nengo/nengo-spa/branch/master
          :alt: Test coverage
        
        |
        
        .. image:: https://www.nengo.ai/design/_images/full-light2.svg
           :alt: Nengo SPA logo
           :width: 300px
        
        *************************************************************
        Implementation of the Semantic Pointer Architecture for Nengo
        *************************************************************
        
        Project status
        ==============
        
        - All of the core functionality is implemented, but some of the API might still
          be subject to changes.
        
        Installation
        ============
        
        Nengo SPA depends on `Nengo 2.7+ <https://nengo.github.io/>`_, and we recommend
        that you install Nengo before installing Nengo SPA.
        
        To install Nengo SPA::
        
            pip install nengo-spa
        
        Nengo SPA is tested to work on Python 2.7 and 3.4+.
        
        Documentation
        =============
        
        The documentation can be found `here <https://www.nengo.ai/nengo-spa/>`_.
        
        Getting Help
        ============
        
        Questions relating to Nengo and Nengo SPA, whether it's use or it's
        development, should be asked on the Nengo forum at `<https://forum.nengo.ai>`_.
        
        ***************
        Release History
        ***************
        
        .. Changelog entries should follow this format:
        
           version (release date)
           ======================
        
           **section**
        
           - One-line description of change (link to Github issue/PR)
        
        .. Changes should be organized in one of several sections:
        
           - Added
           - Changed
           - Deprecated
           - Removed
           - Fixed
        
        
        0.5.2 (July 6, 2018)
        ====================
        
        **Fixed**
        
        - SPA modules will use the same default vocabularies even if not instantiated
          in the context of a `spa.Network`.
          (`#174 <https://github.com/nengo/nengo-spa/issues/174>`_,
          `#185 <https://github.com/nengo/nengo-spa/pull/185>`_)
        - Disallow Python keywords, including None, True, and False, as well as unicode
          characters from Python names.
          (`#188 <https://github.com/nengo/nengo_spa/pull/188>`_,
          `#187 <https://github.com/nengo/nengo_spa/issues/187>`_)
        - Allow action rules without name to have no effects.
          (`#189 <https://github.com/nengo/nengo_spa/issues/189>`_,
          `#191 <https://github.com/nengo/nengo_spa/pull/191>`_)
        - Raise exception when using NumPy arrays in SPA operations which would give
          unexpected results.
          (`#192 <https://github.com/nengo/nengo_spa/issues/192>`_,
          `#193 <https://github.com/nengo/nengo_spa/pull/193>`_)
        
        
        0.5.1 (June 7, 2018)
        ====================
        
        **Added**
        
        - ``Transcode`` now supports ``SemanticPointer`` and
          ``PointerSymbol`` output types.
          (`#175 <https://github.com/nengo/nengo-spa/issues/175>`_,
          `#178 <https://github.com/nengo/nengo-spa/pull/178>`_)
        
        **Fixed**
        
        - Allow integer values for vocabularies in associative memories.
          (`#171 <https://github.com/nengo/nengo_spa/pull/171>`_)
        - Implement ``reinterpret`` operator for pointer symbols.
          (`#169 <https://github.com/nengo/nengo_spa/issues/169>`_,
          `#179 <https://github.com/nengo/nengo_spa/pull/179>`_)
        
        
        0.5.0 (June 1, 2018)
        ====================
        
        **Added**
        
        - One-dimensional outputs of Nengo objects can be used as scalars in action
          rules.
          (`#139 <https://github.com/nengo/nengo_spa/issues/139>`_,
          `#157 <https://github.com/nengo/nengo_spa/pull/157>`_)
        - Syntactic sugar for complex symbolic expressions:
          ``nengo_spa.sym('A + B * C')``.
          (`#138 <https://github.com/nengo/nengo_spa/issues/138>`_,
          `#159 <https://github.com/nengo/nengo_spa/pull/159>`_)
        - Include the achieved similarity in warning issued when desired maximum
          similarity could not be obtained.
          (`#117 <https://github.com/nengo/nengo_spa/issues/117>`_,
          `#158 <https://github.com/nengo/nengo_spa/pull/158>`_)
        - Possibility to name Vocabulary instances for debugging.
          (`#163 <https://github.com/nengo/nengo_spa/issues/163>`_,
          `#165 <https://github.com/nengo/nengo_spa/pull/165>`_)
        
        **Changed**
        
        - Make the error message for incompatible types more informative.
          (`#131 <https://github.com/nengo/nengo_spa/issues/131>`_,
          `#160 <https://github.com/nengo/nengo_spa/pull/160>`_
        
        
        
        0.4.1 (May 18, 2018)
        ====================
        
        This release fixes problems with the online documentation. Local installs are
        not affected.
        
        
        0.4.0 (May 17, 2018)
        ====================
        
        This release increases the minimum required Nengo version to Nengo 2.7
        (previously Nengo 2.4).
        
        **Added**
        
        - Added documentation and build tools for the documentation.
          (`#68 <https://github.com/nengo/nengo_spa/pull/68>`_)
        
        **Changed**
        
        - This release introduces a new syntax for SPA action rules.
          (`#114 <https://github.com/nengo/nengo_spa/pull/114>`_)
        
        **Remove**
        
        - Unnecessary ``vocab`` argument from ``Transcode``.
          (`#68 <https://github.com/nengo/nengo_spa/pull/68>`_)
        
        **Fixed**
        
        - Validation of ``VocabOrDimParam`` and ``VocabularyMapParam``.
          (`#95 <https://github.com/nengo/nengo_spa/issues/95>`_,
          `#98 <https://github.com/nengo/nengo_spa/pull/98>`_)
        - Allow the configuration of instance parameters with
          ``nengo_spa.Network.config``.
          (`#112 <https://github.com/nengo/nengo_spa/issues/112>`_,
          `#113 <https://github.com/nengo/nengo_spa/pull/113>`_)
        - Fix an undeclared input to the ``IAAssocMem`` module.
          (`#118 <https://github.com/nengo/nengo_spa/issues/118>`_,
          `#120 <https://github.com/nengo/nengo_spa/pull/120>`_)
        
        
        0.3.2 (November 17, 2017)
        =========================
        
        **Added**
        
        - Add ``all_bgs`` and ``all_thals`` methods to
          ``AstAccessor`` to enable easy access to these objects.
          (`#61 <https://github.com/nengo/nengo_spa/pull/99>`__,
          `#28 <https://github.com/nengo/nengo_spa/issues/80>`__)
        
        **Fixed**
        
        - Allow the ``spa.Actions`` string to be empty.
          (`#107 <https://github.com/nengo/nengo_spa/issues/107>`_,
          `#109 <https://github.com/nengo/nengo_spa/pull/109>`_)
        - The ``pass`` keyword can now be used to create blocks in action rules that
          do not have any effect.
          (`#101 <https://github.com/nengo/nengo_spa/issues/101>`_,
          `#103 <https://github.com/nengo/nengo_spa/pull/103>`_)
        - Allow comments at various places in actions rules.
          (`#102 <https://github.com/nengo/nengo_spa/issues/102>`_,
          `#104 <https://github.com/nengo/nengo_spa/pull/104>`_)
        
        
        0.3.1 (November 7, 2017)
        ========================
        
        **Changed**
        
        - Clearer error message as a ``SpaTypeError`` something is used as input/output
          in an action rule without being declared as such.
          (`#82 <https://github.com/nengo/nengo_spa/issues/82>`_,
          `#89 <https://github.com/nengo/nengo_spa/pull/89>`_)
        
        **Fixed**
        
        - Allow leading comments in actions rules.
          (`#81 <https://github.com/nengo/nengo_spa/issues/81>`_,
          `#85 <https://github.com/nengo/nengo_spa/pull/85>`_)
        - Gave the basal ganglia a default label.
          (`#84 <https://github.com/nengo/nengo_spa/issues/84>`_,
          `#88 <https://github.com/nengo/nengo_spa/pull/88>`_)
        - Fixed warning produce by the ``create_inhibit_node`` function.
          (`#90 <https://github.com/nengo/nengo_spa/pull/90>`_)
        - Prevent whitespace from being completely removed in action rules.
          (`#92 <https://github.com/nengo/nengo_spa/issues/92>`_,
          `#93 <https://github.com/nengo/nengo_spa/pull/93>`_)
        - Have the ``intercept_width`` argument of ``IA`` actually take effect.
          (`#94 <https://github.com/nengo/nengo_spa/issues/94>`_,
          `#97 <https://github.com/nengo/nengo_spa/pull/97>`_)
        
        
        0.3.0 (October 16, 2017)
        ========================
        
        **Added**
        
        - Add ``add_output`` and ``add_neuron_output`` methods to
          ``IdentityEnsembleArray`` to provide the full API that is provided by the
          regular Nengo ``EnsembleArray``.
          (`#61 <https://github.com/nengo/nengo_spa/pull/61>`_,
          `#28 <https://github.com/nengo/nengo_spa/issues/28>`_)
        - Add ``create_inhibit_node`` function to create nodes that inhibit complete
          Nengo networks.
          (`#65 <https://github.com/nengo/nengo_spa/pull/65>`_,
          `#26 <https://github.com/nengo/nengo_spa/issues/26>`_)
        - Add a ``solver`` argument to the action rule's ``translate`` to use a solver
          instead of an outer product to obtain the transformation matrix which can
          give slightly better results.
          (`#62 <https://github.com/nengo/nengo_spa/pull/62>`_,
          `#57 <https://github.com/nengo/nengo_spa/issues/57>`_)
        
        **Changed**
        
        - Actions rules do not require module to be assigned to the model any longer.
          They will access exactly the same variables as are available in the
          surrounding Python code. This means that existing action rules need to be
          changed to reference the correct names.
          (`#63 <https://github.com/nengo/nengo_spa/pull/63>`_)
        - The action rule syntax changed significantly.
          (`#54 <https://github.com/nengo_spa/nengo/issues/54>`_,
          `#72 <https://github.com/nengo_spa/nengo/pull/72>`_)
        - Actions will be build automatically without an explicit call to ``build()``.
          (`#59 <https://github.com/nengo/nengo_spa/pull/59>`_,
          `#45 <https://github.com/nengo/nengo_spa/issues/45>`_,
          `#55 <https://github.com/nengo/nengo_spa/issues/55>`_)
        - Consolidated the functionality of ``Encode`` and ``Decode`` into
          ``Transcode``.
          (`#67 <https://github.com/nengo/nengo_spa/pull/67>`_,
          `#58 <https://github.com/nengo/nengo_spa/issues/58>`_)
        
        **Fixed**
        
        - Fix some operations changing the dimensionality of semantic pointers with an
          odd initial dimensionality.
          (`#52 <https://github.com/nengo/nengo_spa/issues/52>`_,
          `#53 <https://github.com/nengo/nengo_spa/pull/53>`_)
        - When building actions the basal ganglia and thalamus will only be created
          when actually required.
          (`#60 <https://github.com/nengo/nengo_spa/pull/60>`_,
          `#42 <https://github.com/nengo/nengo_spa/issues/42>`_)
        - The vocabulary translate mechanism will properly ignore missing keys in the
          target vocabulary when ``populate=False``.
          (`#62 <https://github.com/nengo/nengo_spa/pull/62>`_,
          `#56 <https://github.com/nengo/nengo_spa/issues/56>`_)
        - Allow empty string as argument to `Vocabulary.populate`.
          (`#73 <https://github.com/nengo_spa/nengo/pull/73>`_)
        
        
        0.2 (June 22, 2017)
        ===================
        
        **Added**
        
        - Tutorial explaining what has changed in nengo_spa compared to the legacy SPA
          implementation.
          (`#46 <https://github.com/nengo/nengo_spa/pull/46>`_)
        - Examples can be extracted with ``python -m nengo_spa extract-examples
          <destination>``.
          (`#49 <https://github.com/nengo/nengo_spa/pull/49>`_,
          `#7 <https://github.com/nengo/nengo_spa/issues/7>`_)
        
        **Changed**
        
        - Replaced *input_keys* and *output_keys* arguments of associative memories
          with a single *mapping* argument.
          (`#29 <https://github.com/nengo/nengo_spa/pull/29>`_,
          `#8 <https://github.com/nengo/nengo_spa/issues/8>`_)
        - Replaced *ampa_config* and *gaba_config* parameters of the
          *BasalGanglia* with *ampa_synapse* and *gaba_synapse* parameters.
          Removed the *general_config* parameter.
          (`#30 <https://github.com/nengo/nengo_spa/pull/30>`_,
          `#23 <https://github.com/nengo/nengo_spa/issues/23>`_)
        
        **Fixed**
        
        - Improved a number of error messages.
          (`#35 <https://github.com/nengo/nengo_spa/pull/35>`_,
          `#32 <https://github.com/nengo/nengo_spa/issues/32>`_,
          `#34 <https://github.com/nengo/nengo_spa/issues/34>`_)
        - Improved accuracy by fixing choice of evaluation point and intercept
          distributions.
          (`#39 <https://github.com/nengo/nengo_spa/pull/39>`_)
        - Correctly apply transforms on first vector in vocabularies on on non-strict
          vocabularies.
          (`#43 <https://github.com/nengo/nengo_spa/pull/43>`_)
        
        
        0.1.1 (May 19, 2017)
        ====================
        
        **Fixed**
        
        - Updated the 0.1 changelog.
        
        
        0.1 (May 19, 2017)
        ==================
        
        Initial release of Nengo SPA with core functionality, but excluding
        
        - updates and completion the documentation,
        - proper integration with Nengo GUI.
        
        The API is still conisdered unstable in some parts of it are likely to change
        in the future.
        
        Main features compared to the SPA implementation shipped with Nengo are:
        
        - neural representations have been optimized for higher accuracy,
        - support for arbitrarily complex action rules,
        - SPA networks can be used as normal Nengo networks,
        - and SPA networks can be nested.
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: Free for non-commercial use
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Provides-Extra: optional
Provides-Extra: all
Provides-Extra: tests
Provides-Extra: docs
