Skip to main content

Dashborg Python SDK

Project description

Dashborg Python SDK

Modern internal tools. Defined, controlled, and deployed directly from backend code. No JavaScript. Secure.

  • Define your UI in HTML
  • Define handlers in Go/Python
  • Run your program to deploy your app

Dashborg was built to be the simplest way to create secure web-based internal tools from backend code. Define your UI and control it completely within your backend code. All backend communication is secured with public/private key encryption. Add client password or user-account authentication with one line of code.

Documentation

Key Features

  • No Javascript - No context switching. Write your dashboards using pure HTML and backend code. No JavaScript environment to set up, no messing with NPM, Yarn, Webpack, Babel, React, Angular, etc.
  • No Open Ports - No webhooks, firewall configuration, IP whitelists, or open ports required for your backend.
  • No Frontend Hosting - You get a secure, internet accessible frontend out of the box. No web server configuration, domain name, load balancer, or WAF setup and configuration required.
  • No Shared Passwords - No incoming connections to your infrastructure. Dashborg does not require or store your database passwords or API keys. It does not access any 3rd party service on your behalf.
  • Built For Real Developers - Use the editor, libraries, and frameworks that you already use to write your tools -- no 3rd-party GUI tools to learn, or typing code into text boxes on a website. Easy to get started, but powerful enough to build complex tools and interactions.
  • Secure - All connections are secured using SSL public/private key encryption with client auth. HTTPS on the frontend. Secure your dashboards with a simple password or user accounts. SSO coming soon.
  • Control - Dashborg panels are 100% defined from your backend code. That means you can version them in your own code repository, and run and test them in your current dev, staging, and production environments.
  • Modern Frontend Controls - Tables, Lists, Forms, Inputs, and Buttons all out of the box, with more to come! No Javascript or CSS frameworks required. All styled to look good and work together.

Dashborg Hello World

First install the Dashborg SDK:

pip install dashborg-python-sdk

The code below is the complete code for your first Dashborg program. Copy and paste it into a new file (demo.py).

import asyncio
import dashborg

async def root_handler(req):
    req.set_html("""
        <panel>
            <h1>Hello World</h1>
            <d-button handler="/run-handler">Run</d-button>
        </panel>
    """)

async def run_handler(req):
    print("Running Handler!")

async def main():
    config = dashborg.Config(proc_name="demo", anon_acc=True, auto_keygen=True)
    await dashborg.start_proc_client(config)
    await dashborg.register_panel_handler("default", "/", root_handler)
    await dashborg.register_panel_handler("default", "/run-handler", run_handler)
    while True:
        await asyncio.sleep(1)

asyncio.run(main())

You should see output that looks similar to:

Dashborg created new self-signed keypair key:dashborg-client.key cert:dashborg-client.crt for new accountid:[YOUR-ACCOUNT-ID]
Dashborg KeyFile:dashborg-client.key CertFile:dashborg-client.crt SHA256:[YOUR-KEY-FINGERPRINT]
Dashborg Initialized Client AccId:[YOUR-ACCOUNT-ID] Zone:default ProcName:demo ProcRunId:4f4e8364-5d39-495f-8c9e-1009741b1b47
Dashborg Panel Link [default]: https://console.dashborg.net/acc/YOUR-OWN-PRIVATE-LINK

Copy and paste your panel link (console.dashborg.net) into your browser to see your live dashboard!

Questions? Join the Dashborg Slack Channel

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

dashborg-python-sdk-0.3.1.dev1.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

dashborg_python_sdk-0.3.1.dev1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file dashborg-python-sdk-0.3.1.dev1.tar.gz.

File metadata

  • Download URL: dashborg-python-sdk-0.3.1.dev1.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for dashborg-python-sdk-0.3.1.dev1.tar.gz
Algorithm Hash digest
SHA256 5fc2cb51dc285743d5a04e9c476708830aafe01d219869db67cd4dca955ab6f3
MD5 5eff0f35cea5b5c2f62514c03f4d3645
BLAKE2b-256 9297e825297c0696826fca2d4ea6193f91751e5ef7902dd73ba0922a12dd3be1

See more details on using hashes here.

File details

Details for the file dashborg_python_sdk-0.3.1.dev1-py3-none-any.whl.

File metadata

  • Download URL: dashborg_python_sdk-0.3.1.dev1-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for dashborg_python_sdk-0.3.1.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d8c0f43c3932c5e891cf315af74fe479a762a7ce84659e57b1edf754b4d7f78
MD5 6da97d3be6f5a8a98e046a7d234cebb2
BLAKE2b-256 3d3396218b8b6e4b6fe5e2bd182d779c036a5f559b9a221de0cda4701a976d12

See more details on using hashes here.

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