diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:12:11 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:12:11 +0000 |
| commit | 80c3e6838d5befc98ffeca8f6f845a064d44d811 (patch) | |
| tree | d0161393f2add6650aad3c6e37f865a75ef815ab | |
| parent | e1bc93152db184d50aebfe89567f3998f3994f44 (diff) | |
automatic import of python-tableschema-sql
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-tableschema-sql.spec | 556 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 558 insertions, 0 deletions
@@ -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 + +[](https://travis-ci.org/frictionlessdata/tableschema-sql-py) +[](https://coveralls.io/r/frictionlessdata/tableschema-sql-py?branch=master) +[](https://pypi.python.org/pypi/tableschema-sql) +[](https://github.com/frictionlessdata/tableschema-sql-py) +[](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): + + + +> 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 + +[](https://travis-ci.org/frictionlessdata/tableschema-sql-py) +[](https://coveralls.io/r/frictionlessdata/tableschema-sql-py?branch=master) +[](https://pypi.python.org/pypi/tableschema-sql) +[](https://github.com/frictionlessdata/tableschema-sql-py) +[](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): + + + +> 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 + +[](https://travis-ci.org/frictionlessdata/tableschema-sql-py) +[](https://coveralls.io/r/frictionlessdata/tableschema-sql-py?branch=master) +[](https://pypi.python.org/pypi/tableschema-sql) +[](https://github.com/frictionlessdata/tableschema-sql-py) +[](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): + + + +> 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 @@ -0,0 +1 @@ +80b61de0c40c7e83429b1845b3867547 tableschema-sql-1.3.2.tar.gz |
