-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dc1aa48
commit 8ff74ac
Showing
20 changed files
with
2,158 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: pip | ||
directory: "/" | ||
schedule: | ||
interval: "daily" | ||
commit-message: | ||
prefix: "chore(deps): " | ||
prefix-development: "chore(deps-dev): " | ||
- package-ecosystem: pip | ||
directory: "/.github/workflows" | ||
schedule: | ||
interval: daily | ||
commit-message: | ||
prefix: "ci: " | ||
- package-ecosystem: github-actions | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" | ||
commit-message: | ||
prefix: "ci: " |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
### A CI workflow template that runs linting and python testing | ||
### TODO: Modify as needed or as desired. | ||
|
||
name: Test tap-orca | ||
|
||
on: [push] | ||
|
||
jobs: | ||
pytest: | ||
runs-on: ubuntu-latest | ||
continue-on-error: true | ||
env: | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
strategy: | ||
matrix: | ||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install Poetry | ||
run: | | ||
pip install poetry | ||
- name: Install dependencies | ||
run: | | ||
poetry env use ${{ matrix.python-version }} | ||
poetry install | ||
- name: Test with pytest | ||
run: | | ||
poetry run pytest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
ci: | ||
autofix_prs: true | ||
autoupdate_schedule: weekly | ||
autoupdate_commit_msg: 'chore: pre-commit autoupdate' | ||
|
||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.5.0 | ||
hooks: | ||
- id: check-json | ||
exclude: | | ||
(?x)^( | ||
\.vscode/.*\.json | ||
)$ | ||
- id: check-toml | ||
- id: check-yaml | ||
- id: end-of-file-fixer | ||
- id: trailing-whitespace | ||
|
||
- repo: https://github.com/python-jsonschema/check-jsonschema | ||
rev: 0.27.3 | ||
hooks: | ||
- id: check-dependabot | ||
- id: check-github-workflows | ||
|
||
- repo: https://github.com/astral-sh/ruff-pre-commit | ||
rev: v0.1.14 | ||
hooks: | ||
- id: ruff | ||
args: [--fix, --exit-non-zero-on-fix, --show-fixes] | ||
- id: ruff-format | ||
|
||
- repo: https://github.com/pre-commit/mirrors-mypy | ||
rev: v1.8.0 | ||
hooks: | ||
- id: mypy | ||
additional_dependencies: | ||
- types-requests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# IMPORTANT! This folder is hidden from git - if you need to store config files or other secrets, | ||
# make sure those are never staged for commit into your git repo. You can store them here or another | ||
# secure location. | ||
# | ||
# Note: This may be redundant with the global .gitignore for, and is provided | ||
# for redundancy. If the `.secrets` folder is not needed, you may delete it | ||
# from the project. | ||
|
||
* | ||
!.gitignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
# tap-orca | ||
|
||
`tap-orca` is a Singer tap for Orca. | ||
|
||
Built with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps. | ||
|
||
<!-- | ||
Developer TODO: Update the below as needed to correctly describe the install procedure. For instance, if you do not have a PyPi repo, or if you want users to directly install from your git repo, you can modify this step as appropriate. | ||
## Installation | ||
Install from PyPi: | ||
```bash | ||
pipx install tap-orca | ||
``` | ||
Install from GitHub: | ||
```bash | ||
pipx install git+https://github.com/jlloyd-widen/tap-orca.git@main | ||
``` | ||
--> | ||
|
||
Install from GitHub: | ||
|
||
```bash | ||
pipx install git+https://github.com/jlloyd-widen/tap-orca.git@main | ||
``` | ||
|
||
## Configuration | ||
|
||
### Accepted Config Options | ||
|
||
<!-- | ||
This section can be created by copy-pasting the CLI output from: | ||
``` | ||
tap-orca --about --format=markdown | ||
``` | ||
--> | ||
|
||
| Setting | Required | Default | Description | | ||
|:--------------------|:--------:|:-------:|:------------| | ||
| api_token | True | None | The token to authenticate against the API service | | ||
| custom_streams | True | None | List of configs for custom streams. | | ||
| stream_maps | False | None | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). | | ||
| stream_map_config | False | None | User-defined config values to be used within map expressions. | | ||
| faker_config | False | None | Config for the [`Faker`](https://faker.readthedocs.io/en/master/) instance variable `fake` used within map expressions. Only applicable if the plugin specifies `faker` as an addtional dependency (through the `singer-sdk` `faker` extra or directly). | | ||
| flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. | | ||
| flattening_max_depth| False | None | The max depth to flatten schemas. | | ||
| batch_config | False | None | | | ||
|
||
|
||
A full list of supported settings and capabilities for this | ||
tap is available by running: | ||
|
||
```bash | ||
tap-orca --about | ||
``` | ||
|
||
### Configure using environment variables | ||
|
||
This Singer tap will automatically import any environment variables within the working directory's | ||
`.env` if the `--config=ENV` is provided, such that config values will be considered if a matching | ||
environment variable is set either in the terminal context or in the `.env` file. | ||
|
||
### Source Authentication and Authorization | ||
|
||
<!-- | ||
Developer TODO: If your tap requires special access on the source system, or any special authentication requirements, provide those here. | ||
--> | ||
|
||
Follow the instructions in the Orca API documentation to obtain an API token. You can only access the Orca documentation by logging into the Orca platform. | ||
|
||
## Usage | ||
|
||
You can easily run `tap-orca` by itself or in a pipeline using [Meltano](https://meltano.com/). | ||
|
||
### Executing the Tap Directly | ||
|
||
```bash | ||
tap-orca --version | ||
tap-orca --help | ||
tap-orca --config CONFIG --discover > ./catalog.json | ||
``` | ||
|
||
## Developer Resources | ||
|
||
Follow these instructions to contribute to this project. | ||
|
||
### Initialize your Development Environment | ||
|
||
```bash | ||
pipx install poetry | ||
poetry install | ||
``` | ||
|
||
### Create and Run Tests | ||
|
||
Create tests within the `tests` subfolder and | ||
then run: | ||
|
||
```bash | ||
poetry run pytest | ||
``` | ||
|
||
You can also test the `tap-orca` CLI interface directly using `poetry run`: | ||
|
||
```bash | ||
poetry run tap-orca --help | ||
``` | ||
|
||
### Testing with [Meltano](https://www.meltano.com) | ||
|
||
_**Note:** This tap will work in any Singer environment and does not require Meltano. | ||
Examples here are for convenience and to streamline end-to-end orchestration scenarios._ | ||
|
||
<!-- | ||
Developer TODO: | ||
Your project comes with a custom `meltano.yml` project file already created. Open the `meltano.yml` and follow any "TODO" items listed in | ||
the file. | ||
--> | ||
|
||
Next, install Meltano (if you haven't already) and any needed plugins: | ||
|
||
```bash | ||
# Install meltano | ||
pipx install meltano | ||
# Initialize meltano within this directory | ||
cd tap-orca | ||
meltano install | ||
``` | ||
|
||
Now you can test and orchestrate using Meltano: | ||
|
||
```bash | ||
# Test invocation: | ||
meltano invoke tap-orca --version | ||
# OR run a test `elt` pipeline: | ||
meltano elt tap-orca target-jsonl | ||
``` | ||
|
||
### SDK Dev Guide | ||
|
||
See the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to | ||
develop your own taps and targets. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
version: 1 | ||
send_anonymous_usage_stats: true | ||
project_id: "tap-orca" | ||
default_environment: test | ||
environments: | ||
- name: test | ||
plugins: | ||
extractors: | ||
- name: "tap-orca" | ||
namespace: "tap_orca" | ||
pip_url: -e . | ||
capabilities: | ||
- state | ||
- catalog | ||
- discover | ||
- about | ||
- stream-maps | ||
settings: | ||
- name: api_token | ||
kind: password | ||
- name: custom_streams | ||
kind: array | ||
loaders: | ||
- name: target-jsonl | ||
variant: andyh1203 | ||
pip_url: target-jsonl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# This directory is used as a target by target-jsonl, so ignore all files | ||
|
||
* | ||
!.gitignore |
Oops, something went wrong.