Skip to main content

atlas

banner

atlas is a totally open-source, self-hosted, interoperable assistant written in Python 3. It uses the MQTT protocol to communicate with third party skills.

Ever wanted to build your own Alexa, Siri or Google Assistant and host it yourself? That's why atlas has been created!

It manages dialog states with the help of the transitions library and parses natural language with snips. If snips doesn't fit your needs, you can subclass the Interpreter class and make your own 😉

Have a look at the 📚 documentation folder.

PWA Screenshot

Installation

PIP

pip install atlas-core or pip install atlas-core[snips] to already include the snips backend.

Docker

  • Build the image with docker build . -t atlas
  • Run docker run --rm -it -v <a folder containing an atlas.yml file>:/atlas -p 5000:5000 atlas

Source

git clone this repository and run python setup.py install.

NLU backends

Once installed, atlas will not have any dependency with a NLU backend (unless you use pip install atlas-core[snips]) . So you may want to install it yourself. Once done, don't forget to use the appropriated interpreter in the atlas.yml configuration file.

For example, if you use snips-nlu, you must install it with pip install snips-nlu and use

interpreter: 
  type: 'atlas.interpreters.snips_interpreter.SnipsInterpreter'

in the atlas configuration file.

Quickstart

⚠️ As of now, the PWA exposed at <server.url> lacks offline support.

Starts with the prebuilt sample or make your own by reading below.

Those quick steps use Snips as the NLU backend.

  • Once installed, you must configure it using a configuration file.
  • Drop your training files (appropriate for your backend) into the <loader.training_path>, you may use a tool such as tracy or chatito to generates it.
  • Drop your configuration files into the <loader.env_path>.
  • Drop some skills scripts inside <executor.path>, each one should be in its own subfolder with an atlas file containing the command to run to executes your skill
  • Start a MQTT broker, such as mosquitto
  • Start atlas with atlas -c <your_configuration_file_path>.yml
  • Go to the <server.url> in your favorite browser to access the exposed PWA! (you may use another channel if you prefer). By default it uses the en-US language, if you want to change it, just add a query parameters such as http://localhost:5000?lang=fr-FR
  • That's it!

I encourage you to read the architecture overview if you want to know how it works alltogether.

Deploying

If you want the exposed PWA to work on your mobile device, you will have to use a valid certificate since this is required by web browsers for the Web Speech API to use your mic.

Please note that the Web Speech API used by the PWA only works in Chrome as far as I know.

Contributing

Contributions are welcome!

You're a developer or just want to know where this project is heading to? Have a look at the extended TODO file.

You want to support atlas by giving some money? Head over to Liberapay with this tiny button Donate using Liberapay, thanks ❤️!

Credits

Release files for atlas-core 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for atlas-core 1.2.0
File Size Uploaded
atlas-core-1.2.0.tar.gz 492.8 kB Details

Release files / atlas-core-1.2.0.tar.gz

Download URL atlas-core-1.2.0.tar.gz
Size 492.8 kB
Tags Source
SHA-256 checksum
How to use checksums
092d21d9029180e8a6eb10a6c67dd5c1a5ee8d552e84a84172393987e5440efa
BLAKE2b-256 checksum
How to use checksums
25e3db5bf270b56c45e8b215cc49e186f5a42a7eac11df5a22fd8aa22ba4af36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.2.0 This release

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page