Skip to main content

smarter.ai Python API

Project description

made-with-python PyPi version

Smarter API for Python

This API allows communication between artifacts 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 artifact's code to be accessible for the smarter.ai platform, follow these steps:

    1. Go to Open Studio
    2. Create a new Experiment
    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 artifact's code by copy-pasting the code found in the examples below.

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

    1. Import smarterai:
          from smarterai import *
      
    2. A class called SmarterArtifact.
    3. SmarterArtifact should inherit from SmarterPlugin:
          class SmarterArtifact(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 all the python artifacts.

from smarterai import *

class SmarterArtifact(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 artifact needs initializing/booting before it starts running. Then a method boot needs to be defined.

from smarterai import *

class SmarterArtifact(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

Authoured 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.0.1.tar.gz (4.3 kB view hashes)

Uploaded Source

Supported by

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