Skip to content

Commit c25eb6a

Browse files
docs: improve README files for batch 02
1 parent 081e3d2 commit c25eb6a

33 files changed

Lines changed: 878 additions & 339 deletions

File tree

google_trends/README.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ The connector creates a single `google_trends` table with detailed interest scor
1818

1919
Refer to the [Connector SDK Setup Guide](https://fivetran.com/docs/connectors/connector-sdk/setup-guide) to get started.
2020

21+
To initialize a new Connector SDK project using this connector as a starting point, run:
22+
23+
```
24+
fivetran init --template google_trends
25+
```
26+
27+
`fivetran init` initializes a new Connector SDK project by setting up the project structure, configuration files, and a connector you can run immediately with `fivetran debug`. For more information on `fivetran init`, refer to the [Connector SDK init documentation](https://fivetran.com/docs/connectors/connector-sdk/technical-reference/init).
28+
29+
> Note: Ensure you have updated the `configuration.json` file with the necessary parameters before running `fivetran debug`. See the [Configuration file](#configuration-file) section for details on the required configuration parameters.
30+
2131
## Features
2232

2333
- Full refresh sync strategy – Fetches complete timeframes on every sync to track historical changes
@@ -49,11 +59,11 @@ Configuration parameters:
4959
- `timeframe` – Time period in Google Trends format (required)
5060
- Relative format: "today 12-m" (last 12 months), "today 3-m" (last 3 months)
5161
- Absolute format: "2024-01-01 2026-02-03" (specific date range)
52-
Note: "today" keyword in absolute ranges is automatically converted to current date
62+
> Note: "today" keyword in absolute ranges is automatically converted to current date
5363
54-
You can also define the search array as a constant in `config.py`. The connector will use these defaults values if no `searches` key is provided in the `configuration,json`.
64+
You can also define the search array as a constant in `config.py`. The connector will use these defaults values if no `searches` key is provided in the `configuration.json`.
5565

56-
Note: Ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
66+
> Note: When submitting connector code as a [Community Connector](https://github.com/fivetran/fivetran-csdk-connectors/tree/main) in the open-source [Connector SDK repository](https://github.com/fivetran/fivetran-csdk-connectors/tree/main), ensure the `configuration.json` file has placeholder values. When adding the connector to your production repository, ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
5767
5868
## Requirements file
5969

@@ -67,7 +77,7 @@ pytrends==4.9.2
6777
pandas==3.0.0
6878
```
6979

70-
Note: The `fivetran_connector_sdk:latest` and `requests:latest` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
80+
> Note: The `fivetran_connector_sdk:latest`, `requests:2.33.0`, `grpcio:1.78.0`, and `grpcio-tools:1.78.0` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
7181
7282
## Authentication
7383

goshippo/README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Connector SDK Goshippo API Connector Example
1+
# Goshippo Connector Example
22

33
## Connector overview
44

@@ -18,6 +18,16 @@ The connector fetches shipment records along with related data such as shipping
1818

1919
Refer to the [Connector SDK Setup Guide](https://fivetran.com/docs/connectors/connector-sdk/setup-guide) to get started.
2020

21+
To initialize a new Connector SDK project using this connector as a starting point, run:
22+
23+
```
24+
fivetran init --template goshippo
25+
```
26+
27+
`fivetran init` initializes a new Connector SDK project by setting up the project structure, configuration files, and a connector you can run immediately with `fivetran debug`. For more information on `fivetran init`, refer to the [Connector SDK init documentation](https://fivetran.com/docs/connectors/connector-sdk/technical-reference/init).
28+
29+
> Note: Ensure you have updated the `configuration.json` file with the necessary parameters before running `fivetran debug`. See the [Configuration file](#configuration-file) section for details on the required configuration parameters.
30+
2131
## Features
2232

2333
- Incremental sync - Fetches only new or updated shipments since the last sync by tracking the `object_updated` timestamp
@@ -37,7 +47,7 @@ The connector requires the following configuration parameters:
3747
}
3848
```
3949

40-
Note: Ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
50+
> Note: When submitting connector code as a [Community Connector](https://github.com/fivetran/fivetran-csdk-connectors/tree/main) in the open-source [Connector SDK repository](https://github.com/fivetran/fivetran-csdk-connectors/tree/main), ensure the `configuration.json` file has placeholder values. When adding the connector to your production repository, ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
4151
4252
## Authentication
4353

greenplum_db/README.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,26 @@ This connector example demonstrates how to fetch data from a Greenplum database
66

77
## Requirements
88

9-
* [Supported Python versions](https://github.com/fivetran/fivetran-csdk-connectors/blob/main/README.md#requirements)
10-
* Operating system:
11-
* Windows: 10 or later (64-bit only)
12-
* macOS: 13 (Ventura) or later (Apple Silicon [arm64] or Intel [x86_64])
13-
* Linux: Distributions such as Ubuntu 20.04 or later, Debian 10 or later, or Amazon Linux 2 or later (arm64 or x86_64)
9+
- [Supported Python versions](https://github.com/fivetran/fivetran-csdk-connectors/blob/main/README.md#requirements)
10+
- Operating system:
11+
- Windows: 10 or later (64-bit only)
12+
- macOS: 13 (Ventura) or later (Apple Silicon [arm64] or Intel [x86_64])
13+
- Linux: Distributions such as Ubuntu 20.04 or later, Debian 10 or later, or Amazon Linux 2 or later (arm64 or x86_64)
1414

1515
## Getting started
1616

1717
Refer to the [Setup Guide](https://fivetran.com/docs/connectors/connector-sdk/setup-guide) to get started.
1818

19+
To initialize a new Connector SDK project using this connector as a starting point, run:
20+
21+
```
22+
fivetran init --template greenplum_db
23+
```
24+
25+
`fivetran init` initializes a new Connector SDK project by setting up the project structure, configuration files, and a connector you can run immediately with `fivetran debug`. For more information on `fivetran init`, refer to the [Connector SDK init documentation](https://fivetran.com/docs/connectors/connector-sdk/technical-reference/init).
26+
27+
> Note: Ensure you have updated the `configuration.json` file with the necessary parameters before running `fivetran debug`. See the [Configuration file](#configuration-file) section for details on the required configuration parameters.
28+
1929
## Features
2030

2131
- Connects to Greenplum database using `psycopg2`
@@ -28,7 +38,7 @@ Refer to the [Setup Guide](https://fivetran.com/docs/connectors/connector-sdk/se
2838

2939
The connector requires the following configuration parameters to connect to your Greenplum database:
3040

31-
```
41+
```json
3242
{
3343
"HOST": "<YOUR_GREENPLUM_DATABASE_HOST>",
3444
"PORT": "<YOUR_GREENPLUM_DATABASE_PORT>",
@@ -38,7 +48,7 @@ The connector requires the following configuration parameters to connect to your
3848
}
3949
```
4050

41-
Note: Ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
51+
> Note: When submitting connector code as a [Community Connector](https://github.com/fivetran/fivetran-csdk-connectors/tree/main) in the open-source [Connector SDK repository](https://github.com/fivetran/fivetran-csdk-connectors/tree/main), ensure the `configuration.json` file has placeholder values. When adding the connector to your production repository, ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
4252
4353
## Requirements file
4454

@@ -48,28 +58,29 @@ The connector requires the following Python libraries:
4858
psycopg2-binary
4959
```
5060

51-
Note: The `fivetran_connector_sdk:latest` and `requests:latest` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
61+
> Note: The `fivetran_connector_sdk:latest`, `requests:2.33.0`, `grpcio:1.78.0`, and `grpcio-tools:1.78.0` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
5262
5363
## Authentication
5464

5565
The connector authenticates with the Greenplum database using username and password credentials provided in the configuration file. Make sure the user has appropriate permissions to read from the tables or views you intend to query.
5666

5767
## Data handling
5868

59-
The connector performs the following data handling operations:
69+
The connector performs the following data handling operations:
6070
- Executes SQL queries to fetch data from Greenplum (refer to `GreenplumClient.upsert_data()`)
6171
- Uses server-side cursors to stream large results without loading everything into memory
6272
- Converts datetime objects to ISO format for proper serialization (refer to `GreenplumClient.convert_datetime_to_iso()`)
6373
- Checkpoints progress based on the "`query_start`" field to support incremental syncing
6474

6575
## Error handling
6676

67-
The connector includes error handling for database connection issues. In the `GreenplumClient.connect()` method, connection errors are caught and raised.
77+
The connector includes error handling for database connection issues. In the `GreenplumClient.connect()` method, connection errors are caught and raised.
6878

6979
The connector also performs validation of required configuration parameters in the `schema()` function to ensure all necessary credentials are provided before attempting to connect to the database.
7080

7181
## Tables created
72-
The connector creates a single table, `SAMPLE_TABLE`, in the destination:
82+
83+
The connector creates a single table, `SAMPLE_TABLE`, in the destination:
7384

7485
```json
7586
{
@@ -84,4 +95,4 @@ The connector creates a single table, `SAMPLE_TABLE`, in the destination:
8495

8596
## Additional considerations
8697

87-
The examples provided are intended to help you effectively use Fivetran's Connector SDK. While we've tested the code, Fivetran cannot be held responsible for any unexpected or negative consequences that may arise from using these examples. For inquiries, please reach out to our Support team.
98+
The examples provided are intended to help you effectively use Fivetran's Connector SDK. While we've tested the code, Fivetran cannot be held responsible for any unexpected or negative consequences that may arise from using these examples. For inquiries, please reach out to our Support team.

grey_hr/README.md

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,33 @@
1-
# Connector SDK GreytHR API Connector Example
1+
# Grey HR Connector Example
22

33
## Connector overview
4+
45
This connector syncs Employee, Leave Transactions, and Attendance Insights data from the greytHR API to Fivetran destinations. greytHR is a cloud-based HR and payroll management platform that provides comprehensive employee data management capabilities. This connector implements incremental syncing with proper state management and handles the greytHR API's 31-day date range limitation for Leave and Attendance endpoints through intelligent date windowing.
56

67
## Requirements
8+
79
- [Supported Python versions](https://github.com/fivetran/fivetran-csdk-connectors/blob/main/README.md#requirements)
810
- Operating system:
911
- Windows: 10 or later (64-bit only)
1012
- macOS: 13 (Ventura) or later (Apple Silicon [arm64] or Intel [x86_64])
1113
- Linux: Distributions such as Ubuntu 20.04 or later, Debian 10 or later, or Amazon Linux 2 or later (arm64 or x86_64)
1214

1315
## Getting started
16+
1417
Refer to the [Connector SDK Setup Guide](https://fivetran.com/docs/connectors/connector-sdk/setup-guide) to get started.
1518

19+
To initialize a new Connector SDK project using this connector as a starting point, run:
20+
21+
```
22+
fivetran init --template grey_hr
23+
```
24+
25+
`fivetran init` initializes a new Connector SDK project by setting up the project structure, configuration files, and a connector you can run immediately with `fivetran debug`. For more information on `fivetran init`, refer to the [Connector SDK init documentation](https://fivetran.com/docs/connectors/connector-sdk/technical-reference/init).
26+
27+
> Note: Ensure you have updated the `configuration.json` file with the necessary parameters before running `fivetran debug`. See the [Configuration file](#configuration-file) section for details on the required configuration parameters.
28+
1629
## Features
30+
1731
- OAuth2 client credentials authentication for secure API access
1832
- Automatic token refresh on expiration (401 errors) for uninterrupted syncing
1933
- Incremental syncing for Employee data based on lastModified timestamp
@@ -37,19 +51,21 @@ Refer to the [Connector SDK Setup Guide](https://fivetran.com/docs/connectors/co
3751
}
3852
```
3953

40-
`api_username` - Your greytHR API username (client ID) obtained from greytHR API registration
41-
`api_password` - Your greytHR API password (client secret) obtained from greytHR API registration
42-
`greythr_domain` - Your organization's greytHR domain (e.g., moxemo6127dato.greythr.com)
43-
`sync_start_date` - The starting date for syncing leave transactions and attendance data in YYYY-MM-DD format (e.g., 2020-01-01). If not provided, defaults to 1900-01-01
54+
- `api_username` - Your greytHR API username (client ID) obtained from greytHR API registration
55+
- `api_password` - Your greytHR API password (client secret) obtained from greytHR API registration
56+
- `greythr_domain` - Your organization's greytHR domain (e.g., moxemo6127dato.greythr.com)
57+
- `sync_start_date` - The starting date for syncing leave transactions and attendance data in YYYY-MM-DD format (e.g., 2020-01-01). If not provided, defaults to 1900-01-01
4458

45-
Note: Ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
59+
> Note: When submitting connector code as a [Community Connector](https://github.com/fivetran/fivetran-csdk-connectors/tree/main) in the open-source [Connector SDK repository](https://github.com/fivetran/fivetran-csdk-connectors/tree/main), ensure the `configuration.json` file has placeholder values. When adding the connector to your production repository, ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
4660
4761
## Requirements file
62+
4863
This connector does not require any additional Python packages beyond what is pre-installed in the Fivetran environment.
4964

50-
Note: The `fivetran_connector_sdk:latest` and `requests:latest` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
65+
> Note: The `fivetran_connector_sdk:latest`, `requests:2.33.0`, `grpcio:1.78.0`, and `grpcio-tools:1.78.0` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
5166
5267
## Authentication
68+
5369
This connector uses OAuth2 client credentials flow for authentication. The authentication process is implemented in the `get_access_token()` function.
5470

5571
To obtain your API credentials:
@@ -61,9 +77,11 @@ To obtain your API credentials:
6177
5. The connector automatically obtains and uses an access token for all API requests.
6278

6379
## Pagination
80+
6481
The Employee endpoint uses offset-based pagination implemented in the `sync_employees()` function. The connector fetches employees page by page with a configurable page size (default: 100 records per page). The pagination continues until the `hasNext` field in the API response is `false`, indicating all pages have been retrieved.
6582

6683
## Data handling
84+
6785
The connector processes data from three main greytHR API endpoints:
6886

6987
- Employee data is synced incrementally using the `modifiedSince` parameter based on the `lastModified` timestamp stored in state (refer to `sync_employees()` function).
@@ -73,6 +91,7 @@ The connector processes data from three main greytHR API endpoints:
7391
Nested JSON objects are flattened using underscore notation (e.g., `employee.name` becomes `employee_name`). Arrays of objects are extracted into separate child tables with appropriate foreign key relationships to maintain data integrity.
7492

7593
## Error handling
94+
7695
The connector implements comprehensive error handling with exponential backoff retry logic and automatic token refresh (refer to `get_access_token()` and `make_api_request()` functions):
7796

7897
- HTTP 401 authentication errors automatically trigger token refresh and request retry
@@ -95,4 +114,5 @@ The connector implements comprehensive error handling with exponential backoff r
95114
| `attendance_status` | `employee`, `sync_start_date`, `sync_end_date`, `type` | Contains attendance status counts (Present, Absent, etc.). Child table linked to `attendance_insight`. |
96115

97116
## Additional considerations
117+
98118
The examples provided are intended to help you effectively use Fivetran's Connector SDK. While we've tested the code, Fivetran cannot be held responsible for any unexpected or negative consequences that may arise from using these examples. For inquiries, please reach out to our Support team.

gumroad/README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ This connector fetches sales, products, and subscriber data from the Gumroad API
1616

1717
Refer to the [Connector SDK Setup Guide](https://fivetran.com/docs/connectors/connector-sdk/setup-guide) to get started.
1818

19+
To initialize a new Connector SDK project using this connector as a starting point, run:
20+
21+
```
22+
fivetran init --template gumroad
23+
```
24+
25+
`fivetran init` initializes a new Connector SDK project by setting up the project structure, configuration files, and a connector you can run immediately with `fivetran debug`. For more information on `fivetran init`, refer to the [Connector SDK init documentation](https://fivetran.com/docs/connectors/connector-sdk/technical-reference/init).
26+
27+
> Note: Ensure you have updated the `configuration.json` file with the necessary parameters before running `fivetran debug`. See the [Configuration file](#configuration-file) section for details on the required configuration parameters.
28+
1929
## Features
2030

2131
- Incremental syncing of sales data using date-based filtering
@@ -36,13 +46,13 @@ The connector requires the following configuration parameter:
3646
}
3747
```
3848

39-
Note: Ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
49+
> Note: When submitting connector code as a [Community Connector](https://github.com/fivetran/fivetran-csdk-connectors/tree/main) in the open-source [Connector SDK repository](https://github.com/fivetran/fivetran-csdk-connectors/tree/main), ensure the `configuration.json` file has placeholder values. When adding the connector to your production repository, ensure that the `configuration.json` file is not checked into version control to protect sensitive information.
4050
4151
## Requirements file
4252

4353
The connector does not require any additional Python packages beyond those pre-installed in the Fivetran environment.
4454

45-
Note: The `fivetran_connector_sdk:latest` and `requests:latest` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
55+
> Note: The `fivetran_connector_sdk:latest`, `requests:2.33.0`, `grpcio:1.78.0`, and `grpcio-tools:1.78.0` packages are pre-installed in the Fivetran environment. To avoid dependency conflicts, do not declare them in your `requirements.txt`.
4656
4757
## Authentication
4858

0 commit comments

Comments
 (0)