summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-oddrn-generator.spec688
-rw-r--r--sources1
3 files changed, 690 insertions, 0 deletions
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 <Python_Bot@openeuler.org> - 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