Archived
This project has been archived by its maintainers, and is no longer receiving any updates.
Vendor Connectors
Universal vendor connectors for the jbcom ecosystem, providing standardized access to cloud providers and third-party services.
Features
- AWS Connector: Boto3-based client with role assumption and retry logic
- Google Cloud Connector: Workspace and Cloud Platform APIs with lazy credential loading
- GitHub Connector: Repository management, GraphQL queries, and file operations
- Slack Connector: Bot and app integrations with rate limiting
- Vault Connector: HashiCorp Vault with Token and AppRole auth
- Zoom Connector: Meeting and user management
- VendorConnectors: Cached public API with
get_*_client()getters
Installation
pip install vendor-connectors
Usage
Using VendorConnectors (Recommended)
The VendorConnectors class provides cached access to all connectors:
from vendor_connectors import VendorConnectors
# Initialize once - reads credentials from environment
vc = VendorConnectors()
# Get cached clients
slack = vc.get_slack_client()
github = vc.get_github_client(github_owner="myorg")
s3 = vc.get_aws_client("s3")
vault = vc.get_vault_client()
Using Individual Connectors
from vendor_connectors import AWSConnector, GithubConnector, SlackConnector
# AWS with role assumption
aws = AWSConnector(execution_role_arn="arn:aws:iam::123456789012:role/MyRole")
s3 = aws.get_aws_client("s3")
# GitHub operations
github = GithubConnector(
github_owner="myorg",
github_repo="myrepo",
github_token=os.getenv("GITHUB_TOKEN")
)
# Slack messaging
slack = SlackConnector(
token=os.getenv("SLACK_TOKEN"),
bot_token=os.getenv("SLACK_BOT_TOKEN")
)
slack.send_message("general", "Hello from vendor-connectors!")
Architecture
All connectors extend DirectedInputsClass from the jbcom ecosystem:
- directed-inputs-class: Input handling from environment, stdin, config
- lifecyclelogging: Structured logging with verbosity control
- extended-data-types: Utilities like
is_nothing,strtobool,wrap_raw_data_for_export
The VendorConnectors class provides:
- Client caching (same parameters = same instance)
- Automatic credential loading from environment
- Consistent interface across all providers
Environment Variables
| Variable | Description |
|---|---|
AWS_* |
Standard AWS credentials |
EXECUTION_ROLE_ARN |
AWS role to assume |
GITHUB_TOKEN |
GitHub personal access token |
GITHUB_OWNER |
GitHub organization/user |
GOOGLE_SERVICE_ACCOUNT |
Google service account JSON |
SLACK_TOKEN |
Slack user token |
SLACK_BOT_TOKEN |
Slack bot token |
VAULT_ADDR |
Vault server URL |
VAULT_TOKEN |
Vault authentication token |
VAULT_ROLE_ID / VAULT_SECRET_ID |
AppRole credentials |
ZOOM_CLIENT_ID / ZOOM_CLIENT_SECRET / ZOOM_ACCOUNT_ID |
Zoom OAuth |
Part of jbcom Ecosystem
This package is part of the jbcom Python library ecosystem:
- extended-data-types - Foundation utilities
- lifecyclelogging - Structured logging
- directed-inputs-class - Input handling
Release trigger
Metadata
Release files for vendor-connectors 202511.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vendor_connectors-202511.12.0.tar.gz | 73.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vendor_connectors-202511.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 141.0 kB
Release files / vendor_connectors-202511.12.0.tar.gz
| Download URL | vendor_connectors-202511.12.0.tar.gz |
|---|---|
| Size | 73.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4173f963810c36803ee1710d96d80ccc379fae8647a56a1fca6e0e65ae67753f
|
|
BLAKE2b-256 checksum How to use checksums |
a0de99131bb0ebb672b0e6eb885a98eba333578d27d7d101968c65af5e62cee1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / vendor_connectors-202511.12.0-py3-none-any.whl
| Download URL | vendor_connectors-202511.12.0-py3-none-any.whl |
|---|---|
| Size | 67.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0382c04db1c639acab0a6451df5cef9e9d058466ee41b18b06867a3d28c6960e
|
|
BLAKE2b-256 checksum How to use checksums |
c29f874e611fc8eecb95c32c3f312b57711cdd526b77bcc2d24315e563bc56b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|