Giter Site home page Giter Site logo

susi_python's Introduction

Python Wrapper for the SUSI.AI API

Master: Build Status Development: Build Status Join the chat at https://gitter.im/fossasia/susi_hardware Twitter Follow

The susi_python repository holds the Python wrapper for SUSI.AI which covers the client API function to access the susi_server either hosted locally or on https://api.susi.ai. This sub-project implements an API for the AI server at https://github.com/fossasia/susi_server. Currently the wrapper supports basic chat and auth functionalities.

The SUSI.AI project provides a full infrastructure for a Free and Open Source Smart Speaker and Personal Assistants.

Project Overview

The SUSI.AI ecosystem consists of the following parts:

 * Web Client and Content Management System for the SUSI.AI Skills - Home of the SUSI.AI community
 |_ susi.ai   (React Application, User Account Management for the CMS, a client for the susi_server at https://api.susi.ai the content management system for susi skills)
 
 * server back-end
 |_ susi_server        (the brain of the infrastructure, a server which computes answers from queries)
 |_ susi_skill_data    (the knowledge of the brain, a large collection of skills provided by the SUSI.AI community)
 
 * android front-end
 |_ susi_android       (Android application which is a client for the susi_server at https://api.susi.ai)
 
 * iOS front-end
 |_ susi_iOS           (iOS application which is a client for the susi_server at https://api.susi.ai)
 
 * Smart Speaker - Software to turn a Raspberry Pi into a Personal Assistant
 | Several sub-projects come together in this device
 |_ susi_installer     (Framework which can install all parts on a RPi and Desktops, and also is able to create SUSIbian disk images)
 |_ susi_python        (Python API for the susi_server at https://api.susi.ai or local instance)
 |_ susi_server        (The same server as on api.susi.ai, hosted locally for maximum privacy. No cloud needed)
 |_ susi_skill_data    (The skills as provided by susi_server on api.susi.ai; pulled from the git repository automatically)
 |_ susi_linux         (a state machine in python which uses susi_python, Speech-to-text and Text-to-speech functions)
 |_ susi.ai            (React Application, the local web front-end with User Account Management, a client for the local deployment of the susi_server, the content management system for susi skills)

Usage

For usage sample refer: sample.py

Roadmap

Implement all queries supported by Susi AI API like Maps,Charts etc. and provide an easy interface to access them in Python.

susi_python's People

Contributors

alok760 avatar anupkumarpanwar avatar betterclever avatar chiragw15 avatar cseas avatar felixonmars avatar mariobehling avatar norbusan avatar orbiter avatar prabhupant avatar prateekiiest avatar sansyrox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

susi_python's Issues

Create a PyPi package

I believe that this repo has good architecture and we also use it as a package (by installing it from the source) for our other repos.

So we might as well create a PyPi package along with some Travis scripts that will make a release on PyPi every time the code updates here.

Other Comments
I would like to work on this.

Timezone consideration for chat

Is it possible for Susi to consider the timezone of the person talking to it? It seems to show only Central European Summer Time (CEST) when asked: "What time is it?".

I'm using sample.py for the chat.

The issue is also reflected here. Susi's response on this web page seems to be very slow too.

Improve the structure of this lib

This is my idea about how it can be improved:

  1. Get rid of global. This is not Pythonic. It may be useful for ad-hoc automation script, but for a serious, well-structured library, uhm, no.

  2. Let accept server URL as input, so that the lib can be used with SUSI server installed anywhere. We have these URLs hardcoded: https://api.susi.ai, http://localhost:4000/, but we should treat them as "default" value. Actually, when we make server URL customizable, we only need 1 default value, either https://api.susi.ai or http://localhost:4000/.

  3. If we can, let's make this lib "sans-IO", i.e, the lib won't do the job of receiving, sending data (over network), it only takes care of parsing, combining data. With this approach, our lib can be used both in synchronous code (where requests is often used for transporting) and asyncio code (where aiohttp is used for transporting). List of sans-io libs as reference: https://github.com/brettcannon/sans-io/blob/master/index.rst

Links not working

Two Links are given in the footer section are not working.
susi

Two of the links, as shown in the image above, are not working: Overview and Blog

Add option to get lyrics for songs

Add functionality to get lyrics for the song name passed as query.
Trigger phrases can be -

  1. Lyrics for <song_name>
  2. Show lyrics for <song_name>
  3. What are lyrics of <song_name>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.