Extended Data-native vendor connectors and sync capabilities
Project description
Vendor Fabric
vendor-fabric is the optional vendor integration layer for the
Extended Data Python stack. It depends on extended-data>=8.4.0 for the
polymorphic ExtendedData root, concrete containers, local file sync, inputs,
logging, and workflow utilities, then adds
adapter-registered API clients and vendor-backed sync capabilities.
Documentation: jonbogaty.com/vendor-fabric
pip install vendor-fabric
pip install "vendor-fabric[github,slack]"
pip install "vendor-fabric[aws,google,vault,secrets-sync]"
pip install secrets-sync-python-binding
pip install pytest-vendor-fabric
The base install keeps vendor SDKs out of the environment. Connector metadata is available even when an optional SDK is absent:
from vendor_fabric import get_connector_info, list_connector_info
print(get_connector_info("github")["available"])
print(list_connector_info(include_unavailable=True))
Construct connectors through the registry or ConnectorFabric:
from vendor_fabric import ConnectorFabric
fabric = ConnectorFabric(inputs={"GITHUB_TOKEN": "..."})
github = fabric.get_connector("github")
Unavailable features report install guidance instead of requiring callers to wrap their own imports.
SecretSync access is exposed through a binding-backed facade:
from vendor_fabric.secrets_sync import ProviderSession, SyncOptions, get_targets, run_pipeline
result = run_pipeline("pipeline.yaml", SyncOptions(dry_run=True))
targets = get_targets("pipeline.yaml")
print(result["success"])
print(targets["targets"])
session = ProviderSession(
vault_address="https://vault.example.com",
vault_token=vault_token,
aws_region="us-east-1",
aws_access_key_id=aws_credentials.access_key,
aws_secret_access_key=aws_credentials.secret_key,
aws_session_token=aws_credentials.token,
)
run_pipeline("pipeline.yaml", SyncOptions(dry_run=True), provider_session=session)
vendor-fabric consumes the secrets_sync import from
secrets-sync-python-binding and shapes those payloads into Extended Data
values. The canonical SecretSync runtime, CLI, pipeline semantics, and gopy
binding source live in jbcom/secrets-sync.
Connector and sync payloads are ExtendedData values at the boundary. Dict,
list, string, tuple, and set payloads are concrete extended subclasses, so code
can use normal container operations and extended-data methods without import
juggling.
Testing support lives in the separately published pytest-vendor-fabric
package. It provides connector fixtures, E2E controls, and credential guards
without forcing test-only dependencies into the runtime package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vendor_fabric-2.1.3.tar.gz.
File metadata
- Download URL: vendor_fabric-2.1.3.tar.gz
- Upload date:
- Size: 294.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f189c19f11f77cbbfe0739f3f550a6686c2b4e1a9795e137bfdbe16f96316bc3
|
|
| MD5 |
449d3f64f58a19c5ccb6eb495df791c6
|
|
| BLAKE2b-256 |
b78d232d08e44dc4a996446dfb9a564545b4ab86d54591003e9d0127da7b77e4
|
File details
Details for the file vendor_fabric-2.1.3-py3-none-any.whl.
File metadata
- Download URL: vendor_fabric-2.1.3-py3-none-any.whl
- Upload date:
- Size: 206.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e15fd540abbd29ae9e29797693485314cc9cc0bcecff4b6b04d960e03cf85241
|
|
| MD5 |
e037db4c7872d0eb9c9ae4c7659bc922
|
|
| BLAKE2b-256 |
45683ee10ddcc4441065f83592e61b9c86c8b0b316f6ee8877dea483389853ee
|