Airbyte source connector that enables data extraction from Mailchimp's API for email marketing analytics and audience management
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Main connector functionality for initializing and running the Mailchimp source connector within the Airbyte framework.
The primary connector class that extends Airbyte's declarative framework to provide Mailchimp API integration.
class SourceMailchimp(YamlDeclarativeSource):
"""
Main source connector for Mailchimp API integration.
Extends YamlDeclarativeSource to load configuration from manifest.yaml
which defines streams, authentication, pagination, and sync modes.
"""
def __init__(self):
"""
Initialize the connector with manifest.yaml configuration.
The manifest file defines:
- 12 data streams (campaigns, lists, segments, etc.)
- Authentication methods (OAuth, API key)
- Incremental sync capabilities
- Custom data extractors
"""Main entry point that coordinates connector initialization, configuration migration, and execution.
def run():
"""
Main entry point for the Mailchimp source connector.
This function:
1. Creates a SourceMailchimp instance
2. Runs configuration migration (data center detection)
3. Launches the connector using Airbyte CDK framework
Uses sys.argv for command-line arguments and integrates with
Airbyte's standard connector interface (spec, check, discover, read).
"""from source_mailchimp import SourceMailchimp
# Create connector instance
source = SourceMailchimp()
# The connector automatically loads its configuration from manifest.yaml
# which defines all available streams and their propertiesfrom source_mailchimp.run import run
# Execute connector with command-line arguments
# This handles the full Airbyte connector lifecycle
run()import sys
from airbyte_cdk.entrypoint import launch
from source_mailchimp import SourceMailchimp
from source_mailchimp.config_migrations import MigrateDataCenter
# Manual setup (normally handled by run() function)
source = SourceMailchimp()
MigrateDataCenter.migrate(sys.argv[1:], source)
launch(source, sys.argv[1:])Install with Tessl CLI
npx tessl i tessl/pypi-airbyte-source-mailchimp