Metadata-Version: 2.1
Name: kidx-core-sdk
Version: 0.0.1a1
Summary: Machine learning based dialogue engine for conversational software.
Home-page: https://rasa.com
Author: Kidx AI Technologies Education
Author-email: nlp@mykidx.com
Maintainer: Kidx NLP
Maintainer-email: nlp@mykidx.com
License: Apache 2.0
Download-URL: http://git.mykidx.com/nlp/kidx_core_sdk/-/archive/0.0.1a1/kidx_core_sdk-0.0.1a1.tar.gz
Project-URL: Bug Reports, http://git.mykidx.com/nlp/kidx-nlu/issues
Project-URL: Documentation, https://docs.rasa.com/core
Project-URL: Source, http://git.mykidx.com/nlp/kidx_core_sdk
Keywords: nlp machine-learning machine-learning-library bot bots botkit kidx conversational-agents conversational-ai chatbotchatbot-framework bot-framework
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/markdown
Requires-Dist: future (~=0.16)
Requires-Dist: typing (~=3.0)
Requires-Dist: requests (~=2.20)
Requires-Dist: ConfigArgParse (~=0.13.0)
Requires-Dist: coloredlogs (~=10.0)
Requires-Dist: flask (~=1.0)
Requires-Dist: flask-cors (~=3.0)
Requires-Dist: gevent (~=1.2)
Requires-Dist: six (~=1.11)
Provides-Extra: test
Requires-Dist: pytest (~=3.0); extra == 'test'
Requires-Dist: pytest-pep8 (~=1.0); extra == 'test'
Requires-Dist: pytest-cov (~=2.0); extra == 'test'

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


