• Stars
    star
    2,867
  • Rank 15,224 (Top 0.4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web-based SQLite database browser written in Python

sqlite-web is a web-based SQLite database browser written in Python.

Project dependencies:

Installation

$ pip install sqlite-web

Usage

$ sqlite_web /path/to/database.db

Features

  • Works with your existing SQLite databases, or can be used to create new databases.
  • Add or drop:
    • Tables
    • Columns (yes, you can drop and rename columns!)
    • Indexes
  • Export data as JSON or CSV.
  • Import JSON or CSV files.
  • Browse table data.
  • Insert, Update or Delete rows.

Screenshots

The index page shows some basic information about the database, including the number of tables and indexes, as well as its size on disk:

The structure tab displays information about the structure of the table, including columns, indexes, triggers, and foreign keys (if any exist). From this page you can also create, rename or drop columns and indexes.

Columns are easy to add, drop or rename:

The content tab displays all the table data. Links in the table header can be used to sort the data:

The query tab allows you to execute arbitrary SQL queries on a table. The query results are displayed in a table and can be exported to either JSON or CSV:

The import tab supports importing CSV and JSON files into a table. There is an option to automatically create columns for any unrecognized keys in the import file:

The export tab supports exporting all, or a subset, of columns:

Basic INSERT, UPDATE and DELETE queries are supported:

Command-line options

The syntax for invoking sqlite-web is:

$ sqlite_web [options] /path/to/database-file.db

The following options are available:

  • -p, --port: default is 8080
  • -H, --host: default is 127.0.0.1
  • -d, --debug: default is false
  • -x, --no-browser: do not open a web-browser when sqlite-web starts.
  • -P, --password: prompt for password to access sqlite-web. Alternatively, the password can be stored in the "SQLITE_WEB_PASSWORD" environment variable, in which case the application will not prompt for a password, but will use the value from the environment.
  • -r, --read-only: open database in read-only mode.
  • -R, --rows-per-page: set pagination on content page, default 50 rows.
  • -e, --extension: path or name of loadable extension(s). To load multiple extensions, specify -e [path] for each extension.
  • -u, --url-prefix: URL prefix for application, e.g. "/sqlite-web".
  • -c, --cert and -k, --key - specify SSL cert and private key.
  • -a, --ad-hoc - run using an ad-hoc SSL context.

Using docker

A Dockerfile is provided with sqlite-web. To use:

$ cd docker/  # Change dirs to the dir containing Dockerfile
$ docker build -t coleifer/sqlite-web .
$ docker run -it --rm \
    -p 8080:8080 \
    -v /path/to/your-data:/data \
    -e SQLITE_DATABASE=db_filename.db \
    coleifer/sqlite-web

More Repositories

1

peewee

a small, expressive orm -- supports postgresql, mysql, sqlite and cockroachdb
Python
10,766
star
2

huey

a little task queue for python
Python
4,869
star
3

walrus

Lightweight Python utilities for working with Redis
Python
1,135
star
4

flask-peewee

flask integration for peewee, including admin, authentication, rest api and more
Python
770
star
5

micawber

a small library for extracting rich content from urls
Python
621
star
6

unqlite-python

Python bindings for the UnQLite embedded NoSQL database
C
387
star
7

django-relationships

Descriptive relationships between auth.users (think facebook friends and twitter followers, plus more)
Python
367
star
8

scout

RESTful search server written in Python, powered by SQLite.
Python
294
star
9

irc

tinkering with a made-from-scratch irc library in python
Python
181
star
10

pysqlite3

SQLite3 DB-API 2.0 driver from Python 3, packaged separately, with improvements
C
159
star
11

django-generic-m2m

relate anything to anything
Python
151
star
12

simpledb

miniature redis-like server implemented in Python
Python
137
star
13

python-lsm-db

Python bindings for the SQLite4 LSM database.
C
129
star
14

vedis-python

Python bindings for the Vedis embedded NoSQL database
C
122
star
15

wtf-peewee

WTForms integration for peewee
Python
110
star
16

sophy

Fast Python bindings to Sophia Database
C
80
star
17

sqlcipher3

Python 3 bindings for SQLCipher
C
75
star
18

django-generic-aggregation

annotate() and aggregate() for generically-related data.
Python
72
star
19

ucache

gametight lightweight caching library for python
Python
65
star
20

beefish

simple file encryption with pycrypto
Python
65
star
21

chrome-extensions

Personal collection of chrome extensions
JavaScript
61
star
22

sqlite-vtfunc

Implement SQLite table-valued functions with Python
Cython
56
star
23

sweepea

Fast, lightweight Python database toolkit for SQLite, built with Cython.
Cython
41
star
24

dot-theme

dotfile templating tools
Python
31
star
25

greendb

server frontend for lmdb
Python
24
star
26

kvkit

dank key/value store high-level APIs
Python
18
star
27

kt

Fast Python client for KyotoTycoon
Python
17
star
28

ukt

Kyoto Tycoon client library for Python.
Python
11
star
29

sqlite3-bloomfilter

Bloomfilter for SQLite3
C
6
star