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

Uploaded Source

Built Distribution

jsontableschema_sql-0.2.1-py2.py3-none-any.whl (8.2 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for jsontableschema-sql-0.2.1.tar.gz
Algorithm Hash digest
SHA256 27bbfcf5f6d71097d01e5b4ddef1ae56ce1fae3e2590aacea144393b375f45dc
MD5 37a574f882c8ad8007dbeda8079b38ae
BLAKE2b-256 b4fa1d52d345c84f26f2cea399477a57018b95ca9d2dfc14f41ae50c8fd7985f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for jsontableschema_sql-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 74ec6c40d4c1acb933075b9cc3d7ab80433bacb0742028ea79212c64373c03b7
MD5 41647ac38c603435de05cbb16b9edf7c
BLAKE2b-256 0dd2155e93f7749bee976e63564892f2604cc818dea3d23c686315cab5333753

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