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.python.org/pypi/jsontableschema-sql)
[![SemVer](https://img.shields.io/badge/versions-SemVer-brightgreen.svg)](http://semver.org/)
[![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.
> Version `v0.3` contains breaking changes:
- renamed `Storage.tables` to `Storage.buckets`
- changed `Storage.read` to read into memory
- added `Storage.iter` to yield row by row
## Getting Started
### Installation
```bash
pip install jsontableschema-sql
```
### Storage
Package implements [Tabular Storage](https://github.com/frictionlessdata/jsontableschema-py#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.buckets
storage.create('bucket', descriptor)
storage.delete('bucket')
storage.describe('bucket') # return descriptor
storage.iter('bucket') # yield rows
storage.read('bucket') # return rows
storage.write('bucket', rows)
```
### Mappings
```
schema.json -> SQL table schema
data.csv -> SQL talbe data
```
### Drivers
SQLAlchemy is used - [docs](http://www.sqlalchemy.org/).
## API Reference
### Snapshot
https://github.com/frictionlessdata/jsontableschema-py#snapshot
### Detailed
- [Docstrings](https://github.com/frictionlessdata/jsontableschema-py/tree/master/jsontableschema/storage.py)
- [Changelog](https://github.com/frictionlessdata/jsontableschema-sql-py/commits/master)
## Contributing
Please read the contribution guideline:
[How to Contribute](CONTRIBUTING.md)
Thanks!
[![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.python.org/pypi/jsontableschema-sql)
[![SemVer](https://img.shields.io/badge/versions-SemVer-brightgreen.svg)](http://semver.org/)
[![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.
> Version `v0.3` contains breaking changes:
- renamed `Storage.tables` to `Storage.buckets`
- changed `Storage.read` to read into memory
- added `Storage.iter` to yield row by row
## Getting Started
### Installation
```bash
pip install jsontableschema-sql
```
### Storage
Package implements [Tabular Storage](https://github.com/frictionlessdata/jsontableschema-py#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.buckets
storage.create('bucket', descriptor)
storage.delete('bucket')
storage.describe('bucket') # return descriptor
storage.iter('bucket') # yield rows
storage.read('bucket') # return rows
storage.write('bucket', rows)
```
### Mappings
```
schema.json -> SQL table schema
data.csv -> SQL talbe data
```
### Drivers
SQLAlchemy is used - [docs](http://www.sqlalchemy.org/).
## API Reference
### Snapshot
https://github.com/frictionlessdata/jsontableschema-py#snapshot
### Detailed
- [Docstrings](https://github.com/frictionlessdata/jsontableschema-py/tree/master/jsontableschema/storage.py)
- [Changelog](https://github.com/frictionlessdata/jsontableschema-sql-py/commits/master)
## Contributing
Please read the contribution guideline:
[How to Contribute](CONTRIBUTING.md)
Thanks!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for jsontableschema-sql-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8758d4882017bfe898b91fefdd6896b6741213fb1afafb65644e2df67223806 |
|
MD5 | 38b679716d6ed60915d8828aa6b81a7b |
|
BLAKE2b-256 | cba6b29755f00aa36fe7f3286cc5461a03495b790e01763d9b1a1d4fba421d3c |
Close
Hashes for jsontableschema_sql-0.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b84b8fcfa7c59ff2f930ec506c140fa047eec667b3e44220ca6a862dca39f935 |
|
MD5 | 92256f9893faeb241b47fb6c6358b484 |
|
BLAKE2b-256 | 6608b1f3a40c735b5c8a9dc2a35e240ec7bdd1c0db955e40795c651b5918e5c5 |