summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 06:12:11 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 06:12:11 +0000
commit80c3e6838d5befc98ffeca8f6f845a064d44d811 (patch)
treed0161393f2add6650aad3c6e37f865a75ef815ab
parente1bc93152db184d50aebfe89567f3998f3994f44 (diff)
automatic import of python-tableschema-sql
-rw-r--r--.gitignore1
-rw-r--r--python-tableschema-sql.spec556
-rw-r--r--sources1
3 files changed, 558 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..9bf90dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/tableschema-sql-1.3.2.tar.gz
diff --git a/python-tableschema-sql.spec b/python-tableschema-sql.spec
new file mode 100644
index 0000000..5fa247d
--- /dev/null
+++ b/python-tableschema-sql.spec
@@ -0,0 +1,556 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tableschema-sql
+Version: 1.3.2
+Release: 1
+Summary: Generate SQL tables, load and extract data, based on JSON Table Schema descriptors.
+License: MIT
+URL: https://github.com/frictionlessdata/tableschema-sql-py
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8a/b4/d579308f66662c3ed18dcfeeff8007dd038cea266b3da57c59050da92dfe/tableschema-sql-1.3.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-six
+Requires: python3-sqlalchemy
+Requires: python3-pybloom-live
+Requires: python3-tabulator
+Requires: python3-tableschema
+Requires: python3-coverage
+Requires: python3-mock
+Requires: python3-pylama
+Requires: python3-pytest
+Requires: python3-pytest-cov
+Requires: python3-psycopg2
+Requires: python3-pymysql
+Requires: python3-dotenv
+
+%description
+# tableschema-sql-py
+
+[![Travis](https://img.shields.io/travis/frictionlessdata/tableschema-sql-py/master.svg)](https://travis-ci.org/frictionlessdata/tableschema-sql-py)
+[![Coveralls](http://img.shields.io/coveralls/frictionlessdata/tableschema-sql-py/master.svg)](https://coveralls.io/r/frictionlessdata/tableschema-sql-py?branch=master)
+[![PyPi](https://img.shields.io/pypi/v/tableschema-sql.svg)](https://pypi.python.org/pypi/tableschema-sql)
+[![Github](https://img.shields.io/badge/github-master-brightgreen)](https://github.com/frictionlessdata/tableschema-sql-py)
+[![Gitter](https://img.shields.io/gitter/room/frictionlessdata/chat.svg)](https://gitter.im/frictionlessdata/chat)
+
+Generate and load SQL tables based on [Table Schema](http://specs.frictionlessdata.io/table-schema/) descriptors.
+
+## Features
+
+- implements `tableschema.Storage` interface
+- provides additional features like indexes and updating
+
+## Contents
+
+<!--TOC-->
+
+ - [Getting Started](#getting-started)
+ - [Installation](#installation)
+ - [Documentation](#documentation)
+ - [API Reference](#api-reference)
+ - [`Storage`](#storage)
+ - [Contributing](#contributing)
+ - [Changelog](#changelog)
+
+<!--TOC-->
+
+## Getting Started
+
+### Installation
+
+The package use semantic versioning. It means that major versions could include breaking changes. It's highly recommended to specify `package` version range in your `setup/requirements` file e.g. `package>=1.0,<2.0`.
+
+```bash
+pip install tableschema-sql
+```
+
+## Documentation
+
+```python
+from datapackage import Package
+from tableschema import Table
+from sqlalchemy import create_engine
+
+# Create sqlalchemy engine
+engine = create_engine('sqlite://')
+
+# Save package to SQL
+package = Package('datapackage.json')
+package.save(storage='sql', engine=engine)
+
+# Load package from SQL
+package = Package(storage='sql', engine=engine)
+package.resources
+```
+
+## API Reference
+
+### `Storage`
+```python
+Storage(self, engine, dbschema=None, prefix='', reflect_only=None, autoincrement=None)
+```
+SQL storage
+
+Package implements
+[Tabular Storage](https://github.com/frictionlessdata/tableschema-py#storage)
+interface (see full documentation on the link):
+
+![Storage](https://i.imgur.com/RQgrxqp.png)
+
+> Only additional API is documented
+
+__Arguments__
+- __engine (object)__: `sqlalchemy` engine
+- __dbschema (str)__: name of database schema
+- __prefix (str)__: prefix for all buckets
+- __reflect_only (callable)__:
+ a boolean predicate to filter the list of table names when reflecting
+- __autoincrement (str/dict)__:
+ add autoincrement column at the beginning.
+ - if a string it's an autoincrement column name
+ - if a dict it's an autoincrements mapping with column
+ names indexed by bucket names, for example,
+ `{'bucket1': 'id', 'bucket2': 'other_id}`
+
+
+#### `storage.create`
+```python
+storage.create(self, bucket, descriptor, force=False, indexes_fields=None)
+```
+Create bucket
+
+__Arguments__
+- __indexes_fields (str[])__:
+ list of tuples containing field names, or list of such lists
+
+
+#### `storage.write`
+```python
+storage.write(self, bucket, rows, keyed=False, as_generator=False, update_keys=None, buffer_size=1000, use_bloom_filter=True)
+```
+Write to bucket
+
+__Arguments__
+- __keyed (bool)__:
+ accept keyed rows
+- __as_generator (bool)__:
+ returns generator to provide writing control to the client
+- __update_keys (str[])__:
+ update instead of inserting if key values match existent rows
+- __buffer_size (int=1000)__:
+ maximum number of rows to try and write to the db in one batch
+- __use_bloom_filter (bool=True)__:
+ should we use a bloom filter to optimize DB update performance
+ (in exchange for some setup time)
+
+
+## Contributing
+
+> The project follows the [Open Knowledge International coding standards](https://github.com/okfn/coding-standards).
+
+Recommended way to get started is to create and activate a project virtual environment.
+To install package and development dependencies into active environment:
+
+```bash
+$ make install
+```
+
+To run tests with linting and coverage:
+
+```bash
+$ make test
+```
+
+## Changelog
+
+Here described only breaking and the most important changes. The full changelog and documentation for all released versions could be found in nicely formatted [commit history](https://github.com/frictionlessdata/tableschema-sql-py/commits/master).
+
+#### v1.3
+
+- Implemented constraints loading to a database
+
+#### v1.2
+
+- Add option to configure buffer size, bloom filter use (#77)
+
+#### v1.1
+
+- Added support for the `autoincrement` parameter to be a mapping
+- Fixed autoincrement support for SQLite and MySQL
+
+#### v1.0
+
+- Initial driver implementation.
+
+
+
+%package -n python3-tableschema-sql
+Summary: Generate SQL tables, load and extract data, based on JSON Table Schema descriptors.
+Provides: python-tableschema-sql
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tableschema-sql
+# tableschema-sql-py
+
+[![Travis](https://img.shields.io/travis/frictionlessdata/tableschema-sql-py/master.svg)](https://travis-ci.org/frictionlessdata/tableschema-sql-py)
+[![Coveralls](http://img.shields.io/coveralls/frictionlessdata/tableschema-sql-py/master.svg)](https://coveralls.io/r/frictionlessdata/tableschema-sql-py?branch=master)
+[![PyPi](https://img.shields.io/pypi/v/tableschema-sql.svg)](https://pypi.python.org/pypi/tableschema-sql)
+[![Github](https://img.shields.io/badge/github-master-brightgreen)](https://github.com/frictionlessdata/tableschema-sql-py)
+[![Gitter](https://img.shields.io/gitter/room/frictionlessdata/chat.svg)](https://gitter.im/frictionlessdata/chat)
+
+Generate and load SQL tables based on [Table Schema](http://specs.frictionlessdata.io/table-schema/) descriptors.
+
+## Features
+
+- implements `tableschema.Storage` interface
+- provides additional features like indexes and updating
+
+## Contents
+
+<!--TOC-->
+
+ - [Getting Started](#getting-started)
+ - [Installation](#installation)
+ - [Documentation](#documentation)
+ - [API Reference](#api-reference)
+ - [`Storage`](#storage)
+ - [Contributing](#contributing)
+ - [Changelog](#changelog)
+
+<!--TOC-->
+
+## Getting Started
+
+### Installation
+
+The package use semantic versioning. It means that major versions could include breaking changes. It's highly recommended to specify `package` version range in your `setup/requirements` file e.g. `package>=1.0,<2.0`.
+
+```bash
+pip install tableschema-sql
+```
+
+## Documentation
+
+```python
+from datapackage import Package
+from tableschema import Table
+from sqlalchemy import create_engine
+
+# Create sqlalchemy engine
+engine = create_engine('sqlite://')
+
+# Save package to SQL
+package = Package('datapackage.json')
+package.save(storage='sql', engine=engine)
+
+# Load package from SQL
+package = Package(storage='sql', engine=engine)
+package.resources
+```
+
+## API Reference
+
+### `Storage`
+```python
+Storage(self, engine, dbschema=None, prefix='', reflect_only=None, autoincrement=None)
+```
+SQL storage
+
+Package implements
+[Tabular Storage](https://github.com/frictionlessdata/tableschema-py#storage)
+interface (see full documentation on the link):
+
+![Storage](https://i.imgur.com/RQgrxqp.png)
+
+> Only additional API is documented
+
+__Arguments__
+- __engine (object)__: `sqlalchemy` engine
+- __dbschema (str)__: name of database schema
+- __prefix (str)__: prefix for all buckets
+- __reflect_only (callable)__:
+ a boolean predicate to filter the list of table names when reflecting
+- __autoincrement (str/dict)__:
+ add autoincrement column at the beginning.
+ - if a string it's an autoincrement column name
+ - if a dict it's an autoincrements mapping with column
+ names indexed by bucket names, for example,
+ `{'bucket1': 'id', 'bucket2': 'other_id}`
+
+
+#### `storage.create`
+```python
+storage.create(self, bucket, descriptor, force=False, indexes_fields=None)
+```
+Create bucket
+
+__Arguments__
+- __indexes_fields (str[])__:
+ list of tuples containing field names, or list of such lists
+
+
+#### `storage.write`
+```python
+storage.write(self, bucket, rows, keyed=False, as_generator=False, update_keys=None, buffer_size=1000, use_bloom_filter=True)
+```
+Write to bucket
+
+__Arguments__
+- __keyed (bool)__:
+ accept keyed rows
+- __as_generator (bool)__:
+ returns generator to provide writing control to the client
+- __update_keys (str[])__:
+ update instead of inserting if key values match existent rows
+- __buffer_size (int=1000)__:
+ maximum number of rows to try and write to the db in one batch
+- __use_bloom_filter (bool=True)__:
+ should we use a bloom filter to optimize DB update performance
+ (in exchange for some setup time)
+
+
+## Contributing
+
+> The project follows the [Open Knowledge International coding standards](https://github.com/okfn/coding-standards).
+
+Recommended way to get started is to create and activate a project virtual environment.
+To install package and development dependencies into active environment:
+
+```bash
+$ make install
+```
+
+To run tests with linting and coverage:
+
+```bash
+$ make test
+```
+
+## Changelog
+
+Here described only breaking and the most important changes. The full changelog and documentation for all released versions could be found in nicely formatted [commit history](https://github.com/frictionlessdata/tableschema-sql-py/commits/master).
+
+#### v1.3
+
+- Implemented constraints loading to a database
+
+#### v1.2
+
+- Add option to configure buffer size, bloom filter use (#77)
+
+#### v1.1
+
+- Added support for the `autoincrement` parameter to be a mapping
+- Fixed autoincrement support for SQLite and MySQL
+
+#### v1.0
+
+- Initial driver implementation.
+
+
+
+%package help
+Summary: Development documents and examples for tableschema-sql
+Provides: python3-tableschema-sql-doc
+%description help
+# tableschema-sql-py
+
+[![Travis](https://img.shields.io/travis/frictionlessdata/tableschema-sql-py/master.svg)](https://travis-ci.org/frictionlessdata/tableschema-sql-py)
+[![Coveralls](http://img.shields.io/coveralls/frictionlessdata/tableschema-sql-py/master.svg)](https://coveralls.io/r/frictionlessdata/tableschema-sql-py?branch=master)
+[![PyPi](https://img.shields.io/pypi/v/tableschema-sql.svg)](https://pypi.python.org/pypi/tableschema-sql)
+[![Github](https://img.shields.io/badge/github-master-brightgreen)](https://github.com/frictionlessdata/tableschema-sql-py)
+[![Gitter](https://img.shields.io/gitter/room/frictionlessdata/chat.svg)](https://gitter.im/frictionlessdata/chat)
+
+Generate and load SQL tables based on [Table Schema](http://specs.frictionlessdata.io/table-schema/) descriptors.
+
+## Features
+
+- implements `tableschema.Storage` interface
+- provides additional features like indexes and updating
+
+## Contents
+
+<!--TOC-->
+
+ - [Getting Started](#getting-started)
+ - [Installation](#installation)
+ - [Documentation](#documentation)
+ - [API Reference](#api-reference)
+ - [`Storage`](#storage)
+ - [Contributing](#contributing)
+ - [Changelog](#changelog)
+
+<!--TOC-->
+
+## Getting Started
+
+### Installation
+
+The package use semantic versioning. It means that major versions could include breaking changes. It's highly recommended to specify `package` version range in your `setup/requirements` file e.g. `package>=1.0,<2.0`.
+
+```bash
+pip install tableschema-sql
+```
+
+## Documentation
+
+```python
+from datapackage import Package
+from tableschema import Table
+from sqlalchemy import create_engine
+
+# Create sqlalchemy engine
+engine = create_engine('sqlite://')
+
+# Save package to SQL
+package = Package('datapackage.json')
+package.save(storage='sql', engine=engine)
+
+# Load package from SQL
+package = Package(storage='sql', engine=engine)
+package.resources
+```
+
+## API Reference
+
+### `Storage`
+```python
+Storage(self, engine, dbschema=None, prefix='', reflect_only=None, autoincrement=None)
+```
+SQL storage
+
+Package implements
+[Tabular Storage](https://github.com/frictionlessdata/tableschema-py#storage)
+interface (see full documentation on the link):
+
+![Storage](https://i.imgur.com/RQgrxqp.png)
+
+> Only additional API is documented
+
+__Arguments__
+- __engine (object)__: `sqlalchemy` engine
+- __dbschema (str)__: name of database schema
+- __prefix (str)__: prefix for all buckets
+- __reflect_only (callable)__:
+ a boolean predicate to filter the list of table names when reflecting
+- __autoincrement (str/dict)__:
+ add autoincrement column at the beginning.
+ - if a string it's an autoincrement column name
+ - if a dict it's an autoincrements mapping with column
+ names indexed by bucket names, for example,
+ `{'bucket1': 'id', 'bucket2': 'other_id}`
+
+
+#### `storage.create`
+```python
+storage.create(self, bucket, descriptor, force=False, indexes_fields=None)
+```
+Create bucket
+
+__Arguments__
+- __indexes_fields (str[])__:
+ list of tuples containing field names, or list of such lists
+
+
+#### `storage.write`
+```python
+storage.write(self, bucket, rows, keyed=False, as_generator=False, update_keys=None, buffer_size=1000, use_bloom_filter=True)
+```
+Write to bucket
+
+__Arguments__
+- __keyed (bool)__:
+ accept keyed rows
+- __as_generator (bool)__:
+ returns generator to provide writing control to the client
+- __update_keys (str[])__:
+ update instead of inserting if key values match existent rows
+- __buffer_size (int=1000)__:
+ maximum number of rows to try and write to the db in one batch
+- __use_bloom_filter (bool=True)__:
+ should we use a bloom filter to optimize DB update performance
+ (in exchange for some setup time)
+
+
+## Contributing
+
+> The project follows the [Open Knowledge International coding standards](https://github.com/okfn/coding-standards).
+
+Recommended way to get started is to create and activate a project virtual environment.
+To install package and development dependencies into active environment:
+
+```bash
+$ make install
+```
+
+To run tests with linting and coverage:
+
+```bash
+$ make test
+```
+
+## Changelog
+
+Here described only breaking and the most important changes. The full changelog and documentation for all released versions could be found in nicely formatted [commit history](https://github.com/frictionlessdata/tableschema-sql-py/commits/master).
+
+#### v1.3
+
+- Implemented constraints loading to a database
+
+#### v1.2
+
+- Add option to configure buffer size, bloom filter use (#77)
+
+#### v1.1
+
+- Added support for the `autoincrement` parameter to be a mapping
+- Fixed autoincrement support for SQLite and MySQL
+
+#### v1.0
+
+- Initial driver implementation.
+
+
+
+%prep
+%autosetup -n tableschema-sql-1.3.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-tableschema-sql -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..267aa0c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+80b61de0c40c7e83429b1845b3867547 tableschema-sql-1.3.2.tar.gz