Skip to main content

Raw SML Bindings to the Soar Cognitive Architecture

Project description

Soar

Build/Test

This is the code base for Soar, a cognitive architecture for developing systems that exhibit intelligent behavior. For more information about this project, please visit:

Note that the readme included with the Soar distribution for end-users is in the Release-Support repository.

Soar Builds

For binary builds of Soar you can get them in two places:

  • Official Releases
  • Latest Successful Development Build: click the latest run and scroll down to "Artifacts".
    • If the download for your platform isn't there, the build failed. You'll need to download the result of an earlier build.
    • GitHub cannot build for ARM64 (M-series Macs), so you'll need to build from source or use the release version instead.

Soar Performance

Some performance statistics are calculated automatically using the Factorization Stress Tests. You can see performance on a commit-by-commit basis either in Performance.md or here. The raw data used to generate the graphs for each build can be found here.

Disclaimer: These are worst case tests. Average performance is probably much higher. In addition, these show that even in worst case, Soar beats its goal of 50 msec reactivity (in these tests, the max is ~30msec per decision).

Development

Prerequisites

The instructions below are cursory and may be out of date; the most up-to-date instructions for compiling Soar from source will always be the CI build scripts. You can find them here.

To compile Soar, you will need the dependencies listed below. Note that the installation commands are not complete, e.g. missing instructions for Mac do not mean that the dependency is not needed on Mac, etc.:

  • C/C++ compiler
    • Mac: xcode-select --install
    • Linux: sudo apt-get install build-essential
  • Python
    • Mac: brew install python
  • Java
    • We recommend using SDKMan. The debugger, etc. require Java 11 at a minimum, but it's best to install the latest LTS. Temurin is recommended.

To compile the extra SML wrapper libs, you will need the following:

  • pkg-config
    • Mac: brew install pkg-config
    • Linux: sudo apt install pkgconf
  • SWIG
    • Mac: brew install swig
    • Linux: sudo apt install swig
  • Python development headers (only needed for Python wrapper)
    • Linux: sudo apt install python3-dev
  • C# compiler (csc) (only needed for C# wrapper)
    • Mac: brew install mono
  • Tcl (only needed for Tcl wrapper and TclSoarlib)
    • Mac: brew install tcl-tk

The project supports generating compile_commands.json, which can be used by e.g. VSCode with the C/C++ plugin to provide IntelliSense. To generate this file, run scons with the cdb target:

python3 scons/scons.py --scu --opt --verbose cdb

Note for M-series Mac users: you'll want to make sure you're compiling for ARM64, not x86_64. Sometimes users have Python installed in compatibility mode, leading to compiles for the wrong architecture. You can check which architecture your Python is built for using this:

import sysconfig
>>> print(sysconfig.get_config_vars())

You can also check your clang's default compile target using clang --version.

License

Soar is available under the following LICENSE. This license is BSD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

soar_sml-9.6.3-cp35-abi3-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.5+ Windows x86-64

soar_sml-9.6.3-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.5+ manylinux: glibc 2.17+ x86-64

soar_sml-9.6.3-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB view details)

Uploaded CPython 3.5+ manylinux: glibc 2.17+ i686

soar_sml-9.6.3-cp35-abi3-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.5+ macOS 11.0+ ARM64

soar_sml-9.6.3-cp35-abi3-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.5+ macOS 10.9+ x86-64

File details

Details for the file soar_sml-9.6.3-cp35-abi3-win_amd64.whl.

File metadata

  • Download URL: soar_sml-9.6.3-cp35-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.5+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for soar_sml-9.6.3-cp35-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 560a2e87b060641fd12dd5b5a4e0adf7733d2debbe3d7ad9b1a927aae8aeec45
MD5 1bf7ed79e6817b57d807eab3733eac7b
BLAKE2b-256 ee90db3c21bd7bcbbecdfac3bcd5fbe8bb83c024fe4cb3a0df5e70df09d3fc7e

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 510f481fe17f644ec182a43280e3929a0ee8fea239b9d4bd877e0e7688887072
MD5 d7c87a55847d2ae2f620c479e711d05c
BLAKE2b-256 98078e0c20db9055c19a029ef60e084ed73d632ce96b3012efa13bcdaa12e99e

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 29914cb89f86724bfd140f7ff1835ee16cac21f2a30ef5ebe267b35e5bf74eac
MD5 89dc37e4b5d081a21d9f4e8c3bc22d9c
BLAKE2b-256 c34123cf546c75be904b6259af796d1c00f41584f0b1dd5d316709a80735ece7

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3-cp35-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3-cp35-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dbc13ba775e2f6430151539b39cc04b0cce7878d4d864d6cc9bbdff3501c7b2b
MD5 81cb15db56321644a0478d9f99bb201b
BLAKE2b-256 c1c1c0e39b35199e2cf00cebe64619de180d6d3f390f159d565067524c71cc68

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3-cp35-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 98aeb373401fe8451b12290279d4269a8c3f821208330d829bec7cbbaa3d95e8
MD5 f1f9945da77715bbf358a2f8f44dfeea
BLAKE2b-256 465d4f0c3e7d4c959c543e82e819b49cabeb5edac83dce65995d67c46f200546

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page