* handwritten low code manifest example components * add MinMaxDatetime to jsonschema * add a basic gradle command to generate manifest components * Add auth components to handwritten component schema - ApiKeyAuthenticator - BasicHttpAuthenticator - BearerAuthenticator - DeclarativeOauth2Authenticator - NoAuth * Respect optional properties in DeclarativeOauth2Authenticator * Fix `Dict[str, Any]` mapping in auth components * add default error handler composite error handler and http response filter components * [low code component schema] adding backoff strategies to schema * [low code component schema] fix float types * [low code component schema] add RecordFilter * Remove `config` from auth components * [low code component schema] add Interpolation (with pending question on 'type' not being defined) * Add CartesianProductStreamSlicer & DatetimeStreamSlicer * Add ListStreamSlicer, and fix nesting of DatetimeStreamSlicer * [low code component schema] add InterpolatedRequestOptionsProvider * Add slicer components, and fix a couple of components after reviewing output * [low code component schema] adding transformations and adding type to interpolators * adding spec and a few small tweaks * Add DefaultSchemaLoader * [low code component schema] attempt on custom class * Add descriptions for auth components * add RequestOption * remove interpolated objects from the schema in favor of strings only * a few schema fixes and adding some custom pagination and stream slicer * [low code component schema] fix CustomBackoffStrategy * Add CustomRecordExtractor * add some description and add additional properties * insert a transformer to hydrate default manifest components and perform validation against the handwritten schema * [low code component schema] validating existing schemas * [low code component schema] clean validation script * add manifest transformer tests and a few tweaks to the schema * Revert "[low code component schema] clean validation script" This reverts commit2408f41cf6. * Revert "[low code component schema] validating existing schemas" This reverts commit9d39977815. * [low code component schema] integrate validation script to gradle * [low code component schema] updating validation script permissions * remove a few model gen spike files and clean up comments * default types should take parent type into account and a few schema changes * add inline schema components and fix validation bugs * add types to every component's literal enum and more little schema fixes * missing component prefix * pr feedback, renaming the schema and updating various docs * fixing schema bugs from testing and new components * last few small tweaks and fixes and fix the script * bump the version before publsih * include the declarative_component_schema.yaml as package data so its included when package is published * roll the version to publish Co-authored-by: Catherine Noll <noll.catherine@gmail.com> Co-authored-by: maxi297 <maxime@airbyte.io>
80 lines
2.3 KiB
Python
80 lines
2.3 KiB
Python
#
|
|
# Copyright (c) 2022 Airbyte, Inc., all rights reserved.
|
|
#
|
|
|
|
|
|
import pathlib
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
# The directory containing this file
|
|
HERE = pathlib.Path(__file__).parent
|
|
|
|
# The text of the README file
|
|
README = (HERE / "README.md").read_text()
|
|
|
|
setup(
|
|
name="airbyte-cdk",
|
|
version="0.16.1",
|
|
description="A framework for writing Airbyte Connectors.",
|
|
long_description=README,
|
|
long_description_content_type="text/markdown",
|
|
author="Airbyte",
|
|
author_email="contact@airbyte.io",
|
|
license="MIT",
|
|
url="https://github.com/airbytehq/airbyte",
|
|
classifiers=[
|
|
# This information is used when browsing on PyPi.
|
|
# Dev Status
|
|
"Development Status :: 3 - Alpha",
|
|
# Project Audience
|
|
"Intended Audience :: Developers",
|
|
"Topic :: Scientific/Engineering",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"License :: OSI Approved :: MIT License",
|
|
# Python Version Support
|
|
"Programming Language :: Python :: 3.9",
|
|
],
|
|
keywords="airbyte connector-development-kit cdk",
|
|
project_urls={
|
|
"Documentation": "https://docs.airbyte.io/",
|
|
"Source": "https://github.com/airbytehq/airbyte",
|
|
"Tracker": "https://github.com/airbytehq/airbyte/issues",
|
|
},
|
|
packages=find_packages(exclude=("unit_tests",)),
|
|
package_data={"airbyte_cdk": ["py.typed", "sources/declarative/declarative_component_schema.yaml"]},
|
|
install_requires=[
|
|
"backoff",
|
|
# pinned to the last working version for us temporarily while we fix
|
|
"dataclasses-jsonschema==2.15.1",
|
|
"dpath~=2.0.1",
|
|
"jsonschema~=3.2.0",
|
|
"jsonref~=0.2",
|
|
"pendulum",
|
|
"pydantic~=1.9.2",
|
|
"python-dateutil",
|
|
"PyYAML~=5.4",
|
|
"requests",
|
|
"requests_cache",
|
|
"Deprecated~=1.2",
|
|
"Jinja2~=3.1.2",
|
|
"cachetools",
|
|
],
|
|
python_requires=">=3.9",
|
|
extras_require={
|
|
"dev": [
|
|
"freezegun",
|
|
"MyPy~=0.812",
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-mock",
|
|
"requests-mock",
|
|
"pytest-httpserver",
|
|
],
|
|
"sphinx-docs": [
|
|
"Sphinx~=4.2",
|
|
"sphinx-rtd-theme~=1.0",
|
|
],
|
|
},
|
|
)
|