Skip to content

feat: add JSON source type to enrichment pipeline#34

Merged
NormallyGaussian merged 3 commits intomainfrom
feat/json-source-type
Feb 10, 2026
Merged

feat: add JSON source type to enrichment pipeline#34
NormallyGaussian merged 3 commits intomainfrom
feat/json-source-type

Conversation

@NormallyGaussian
Copy link
Contributor

Summary

  • Add SourceType.JSON to the enum and a new processors/json.py that reads/writes JSON arrays of objects
  • Wire up the JSON processor in the runner match statement and add "json" to AVAILABLE_SOURCE_TYPES (both standalone and non-standalone)
  • Add example schema, tests (processor + CLI), and update README to document JSON support

Test plan

  • All 389 existing tests pass (uv run pytest tests/ -v)
  • New JSON processor tests: read, write, no_wait, invalid input error handling
  • New CLI tests: --source-type json accepted in enrich run and enrich plan
  • Real integration test: enriched 5 companies from JSON input, verified output JSON file with CEO names, stock prices, and latest news

Add native JSON file support so users can read from and write to .json
files directly without converting to CSV first.
The example schema references examples/example_file.json but the file
was missing.
The test was asserting against a hardcoded list instead of actual code.
JSON in AVAILABLE_SOURCE_TYPES is already covered by the existing
non-standalone test.
@NormallyGaussian NormallyGaussian merged commit ef58b21 into main Feb 10, 2026
7 checks passed
@NormallyGaussian NormallyGaussian deleted the feat/json-source-type branch February 10, 2026 02:12
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.

1 participant