Skip to content

Commit

Permalink
✨Source Plausible: Make Connector Compatible with Builder (#38660)
Browse files Browse the repository at this point in the history
Co-authored-by: Alexandre Girard <[email protected]>
  • Loading branch information
pabloescoder and girarda authored May 28, 2024
1 parent 2dc3288 commit 5297329
Show file tree
Hide file tree
Showing 17 changed files with 186 additions and 181 deletions.

This file was deleted.

9 changes: 0 additions & 9 deletions airbyte-integrations/connectors/source-plausible/BOOTSTRAP.md

This file was deleted.

26 changes: 18 additions & 8 deletions airbyte-integrations/connectors/source-plausible/README.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,51 @@
# Plausible source connector


This is the repository for the Plausible source connector, written in Python.
This is the repository for the Plausible configuration based source connector.
For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/plausible).

## Local development

### Prerequisites
* Python (~=3.9)
* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation)

* Python (`^3.9`)
* Poetry (`^1.7`) - installation instructions [here](https://python-poetry.org/docs/#installation)


### Installing the connector

From this connector directory, run:
```bash
poetry install --with dev
```


### Create credentials

**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/plausible)
to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_plausible/spec.yaml` file.
to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `src/source_plausible/spec.yaml` file.
Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information.
See `sample_files/sample_config.json` for a sample config file.


### Locally running the connector

```
poetry run source-plausible spec
poetry run source-plausible check --config secrets/config.json
poetry run source-plausible discover --config secrets/config.json
poetry run source-plausible read --config secrets/config.json --catalog sample_files/configured_catalog.json
```

### Running unit tests
To run unit tests locally, from the connector directory run:
### Running tests

To run tests locally, from the connector directory run:

```
poetry run pytest unit_tests
poetry run pytest tests
```

### Building the docker image

1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md)
2. Run the following command to build the docker image:
```bash
Expand All @@ -50,6 +56,7 @@ An image will be available on your host with the tag `airbyte/source-plausible:d


### Running as a docker container

Then run any of the connector commands as follows:
```
docker run --rm airbyte/source-plausible:dev spec
Expand All @@ -59,16 +66,19 @@ docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integrat
```

### Running our CI test suite

You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md):
```bash
airbyte-ci connectors --name=source-plausible test
```

### Customizing acceptance Tests

Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information.
If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py.

### Dependency Management

All of your dependencies should be managed via Poetry.
To add a new dependency, run:
```bash
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
#
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
#
2 changes: 1 addition & 1 deletion airbyte-integrations/connectors/source-plausible/main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
#

from source_plausible.run import run
Expand Down
30 changes: 17 additions & 13 deletions airbyte-integrations/connectors/source-plausible/metadata.yaml
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
data:
registries:
oss:
enabled: true
cloud:
enabled: false
remoteRegistries:
pypi:
enabled: true
packageName: airbyte-source-plausible
connectorBuildOptions:
# Please update to the latest version of the connector base image.
# https://hub.docker.com/r/airbyte/python-connector-base
# Please use the full address with sha256 hash to guarantee build reproducibility.
baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9
connectorSubtype: api
connectorType: source
definitionId: 603ba446-3d75-41d7-92f3-aba901f8b897
dockerImageTag: 0.1.1
dockerImageTag: 0.1.2
dockerRepository: airbyte/source-plausible
githubIssueLabel: source-plausible
icon: plausible.svg
license: MIT
name: Plausible
remoteRegistries:
pypi:
enabled: true
packageName: airbyte-source-plausible
registries:
cloud:
enabled: false
oss:
enabled: true
releaseDate: 2022-10-30
releaseStage: alpha
supportLevel: community
documentationUrl: https://docs.airbyte.com/integrations/sources/plausible
tags:
- language:python
- cdk:low-code
ab_internal:
sl: 100
ql: 100
supportLevel: community
connectorBuildOptions:
baseImage: docker.io/airbyte/python-connector-base:1.2.0@sha256:c22a9d97464b69d6ef01898edf3f8612dc11614f05a84984451dde195f337db9
metadataSpecVersion: "1.0"
31 changes: 15 additions & 16 deletions airbyte-integrations/connectors/source-plausible/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
version = "0.1.1"
version = "0.1.2"
name = "source-plausible"
description = "Source implementation for Plausible."
authors = [ "Airbyte <[email protected]>",]
Expand All @@ -12,8 +12,7 @@ readme = "README.md"
documentation = "https://docs.airbyte.com/integrations/sources/plausible"
homepage = "https://airbyte.com"
repository = "https://github.com/airbytehq/airbyte"
[[tool.poetry.packages]]
include = "source_plausible"
packages = [ { include = "source_plausible" }, {include = "main.py" } ]

[tool.poetry.dependencies]
python = "^3.9,<3.12"
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
# Copyright (c) 2024 Airbyte, Inc., all rights reserved.
#


Expand Down
Loading

0 comments on commit 5297329

Please sign in to comment.