%global _empty_manifest_terminate_build 0 Name: python-oddrn-generator Version: 0.1.80 Release: 1 Summary: Open Data Discovery Resource Name Generator License: Apache-2.0 URL: https://github.com/opendatadiscovery/oddrn-generator Source0: https://mirrors.aliyun.com/pypi/web/packages/0a/c3/82a328a74df0328d4fca2057f660620519c177900835a78645c2c4eb94d3/oddrn_generator-0.1.80.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.80 %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 * Thu Jun 08 2023 Python_Bot - 0.1.80-1 - Package Spec generated