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.2.3.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

jsontableschema_sql-0.2.3-py2.py3-none-any.whl (8.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for jsontableschema-sql-0.2.3.tar.gz
Algorithm Hash digest
SHA256 76c423b398e17144b6536f71f006fca3fc05363f8892280efd5504c008ce6006
MD5 ab272c46d7ca0f197b3f6a21ab908aac
BLAKE2b-256 c4603923af8a365a8efa615e8eb1da37e1ad2a63c92c613186e1914ffe9148e4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for jsontableschema_sql-0.2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3c71f2d14fe1500194fed0787d3d4bcbeb2ff83cb2bb29ac0c7b0ba13fb84ade
MD5 c1ff0576e046ad06449015b0f3a027ba
BLAKE2b-256 deadb363c5160149654ac52bfd1126053a923ebd57061661310c53757911defa

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