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.7.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 291e4e9431d2843fa7ae91484af5c68b56dad5276ab63470d454aaf8d87489ea |
|
MD5 | fae3d2b3486781ef466e4cb778409d4c |
|
BLAKE2b-256 | b33beb829c8a119395230f3a08d35cb347bc56aac08631640a5d03690640c135 |
Close
Hashes for jsontableschema_sql-0.7.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2db688340669fe63ba626d3e30975a5bcb029c39d235e65816972e198348dad9 |
|
MD5 | c6c43234ec46577e7d382a35ad5b1029 |
|
BLAKE2b-256 | c7855c19db0a06696b87ce37a5d1ee6d66ee8f29c2c87e902f1195156454e9a2 |