Skip to main content

A flat file database for json objects.

Project description

# jsondb [![Build Status][travis-image]][travis-build]

This is a utility for managing content in a database which stores
content in JSON format.

## Installation

This package can be installed from [PyPi](https://pypi.python.org/pypi/jsondatabase) by running:

```bash
pip install jsondatabase
```

Note, the package name and the import name are different.
Import the package using `import jsondb`.

## Usage

```python
from jsondb.db import Database
db = Database("mydata.db")
```

The database has an attribute which works similar to
[jQuery's `data`][jquery-data] attribute.

```python
# Getting all data
db = Database("mydata.db")
print(db.data())
```

```python
# Getting a stored value
db = Database("mydata.db")
print(db.data(key="user_count"))
```

**It is important to note that a key will be created regardless of whether it
exists as long as a value is provided.** The database has the same functionality
as a dictionary.

```python
# Setting a value
db = Database("mydata.db")
db.data(key="user_count", value=241)
```

```python
# Passing in a dictionary value
db = Database("mydata.db")
data = {
"user_id": 234565,
"user_name": "AwesomeUserName",
"is_moderator": True,
}
db.data(dictionary=data)
```

```python
# Deleting a value
db = Database("mydata.db")
db.delete("my_key")
```

The database also supports a dictionary-like syntax for retrieving, setting, and
removing values.

```python
db = Database("mydata.db")

# Retrieving a value
value = db["key"]

# Setting a value
db["key"] = value

# Removing a key
del db["key"]

# Checking if a key exists
"key" in db
```

## Performance
If performance is an issue with large databases then the `python-cjson` module
can be installed. jsondb will automatically detect this and use cjson instead.

[jquery-data]: http://api.jquery.com/data/
[travis-build]: https://travis-ci.org/gunthercox/jsondb
[travis-image]: https://travis-ci.org/gunthercox/jsondb.svg




History
-------

`See release notes
<https://github.com/gunthercox/jsondb/releases>`_

Project details


Download files

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

Files for jsondatabase, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size jsondatabase-0.1.0-py2.py3-none-any.whl (6.1 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size jsondatabase-0.1.0.tar.gz (8.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page