https://github.com/gleanwork/copier-glean-connector
Copier template for scaffolding custom Glean indexing connectors
https://github.com/gleanwork/copier-glean-connector
Last synced: 15 days ago
JSON representation
Copier template for scaffolding custom Glean indexing connectors
- Host: GitHub
- URL: https://github.com/gleanwork/copier-glean-connector
- Owner: gleanwork
- Created: 2026-02-24T18:04:12.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-09T23:32:33.000Z (4 months ago)
- Last Synced: 2026-03-10T04:51:27.721Z (4 months ago)
- Language: Jinja
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# copier-glean-connector
A [copier](https://copier.readthedocs.io/) template for scaffolding custom [Glean](https://www.glean.com/) indexing connectors using the `glean-indexing-sdk`.
## Prerequisites
- [Python](https://www.python.org/) 3.10+
- [uv](https://docs.astral.sh/uv/) (recommended) or pip
- [copier](https://copier.readthedocs.io/) 9+
Install copier:
```bash
uv tool install copier
```
## Usage
Generate a new connector project:
```bash
copier copy gh:gleanwork/copier-glean-connector my-connector
```
The wizard will prompt for project name, connector type, and other options. After generation, the template automatically runs `git init`, `uv sync`, and `ruff format`.
## Connector Types
### Datasource Connectors
Index documents and content into Glean.
| Type | SDK Base Class | Best For |
|---|---|---|
| **Basic** | `BaseDatasourceConnector` | Small data sources (~1,000 records) where all data fits in memory |
| **Streaming** | `BaseStreamingDatasourceConnector` | Paginated APIs or larger datasets; yields records in batches |
| **Async Streaming** | `BaseAsyncStreamingDatasourceConnector` | Large or high-latency data sources; concurrent I/O with async generators |
### People Connectors
Index employee/people data into Glean using `BasePeopleConnector`.
## Updating a Generated Project
When this template is updated, pull changes into your project:
```bash
copier update
```