From 73a66d02035964b82b9148674b15023b17cdc82f Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 10 May 2023 09:33:14 +0000 Subject: automatic import of python-oddrn-generator --- .gitignore | 1 + python-oddrn-generator.spec | 688 ++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 690 insertions(+) create mode 100644 python-oddrn-generator.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..a9196ea 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/oddrn_generator-0.1.77.tar.gz diff --git a/python-oddrn-generator.spec b/python-oddrn-generator.spec new file mode 100644 index 0000000..9172c74 --- /dev/null +++ b/python-oddrn-generator.spec @@ -0,0 +1,688 @@ +%global _empty_manifest_terminate_build 0 +Name: python-oddrn-generator +Version: 0.1.77 +Release: 1 +Summary: Open Data Discovery Resource Name Generator +License: Apache-2.0 +URL: https://github.com/opendatadiscovery/oddrn-generator +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/02/53/76b3cab1691f6a230665ba7b7be96a71cce635229990bc16fd304ebe0de4/oddrn_generator-0.1.77.tar.gz +BuildArch: noarch + +Requires: python3-pydantic + +%description +[![PyPI version](https://badge.fury.io/py/oddrn-generator.svg)](https://badge.fury.io/py/oddrn-generator) + +# Open Data Discovery Resource Name Generator + +Helps generate oddrn for data sources. + +* [Requirements](#requirements) +* [Installation](#installation) +* [Available generators](#available-generators) +* [Generator properties](#generator-properties) +* [Generator methods](#generator-methods) +* [Generator properties](#generator-properties) +* [Example usage](#example-usage) +* [Exceptions](#example-usage) +* [Development](#development) + +## Requirements + +* __Python >= 3.7__ + +## Installation + +```bash +poetry add oddrn-generator +# or +pip install oddrn-generator +``` + +## Usage and configuration + +### Available generators +| DataSource | Generator class name | +|--------------|-----------------------| +| cassandra | CassandraGenerator | +| postgresql | PostgresqlGenerator | +| mysql | MysqlGenerator | +| glue | GlueGenerator | +| s3 | S3Generator | +| kafka | KafkaGenerator | +| kafkaconnect | KafkaConnectGenerator | +| snowflake | SnowflakeGenerator | +| airflow | AirflowGenerator | +| hive | HiveGenerator | +| dynamodb | DynamodbGenerator | +| odbc | OdbcGenerator | +| mssql | MssqlGenerator | +| oracle | OracleGenerator | +| redshift | RedshiftGenerator | +| clickhouse | ClickHouseGenerator | +| athena | AthenaGenerator | +| quicksight | QuicksightGenerator | +| dbt | DbtGenerator | +| prefect | PrefectGenerator | +| tableau | TableauGenerator | +| neo4j | Neo4jGenerator | +| mongodb | MongoGenerator | +| vertica | VerticaGenerator | +| CubeJs | CubeJsGenerator | +| superset | SupersetGenerator | +| Presto | PrestoGenerator | +| Trino | TrinoGenerator | +| dms | DmsGenerator | +| powerbi | PowerBiGenerator | + +### Generator properties + +* base_oddrn - Get base oddrn (without path) +* available_paths - Get all available path of generator + +### Generator methods + +* get_oddrn_by_path(path_name, new_value=None) - Get oddrn string by path. You also can set value for this path using ' + new_value' param +* set_oddrn_paths(**kwargs) - Set or update values of oddrn path +* get_data_source_oddrn() - Get data source oddrn + +### Generator parameters: + +* host_settings: str - optional. Hostname configuration +* cloud_settings: dict - optional. Cloud configuration +* **kwargs - path's name and values + +### Example usage + +```python +# postgresql +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', + schemas='schema_name', databases='database_name', tables='table_name' +) + +oddrn_gen.base_oddrn +# //postgresql/host/my.host.com:5432 +oddrn_gen.available_paths +# ('schemas', 'databases', 'tables', 'columns') + +oddrn_gen.get_data_source_oddrn() +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name + +oddrn_gen.get_oddrn_by_path("schemas") +# //postgresql/host/my.host.com:5432/schemas/schema_name + +oddrn_gen.get_oddrn_by_path("databases") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name + +oddrn_gen.get_oddrn_by_path("tables") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/table_name + +# you can set or change path: +oddrn_gen.set_oddrn_paths(tables='another_table_name', columns='new_column_name') +oddrn_gen.get_oddrn_by_path("columns") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/another_table_name/columns/new_column_name + +# you can get path wih new values: +oddrn_gen.get_oddrn_by_path("columns", new_value="another_new_column_name") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/another_table_name/columns/another_new_column_name + + +# glue +from oddrn_generator import GlueGenerator + +oddrn_gen = GlueGenerator( + cloud_settings={'account': 'acc_id', 'region': 'reg_id'}, + databases='database_name', tables='table_name', columns='column_name', + jobs='job_name', runs='run_name', owners='owner_name' +) + +oddrn_gen.available_paths +# ('databases', 'tables', 'columns', 'owners', 'jobs', 'runs') + +oddrn_gen.get_oddrn_by_path("databases") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name + +oddrn_gen.get_oddrn_by_path("tables") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name/tables/table_name' + +oddrn_gen.get_oddrn_by_path("columns") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name/tables/table_name/columns/column_name + +oddrn_gen.get_oddrn_by_path("jobs") +# //glue/cloud/aws/account/acc_id/region/reg_id/jobs/job_name + +oddrn_gen.get_oddrn_by_path("runs") +# //glue/cloud/aws/account/acc_id/region/reg_id/jobs/job_name/runs/run_name + +oddrn_gen.get_oddrn_by_path("owners") +# //glue/cloud/aws/account/acc_id/region/reg_id/owners/owner_name + +``` + +### Exceptions + +* WrongPathOrderException - raises when trying set path that depends on another path + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', + schemas='schema_name', databases='database_name', + columns='column_without_table' +) +# WrongPathOrderException: 'columns' can not be without 'tables' attribute +``` + +* EmptyPathValueException - raises when trying to get a path that is not set up + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', schemas='schema_name', databases='database_name', +) +oddrn_gen.get_oddrn_by_path("tables") + +# EmptyPathValueException: Path 'tables' is not set up +``` + +* PathDoestExistException - raises when trying to get not existing oddrn path + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', schemas='schema_name', databases='database_name', +) +oddrn_gen.get_oddrn_by_path("jobs") + +# PathDoestExistException: Path 'jobs' doesn't exist in generator +``` + +## Development + +```bash +#Install dependencies +poetry install + +#Activate shell +poetry shell + +# Run tests +python run pytest +``` + + +%package -n python3-oddrn-generator +Summary: Open Data Discovery Resource Name Generator +Provides: python-oddrn-generator +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-oddrn-generator +[![PyPI version](https://badge.fury.io/py/oddrn-generator.svg)](https://badge.fury.io/py/oddrn-generator) + +# Open Data Discovery Resource Name Generator + +Helps generate oddrn for data sources. + +* [Requirements](#requirements) +* [Installation](#installation) +* [Available generators](#available-generators) +* [Generator properties](#generator-properties) +* [Generator methods](#generator-methods) +* [Generator properties](#generator-properties) +* [Example usage](#example-usage) +* [Exceptions](#example-usage) +* [Development](#development) + +## Requirements + +* __Python >= 3.7__ + +## Installation + +```bash +poetry add oddrn-generator +# or +pip install oddrn-generator +``` + +## Usage and configuration + +### Available generators +| DataSource | Generator class name | +|--------------|-----------------------| +| cassandra | CassandraGenerator | +| postgresql | PostgresqlGenerator | +| mysql | MysqlGenerator | +| glue | GlueGenerator | +| s3 | S3Generator | +| kafka | KafkaGenerator | +| kafkaconnect | KafkaConnectGenerator | +| snowflake | SnowflakeGenerator | +| airflow | AirflowGenerator | +| hive | HiveGenerator | +| dynamodb | DynamodbGenerator | +| odbc | OdbcGenerator | +| mssql | MssqlGenerator | +| oracle | OracleGenerator | +| redshift | RedshiftGenerator | +| clickhouse | ClickHouseGenerator | +| athena | AthenaGenerator | +| quicksight | QuicksightGenerator | +| dbt | DbtGenerator | +| prefect | PrefectGenerator | +| tableau | TableauGenerator | +| neo4j | Neo4jGenerator | +| mongodb | MongoGenerator | +| vertica | VerticaGenerator | +| CubeJs | CubeJsGenerator | +| superset | SupersetGenerator | +| Presto | PrestoGenerator | +| Trino | TrinoGenerator | +| dms | DmsGenerator | +| powerbi | PowerBiGenerator | + +### Generator properties + +* base_oddrn - Get base oddrn (without path) +* available_paths - Get all available path of generator + +### Generator methods + +* get_oddrn_by_path(path_name, new_value=None) - Get oddrn string by path. You also can set value for this path using ' + new_value' param +* set_oddrn_paths(**kwargs) - Set or update values of oddrn path +* get_data_source_oddrn() - Get data source oddrn + +### Generator parameters: + +* host_settings: str - optional. Hostname configuration +* cloud_settings: dict - optional. Cloud configuration +* **kwargs - path's name and values + +### Example usage + +```python +# postgresql +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', + schemas='schema_name', databases='database_name', tables='table_name' +) + +oddrn_gen.base_oddrn +# //postgresql/host/my.host.com:5432 +oddrn_gen.available_paths +# ('schemas', 'databases', 'tables', 'columns') + +oddrn_gen.get_data_source_oddrn() +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name + +oddrn_gen.get_oddrn_by_path("schemas") +# //postgresql/host/my.host.com:5432/schemas/schema_name + +oddrn_gen.get_oddrn_by_path("databases") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name + +oddrn_gen.get_oddrn_by_path("tables") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/table_name + +# you can set or change path: +oddrn_gen.set_oddrn_paths(tables='another_table_name', columns='new_column_name') +oddrn_gen.get_oddrn_by_path("columns") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/another_table_name/columns/new_column_name + +# you can get path wih new values: +oddrn_gen.get_oddrn_by_path("columns", new_value="another_new_column_name") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/another_table_name/columns/another_new_column_name + + +# glue +from oddrn_generator import GlueGenerator + +oddrn_gen = GlueGenerator( + cloud_settings={'account': 'acc_id', 'region': 'reg_id'}, + databases='database_name', tables='table_name', columns='column_name', + jobs='job_name', runs='run_name', owners='owner_name' +) + +oddrn_gen.available_paths +# ('databases', 'tables', 'columns', 'owners', 'jobs', 'runs') + +oddrn_gen.get_oddrn_by_path("databases") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name + +oddrn_gen.get_oddrn_by_path("tables") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name/tables/table_name' + +oddrn_gen.get_oddrn_by_path("columns") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name/tables/table_name/columns/column_name + +oddrn_gen.get_oddrn_by_path("jobs") +# //glue/cloud/aws/account/acc_id/region/reg_id/jobs/job_name + +oddrn_gen.get_oddrn_by_path("runs") +# //glue/cloud/aws/account/acc_id/region/reg_id/jobs/job_name/runs/run_name + +oddrn_gen.get_oddrn_by_path("owners") +# //glue/cloud/aws/account/acc_id/region/reg_id/owners/owner_name + +``` + +### Exceptions + +* WrongPathOrderException - raises when trying set path that depends on another path + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', + schemas='schema_name', databases='database_name', + columns='column_without_table' +) +# WrongPathOrderException: 'columns' can not be without 'tables' attribute +``` + +* EmptyPathValueException - raises when trying to get a path that is not set up + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', schemas='schema_name', databases='database_name', +) +oddrn_gen.get_oddrn_by_path("tables") + +# EmptyPathValueException: Path 'tables' is not set up +``` + +* PathDoestExistException - raises when trying to get not existing oddrn path + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', schemas='schema_name', databases='database_name', +) +oddrn_gen.get_oddrn_by_path("jobs") + +# PathDoestExistException: Path 'jobs' doesn't exist in generator +``` + +## Development + +```bash +#Install dependencies +poetry install + +#Activate shell +poetry shell + +# Run tests +python run pytest +``` + + +%package help +Summary: Development documents and examples for oddrn-generator +Provides: python3-oddrn-generator-doc +%description help +[![PyPI version](https://badge.fury.io/py/oddrn-generator.svg)](https://badge.fury.io/py/oddrn-generator) + +# Open Data Discovery Resource Name Generator + +Helps generate oddrn for data sources. + +* [Requirements](#requirements) +* [Installation](#installation) +* [Available generators](#available-generators) +* [Generator properties](#generator-properties) +* [Generator methods](#generator-methods) +* [Generator properties](#generator-properties) +* [Example usage](#example-usage) +* [Exceptions](#example-usage) +* [Development](#development) + +## Requirements + +* __Python >= 3.7__ + +## Installation + +```bash +poetry add oddrn-generator +# or +pip install oddrn-generator +``` + +## Usage and configuration + +### Available generators +| DataSource | Generator class name | +|--------------|-----------------------| +| cassandra | CassandraGenerator | +| postgresql | PostgresqlGenerator | +| mysql | MysqlGenerator | +| glue | GlueGenerator | +| s3 | S3Generator | +| kafka | KafkaGenerator | +| kafkaconnect | KafkaConnectGenerator | +| snowflake | SnowflakeGenerator | +| airflow | AirflowGenerator | +| hive | HiveGenerator | +| dynamodb | DynamodbGenerator | +| odbc | OdbcGenerator | +| mssql | MssqlGenerator | +| oracle | OracleGenerator | +| redshift | RedshiftGenerator | +| clickhouse | ClickHouseGenerator | +| athena | AthenaGenerator | +| quicksight | QuicksightGenerator | +| dbt | DbtGenerator | +| prefect | PrefectGenerator | +| tableau | TableauGenerator | +| neo4j | Neo4jGenerator | +| mongodb | MongoGenerator | +| vertica | VerticaGenerator | +| CubeJs | CubeJsGenerator | +| superset | SupersetGenerator | +| Presto | PrestoGenerator | +| Trino | TrinoGenerator | +| dms | DmsGenerator | +| powerbi | PowerBiGenerator | + +### Generator properties + +* base_oddrn - Get base oddrn (without path) +* available_paths - Get all available path of generator + +### Generator methods + +* get_oddrn_by_path(path_name, new_value=None) - Get oddrn string by path. You also can set value for this path using ' + new_value' param +* set_oddrn_paths(**kwargs) - Set or update values of oddrn path +* get_data_source_oddrn() - Get data source oddrn + +### Generator parameters: + +* host_settings: str - optional. Hostname configuration +* cloud_settings: dict - optional. Cloud configuration +* **kwargs - path's name and values + +### Example usage + +```python +# postgresql +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', + schemas='schema_name', databases='database_name', tables='table_name' +) + +oddrn_gen.base_oddrn +# //postgresql/host/my.host.com:5432 +oddrn_gen.available_paths +# ('schemas', 'databases', 'tables', 'columns') + +oddrn_gen.get_data_source_oddrn() +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name + +oddrn_gen.get_oddrn_by_path("schemas") +# //postgresql/host/my.host.com:5432/schemas/schema_name + +oddrn_gen.get_oddrn_by_path("databases") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name + +oddrn_gen.get_oddrn_by_path("tables") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/table_name + +# you can set or change path: +oddrn_gen.set_oddrn_paths(tables='another_table_name', columns='new_column_name') +oddrn_gen.get_oddrn_by_path("columns") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/another_table_name/columns/new_column_name + +# you can get path wih new values: +oddrn_gen.get_oddrn_by_path("columns", new_value="another_new_column_name") +# //postgresql/host/my.host.com:5432/schemas/schema_name/databases/database_name/tables/another_table_name/columns/another_new_column_name + + +# glue +from oddrn_generator import GlueGenerator + +oddrn_gen = GlueGenerator( + cloud_settings={'account': 'acc_id', 'region': 'reg_id'}, + databases='database_name', tables='table_name', columns='column_name', + jobs='job_name', runs='run_name', owners='owner_name' +) + +oddrn_gen.available_paths +# ('databases', 'tables', 'columns', 'owners', 'jobs', 'runs') + +oddrn_gen.get_oddrn_by_path("databases") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name + +oddrn_gen.get_oddrn_by_path("tables") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name/tables/table_name' + +oddrn_gen.get_oddrn_by_path("columns") +# //glue/cloud/aws/account/acc_id/region/reg_id/databases/database_name/tables/table_name/columns/column_name + +oddrn_gen.get_oddrn_by_path("jobs") +# //glue/cloud/aws/account/acc_id/region/reg_id/jobs/job_name + +oddrn_gen.get_oddrn_by_path("runs") +# //glue/cloud/aws/account/acc_id/region/reg_id/jobs/job_name/runs/run_name + +oddrn_gen.get_oddrn_by_path("owners") +# //glue/cloud/aws/account/acc_id/region/reg_id/owners/owner_name + +``` + +### Exceptions + +* WrongPathOrderException - raises when trying set path that depends on another path + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', + schemas='schema_name', databases='database_name', + columns='column_without_table' +) +# WrongPathOrderException: 'columns' can not be without 'tables' attribute +``` + +* EmptyPathValueException - raises when trying to get a path that is not set up + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', schemas='schema_name', databases='database_name', +) +oddrn_gen.get_oddrn_by_path("tables") + +# EmptyPathValueException: Path 'tables' is not set up +``` + +* PathDoestExistException - raises when trying to get not existing oddrn path + +```python +from oddrn_generator import PostgresqlGenerator + +oddrn_gen = PostgresqlGenerator( + host_settings='my.host.com:5432', schemas='schema_name', databases='database_name', +) +oddrn_gen.get_oddrn_by_path("jobs") + +# PathDoestExistException: Path 'jobs' doesn't exist in generator +``` + +## Development + +```bash +#Install dependencies +poetry install + +#Activate shell +poetry shell + +# Run tests +python run pytest +``` + + +%prep +%autosetup -n oddrn-generator-0.1.77 + +%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-oddrn-generator -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot - 0.1.77-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..e161cea --- /dev/null +++ b/sources @@ -0,0 +1 @@ +6e4091dfcd2936a4d14f6a895d569232 oddrn_generator-0.1.77.tar.gz -- cgit v1.2.3