Skip to main content

Launchbox Helper for Django

A plugin for your Django app to assist in integrating with Launchbox.


Features

The plugin currently offers the following features:

  • A helper class for easier configuration of settings for resources provided by Launchbox, like databases, caches, and storage buckets
  • A class for querying an identity service provided by a Launchbox plugin
  • An API for Launchbox to get information from your application so that it can display, or even change, that info within the Launchbox Management Dashboard

Planned features

  • Integrations with other Launchbox plugin types – authentication and SSL certificate management

Installation

These steps assume that you have already added a launch.yaml file to your application. For more information on that, visit the Launchbox docs.

  1. Add django-launchbox to your project's requirements and install it.
  2. Add "launchbox" to your INSTALLED_APPS setting like this:
    INSTALLED_APPS = [
        "launchbox",
        ...
    ]
    
  3. Update your Django settings to use the database provided by Launchbox:
    from launchbox import LBResources
    
    DATABASES = {
        # "db" is the resource identifier specified in your launch.yaml file
        "default": LBResources().settings("db")
    }
    
    • If you configured a cache or storage bucket in your launch.yaml file, update those settings, too:
      from launchbox import LBResources
      
      CACHES = {
          # "cache" is the resource identifier specified in your launch.yaml file
          "default": LBResources().settings("cache")
      }
      
      # AWS_STORAGE_BUCKET_NAME is a django-storages setting
      # "storage" is the resource identifier specified in your launch.yaml file
      AWS_STORAGE_BUCKET_NAME = LBResources().settings("storage") 
      
  4. If you want to manage users in the Launchbox dashboard, add the LB_USER_ATTRIBUTES setting to specify which user model fields and properties you want to log and validate:
    LB_USER_ATTRIBUTES = [
        "first_name",
        "last_name",
        "middle_initial",
        "display_name",
        "email",
        "admin_access",
        "is_active",
        "is_editor",
        "is_moderator",
        "is_owner",
        "is_superuser",
    ]
    
    And then add the Launchbox bridge API URLs to the urlpatterns in your project's urls.py:
    # Launchbox Service Bridge API
    path("bridge/", include("launchbox.api.urls")),
    

Working with Launchbox plugins

Identity providers

Use the LBIdendity class to query an identity service provided by a Launchbox plugin. For all examples given below, be sure you have imported the class with:

from launchbox import LBIdentity

You will need to know a plugin's plugin_id (an identifier internal to Launchbox) to work with it.

Get a specific user

To get a user's details when you know their exact user ID within the identity database, use the user.get() method:

user_details = LBIdentity("plugin_id").user.get("user_id")

Search for a user with partial matching

To search for a user when you aren't certain of their user ID, use the user.search() method:

user_details = LBIdentity("plugin_id").user.search("user_id")

Get the groups a user belongs to

For identity providers that can place users into groups, you can get a list of a user's groups with the user.groups() method:

user_groups = LBIdentity("plugin_id").user.groups("user_id")

Get group details

To get the details of a group, use the group.get() method:

group_details = LBIdentity("plugin_id").group.get("group_id")

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-launchbox-1.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_launchbox-1.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file django-launchbox-1.0.tar.gz.

File metadata

  • Download URL: django-launchbox-1.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for django-launchbox-1.0.tar.gz
Algorithm Hash digest
SHA256 55afc073958075934f2cc2168e31ad34f729bb149d049b76158c8f7cb8e21132
MD5 dafde2275907213b5d7f716c49dc62f8
BLAKE2b-256 be28318eb29544bceba12592cc96d29268a92650979534044df6c49faef1fac1

See more details on using hashes here.

File details

Details for the file django_launchbox-1.0-py3-none-any.whl.

File metadata

  • Download URL: django_launchbox-1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for django_launchbox-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec9e1ce3165aca1c3fdef07d1573bd1837e12ed9b4f5e08286bdac894bea829c
MD5 cd3b64f0ec9a02a812eb8253c44d54c8
BLAKE2b-256 1ecb252b032ddef803ab54f5c71f7ea3d32cecf9415a79e881503df4ae03eca6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0

Supported by

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