Technical Reference
This Connector SDK Technical Reference covers the following topics:
- On this page:
- Connector SDK requirements
- Python setup notes
- SDK runtime environment
- Limitations and modes of operation.
- On separate pages, it also covers the following detailed sections:
Requirements
- Python installed on your system (local or virtual environment)
- Compatible versions: see Python version support
- The Connector SDK PyPI package:
fivetran-connector-sdk
To install the Fivetran Connector SDK package, run the following command:
pip install fivetran-connector-sdk
Python setup notes
Python may be global or managed in a virtual environment (venv). To verify your setup:
python --version
To activate a virtual environment:
in macOS/Linux:
python -m venv .venv source .venv/bin/activatein Windows (PowerShell):
python -m venv .venv .venv\Scripts\Activate.ps1in Windows (Command Prompt):
python -m venv .venv .venv\Scripts\activate.bat
Depending on your local system setup, you may need to use python3 instead of python.
Related tutorials
See our Using Environment Variables With the Connector SDK guide for details on how to use environment variables.
SDK runtime environment
The Connector SDK runtime environment executes your submitted Python script in an isolated environment. It installs the libraries listed in the requirements.txt file, and after installation, it runs the provided Python script.
Python version support
We support the following Python versions:
- 3.14
- 3.13
- 3.12
- 3.11
- 3.10
If you did not explicitly specify the version when running fivetran deploy using the optional --python or --python-version arguments, we use the latest supported version.
When explicitly specifying the version in the optional --python or --python-version arguments, you must use one of the above-mentioned Python versions. We do not support any other versions.
While patch versions are usually compatible, a specific patch version can be critical for any Python library your code depends on. The exact patch versions for 3.14, 3.13, 3.12, 3.11, and 3.10 are listed below:
- 3.14.0
- 3.13.7
- 3.12.11
- 3.11.13
- 3.10.18
The versions listed above are the most up-to-date stable versions of Python as of November 14, 2025. For details on Python version upgrades, see the Handling Python version upgrades and End of Life section in Working with Connector SDK.
Pre-installed DB drivers
We pre-install the msodbcsql17 and msodbcsql18 drivers for connecting to Microsoft SQL Server. We also pre-install libpq5 and libpq-dev, which are required to support psycopg and psycopg2 respectively.
Pre-installed packages
We pre-install the following packages when running your code:
fivetran_connector_sdk:latestrequests:2.32.5grpcio:1.76.0grpcio-tools:1.76.0
System resources
The environment running your code has:
- 1 GB of RAM
- Less than 0.5 vCPUs of an 8 Core N2 or equivalent machine
- 64-bit Linux (amd64) platform.
Our production infrastructure allows for some variation in resources available to your connections at any given moment, load balancing across multiple connections.
Limitations and notes
History mode
Currently, the Connector SDK does not support History Mode. You can mimic its behavior by including a timestamp column as part of a composite primary key.
Hybrid Deployment
If you are using a destination set up for Hybrid Deployment model, you can specify a custom hybrid agent (different from that used by the destination) using the CLI parameter --hybrid-deployment-agent-id <ID>. For more information about deploying your custom connector, see Deply Your Custom Connector section.
System behavior
- Fivetran infers schema when not defined.
- The
Nonevalues are inferred asNULLandNaNvalues are inferred asFLOAT. - Long syncs should periodically call
checkpoint()to persist state.