Metadata-Version: 2.1
Name: brunodb
Version: 0.3.0
Summary: Useful wrapper for SQLite
Home-page: https://github.com/dave31415/brunodb
Author: David Johnston
Author-email: dave31415@gmail.com
License: MIT
Download-URL: https://pypi.org/project/brunodb/
Keywords: SQLite
Platform: UNKNOWN
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# brunodb
Lightweight but useful python interface for sqlite and postgres

There are no real dependencies besides sqlite3 which is a standard library 
module and pytest for running tests. psycopg2 and a postgres database is needed
to run the interface on postgres.

To install

pip install brunodb

See these for examples of how to use

https://github.com/dave31415/brunodb/blob/master/brunodb/cars_example.py


https://github.com/dave31415/brunodb/blob/master/test/test_cars.py

To run tests:

python -m pytest test

If you have postgres installed, you can test it as well. You'll need to put
the database password in the POSTGRES_PWD environment variable and have the
usual standards: running on localhost, usual port, user name postgres etc.

```
python -m pytest test_postscript 
```

If you install dbcrossbar you can do much faster postgres loads. 
Around 80X faster.

```
python -m pytest test_postgres_bulk_load
```

Or run all tests if you have postgres and dbcrossbar installed

```
python -m pytest
```

There is a wrapper for either Database class called DBase:

For in memory sqlite database:

```
from brunodb import DBase
config = {'db_type': 'sqlite'}
dbase = DBase(config)
```

Or with a file:

```
config = {'db_type': 'sqlite', 'filename': 'path/my_database.db'}
dbase = DBase(config)
```

Or using postgres:
```
config = {'db_type': 'postgres'}
dbase = DBase(config)
```

Or add other config options:

```
config = {'db_type': 'postgres', 'port': 5555, 'password':'foo'}
dbase = DBase(config)
```


First version April 30, 2020

Make block=False the default for loading
version='0.1.3'

Added Postgres functionality
version '0.2.0'

Added dbcrossbar fast bulk loads to postgres making it much 
faster than SQlite rather than much slower as before
version '0.3.0'


