Skip to main content

Machine learning based dialogue engine for conversational software.

Project description

# Rasa Python-SDK
[![Join the chat on Rasa Community Forum](https://img.shields.io/badge/forum-join%20discussions-brightgreen.svg)](https://forum.rasa.com/?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.com/RasaHQ/rasa_core_sdk.svg?branch=master)](https://travis-ci.com/RasaHQ/rasa_core_sdk)
[![PyPI version](https://img.shields.io/pypi/v/rasa_core_sdk.svg)](https://pypi.python.org/pypi/rasa-core-sdk)
[![Documentation Status](https://img.shields.io/badge/docs-stable-brightgreen.svg)](https://rasa.com/docs/core)

Python SDK for the development of custom actions for Kidx Core.

## Installation

To install the SDK run

```bash
pip install kidx_core_sdk
```

## Compatibility

| SDK version | compatible Rasa Core version |
|---------------|----------------------------------------|
| `0.12.x` | `>=0.12.x` |
| `0.11.x` | `0.11.x` |
| not compatible | `<=0.10.x` |

## Usage

Detailed instructions can be found in the Rasa Core Documentation about
[Custom Actions](https://rasa.com/docs/core/customactions).

## Docker

### Usage

In order to start an action server using implemented custom actions,
you can use the available Docker image `rasa/rasa_core_sdk:latest`.

Before starting the action server ensure that the folder containing
your actions is handled as Python module and therefore has to contain
a file called `__init__.py`

Then start the action server using:

```bash
docker run -p 5055:5055 --mount type=bind,source=<ABSOLUTE_PATH_TO_YOUR_ACTIONS>,target=/app/actions \
kidx/kidx_core_sdk:latest
```

The action server is then avaible at `http://localhost:5055/webhook`.

### Custom Dependencies

To add custom dependencies you enhance the given Docker image, e.g.:

```
FROM kidx/kidx_core_sdk:latest

# To install system dependencies
RUN apt-get update -qq && \
apt-get install -y <NAME_OF_REQUIRED_PACKAGE> && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# To install packages from PyPI
RUN pip install --no-cache-dir <A_REQUIRED_PACKAGE_ON_PYPI>
```

## Code Style

To ensure a standardized code style we use the formatter [black](https://github.com/ambv/black).
If your code is not formatted properly, travis will fail to build.

If you want to automatically format your code on every commit, you can use [pre-commit](https://pre-commit.com/).
Just install it via `pip install pre-commit` and execute `pre-commit install`.

If you want to set it up manually, install black via `pip install black`.
To reformat files execute
```
black .
```

## Development Internals
### Running and changing the unit test
To build & edit the docs, first install all necessary dependencies:

```
docker build -f Dockerfile.dev . -t kidx_core_sdk_dev
docker run --name kidx_core_sdk_dev -v "$PWD":/app -it kidx_core_sdk_dev bash
```

After the docker container start run command in docker
```
pip install -e . --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/
make lint
make test
```

Look the coverage should be no failure and pass 100%


## License
Licensed under the Apache License, Version 2.0. Copyright 2019 Kidx
Technologies GmbH. [Copy of the license](LICENSE.txt).

A list of the Licenses of the dependencies of the project can be found at
the bottom of the
[Libraries Summary](https://libraries.io/github/RasaHQ/rasa_core_sdk).

Project details


Download files

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

Source Distribution

kidx-core-sdk-0.0.1a2.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl (20.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file kidx-core-sdk-0.0.1a2.tar.gz.

File metadata

  • Download URL: kidx-core-sdk-0.0.1a2.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for kidx-core-sdk-0.0.1a2.tar.gz
Algorithm Hash digest
SHA256 bcc5a2eae0e6d45244a8657c513c4be244a52c73f94a97854ea8eccb500691e5
MD5 65c6d34688641448a7c25d4ad15729ae
BLAKE2b-256 bf7c6f5763071f9f9978d5a22858f9655f224e85c7e603aef741803ccf7f18dc

See more details on using hashes here.

File details

Details for the file kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2b455cf77255181b4813051e1d834959ebed46ac4c50b689d477ef2f3f1c962d
MD5 8c2baee0707cf542f56ba002ba7057e0
BLAKE2b-256 24340aae0a870568e751ad9b46b72f363755ca58181b7062dd1fbaf1d60d2c8e

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