Skip to main content

Create a web interface to interact with a class

Project description

PyObjectInterface

Tests Badge Python Version Badge License Badge

Quickly control any python object through an async web interface.

pip install PyObjectInterface

from PyObjectInterface.WebController import create_WebController
import flask

app = flask.Flask('Demo')
any_python_object = ...
create_WebController(any_python_object, 'any_python_object', app)
app.run()

Go to http://127.0.0.1:5000/webcontroller

Example: Async Robot Control

async_robot_control.png

The above interface was automatically created from:

class DriveMotor:
    def __init__(self, pin):
        self.pin = pin
        self.speed = 0

    def forward(self): ...
    def stop(self): ...

class Robot:
    def __init__(self):
        self.left_motor = DriveMotor(1)
        self.right_motor = DriveMotor(2)

    def forward(self): ...
    def stop(self): ...
    def left(self): ...
    def right(self): ...

Look at PyObjectInterface/examples/example.py for more information.

Advanced Usage and Settings

You can use PyObjectInterface without the WebController.

create_WebController

  • obj: Any python object
  • name: str: Friendly name for object, generally the name of the variable that refers to the object
  • flask_app: return value of flask.Flask()
  • recursion_depth = 5: maximum layers of subobjects to include
  • create_private_interface = True: if True creates a /webcontroller/private page that includes private methods and attributes

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

PyObjectInterface-0.1.1rc0.tar.gz (7.7 kB view hashes)

Uploaded Source

Built Distribution

PyObjectInterface-0.1.1rc0-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

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