Metadata-Version: 2.1
Name: rasa-hydra
Version: 0.4.2a5
Summary: Forked from the open source machine learning framework, Rasa
Home-page: UNKNOWN
Author: Versay Solutions, LLC
Author-email: 
Maintainer: Chiajun Tai
Maintainer-email: ctai@versay.com
License: UNKNOWN
Keywords: nlp machine-learning machine-learning-library bot bots botkit rasa-hydra 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 :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/markdown
Requires-Dist: requests (~=2.22)
Requires-Dist: boto3 (~=1.9)
Requires-Dist: matplotlib (~=3.0)
Requires-Dist: simplejson (~=3.16)
Requires-Dist: attrs (>=18)
Requires-Dist: jsonpickle (~=1.1)
Requires-Dist: redis (==3.0.1)
Requires-Dist: fakeredis (~=1.0)
Requires-Dist: pymongo (~=3.8)
Requires-Dist: numpy (==1.16.3)
Requires-Dist: scipy (~=1.2)
Requires-Dist: tensorflow (==1.13.1)
Requires-Dist: apscheduler (~=3.0)
Requires-Dist: tqdm (~=4.0)
Requires-Dist: networkx (~=2.3)
Requires-Dist: fbmessenger (~=6.0)
Requires-Dist: pykwalify (~=1.7.0)
Requires-Dist: coloredlogs (~=10.0)
Requires-Dist: scikit-learn (~=0.20.2)
Requires-Dist: ruamel.yaml (~=0.15.0)
Requires-Dist: scikit-learn (~=0.20.0)
Requires-Dist: slackclient (~=1.3)
Requires-Dist: python-telegram-bot (~=11.0)
Requires-Dist: twilio (~=6.0)
Requires-Dist: webexteamssdk (~=1.1)
Requires-Dist: mattermostwrapper (~=2.0)
Requires-Dist: rocketchat-API (~=0.6.0)
Requires-Dist: colorhash (~=1.0)
Requires-Dist: pika (~=1.0.0)
Requires-Dist: jsonschema (~=2.6)
Requires-Dist: packaging (~=19.0)
Requires-Dist: gevent (~=1.4)
Requires-Dist: pytz (~=2019.1)
Requires-Dist: python-dateutil (~=2.8)
Requires-Dist: rasa-sdk (~=1.1.0)
Requires-Dist: colorclass (~=2.2)
Requires-Dist: terminaltables (~=3.1)
Requires-Dist: sanic (~=19.3.1)
Requires-Dist: sanic-cors (~=0.9.0)
Requires-Dist: sanic-jwt (~=1.3)
Requires-Dist: aiohttp (~=3.5)
Requires-Dist: questionary (>=1.1.0)
Requires-Dist: python-socketio (~=4.0)
Requires-Dist: pydot (~=1.4)
Requires-Dist: async-generator (~=1.10)
Requires-Dist: SQLAlchemy (~=1.3.0)
Requires-Dist: kafka-python (~=1.4)
Requires-Dist: sklearn-crfsuite (~=0.3.6)
Requires-Dist: prompt-toolkit (==2.0.10)
Requires-Dist: jaeger-client (~=4.1.0)
Requires-Dist: opentracing-instrumentation (~=3.2.1)
Requires-Dist: psycopg2-binary (~=2.8.2)
Requires-Dist: sanic-prometheus (~=0.1.7)
Requires-Dist: redis-py-cluster (~=2.0.0)
Requires-Dist: aredis (~=1.1.5)
Requires-Dist: aioredis (~=1.3.1)
Provides-Extra: mitie
Requires-Dist: mitie ; extra == 'mitie'
Provides-Extra: spacy
Requires-Dist: spacy (<2.2,>=2.1) ; extra == 'spacy'
Provides-Extra: sql
Requires-Dist: psycopg2 (~=2.8.2) ; extra == 'sql'
Requires-Dist: SQLAlchemy (~=1.3) ; extra == 'sql'
Provides-Extra: test
Requires-Dist: pytest (~=4.5) ; extra == 'test'
Requires-Dist: pytest-cov (~=2.7) ; extra == 'test'
Requires-Dist: pytest-localserver (~=0.5.0) ; extra == 'test'
Requires-Dist: pytest-sanic (~=1.0.0) ; extra == 'test'
Requires-Dist: responses (~=0.9.0) ; extra == 'test'
Requires-Dist: freezegun (~=0.3.0) ; extra == 'test'
Requires-Dist: nbsphinx (>=0.3) ; extra == 'test'
Requires-Dist: aioresponses (~=0.6.0) ; extra == 'test'
Requires-Dist: moto (~=1.3.8) ; extra == 'test'

# Rasa-Hydra (Forked from Rasa)

Rasa-Hydra is forked from the official Rasa repo and maintained by the Hydra team. Rasa is an open source machine learning framework to automate text-and voice-based conversations. With Rasa-Hydra, you can build chatbots on:
- Facebook Messenger
- Slack
- Microsoft Bot Framework
- Rocket.Chat
- Mattermost
- Telegram
- Twilio
- Your own custom conversational channels

or voice assistants as:
- Alexa Skills
- Google Home Actions

Rasa-Hydra's primary purpose is to help you build contextual, layered
conversations with lots of back-and-forth. To have a real conversation,
you need to have some memory and build on things that were said earlier.
Rasa-Hydra lets you do that in a scalable way.

### Development Internals
### Running the Tests
In order to run the tests, make sure that you have the development requirements installed:
```bash
export PIP_USE_PEP517=false
pip install -r requirements-dev.txt
pip install -e .
make prepare-tests-ubuntu # Only on Ubuntu
make prepare-tests-macos  # Only on macOS
```

Then, run the tests:
```bash
make test
```

### Steps to release a new version
Releasing a new version is quite simple, as the packages are build and distributed by travis.

*Terminology*:
* patch release (third version part increases): 1.1.2 -> 1.1.3
* minor release (second version part increases): 1.1.3 -> 1.2.0
* major release (first version part increases): 1.2.0 -> 2.0.0

*Release steps*:
1. Create a new branch and 

  * Update [dialog_manager/version.py](https://gitlab.vailsys.com/CueAi/rasa/blob/master/dialog_manager/version.py) to reflect the correct version number
  * Edit the [CHANGELOG.rst](https://gitlab.vailsys.com/CueAi/rasa/blob/master/CHANGELOG_DM.rst), create a new section for the release (eg by moving the items from the collected master section) and create a new master logging section
2. Commit the changes and create a PR against master or the release branch (e.g. `1.2.x`)
3. Once your PR is merged, tag a new release (this SHOULD always happen on master or release branches), e.g. using
    ```
    git tag 1.2.0 -m "Some helpful line describing the release"
    git push origin 1.2.0 --tags
    ```
5. **If this is a minor release**, a new release branch should be created pointing to the same commit as the tag to allow for future patch releases, e.g.
    ```
    git checkout -b 1.2.x
    git push origin 1.2.x
    ```
6. Packaging the Rasa-Hydra project. For more information, please refer to this [guide](https://packaging.python.org/tutorials/packaging-projects/).
    1. Make sure you have the latest versions of setuptools and wheel installed:
        ```bash
        python3 -m pip install --user --upgrade setuptools wheel
        ```

    2. Build the package locally.
        ```bash
        python3 setup.py sdist bdist_wheel
        ```
7. Upload the package to PyPI/Test PyPI.

    *  PyPI
        ```bash
        python3 -m twine upload dist/*
        ```
    * Test PyPI
        ```bash
        python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
        ```

