docs/developers/pyairbyte/reference/airbyte/registry.md
Connectivity to the connector catalog registry.
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:
1. Scraping the changelog HTML from docs.airbyte.com
2. Parsing version information including PR URLs and titles
3. 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\}")
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`
: