Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

# 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).

Metadata

Release files for kidx-core-sdk 0.0.1a2

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

Source distribution (sdist)

Source distribution for kidx-core-sdk 0.0.1a2
File Size Uploaded Provenance Actions
kidx-core-sdk-0.0.1a2.tar.gz 15.9 kB Without provenance Details for kidx-core-sdk-0.0.1a2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kidx-core-sdk 0.0.1a2
File Interpreter ABI Platform Actions
kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl Python 2, Python 3 none any Details for kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl

Total release size: 36.5 kB

Release files / kidx-core-sdk-0.0.1a2.tar.gz

Download URL kidx-core-sdk-0.0.1a2.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
bcc5a2eae0e6d45244a8657c513c4be244a52c73f94a97854ea8eccb500691e5
BLAKE2b-256 checksum
How to use checksums
bf7c6f5763071f9f9978d5a22858f9655f224e85c7e603aef741803ccf7f18dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.7

Release files / kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl

Download URL kidx_core_sdk-0.0.1a2-py2.py3-none-any.whl
Size 20.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2b455cf77255181b4813051e1d834959ebed46ac4c50b689d477ef2f3f1c962d
BLAKE2b-256 checksum
How to use checksums
24340aae0a870568e751ad9b46b72f363755ca58181b7062dd1fbaf1d60d2c8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.7

Security for kidx-core-sdk 0.0.1a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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