Module airbyte.registry
Connectivity to the connector catalog registry.
Functions
get_available_connectors(install_type: InstallType | str | None = InstallType.INSTALLABLE) ‑> list[str]
: Return a list of all available connectors.
Connectors will be returned in alphabetical order, with the standard prefix "source-".
Args:
install_type: The type of installation for the connector.
Defaults to InstallType.INSTALLABLE.
get_connector_api_docs_urls(connector_name: str) ‑> list[airbyte.registry.ApiDocsUrl]
: Get API documentation URLs for a connector.
This function retrieves documentation URLs for a connector's upstream API from multiple sources:
- Registry metadata (documentationUrl, externalDocumentationUrls)
- Connector manifest.yaml file (data.externalDocumentationUrls)
Args: connector_name: The canonical connector name (e.g., "source-facebook-marketing")
Returns: List of ApiDocsUrl objects with documentation URLs, deduplicated by URL.
Raises: AirbyteConnectorNotRegisteredError: If the connector is not found in the registry.
get_connector_metadata(name: str) ‑> airbyte.registry.ConnectorMetadata | None
: Check the cache for the connector.
If the cache is empty, populate by calling update_cache.
get_connector_version_history(connector_name: str, *, num_versions_to_validate: int = 5, timeout: int = 30) ‑> list[airbyte.registry.ConnectorVersionInfo]
: Get version history for a connector.
This function retrieves the version history for a connector by:
- Scraping the changelog HTML from docs.airbyte.com
- Parsing version information including PR URLs and titles
- Overriding release dates for the most recent N versions with accurate registry data
Args: connector_name: Name of the connector (e.g., 'source-faker', 'destination-postgres') num_versions_to_validate: Number of most recent versions to override with registry release dates for accuracy. Defaults to 5. timeout: Timeout in seconds for the changelog fetch. Defaults to 30.
Returns: List of ConnectorVersionInfo objects, sorted by most recent first.
Raises: AirbyteConnectorNotRegisteredError: If the connector is not found in the registry.
Example:
versions = get_connector_version_history("source-faker", num_versions_to_validate=3) for v in versions[:5]: ... print(f"{v.version}: {v.release_date}")
Classes
ApiDocsUrl(**data: Any)
: API documentation URL information.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Ancestors (in MRO)
- pydantic.main.BaseModel
Class variables
doc_type: str
:
model_config
:
requires_login: bool
:
source: str
:
title: str
:
url: str
:
Static methods
from_manifest_dict(manifest_data: dict[str, Any]) ‑> list[typing.Self]
: Extract documentation URLs from parsed manifest data.
Args: manifest_data: The parsed manifest.yaml data as a dictionary
Returns: List of ApiDocsUrl objects extracted from the manifest
ConnectorMetadata(**data: Any)
: Metadata for a connector.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Ancestors (in MRO)
- pydantic.main.BaseModel
Class variables
install_types: set[airbyte.registry.InstallType]
: The supported install types for the connector.
language: airbyte.registry.Language | None
: The language of the connector.
latest_available_version: str | None
: The latest available version of the connector.
model_config
:
name: str
: Connector name. For example, "source-google-sheets".
pypi_package_name: str | None
: The name of the PyPI package for the connector, if it exists.
suggested_streams: list[str] | None
: A list of suggested streams for the connector, if available.
Instance variables
default_install_type: InstallType
: Return the default install type for the connector.
ConnectorVersionInfo(**data: Any)
: Information about a specific connector version.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Ancestors (in MRO)
- pydantic.main.BaseModel
Class variables
changelog_url: str
:
docker_image_url: str
:
model_config
:
parsing_errors: list[str]
:
pr_title: str | None
:
pr_url: str | None
:
release_date: str | None
:
version: str
:
InstallType(*args, **kwds)
: The type of installation for a connector.
Ancestors (in MRO)
- builtins.str
- enum.Enum
Class variables
ANY
: All connectors in the registry (environment-independent).
DOCKER
: Docker-based connectors (returns all connectors for backward compatibility).
INSTALLABLE
: Connectors installable in the current environment (environment-sensitive).
Returns all connectors if Docker is installed, otherwise only Python and YAML.
JAVA
: Java-based connectors.
PYTHON
: Python-based connectors available via PyPI.
YAML
: Manifest-only connectors that can be run without Docker.
Language(*args, **kwds)
: The language of a connector.
Ancestors (in MRO)
- builtins.str
- enum.Enum
Class variables
JAVA
:
MANIFEST_ONLY
:
PYTHON
: