Skip to main content

smarter.ai Python API

Project description

made-with-python PyPi version

Smarter API for Python

This API allows communication between any python based flex component on the smarter.ai platform.

User Installation

The latest released version are available at the Python Package Index (PyPI).

To install using pip:

pip install smarterai

Usage

  • For starters an account needs to be created at our platform. So visit our website and create an account at smarter.ai.

  • Then in order for the Flex's code to be accessible for the smarter.ai platform, follow these steps:

    1. Visit the Studio
    2. Create a new Flex
    3. Chose a code-based template of your choosing.
    4. Follow the wizard and make sure to choose Python 3.6 as the programming Language.
    5. Go to Project -> Code and write/upload your code there.
  • You can then start building your Flex's code by copy-pasting the code found in the examples below.

  • The Flex's interface needs to consist of the following:

    1. Import smarterai:
          from smarterai import *
      
    2. A class called SmarterFlex.
    3. SmarterFlex should inherit from SmarterPlugin:
          class SmarterFlex(SmarterPlugin)
      
    4. The class should have a method invoke with the following signature:
          def invoke(self, port: str, msg: SmarterMessage, send_message: SmarterSender) -> Optional[SmarterMessage]
      

Example 1

This is the basic interface for a python based Flex.

from smarterai import *


class SmarterFlex(SmarterPlugin):
    def invoke(self, port: str, msg: SmarterMessage, send_message: SmarterSender) -> Optional[SmarterMessage]:
        print("Received the message '{0}' on port '{1}'".format(msg, port))
        return

Example 2

If your Flex needs initializing/booting before it starts running. Then a method boot needs to be defined.

from smarterai import *


class SmarterFlex(SmarterPlugin):
    def __init__(self):
        self.port_fn_mapper = {'boot': self.process_input}


def boot(self, msg: SmarterMessage, send_message: SmarterSender) -> Optional[SmarterMessage]:
    # Write code here
    return


def invoke(self, port: str, msg: SmarterMessage, send_message: SmarterSender) -> Optional[SmarterMessage]:
    print("Received the message '{0}' on port '{1}'".format(msg, port))
    self.port_fn_mapper[port](msg, send_message)
    return

Credits

Authored by Nevine Soliman and Carlos Medina (smarter.ai - All rights reserved)

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

smarterai-0.1.3.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file smarterai-0.1.3.tar.gz.

File metadata

  • Download URL: smarterai-0.1.3.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for smarterai-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ae5b791efbd6d19626a27540b9ea0de989e2c7ef53d24d3a77f050531e88d565
MD5 786196d76fdab85984e3776ecabc6939
BLAKE2b-256 e1edfcccb95130e2dcf371671b938676d9ea0632766c6103fc1627a822a88c28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page