Metadata-Version: 2.4
Name: tbp.monty
Version: 0.54.0
Summary: Thousand Brains Project Monty
Author: Thousand Brains Project
License: Copyright 2025 Thousand Brains Project
        Copyright 2021-2024 Numenta Inc.
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://thousandbrainsproject.org
Project-URL: Documentation, https://docs.thousandbrains.org/docs
Project-URL: Repository, https://github.com/thousandbrainsproject/tbp.monty
Project-URL: Issues, https://github.com/thousandbrainsproject/tbp.monty/issues
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: eval_type_backport
Requires-Dist: hydra-core>=1.3.2
Requires-Dist: importlib_resources
Requires-Dist: matplotlib>=3.7.3
Requires-Dist: numpy
Requires-Dist: opencv-python==4.13.0.92
Requires-Dist: omegaconf>=2.3.0
Requires-Dist: pandas
Requires-Dist: pillow
Requires-Dist: pydantic>=2.10.6
Requires-Dist: numpy-quaternion==2023.0.3; python_version == "3.8"
Requires-Dist: numpy-quaternion; python_version >= "3.10"
Requires-Dist: scikit-image
Requires-Dist: scikit-learn==1.3.2; python_version == "3.8"
Requires-Dist: scikit-learn; python_version >= "3.9"
Requires-Dist: scipy>=1.10.1
Requires-Dist: sympy
Requires-Dist: torch==1.13.1; python_version == "3.8"
Requires-Dist: torch; python_version >= "3.9"
Requires-Dist: torch-geometric==2.1.0.post1; python_version == "3.8"
Requires-Dist: torch-sparse==0.6.15; python_version == "3.8"
Requires-Dist: torch-scatter==2.0.9; python_version == "3.8"
Requires-Dist: torch-geometric>=2.1.0.post1; python_version >= "3.9"
Requires-Dist: torch-sparse>=0.6.15; python_version >= "3.9"
Requires-Dist: torch-scatter>=2.0.9; python_version >= "3.9"
Requires-Dist: tqdm
Requires-Dist: typing-extensions
Requires-Dist: wandb==0.24.2; python_version >= "3.8"
Requires-Dist: wandb; python_version >= "3.10"
Provides-Extra: simulator-habitat
Requires-Dist: habitat_sim; python_version == "3.9" and extra == "simulator-habitat"
Provides-Extra: simulator-mujoco
Requires-Dist: mujoco; extra == "simulator-mujoco"
Provides-Extra: analysis
Requires-Dist: ipython; extra == "analysis"
Requires-Dist: seaborn; extra == "analysis"
Provides-Extra: build
Requires-Dist: build; extra == "build"
Provides-Extra: dev
Requires-Dist: deptry; extra == "dev"
Requires-Dist: mypy==1.11.2; python_version == "3.8" and extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: hypothesis==6.113.0; python_version == "3.8" and extra == "dev"
Requires-Dist: parameterized==0.9.0; python_version == "3.8" and extra == "dev"
Requires-Dist: pytest==7.1.1; python_version == "3.8" and extra == "dev"
Requires-Dist: pytest-xdist==2.5.0; python_version == "3.8" and extra == "dev"
Requires-Dist: pytest-cov==3.0.0; python_version == "3.8" and extra == "dev"
Requires-Dist: ruff==0.14.2; python_version == "3.8" and extra == "dev"
Requires-Dist: mypy; python_version >= "3.9" and extra == "dev"
Requires-Dist: hypothesis; python_version >= "3.9" and extra == "dev"
Requires-Dist: parameterized; python_version >= "3.9" and extra == "dev"
Requires-Dist: pytest; python_version >= "3.9" and extra == "dev"
Requires-Dist: pytest-xdist; python_version >= "3.9" and extra == "dev"
Requires-Dist: pytest-cov; python_version >= "3.9" and extra == "dev"
Requires-Dist: unittest-parametrize; extra == "dev"
Requires-Dist: ruff; python_version >= "3.9" and extra == "dev"
Provides-Extra: generate-api-docs-tool
Requires-Dist: docutils>=0.17; extra == "generate-api-docs-tool"
Requires-Dist: sphinx; extra == "generate-api-docs-tool"
Requires-Dist: sphinx-autobuild; extra == "generate-api-docs-tool"
Requires-Dist: sphinx-autodoc-typehints; extra == "generate-api-docs-tool"
Requires-Dist: myst-parser; extra == "generate-api-docs-tool"
Requires-Dist: pydata_sphinx_theme; extra == "generate-api-docs-tool"
Requires-Dist: snowballstemmer<3; extra == "generate-api-docs-tool"
Provides-Extra: github-readme-sync-tool
Requires-Dist: requests; extra == "github-readme-sync-tool"
Requires-Dist: pyyaml; extra == "github-readme-sync-tool"
Requires-Dist: python-dotenv; extra == "github-readme-sync-tool"
Requires-Dist: colorama; extra == "github-readme-sync-tool"
Requires-Dist: markdown2; extra == "github-readme-sync-tool"
Requires-Dist: python-slugify; extra == "github-readme-sync-tool"
Requires-Dist: nh3; extra == "github-readme-sync-tool"
Requires-Dist: urllib3; extra == "github-readme-sync-tool"
Provides-Extra: future-work-widget-tool
Requires-Dist: nh3; extra == "future-work-widget-tool"
Provides-Extra: print-version-tool
Requires-Dist: semver; extra == "print-version-tool"
Dynamic: license-file

![](docs/figures/overview/logo.png)

# Welcome to the Monty Repository!

*An open-source, sensorimotor learning system following the principles of the neocortex.*

[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/mit)
![PyPI - Python Version](https://img.shields.io/badge/python-3.8-blue)
[![](https://github.com/thousandbrainsproject/tbp.monty/actions/workflows/monty.yml/badge.svg)](https://github.com/thousandbrainsproject/tbp.monty/actions/workflows/monty.yml)

This repository contains the first implementation of a **sensorimotor learning system** from the **Thousand Brains Project**. We lovingly call it **Monty** after Vernon Mountcastle, who proposed cortical columns as a repeating functional unit across the neocortex.

This is an open-source project that was initially started at Numenta. The Thousand Brains Project is now an independent non-profit, partially funded by the Gates Foundation.

Please find our [**full documentation** here](https://docs.thousandbrains.org/)

Our [**API documentation** here](https://api-monty.thousandbrains.org).

# Getting Started

You can find detailed instructions on how to install the project requirements and how to get started [here](https://docs.thousandbrains.org/docs/getting-started)

# Current Performance
We regularly evaluate this system against a set of sensorimotor tasks, and report results in **[benchmark experiments](./benchmarks/)**. Any time a functional change is made to the code, these experiments are rerun, and results are updated. Configs for these experiments can be found in the [src/tbp/monty/conf/experiment/](./src/tbp/monty/conf/experiment/) folder.

You can find our current performance on these benchmarks as well as an explanation of them [here](https://docs.thousandbrains.org/docs/benchmark-experiments).


# Contributing

Are you interested in contributing? Check out our tips and guidelines [here](https://docs.thousandbrains.org/docs/contributing).

Before contributing, please sign our Contributor License Agreement (CLA). You can find the CLA and guidelines [here]( https://docs.thousandbrains.org/docs/contributor-license-agreement).

# Disclaimer
This is not production-ready code. It is an **early beta version** that is under active development. This early beta version is functional but evolving. Expect frequent changes as we develop core features.

You can find a list of the systems **current capabilities and application criteria** [here](https://docs.thousandbrains.org/docs/application-criteria).

You can find our **project road map** and details on the next features we are working on [here](https://docs.thousandbrains.org/docs/project-roadmap).

# More Information and Updates
As mentioned above, we have extensive **documentation** of this project [here](https://docs.thousandbrains.org/).

[![](docs/figures/overview/docs_screenshot.png)](https://docs.thousandbrains.org/)

We also publish our meeting recordings on **YouTube** on the [Thousand Brains Project channel](https://www.youtube.com/@thousandbrainsproject).

[![](docs/figures/overview/youtube_screenshot.png)](https://www.youtube.com/@thousandbrainsproject)

If you want to use this code, contribute to it, ask questions or propose ideas, please consider joining [our discourse channel](https://forum.thousandbrains.org/).

[![](docs/figures/overview/discourse_screenshot.png)](https://forum.thousandbrains.org/)

If you would like to receive updates, follow us on [Bluesky](https://bsky.app/profile/thousandbrains.org) or [Twitter](https://x.com/1000brainsproj) or [LinkedIn](https://www.linkedin.com/company/thousand-brains-project/).

If you have further questions or suggestions for collaborations, don't hesitate to contact us directly at **info@thousandbrains.org**.

# Citing the Project
If you're writing a publication that references the Thousand Brains Project, please cite 

[TBP white paper](https://arxiv.org/abs/2412.18354):
```
@misc{thousandbrainsproject2024,
      title={The Thousand Brains Project: A New Paradigm for Sensorimotor Intelligence},
      author={Viviane Clay and Niels Leadholm and Jeff Hawkins},
      year={2024},
      eprint={2412.18354},
}
```


If you would like to refer to Monty's capabilities and advantages over deep learning, please cite

[Thousand-Brains Systems: Sensorimotor Intelligence for Rapid, Robust Learning and Inference](https://doi.org/10.1162/NECO.a.1508):
```
@article{thousand-brains_systems_2026,
	title = {Thousand-{Brains} {Systems}: {Sensorimotor} {Intelligence} for {Rapid}, {Robust} {Learning} and {Inference}},
	volume = {38},
	issn = {0899-7667, 1530-888X},
	url = {https://direct.mit.edu/neco/article/38/6/845/136222/Thousand-Brains-Systems-Sensorimotor-Intelligence},
	doi = {10.1162/NECO.a.1508},
	number = {6},
	urldate = {2026-06-10},
	journal = {Neural Computation},
	author = {Leadholm, Niels and Clay, Viviane and Knudstrup, Scott and Lee, Hojae and Hawkins, Jeff},
      month = may,
	year = {2026},
	pages = {845--896},
}

```

If you would like to reference the theory behind this novel AI approach, here you can find a list of [neuroscience theory papers](https://docs.thousandbrains.org/docs/further-reading#our-papers).


# License

The MIT License. See the [LICENSE](LICENSE) for details.
