DropbaseHQ / dropbase

Dropbase helps you build internal web apps with Python. The Dropbase self-hosted Worker securely interacts with your data within your own infra.

Home Page:https://www.dropbase.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dropbase logo

Build admin panels and internal web apps with Python

Website · Docs · Quickstart · Demos · Sign up · Local Setup

Dropbase hero

Overview

Dropbase is a developer-first platform to build internal web apps with just Python. It lets you easily import your existing Python libraries and scripts so you don’t have to rewrite them to fit our framework.

Build apps by selecting UI components from a list and binding them to data fetcher functions or Python scripts. Use State & Context objects to access and modify the UI state and context directly via Python functions. There's no need to write frontend code.

Dropbase has a highly opinionated app layout that speeds up app development and results in simple apps that effectively solve user problems. All apps consists of a table view and a widget sidebar. By placing table(s) in the table view and UI components in the sidebar widget, you can quickly build anything from admin panels, billing dashboards, and internal engineering tools.

Once you've built your apps, share them with other users via roles, groups, permissions, and granular controls.

Structure of Dropbase Apps

  • Apps
    • Page
      1. Tables
      2. Widget
        • UI Components
      3. Functions (data fetching functions or scripts)

Why Dropbase?

  1. Build fullstack internal apps with just Python; there’s no need work with frontend libraries, frameworks, or code
  2. Easily import your existing Python scripts and libraries and leverage third party libraries like pandas and numpy in your apps
  3. Secure platform with granular app permissions, role based access control, self-hosted deployments, and source-available distribution

Demo Videos

Get Started

  1. Create an account at https://app.dropbase.io/
  2. Follow instructions for local setup at: https://docs.dropbase.io/setup/developer (or see below for a quick local setup guide)

Quick Local Setup Guide

0. Pre-requisites

  • Sign up for Dropbase account
  • Install Docker. We strongly recommend using Docker Desktop, especially if you're on Apple M chips. Alternatively, you can install docker and docker-compose.
  • Have internet access.

1. Clone the dropbase repo

git clone https://github.com/DropbaseHQ/dropbase.git

The dropbase directory (root) will contain the following important subdirectories:

  • demo: Contains docker files to spin up a sample Postgres database with seed data
  • workspace: Your apps code and files

Github repo at Dropbase Worker.

2. Create a .env file

In the root directory (dropbase), create a .env file, paste the following context, then save it:


DROPBASE_TOKEN='YOUR_WORKSPACE_TOKEN'
DROPBASE_API_URL="https://api.dropbase.io"

3. Install requirements and start servers

In your terminal, run the following commands from the root directory (dropbase)

chmod +x start.sh
./start.sh

4. Create your first Dropbase app

Go to the Dropbase App Dashboard localhost:3030/apps from your browser and click on the Create app button to create your first Dropbase app.

Deploy to your server

The Dropbase components come in the form of Docker containers. If you wish to implement them on your server, you can consult our ansible scripts for deployment guidance.

About

Dropbase helps you build internal web apps with Python. The Dropbase self-hosted Worker securely interacts with your data within your own infra.

https://www.dropbase.io/

License:Other


Languages

Language:Python 85.8%Language:Makefile 5.4%Language:Dockerfile 5.0%Language:Shell 3.8%