Metadata-Version: 2.1
Name: openmetadata-ingestion
Version: 1.6.8.0
Summary: Ingestion Framework for OpenMetadata
Author: OpenMetadata Committers
License: Collate Community License Agreement
                                        Version 1.0
        
        This Collate Community License Agreement Version 1.0 (the “Agreement”) sets
        forth the terms on which Collate, Inc. (“Collate”) makes available certain
        software made available by Collate under this Agreement (the “Software”).  BY
        INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF THE SOFTWARE,
        YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO
        SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE.  IF YOU ARE RECEIVING
        THE SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU
        HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS
        AGREEMENT ON BEHALF OF SUCH ENTITY.  “Licensee” means you, an individual, or
        the entity on whose behalf you are receiving the Software.
        
           1. LICENSE GRANT AND CONDITIONS.
        
              1.1 License.  Subject to the terms and conditions of this Agreement,
              Collate hereby grants to Licensee a non-exclusive, royalty-free,
              worldwide, non-transferable, non-sublicenseable license during the term
              of this Agreement to: (a) use the Software; (b) prepare modifications and
              derivative works of the Software; (c) distribute the Software (including
              without limitation in source code or object code form); and (d) reproduce
              copies of the Software (the “License”).  Licensee is not granted the
              right to, and Licensee shall not, exercise the License for an Excluded
              Purpose.  For purposes of this Agreement, “Excluded Purpose” means making
              available any software-as-a-service, platform-as-a-service,
              infrastructure-as-a-service or other similar online service that competes
              with Collate products or services that provide the Software.
        
              1.2 Conditions.  In consideration of the License, Licensee’s distribution
              of the Software is subject to the following conditions:
        
                 (a) Licensee must cause any Software modified by Licensee to carry
                 prominent notices stating that Licensee modified the Software.
        
                 (b) On each Software copy, Licensee shall reproduce and not remove or
                 alter all Collate or third party copyright or other proprietary
                 notices contained in the Software, and Licensee must provide the
                 notice below with each copy.
        
                    “This software is made available by Collate, Inc., under the
                    terms of the Collate Community License Agreement, Version 1.0
                    located at http://www.getcollate.io/collate-community-license.  BY
                    INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF
                    THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.”
        
              1.3 Licensee Modifications.  Licensee may add its own copyright notices
              to modifications made by Licensee and may provide additional or different
              license terms and conditions for use, reproduction, or distribution of
              Licensee’s modifications.  While redistributing the Software or
              modifications thereof, Licensee may choose to offer, for a fee or free of
              charge, support, warranty, indemnity, or other obligations. Licensee, and
              not Collate, will be responsible for any such obligations.
        
              1.4 No Sublicensing.  The License does not include the right to
              sublicense the Software, however, each recipient to which Licensee
              provides the Software may exercise the Licenses so long as such recipient
              agrees to the terms and conditions of this Agreement.
        
           2. TERM AND TERMINATION.  This Agreement will continue unless and until
           earlier terminated as set forth herein.  If Licensee breaches any of its
           conditions or obligations under this Agreement, this Agreement will
           terminate automatically and the License will terminate automatically and
           permanently.
        
           3. INTELLECTUAL PROPERTY.  As between the parties, Collate will retain all
           right, title, and interest in the Software, and all intellectual property
           rights therein.  Collate hereby reserves all rights not expressly granted
           to Licensee in this Agreement.  Collate hereby reserves all rights in its
           trademarks and service marks, and no licenses therein are granted in this
           Agreement.
        
           4. DISCLAIMER.  COLLATE HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND
           CONDITIONS, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY
           DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
           PURPOSE, WITH RESPECT TO THE SOFTWARE.
        
           5. LIMITATION OF LIABILITY.  COLLATE WILL NOT BE LIABLE FOR ANY DAMAGES OF
           ANY KIND, INCLUDING BUT NOT LIMITED TO, LOST PROFITS OR ANY CONSEQUENTIAL,
           SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, HOWEVER CAUSED AND ON ANY
           THEORY OF LIABILITY, ARISING OUT OF THIS AGREEMENT.  THE FOREGOING SHALL
           APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW.
        
           6.GENERAL.
        
              6.1 Governing Law. This Agreement will be governed by and interpreted in
              accordance with the laws of the state of California, without reference to
              its conflict of laws principles.  If Licensee is located within the
              United States, all disputes arising out of this Agreement are subject to
              the exclusive jurisdiction of courts located in Santa Clara County,
              California. USA.  If Licensee is located outside of the United States,
              any dispute, controversy or claim arising out of or relating to this
              Agreement will be referred to and finally determined by arbitration in
              accordance with the JAMS International Arbitration Rules.  The tribunal
              will consist of one arbitrator.  The place of arbitration will be Palo
              Alto, California. The language to be used in the arbitral proceedings
              will be English.  Judgment upon the award rendered by the arbitrator may
              be entered in any court having jurisdiction thereof.
        
              6.2 Assignment.  Licensee is not authorized to assign its rights under
              this Agreement to any third party. Collate may freely assign its rights
              under this Agreement to any third party.
        
              6.3 Other.  This Agreement is the entire agreement between the parties
              regarding the subject matter hereof.  No amendment or modification of
              this Agreement will be valid or binding upon the parties unless made in
              writing and signed by the duly authorized representatives of both
              parties.  In the event that any provision, including without limitation
              any condition, of this Agreement is held to be unenforceable, this
              Agreement and all licenses and rights granted hereunder will immediately
              terminate.  Waiver by Collate of a breach of any provision of this
              Agreement or the failure by Collate to exercise any right hereunder
              will not be construed as a waiver of any subsequent breach of that right
              or as a waiver of any other right.
Project-URL: Homepage, https://open-metadata.org/
Project-URL: Documentation, https://docs.open-metadata.org/
Project-URL: Source, https://github.com/open-metadata/OpenMetadata
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: setuptools ~=70.0
Requires-Dist: email-validator >=2.0
Requires-Dist: google-cloud-secret-manager <2.20.1,>=2.19.0
Requires-Dist: packaging
Requires-Dist: azure-keyvault-secrets
Requires-Dist: tabulate ==0.9.0
Requires-Dist: typing-inspect
Requires-Dist: Jinja2 >=2.11.3
Requires-Dist: pydantic >=2.7.0,~=2.0
Requires-Dist: google-crc32c
Requires-Dist: azure-identity ~=1.12
Requires-Dist: pymysql ~=1.0
Requires-Dist: importlib-metadata >=4.13.0
Requires-Dist: sqlalchemy <2,>=1.4.0
Requires-Dist: jsonpatch <2.0,>=1.24
Requires-Dist: chardet ==4.0.0
Requires-Dist: cached-property ==1.5.2
Requires-Dist: requests >=2.23
Requires-Dist: mypy-extensions >=0.4.3
Requires-Dist: collate-sqllineage ~=1.6.0
Requires-Dist: memory-profiler
Requires-Dist: requests-aws4auth ~=1.1
Requires-Dist: collate-data-diff
Requires-Dist: python-dateutil >=2.8.1
Requires-Dist: antlr4-python3-runtime ==4.9.2
Requires-Dist: boto3 <2.0,>=1.20
Requires-Dist: cryptography >=42.0.0
Requires-Dist: PyYAML ~=6.0
Requires-Dist: shapely
Requires-Dist: snowflake-connector-python <4.0.0,>=3.13.1
Requires-Dist: mysql-connector-python >=8.0.29 ; python_version < "3.9"
Requires-Dist: mysql-connector-python >=9.1 ; python_version >= "3.9"
Provides-Extra: airflow
Requires-Dist: apache-airflow ==2.10.5 ; extra == 'airflow'
Requires-Dist: opentelemetry-exporter-otlp ==1.27.0 ; extra == 'airflow'
Requires-Dist: attrs ; extra == 'airflow'
Requires-Dist: protobuf <5 ; extra == 'airflow'
Provides-Extra: all
Requires-Dist: oracledb ~=1.2 ; extra == 'all'
Requires-Dist: setuptools ~=70.0 ; extra == 'all'
Requires-Dist: presidio-analyzer ==2.2.355 ; extra == 'all'
Requires-Dist: websocket-client ~=1.6.1 ; extra == 'all'
Requires-Dist: email-validator >=2.0 ; extra == 'all'
Requires-Dist: google-cloud-secret-manager <2.20.1,>=2.19.0 ; extra == 'all'
Requires-Dist: thrift <1,>=0.13 ; extra == 'all'
Requires-Dist: azure-keyvault-secrets ; extra == 'all'
Requires-Dist: looker-sdk !=24.18.0,>=22.20.0 ; extra == 'all'
Requires-Dist: mlflow-skinny >=2.3.0 ; extra == 'all'
Requires-Dist: psycopg2-binary ; extra == 'all'
Requires-Dist: typing-inspect ; extra == 'all'
Requires-Dist: spacy <3.8 ; extra == 'all'
Requires-Dist: sqlalchemy-bigquery >=1.2.2 ; extra == 'all'
Requires-Dist: cachetools ; extra == 'all'
Requires-Dist: adlfs >=2023.1.0 ; extra == 'all'
Requires-Dist: google-crc32c ; extra == 'all'
Requires-Dist: pymysql ~=1.0 ; extra == 'all'
Requires-Dist: ndg-httpsclient ~=0.5.1 ; extra == 'all'
Requires-Dist: kafka-connect-py ==0.10.11 ; extra == 'all'
Requires-Dist: google-cloud-bigtable >=2.0.0 ; extra == 'all'
Requires-Dist: pydruid >=0.6.5 ; extra == 'all'
Requires-Dist: azure-storage-blob ; extra == 'all'
Requires-Dist: sqlalchemy-pgspider ; extra == 'all'
Requires-Dist: dagster-graphql ~=1.1 ; extra == 'all'
Requires-Dist: gitpython ~=3.1.34 ; extra == 'all'
Requires-Dist: chardet ==4.0.0 ; extra == 'all'
Requires-Dist: cached-property ==1.5.2 ; extra == 'all'
Requires-Dist: collate-data-diff[oracle] ; extra == 'all'
Requires-Dist: teradatasqlalchemy ==20.0.0.2 ; extra == 'all'
Requires-Dist: google-cloud-storage ==1.43.0 ; extra == 'all'
Requires-Dist: giturlparse ; extra == 'all'
Requires-Dist: google-cloud-logging ; extra == 'all'
Requires-Dist: fastavro >=1.2.0 ; extra == 'all'
Requires-Dist: mypy-extensions >=0.4.3 ; extra == 'all'
Requires-Dist: pinotdb ~=5.0 ; extra == 'all'
Requires-Dist: pymongo ~=4.3 ; extra == 'all'
Requires-Dist: pyOpenSSL ~=24.1.0 ; extra == 'all'
Requires-Dist: protobuf ; extra == 'all'
Requires-Dist: pydoris ==1.0.2 ; extra == 'all'
Requires-Dist: sqlalchemy-exasol <6,>=5 ; extra == 'all'
Requires-Dist: pyodbc <5,>=4.0.35 ; extra == 'all'
Requires-Dist: collate-data-diff ; extra == 'all'
Requires-Dist: lkml ~=1.3 ; extra == 'all'
Requires-Dist: pyathena ~=3.0 ; extra == 'all'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'all'
Requires-Dist: python-dateutil >=2.8.1 ; extra == 'all'
Requires-Dist: pydomo ~=0.3 ; extra == 'all'
Requires-Dist: clickhouse-sqlalchemy ~=0.2 ; extra == 'all'
Requires-Dist: msal ~=1.2 ; extra == 'all'
Requires-Dist: google-cloud-monitoring >=2.0.0 ; extra == 'all'
Requires-Dist: collate-data-diff[mysql] ; extra == 'all'
Requires-Dist: google-cloud-datacatalog >=3.6.2 ; extra == 'all'
Requires-Dist: collate-data-diff[clickhouse] ; extra == 'all'
Requires-Dist: antlr4-python3-runtime ==4.9.2 ; extra == 'all'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'all'
Requires-Dist: cryptography >=42.0.0 ; extra == 'all'
Requires-Dist: pyasn1 ~=0.6.0 ; extra == 'all'
Requires-Dist: simple-salesforce ~=1.11 ; extra == 'all'
Requires-Dist: collate-data-diff[snowflake] ; extra == 'all'
Requires-Dist: trino[sqlalchemy] ; extra == 'all'
Requires-Dist: pure-sasl ; extra == 'all'
Requires-Dist: pyiceberg ==0.5.1 ; extra == 'all'
Requires-Dist: impyla[kerberos] ~=0.18.0 ; extra == 'all'
Requires-Dist: sqlalchemy-hana ; extra == 'all'
Requires-Dist: sqlalchemy-ibmi ~=0.9.3 ; extra == 'all'
Requires-Dist: pymssql ~=2.2.0 ; extra == 'all'
Requires-Dist: packaging ; extra == 'all'
Requires-Dist: sqlalchemy-pytds ~=0.3 ; extra == 'all'
Requires-Dist: tabulate ==0.9.0 ; extra == 'all'
Requires-Dist: azure-storage-blob ~=12.14 ; extra == 'all'
Requires-Dist: delta-spark <=2.3.0 ; extra == 'all'
Requires-Dist: authlib >=1.3.1 ; extra == 'all'
Requires-Dist: cx-Oracle <9,>=8.3.0 ; extra == 'all'
Requires-Dist: impyla ~=0.18.0 ; extra == 'all'
Requires-Dist: collate-data-diff[trino] ; extra == 'all'
Requires-Dist: presto-types-parser >=0.0.2 ; extra == 'all'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'all'
Requires-Dist: Jinja2 >=2.11.3 ; extra == 'all'
Requires-Dist: sqlalchemy-databricks ~=0.1 ; extra == 'all'
Requires-Dist: sqlalchemy-vertica[vertica-python] >=0.0.5 ; extra == 'all'
Requires-Dist: neo4j ~=5.3.0 ; extra == 'all'
Requires-Dist: python-liquid ; extra == 'all'
Requires-Dist: pydantic >=2.7.0,~=2.0 ; extra == 'all'
Requires-Dist: google-cloud ; extra == 'all'
Requires-Dist: validators ~=0.22.0 ; extra == 'all'
Requires-Dist: azure-identity ~=1.12 ; extra == 'all'
Requires-Dist: couchbase ~=4.1 ; extra == 'all'
Requires-Dist: databricks-sdk <0.20.0,>=0.18.0 ; extra == 'all'
Requires-Dist: pandas ~=2.0.0 ; extra == 'all'
Requires-Dist: collate-data-diff[mssql] ; extra == 'all'
Requires-Dist: importlib-metadata >=4.13.0 ; extra == 'all'
Requires-Dist: sqlalchemy <2,>=1.4.0 ; extra == 'all'
Requires-Dist: snowflake-sqlalchemy ~=1.4 ; extra == 'all'
Requires-Dist: jsonpatch <2.0,>=1.24 ; extra == 'all'
Requires-Dist: numpy <2 ; extra == 'all'
Requires-Dist: scikit-learn ~=1.0 ; extra == 'all'
Requires-Dist: tableau-api-lib ~=0.1 ; extra == 'all'
Requires-Dist: requests >=2.23 ; extra == 'all'
Requires-Dist: collate-data-diff[presto] ; extra == 'all'
Requires-Dist: sqlalchemy-redshift ==0.8.12 ; extra == 'all'
Requires-Dist: confluent-kafka <=2.6.1,>=2.1.1 ; extra == 'all'
Requires-Dist: pyhive[hive_pure_sasl] ~=0.7 ; extra == 'all'
Requires-Dist: hdbcli ; extra == 'all'
Requires-Dist: collate-sqllineage ~=1.6.0 ; extra == 'all'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'all'
Requires-Dist: snowflake-connector-python <4.0.0,>=3.13.1 ; extra == 'all'
Requires-Dist: memory-profiler ; extra == 'all'
Requires-Dist: requests-aws4auth ~=1.1 ; extra == 'all'
Requires-Dist: pyarrow ~=16.0 ; extra == 'all'
Requires-Dist: clickhouse-driver ~=0.2 ; extra == 'all'
Requires-Dist: thrift-sasl ~=0.4 ; extra == 'all'
Requires-Dist: deltalake ~=0.17 ; extra == 'all'
Requires-Dist: cramjam ~=2.7 ; extra == 'all'
Requires-Dist: deltalake <0.20,~=0.17 ; extra == 'all'
Requires-Dist: collate-data-diff[vertica] ; extra == 'all'
Requires-Dist: collate-dbt-artifacts-parser ; extra == 'all'
Requires-Dist: PyYAML ~=6.0 ; extra == 'all'
Requires-Dist: elasticsearch8 ~=8.9.0 ; extra == 'all'
Requires-Dist: gcsfs >=2023.1.0 ; extra == 'all'
Requires-Dist: shapely ; extra == 'all'
Requires-Dist: croniter <3 ; extra == 'all'
Requires-Dist: mysql-connector-python >=8.0.29 ; (python_version < "3.9") and extra == 'all'
Requires-Dist: mysql-connector-python >=9.1 ; (python_version >= "3.9") and extra == 'all'
Provides-Extra: amundsen
Requires-Dist: neo4j ~=5.3.0 ; extra == 'amundsen'
Provides-Extra: athena
Requires-Dist: pyathena ~=3.0 ; extra == 'athena'
Provides-Extra: atlas
Provides-Extra: azure-sso
Requires-Dist: msal ~=1.2 ; extra == 'azure-sso'
Provides-Extra: azuresql
Requires-Dist: pyodbc <5,>=4.0.35 ; extra == 'azuresql'
Provides-Extra: backup
Requires-Dist: azure-storage-blob ; extra == 'backup'
Requires-Dist: azure-identity ~=1.12 ; extra == 'backup'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'backup'
Provides-Extra: base
Requires-Dist: setuptools ~=70.0 ; extra == 'base'
Requires-Dist: email-validator >=2.0 ; extra == 'base'
Requires-Dist: google-cloud-secret-manager <2.20.1,>=2.19.0 ; extra == 'base'
Requires-Dist: packaging ; extra == 'base'
Requires-Dist: azure-keyvault-secrets ; extra == 'base'
Requires-Dist: tabulate ==0.9.0 ; extra == 'base'
Requires-Dist: typing-inspect ; extra == 'base'
Requires-Dist: Jinja2 >=2.11.3 ; extra == 'base'
Requires-Dist: pydantic >=2.7.0,~=2.0 ; extra == 'base'
Requires-Dist: google-crc32c ; extra == 'base'
Requires-Dist: azure-identity ~=1.12 ; extra == 'base'
Requires-Dist: pymysql ~=1.0 ; extra == 'base'
Requires-Dist: importlib-metadata >=4.13.0 ; extra == 'base'
Requires-Dist: sqlalchemy <2,>=1.4.0 ; extra == 'base'
Requires-Dist: jsonpatch <2.0,>=1.24 ; extra == 'base'
Requires-Dist: chardet ==4.0.0 ; extra == 'base'
Requires-Dist: cached-property ==1.5.2 ; extra == 'base'
Requires-Dist: requests >=2.23 ; extra == 'base'
Requires-Dist: mypy-extensions >=0.4.3 ; extra == 'base'
Requires-Dist: collate-sqllineage ~=1.6.0 ; extra == 'base'
Requires-Dist: memory-profiler ; extra == 'base'
Requires-Dist: requests-aws4auth ~=1.1 ; extra == 'base'
Requires-Dist: collate-data-diff ; extra == 'base'
Requires-Dist: python-dateutil >=2.8.1 ; extra == 'base'
Requires-Dist: antlr4-python3-runtime ==4.9.2 ; extra == 'base'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'base'
Requires-Dist: cryptography >=42.0.0 ; extra == 'base'
Requires-Dist: PyYAML ~=6.0 ; extra == 'base'
Requires-Dist: shapely ; extra == 'base'
Requires-Dist: snowflake-connector-python <4.0.0,>=3.13.1 ; extra == 'base'
Requires-Dist: mysql-connector-python >=8.0.29 ; (python_version < "3.9") and extra == 'base'
Requires-Dist: mysql-connector-python >=9.1 ; (python_version >= "3.9") and extra == 'base'
Provides-Extra: bigquery
Requires-Dist: pyarrow ~=16.0 ; extra == 'bigquery'
Requires-Dist: sqlalchemy-bigquery >=1.2.2 ; extra == 'bigquery'
Requires-Dist: google-cloud-datacatalog >=3.6.2 ; extra == 'bigquery'
Requires-Dist: google-cloud-logging ; extra == 'bigquery'
Requires-Dist: cachetools ; extra == 'bigquery'
Requires-Dist: numpy <2 ; extra == 'bigquery'
Provides-Extra: bigtable
Requires-Dist: google-cloud-bigtable >=2.0.0 ; extra == 'bigtable'
Requires-Dist: numpy <2 ; extra == 'bigtable'
Requires-Dist: pandas ~=2.0.0 ; extra == 'bigtable'
Provides-Extra: clickhouse
Requires-Dist: clickhouse-sqlalchemy ~=0.2 ; extra == 'clickhouse'
Requires-Dist: clickhouse-driver ~=0.2 ; extra == 'clickhouse'
Requires-Dist: collate-data-diff[clickhouse] ; extra == 'clickhouse'
Provides-Extra: couchbase
Requires-Dist: couchbase ~=4.1 ; extra == 'couchbase'
Provides-Extra: dagster
Requires-Dist: pymysql ~=1.0 ; extra == 'dagster'
Requires-Dist: psycopg2-binary ; extra == 'dagster'
Requires-Dist: croniter <3 ; extra == 'dagster'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'dagster'
Requires-Dist: dagster-graphql ~=1.1 ; extra == 'dagster'
Provides-Extra: data-insight
Requires-Dist: elasticsearch8 ~=8.9.0 ; extra == 'data-insight'
Provides-Extra: databricks
Requires-Dist: databricks-sdk <0.20.0,>=0.18.0 ; extra == 'databricks'
Requires-Dist: ndg-httpsclient ~=0.5.1 ; extra == 'databricks'
Requires-Dist: pyhive[hive_pure_sasl] ~=0.7 ; extra == 'databricks'
Requires-Dist: pyasn1 ~=0.6.0 ; extra == 'databricks'
Requires-Dist: pyOpenSSL ~=24.1.0 ; extra == 'databricks'
Requires-Dist: sqlalchemy-databricks ~=0.1 ; extra == 'databricks'
Provides-Extra: datalake-azure
Requires-Dist: adlfs >=2023.1.0 ; extra == 'datalake-azure'
Requires-Dist: pyarrow ~=16.0 ; extra == 'datalake-azure'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'datalake-azure'
Requires-Dist: azure-identity ~=1.12 ; extra == 'datalake-azure'
Requires-Dist: cramjam ~=2.7 ; extra == 'datalake-azure'
Requires-Dist: pandas ~=2.0.0 ; extra == 'datalake-azure'
Requires-Dist: azure-storage-blob ~=12.14 ; extra == 'datalake-azure'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'datalake-azure'
Requires-Dist: numpy <2 ; extra == 'datalake-azure'
Provides-Extra: datalake-gcs
Requires-Dist: pyarrow ~=16.0 ; extra == 'datalake-gcs'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'datalake-gcs'
Requires-Dist: google-cloud-storage ==1.43.0 ; extra == 'datalake-gcs'
Requires-Dist: cramjam ~=2.7 ; extra == 'datalake-gcs'
Requires-Dist: google-cloud-monitoring >=2.0.0 ; extra == 'datalake-gcs'
Requires-Dist: pandas ~=2.0.0 ; extra == 'datalake-gcs'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'datalake-gcs'
Requires-Dist: gcsfs >=2023.1.0 ; extra == 'datalake-gcs'
Requires-Dist: numpy <2 ; extra == 'datalake-gcs'
Provides-Extra: datalake-s3
Requires-Dist: pyarrow ~=16.0 ; extra == 'datalake-s3'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'datalake-s3'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'datalake-s3'
Requires-Dist: cramjam ~=2.7 ; extra == 'datalake-s3'
Requires-Dist: numpy <2 ; extra == 'datalake-s3'
Requires-Dist: pandas ~=2.0.0 ; extra == 'datalake-s3'
Provides-Extra: db2
Requires-Dist: ibm-db-sa ~=0.4.1 ; extra == 'db2'
Requires-Dist: ibm-db >=2.0.0 ; extra == 'db2'
Provides-Extra: db2-ibmi
Requires-Dist: sqlalchemy-ibmi ~=0.9.3 ; extra == 'db2-ibmi'
Provides-Extra: dbt
Requires-Dist: google-cloud ; extra == 'dbt'
Requires-Dist: google-cloud-storage ==1.43.0 ; extra == 'dbt'
Requires-Dist: azure-identity ~=1.12 ; extra == 'dbt'
Requires-Dist: collate-dbt-artifacts-parser ; extra == 'dbt'
Requires-Dist: azure-storage-blob ~=12.14 ; extra == 'dbt'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'dbt'
Provides-Extra: deltalake
Requires-Dist: deltalake <0.20,~=0.17 ; extra == 'deltalake'
Requires-Dist: delta-spark <=2.3.0 ; extra == 'deltalake'
Provides-Extra: deltalake-spark
Requires-Dist: delta-spark <=2.3.0 ; extra == 'deltalake-spark'
Provides-Extra: deltalake-storage
Requires-Dist: deltalake ~=0.17 ; extra == 'deltalake-storage'
Provides-Extra: dev
Requires-Dist: datamodel-code-generator ==0.25.6 ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: pycln ; extra == 'dev'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'dev'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'dev'
Requires-Dist: pylint ~=3.2.0 ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: build ; extra == 'dev'
Requires-Dist: black ==22.3.0 ; extra == 'dev'
Requires-Dist: boto3-stubs ; extra == 'dev'
Requires-Dist: isort ; extra == 'dev'
Requires-Dist: mypy-boto3-glue ; extra == 'dev'
Provides-Extra: domo
Requires-Dist: pydomo ~=0.3 ; extra == 'domo'
Provides-Extra: doris
Requires-Dist: pydoris ==1.0.2 ; extra == 'doris'
Provides-Extra: druid
Requires-Dist: pydruid >=0.6.5 ; extra == 'druid'
Provides-Extra: dynamodb
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'dynamodb'
Provides-Extra: e2e_test
Requires-Dist: pytest-playwright ; extra == 'e2e_test'
Requires-Dist: pytest-base-url ; extra == 'e2e_test'
Provides-Extra: elasticsearch
Requires-Dist: elasticsearch8 ~=8.9.0 ; extra == 'elasticsearch'
Provides-Extra: exasol
Requires-Dist: sqlalchemy-exasol <6,>=5 ; extra == 'exasol'
Provides-Extra: extended_testing
Requires-Dist: Faker ; extra == 'extended_testing'
Provides-Extra: glue
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'glue'
Provides-Extra: great-expectations
Requires-Dist: great-expectations <0.18.14,>=0.18.0 ; extra == 'great-expectations'
Provides-Extra: greenplum
Requires-Dist: packaging ; extra == 'greenplum'
Requires-Dist: psycopg2-binary ; extra == 'greenplum'
Requires-Dist: pymysql ~=1.0 ; extra == 'greenplum'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'greenplum'
Provides-Extra: hive
Requires-Dist: thrift <1,>=0.13 ; extra == 'hive'
Requires-Dist: pyhive[hive_pure_sasl] ~=0.7 ; extra == 'hive'
Requires-Dist: impyla ~=0.18.0 ; extra == 'hive'
Requires-Dist: presto-types-parser >=0.0.2 ; extra == 'hive'
Requires-Dist: pure-sasl ; extra == 'hive'
Requires-Dist: thrift-sasl ~=0.4 ; extra == 'hive'
Provides-Extra: iceberg
Requires-Dist: adlfs >=2023.1.0 ; extra == 'iceberg'
Requires-Dist: pyarrow ~=16.0 ; extra == 'iceberg'
Requires-Dist: pydantic >=2.7.0,~=2.0 ; extra == 'iceberg'
Requires-Dist: gcsfs >=2023.1.0 ; extra == 'iceberg'
Requires-Dist: pyiceberg ==0.5.1 ; extra == 'iceberg'
Provides-Extra: impala
Requires-Dist: pure-sasl ; extra == 'impala'
Requires-Dist: presto-types-parser >=0.0.2 ; extra == 'impala'
Requires-Dist: thrift <1,>=0.13 ; extra == 'impala'
Requires-Dist: impyla[kerberos] ~=0.18.0 ; extra == 'impala'
Requires-Dist: thrift-sasl ~=0.4 ; extra == 'impala'
Provides-Extra: kafka
Requires-Dist: fastavro >=1.2.0 ; extra == 'kafka'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'kafka'
Requires-Dist: protobuf ; extra == 'kafka'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'kafka'
Requires-Dist: confluent-kafka <=2.6.1,>=2.1.1 ; extra == 'kafka'
Provides-Extra: kafkaconnect
Requires-Dist: kafka-connect-py ==0.10.11 ; extra == 'kafkaconnect'
Provides-Extra: kinesis
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'kinesis'
Provides-Extra: looker
Requires-Dist: python-liquid ; extra == 'looker'
Requires-Dist: lkml ~=1.3 ; extra == 'looker'
Requires-Dist: looker-sdk !=24.18.0,>=22.20.0 ; extra == 'looker'
Requires-Dist: giturlparse ; extra == 'looker'
Requires-Dist: gitpython ~=3.1.34 ; extra == 'looker'
Provides-Extra: mlflow
Requires-Dist: mlflow-skinny >=2.3.0 ; extra == 'mlflow'
Provides-Extra: mongo
Requires-Dist: numpy <2 ; extra == 'mongo'
Requires-Dist: pandas ~=2.0.0 ; extra == 'mongo'
Requires-Dist: pymongo ~=4.3 ; extra == 'mongo'
Provides-Extra: mssql
Requires-Dist: collate-data-diff[mssql] ; extra == 'mssql'
Requires-Dist: sqlalchemy-pytds ~=0.3 ; extra == 'mssql'
Provides-Extra: mssql-odbc
Requires-Dist: pyodbc <5,>=4.0.35 ; extra == 'mssql-odbc'
Requires-Dist: collate-data-diff[mssql] ; extra == 'mssql-odbc'
Provides-Extra: mysql
Requires-Dist: pymysql ~=1.0 ; extra == 'mysql'
Requires-Dist: collate-data-diff[mysql] ; extra == 'mysql'
Provides-Extra: nifi
Provides-Extra: openlineage
Requires-Dist: fastavro >=1.2.0 ; extra == 'openlineage'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'openlineage'
Requires-Dist: protobuf ; extra == 'openlineage'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'openlineage'
Requires-Dist: confluent-kafka <=2.6.1,>=2.1.1 ; extra == 'openlineage'
Provides-Extra: oracle
Requires-Dist: cx-Oracle <9,>=8.3.0 ; extra == 'oracle'
Requires-Dist: oracledb ~=1.2 ; extra == 'oracle'
Requires-Dist: collate-data-diff[oracle] ; extra == 'oracle'
Provides-Extra: pgspider
Requires-Dist: psycopg2-binary ; extra == 'pgspider'
Requires-Dist: sqlalchemy-pgspider ; extra == 'pgspider'
Provides-Extra: pii-processor
Requires-Dist: spacy <3.8 ; extra == 'pii-processor'
Requires-Dist: numpy <2 ; extra == 'pii-processor'
Requires-Dist: pandas ~=2.0.0 ; extra == 'pii-processor'
Requires-Dist: presidio-analyzer ==2.2.355 ; extra == 'pii-processor'
Provides-Extra: pinotdb
Requires-Dist: pinotdb ~=5.0 ; extra == 'pinotdb'
Provides-Extra: postgres
Requires-Dist: packaging ; extra == 'postgres'
Requires-Dist: psycopg2-binary ; extra == 'postgres'
Requires-Dist: pymysql ~=1.0 ; extra == 'postgres'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'postgres'
Provides-Extra: powerbi
Requires-Dist: azure-identity ~=1.12 ; extra == 'powerbi'
Requires-Dist: google-cloud-storage ==1.43.0 ; extra == 'powerbi'
Requires-Dist: msal ~=1.2 ; extra == 'powerbi'
Requires-Dist: azure-storage-blob ~=12.14 ; extra == 'powerbi'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'powerbi'
Provides-Extra: presto
Requires-Dist: presto-types-parser >=0.0.2 ; extra == 'presto'
Requires-Dist: collate-data-diff[presto] ; extra == 'presto'
Requires-Dist: pyhive[hive_pure_sasl] ~=0.7 ; extra == 'presto'
Provides-Extra: pymssql
Requires-Dist: pymssql ~=2.2.0 ; extra == 'pymssql'
Provides-Extra: qliksense
Requires-Dist: websocket-client ~=1.6.1 ; extra == 'qliksense'
Provides-Extra: quicksight
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'quicksight'
Provides-Extra: redash
Requires-Dist: packaging ; extra == 'redash'
Provides-Extra: redpanda
Requires-Dist: fastavro >=1.2.0 ; extra == 'redpanda'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'redpanda'
Requires-Dist: protobuf ; extra == 'redpanda'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'redpanda'
Requires-Dist: confluent-kafka <=2.6.1,>=2.1.1 ; extra == 'redpanda'
Provides-Extra: redshift
Requires-Dist: psycopg2-binary ; extra == 'redshift'
Requires-Dist: sqlalchemy-redshift ==0.8.12 ; extra == 'redshift'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'redshift'
Provides-Extra: sagemaker
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'sagemaker'
Provides-Extra: salesforce
Requires-Dist: authlib >=1.3.1 ; extra == 'salesforce'
Requires-Dist: simple-salesforce ~=1.11 ; extra == 'salesforce'
Provides-Extra: sample-data
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'sample-data'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'sample-data'
Provides-Extra: sap-hana
Requires-Dist: sqlalchemy-hana ; extra == 'sap-hana'
Requires-Dist: hdbcli ; extra == 'sap-hana'
Provides-Extra: sas
Provides-Extra: singlestore
Requires-Dist: pymysql ~=1.0 ; extra == 'singlestore'
Provides-Extra: sklearn
Requires-Dist: scikit-learn ~=1.0 ; extra == 'sklearn'
Provides-Extra: slim
Requires-Dist: oracledb ~=1.2 ; extra == 'slim'
Requires-Dist: setuptools ~=70.0 ; extra == 'slim'
Requires-Dist: presidio-analyzer ==2.2.355 ; extra == 'slim'
Requires-Dist: websocket-client ~=1.6.1 ; extra == 'slim'
Requires-Dist: email-validator >=2.0 ; extra == 'slim'
Requires-Dist: google-cloud-secret-manager <2.20.1,>=2.19.0 ; extra == 'slim'
Requires-Dist: thrift <1,>=0.13 ; extra == 'slim'
Requires-Dist: azure-keyvault-secrets ; extra == 'slim'
Requires-Dist: looker-sdk !=24.18.0,>=22.20.0 ; extra == 'slim'
Requires-Dist: mlflow-skinny >=2.3.0 ; extra == 'slim'
Requires-Dist: psycopg2-binary ; extra == 'slim'
Requires-Dist: typing-inspect ; extra == 'slim'
Requires-Dist: spacy <3.8 ; extra == 'slim'
Requires-Dist: sqlalchemy-bigquery >=1.2.2 ; extra == 'slim'
Requires-Dist: cachetools ; extra == 'slim'
Requires-Dist: adlfs >=2023.1.0 ; extra == 'slim'
Requires-Dist: google-crc32c ; extra == 'slim'
Requires-Dist: pymysql ~=1.0 ; extra == 'slim'
Requires-Dist: ndg-httpsclient ~=0.5.1 ; extra == 'slim'
Requires-Dist: kafka-connect-py ==0.10.11 ; extra == 'slim'
Requires-Dist: google-cloud-bigtable >=2.0.0 ; extra == 'slim'
Requires-Dist: pydruid >=0.6.5 ; extra == 'slim'
Requires-Dist: azure-storage-blob ; extra == 'slim'
Requires-Dist: sqlalchemy-pgspider ; extra == 'slim'
Requires-Dist: dagster-graphql ~=1.1 ; extra == 'slim'
Requires-Dist: gitpython ~=3.1.34 ; extra == 'slim'
Requires-Dist: chardet ==4.0.0 ; extra == 'slim'
Requires-Dist: cached-property ==1.5.2 ; extra == 'slim'
Requires-Dist: collate-data-diff[oracle] ; extra == 'slim'
Requires-Dist: teradatasqlalchemy ==20.0.0.2 ; extra == 'slim'
Requires-Dist: google-cloud-storage ==1.43.0 ; extra == 'slim'
Requires-Dist: giturlparse ; extra == 'slim'
Requires-Dist: google-cloud-logging ; extra == 'slim'
Requires-Dist: fastavro >=1.2.0 ; extra == 'slim'
Requires-Dist: mypy-extensions >=0.4.3 ; extra == 'slim'
Requires-Dist: pinotdb ~=5.0 ; extra == 'slim'
Requires-Dist: pymongo ~=4.3 ; extra == 'slim'
Requires-Dist: pyOpenSSL ~=24.1.0 ; extra == 'slim'
Requires-Dist: protobuf ; extra == 'slim'
Requires-Dist: pydoris ==1.0.2 ; extra == 'slim'
Requires-Dist: sqlalchemy-exasol <6,>=5 ; extra == 'slim'
Requires-Dist: pyodbc <5,>=4.0.35 ; extra == 'slim'
Requires-Dist: collate-data-diff ; extra == 'slim'
Requires-Dist: lkml ~=1.3 ; extra == 'slim'
Requires-Dist: pyathena ~=3.0 ; extra == 'slim'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'slim'
Requires-Dist: python-dateutil >=2.8.1 ; extra == 'slim'
Requires-Dist: pydomo ~=0.3 ; extra == 'slim'
Requires-Dist: clickhouse-sqlalchemy ~=0.2 ; extra == 'slim'
Requires-Dist: msal ~=1.2 ; extra == 'slim'
Requires-Dist: google-cloud-monitoring >=2.0.0 ; extra == 'slim'
Requires-Dist: collate-data-diff[mysql] ; extra == 'slim'
Requires-Dist: google-cloud-datacatalog >=3.6.2 ; extra == 'slim'
Requires-Dist: collate-data-diff[clickhouse] ; extra == 'slim'
Requires-Dist: antlr4-python3-runtime ==4.9.2 ; extra == 'slim'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'slim'
Requires-Dist: cryptography >=42.0.0 ; extra == 'slim'
Requires-Dist: pyasn1 ~=0.6.0 ; extra == 'slim'
Requires-Dist: simple-salesforce ~=1.11 ; extra == 'slim'
Requires-Dist: collate-data-diff[snowflake] ; extra == 'slim'
Requires-Dist: trino[sqlalchemy] ; extra == 'slim'
Requires-Dist: pure-sasl ; extra == 'slim'
Requires-Dist: pyiceberg ==0.5.1 ; extra == 'slim'
Requires-Dist: impyla[kerberos] ~=0.18.0 ; extra == 'slim'
Requires-Dist: sqlalchemy-hana ; extra == 'slim'
Requires-Dist: sqlalchemy-ibmi ~=0.9.3 ; extra == 'slim'
Requires-Dist: pymssql ~=2.2.0 ; extra == 'slim'
Requires-Dist: packaging ; extra == 'slim'
Requires-Dist: sqlalchemy-pytds ~=0.3 ; extra == 'slim'
Requires-Dist: tabulate ==0.9.0 ; extra == 'slim'
Requires-Dist: azure-storage-blob ~=12.14 ; extra == 'slim'
Requires-Dist: authlib >=1.3.1 ; extra == 'slim'
Requires-Dist: collate-data-diff[trino] ; extra == 'slim'
Requires-Dist: cx-Oracle <9,>=8.3.0 ; extra == 'slim'
Requires-Dist: impyla ~=0.18.0 ; extra == 'slim'
Requires-Dist: presto-types-parser >=0.0.2 ; extra == 'slim'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'slim'
Requires-Dist: Jinja2 >=2.11.3 ; extra == 'slim'
Requires-Dist: sqlalchemy-databricks ~=0.1 ; extra == 'slim'
Requires-Dist: sqlalchemy-vertica[vertica-python] >=0.0.5 ; extra == 'slim'
Requires-Dist: neo4j ~=5.3.0 ; extra == 'slim'
Requires-Dist: python-liquid ; extra == 'slim'
Requires-Dist: pydantic >=2.7.0,~=2.0 ; extra == 'slim'
Requires-Dist: google-cloud ; extra == 'slim'
Requires-Dist: validators ~=0.22.0 ; extra == 'slim'
Requires-Dist: azure-identity ~=1.12 ; extra == 'slim'
Requires-Dist: couchbase ~=4.1 ; extra == 'slim'
Requires-Dist: databricks-sdk <0.20.0,>=0.18.0 ; extra == 'slim'
Requires-Dist: pandas ~=2.0.0 ; extra == 'slim'
Requires-Dist: collate-data-diff[mssql] ; extra == 'slim'
Requires-Dist: importlib-metadata >=4.13.0 ; extra == 'slim'
Requires-Dist: sqlalchemy <2,>=1.4.0 ; extra == 'slim'
Requires-Dist: snowflake-sqlalchemy ~=1.4 ; extra == 'slim'
Requires-Dist: jsonpatch <2.0,>=1.24 ; extra == 'slim'
Requires-Dist: numpy <2 ; extra == 'slim'
Requires-Dist: tableau-api-lib ~=0.1 ; extra == 'slim'
Requires-Dist: requests >=2.23 ; extra == 'slim'
Requires-Dist: collate-data-diff[presto] ; extra == 'slim'
Requires-Dist: sqlalchemy-redshift ==0.8.12 ; extra == 'slim'
Requires-Dist: confluent-kafka <=2.6.1,>=2.1.1 ; extra == 'slim'
Requires-Dist: pyhive[hive_pure_sasl] ~=0.7 ; extra == 'slim'
Requires-Dist: hdbcli ; extra == 'slim'
Requires-Dist: collate-sqllineage ~=1.6.0 ; extra == 'slim'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'slim'
Requires-Dist: snowflake-connector-python <4.0.0,>=3.13.1 ; extra == 'slim'
Requires-Dist: memory-profiler ; extra == 'slim'
Requires-Dist: requests-aws4auth ~=1.1 ; extra == 'slim'
Requires-Dist: pyarrow ~=16.0 ; extra == 'slim'
Requires-Dist: clickhouse-driver ~=0.2 ; extra == 'slim'
Requires-Dist: thrift-sasl ~=0.4 ; extra == 'slim'
Requires-Dist: deltalake ~=0.17 ; extra == 'slim'
Requires-Dist: cramjam ~=2.7 ; extra == 'slim'
Requires-Dist: collate-data-diff[vertica] ; extra == 'slim'
Requires-Dist: collate-dbt-artifacts-parser ; extra == 'slim'
Requires-Dist: PyYAML ~=6.0 ; extra == 'slim'
Requires-Dist: elasticsearch8 ~=8.9.0 ; extra == 'slim'
Requires-Dist: gcsfs >=2023.1.0 ; extra == 'slim'
Requires-Dist: shapely ; extra == 'slim'
Requires-Dist: croniter <3 ; extra == 'slim'
Requires-Dist: mysql-connector-python >=8.0.29 ; (python_version < "3.9") and extra == 'slim'
Requires-Dist: mysql-connector-python >=9.1 ; (python_version >= "3.9") and extra == 'slim'
Provides-Extra: snowflake
Requires-Dist: collate-data-diff[snowflake] ; extra == 'snowflake'
Requires-Dist: snowflake-sqlalchemy ~=1.4 ; extra == 'snowflake'
Provides-Extra: superset
Provides-Extra: tableau
Requires-Dist: validators ~=0.22.0 ; extra == 'tableau'
Requires-Dist: packaging ; extra == 'tableau'
Requires-Dist: tableau-api-lib ~=0.1 ; extra == 'tableau'
Provides-Extra: teradata
Requires-Dist: teradatasqlalchemy ==20.0.0.2 ; extra == 'teradata'
Provides-Extra: test
Requires-Dist: apache-airflow ==2.10.5 ; extra == 'test'
Requires-Dist: presidio-analyzer ==2.2.355 ; extra == 'test'
Requires-Dist: oracledb ~=1.2 ; extra == 'test'
Requires-Dist: looker-sdk !=24.18.0,>=22.20.0 ; extra == 'test'
Requires-Dist: mlflow-skinny >=2.3.0 ; extra == 'test'
Requires-Dist: sqlalchemy-pytds ~=0.3 ; extra == 'test'
Requires-Dist: delta-spark <=2.3.0 ; extra == 'test'
Requires-Dist: psycopg2-binary ; extra == 'test'
Requires-Dist: cx-Oracle <9,>=8.3.0 ; extra == 'test'
Requires-Dist: pytest ==7.0.0 ; extra == 'test'
Requires-Dist: spacy <3.8 ; extra == 'test'
Requires-Dist: coverage ; extra == 'test'
Requires-Dist: freezegun ; extra == 'test'
Requires-Dist: grpcio-tools >=1.47.2 ; extra == 'test'
Requires-Dist: sqlalchemy-databricks ~=0.1 ; extra == 'test'
Requires-Dist: gcsfs >=2023.1.0 ; extra == 'test'
Requires-Dist: neo4j ~=5.3.0 ; extra == 'test'
Requires-Dist: basedpyright ~=1.14 ; extra == 'test'
Requires-Dist: databricks-sdk <0.20.0,>=0.18.0 ; extra == 'test'
Requires-Dist: requests ==2.31.0 ; extra == 'test'
Requires-Dist: pandas ~=2.0.0 ; extra == 'test'
Requires-Dist: pymysql ~=1.0 ; extra == 'test'
Requires-Dist: collate-data-diff[mssql] ; extra == 'test'
Requires-Dist: opentelemetry-exporter-otlp ==1.27.0 ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: snowflake-sqlalchemy ~=1.4 ; extra == 'test'
Requires-Dist: minio ==7.2.5 ; extra == 'test'
Requires-Dist: sqlalchemy-pgspider ; extra == 'test'
Requires-Dist: scikit-learn ~=1.0 ; extra == 'test'
Requires-Dist: tableau-api-lib ~=0.1 ; extra == 'test'
Requires-Dist: numpy <2 ; extra == 'test'
Requires-Dist: dagster-graphql ~=1.1 ; extra == 'test'
Requires-Dist: collate-data-diff[oracle] ; extra == 'test'
Requires-Dist: giturlparse ; extra == 'test'
Requires-Dist: great-expectations <0.18.14,>=0.18.0 ; extra == 'test'
Requires-Dist: sqlalchemy-redshift ==0.8.12 ; extra == 'test'
Requires-Dist: confluent-kafka <=2.6.1,>=2.1.1 ; extra == 'test'
Requires-Dist: google-cloud-storage ==1.43.0 ; extra == 'test'
Requires-Dist: pyhive[hive_pure_sasl] ~=0.7 ; extra == 'test'
Requires-Dist: boto3-stubs ; extra == 'test'
Requires-Dist: pytest-order ; extra == 'test'
Requires-Dist: fastavro >=1.2.0 ; extra == 'test'
Requires-Dist: pymongo ~=4.3 ; extra == 'test'
Requires-Dist: protobuf ; extra == 'test'
Requires-Dist: GeoAlchemy2 ~=0.12 ; extra == 'test'
Requires-Dist: pyarrow ~=16.0 ; extra == 'test'
Requires-Dist: clickhouse-driver ~=0.2 ; extra == 'test'
Requires-Dist: lkml ~=1.3 ; extra == 'test'
Requires-Dist: avro <1.12,>=1.11.3 ; extra == 'test'
Requires-Dist: pydomo ~=0.3 ; extra == 'test'
Requires-Dist: dirty-equals ; extra == 'test'
Requires-Dist: clickhouse-sqlalchemy ~=0.2 ; extra == 'test'
Requires-Dist: cramjam ~=2.7 ; extra == 'test'
Requires-Dist: deltalake <0.20,~=0.17 ; extra == 'test'
Requires-Dist: google-cloud-monitoring >=2.0.0 ; extra == 'test'
Requires-Dist: collate-dbt-artifacts-parser ; extra == 'test'
Requires-Dist: collate-data-diff[mysql] ; extra == 'test'
Requires-Dist: trino[sqlalchemy] ; extra == 'test'
Requires-Dist: collate-data-diff[clickhouse] ; extra == 'test'
Requires-Dist: elasticsearch8 ~=8.9.0 ; extra == 'test'
Requires-Dist: boto3 <2.0,>=1.20 ; extra == 'test'
Requires-Dist: kafka-python ==2.0.2 ; extra == 'test'
Requires-Dist: mypy-boto3-glue ; extra == 'test'
Requires-Dist: croniter <3 ; extra == 'test'
Requires-Dist: testcontainers ==3.7.1 ; (python_version < "3.9") and extra == 'test'
Requires-Dist: testcontainers ~=4.8.0 ; (python_version >= "3.9") and extra == 'test'
Provides-Extra: trino
Requires-Dist: collate-data-diff[trino] ; extra == 'trino'
Requires-Dist: trino[sqlalchemy] ; extra == 'trino'
Provides-Extra: vertica
Requires-Dist: sqlalchemy-vertica[vertica-python] >=0.0.5 ; extra == 'vertica'
Requires-Dist: collate-data-diff[vertica] ; extra == 'vertica'

---
This guide will help you setup the Ingestion framework and connectors
---

![Python version 3.8+](https://img.shields.io/badge/python-3.8%2B-blue)

OpenMetadata Ingestion is a simple framework to build connectors and ingest metadata of various systems through OpenMetadata APIs. It could be used in an orchestration framework(e.g. Apache Airflow) to ingest metadata.
**Prerequisites**

- Python &gt;= 3.8.x

### Docs

Please refer to the documentation here https://docs.open-metadata.org/connectors

<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=c1a30c7c-6dc7-4928-95bf-6ee08ca6aa6a" />

### TopologyRunner

All the Ingestion Workflows run through the TopologyRunner.

The flow is depicted in the images below.

**TopologyRunner Standard Flow**

![image](../openmetadata-docs/images/v1.4/features/ingestion/workflows/metadata/multithreading/single-thread-flow.png)

**TopologyRunner Multithread Flow**

![image](../openmetadata-docs/images/v1.4/features/ingestion/workflows/metadata/multithreading/multi-thread-flow.png)
