Skip to content

Meltano: Add example file-to-cratedb#190

Merged
amotl merged 19 commits intomainfrom
amo/meltano
Jan 27, 2026
Merged

Meltano: Add example file-to-cratedb#190
amotl merged 19 commits intomainfrom
amo/meltano

Conversation

@amotl
Copy link
Copy Markdown
Member

@amotl amotl commented Dec 8, 2023

About

A Meltano recipe definition for loading data into CrateDB. It uses the meltano-target-cratedb data sink pipeline component.

What's inside

  • Example file-to-cratedb

Documentation

@amotl amotl force-pushed the amo/meltano branch 2 times, most recently from 8498902 to 6045ac9 Compare December 8, 2023 23:09
@amotl amotl changed the title Singer/Meltano: Add example github-to-cratedb Singer/Meltano: Add examples {singerfile,github}-to-cratedb Dec 8, 2023
@amotl amotl force-pushed the amo/meltano branch 4 times, most recently from dd678af to 17a8ba3 Compare December 8, 2023 23:45
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Nov 11, 2025

Walkthrough

Adds a Meltano-based framework component for CrateDB: example projects, Poe tasks, CI workflow, docs, gitignore updates, and a small lint config tweak in a notebook pyproject.

Changes

Cohort / File(s) Summary
CI/CD Workflow
.github/workflows/framework-meltano.yml
New GitHub Actions workflow "Singer/Meltano": triggers on PR/push/dispatch/schedule; matrix over Python (3.10, 3.14) and CrateDB (nightly); starts CrateDB service (ports 4200, 5432) and runs tests via pip installs and uv/pueblo/ngr commands.
Git configuration
.gitignore, framework/meltano/.gitignore
Root .gitignore adds .DS_Store, .env. framework/meltano/.gitignore adds .meltano, *.json, *.singer, output, plugins.
Framework Meltano docs & config
framework/meltano/README.md, framework/meltano/pyproject.toml, framework/meltano/requirements.txt, framework/meltano/requirements-dev.txt
New README; pyproject.toml adds Poe tasks (check, format, lint, test); adds runtime dep meltano<4 and dev dep pueblo[develop].
File-to-CrateDB example
framework/meltano/file-to-cratedb/README.md, framework/meltano/file-to-cratedb/meltano.yml, framework/meltano/file-to-cratedb/pyproject.toml
New Meltano example project: meltano.yml with tap-singer-jsonl and meltano-target-cratedb loader configs; README with usage; Poe task chains for pipeline and verification.
Notebook Jupyter config
notebook/jupyter/pyproject.toml
Removed --ignore=ERA001 from the Ruff format task invocation.
Dependabot
.github/dependabot.yml
Added daily Dependabot pip updates for /framework/meltano.

Sequence Diagram(s)

sequenceDiagram
  participant GH as GitHub Actions
  participant Runner as Runner
  participant Checkout as Checkout step
  participant Python as Python setup
  participant CrateDB as CrateDB service
  participant Tests as Test runner

  GH->>Runner: trigger workflow (PR/push/dispatch/schedule)
  Runner->>Checkout: checkout repo
  Runner->>Python: setup Python (matrix)
  Runner->>CrateDB: start CrateDB container (ports 4200,5432)
  CrateDB-->>Runner: health check OK
  Runner->>Tests: install deps (pip, requirements, pueblo)
  Runner->>Tests: run tests (uv / pueblo / ngr)
  Tests->>CrateDB: run ingestion/queries
  Tests-->>Runner: results
  Runner-->>GH: report status
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • surister

Poem

🐰 A little rabbit danced on keys tonight,
Meltano pipes hum under CI light.
CrateDB listens, tests take flight,
Docs and tasks hop into sight.
Hooray — data dreams stitched tight! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a Meltano example for the file-to-cratedb use case, which is the central focus of the changeset.
Description check ✅ Passed The description is directly related to the changeset, explaining the purpose of adding a Meltano recipe definition for loading data into CrateDB and referencing the included file-to-cratedb example.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch amo/meltano

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@amotl amotl force-pushed the amo/meltano branch 12 times, most recently from f78a3ab to b573f40 Compare November 11, 2025 11:40
amotl added 2 commits January 23, 2026 23:36
Newer versions will fail `ngr test`:

  RuntimeWarning: coroutine 'PoeConfig.load' was never awaited
  RuntimeError: Failed to discover poe task from candidates:
  ['check', 'test']
Comment thread .github/workflows/framework-singer-meltano.yml Outdated
@amotl amotl changed the title Singer/Meltano: Add examples {singerfile,github}-to-cratedb Meltano: Add examples {singerfile,github}-to-cratedb Jan 23, 2026
@amotl amotl marked this pull request as ready for review January 25, 2026 13:27
coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl requested review from seut and surister January 25, 2026 20:57
@amotl amotl changed the title Meltano: Add examples {singerfile,github}-to-cratedb Meltano: Add examples file-to-cratedb Jan 25, 2026
coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl changed the title Meltano: Add examples file-to-cratedb Meltano: Add example file-to-cratedb Jan 25, 2026
Copy link
Copy Markdown
Member

@seut seut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me on a high level, I cannot really judge the meltano files due to missing meltano knowledge.

@amotl amotl merged commit 39db350 into main Jan 27, 2026
6 checks passed
@amotl amotl deleted the amo/meltano branch January 27, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants