Skip to main content

Generate SQL tables, load and extract data, based on JSON Table Schema descriptors.

Project description

# jsontableschema-sql-py

[![Travis](https://img.shields.io/travis/frictionlessdata/jsontableschema-sql-py/master.svg)](https://travis-ci.org/frictionlessdata/jsontableschema-sql-py)
[![Coveralls](http://img.shields.io/coveralls/frictionlessdata/jsontableschema-sql-py/master.svg)](https://coveralls.io/r/frictionlessdata/jsontableschema-sql-py?branch=master)
[![PyPi](https://img.shields.io/pypi/v/jsontableschema-sql.svg)](https://pypi-hypernode.com/pypi/jsontableschema-sql)
[![Gitter](https://img.shields.io/gitter/room/frictionlessdata/chat.svg)](https://gitter.im/frictionlessdata/chat)

Generate and load SQL tables based on JSON Table Schema descriptors.

## Tabular Storage

Package implements [Tabular Storage](https://github.com/okfn/datapackage-storage-py#tabular-storage) interface.

SQLAlchemy is used as sql wrapper. We can get storage this way:

```python
from sqlalchemy import create_engine
from jsontableschema_sql import Storage

engine = create_engine('sqlite:///:memory:', prefix='prefix')
storage = Storage(engine)
```

Then we could interact with storage:

```python
storage.tables
storage.check('table_name') # check existence
storage.create('table_name', schema)
storage.delete('table_name')
storage.describe('table_name') # return schema
storage.read('table_name') # return data
storage.write('table_name', data)
```

## Mappings

```
schema.json -> SQL table schema
data.csv -> SQL talbe data
```

## Drivers

SQLAlchemy is used - [docs](http://www.sqlalchemy.org/).

## Documentation

API documentation is presented as docstings:
- [Storage](https://github.com/frictionlessdata/jsontableschema-sql-py/blob/master/jsontableschema_sql/storage.py)

## Contributing

Please read the contribution guideline:

[How to Contribute](CONTRIBUTING.md)

Thanks!

Project details


Download files

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

Source Distribution

jsontableschema-sql-0.1.2.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

jsontableschema_sql-0.1.2-py2.py3-none-any.whl (9.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file jsontableschema-sql-0.1.2.tar.gz.

File metadata

File hashes

Hashes for jsontableschema-sql-0.1.2.tar.gz
Algorithm Hash digest
SHA256 caddba35aa37861eb6bca1c49abe1b06fad4f10ff4a495ea819aa3aa6e2679b9
MD5 e37d17ee537ada216c902a4a7d4488f5
BLAKE2b-256 0fcd23709e20435ae6706be6219adaec49c9d929eda0238b21c56564211afec8

See more details on using hashes here.

Provenance

File details

Details for the file jsontableschema_sql-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for jsontableschema_sql-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 63ebe0a7129e70d1e19c78f8235b23217f489de287edec8a69cabb1829466013
MD5 f4ce820310c99dde103bb766cd2f561c
BLAKE2b-256 c4aae8131d970883b4490bd3e5f675d819d6e136b25619c5b5a368de2df606ed

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page