Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Etl Core Bundle Laravel Package

boutdecode/etl-core-bundle

View on GitHub
Deep Wiki
Context7
v0.2.0

What's new

ETL — Executor step category

Add a new Executor step category alongside Extractor, Transformer and Loader.

New files

  • ExecutorStep — interface extending ExecutableStep, exposes execute(string $command, array $arguments, Context $context, array $configuration): mixed
  • AbstractExecutorStep — base class resolving command and arguments from the Context configuration, with fallback to the step's default configuration
  • ConsoleCommandExecutorStep — built-in implementation running a Symfony console command via Application::run(), returns array{ exitCode: int, output: string }

Configuration keys for ConsoleCommandExecutorStep (etl.executor.console_command)

Key Description
command Symfony console command name (e.g. app:my-command)
arguments Associative array of arguments and options
catchExceptions Whether to catch exceptions (default: false)

Dependencies

  • symfony/console ^6.4\|\|^7.0 added as require-dev
v0.1.0

🚀 Initial release

First stable release of ETLCoreBundle — a reusable Symfony Bundle providing a configurable ETL (Extract / Transform / Load) pipeline engine.

Features

Core

  • Context DTO — the central pass-through object between steps
  • Pipeline & Step abstractions (AbstractExtractorStep, AbstractTransformerStep, AbstractLoaderStep)
  • PipelineStatus enum and pipeline lifecycle management

Built-in ETL steps

Step Type
CsvFileExtractStep Extractor
JsonFileExtractStep Extractor
XmlFileExtractStep Extractor
FilterTransformStep Transformer
DataMappingTransformStep Transformer
CsvFileLoadStep Loader
JsonFileLoadStep Loader
DatabaseLoadStep Loader

Execution engine

  • DefaultPipelineRunner with middleware chains (pipeline-level & step-level)
  • CycleLife middlewares for pipeline & step lifecycle tracking
  • Symfony Workflow integration (pipeline_lifecycle state machine)
  • Symfony Scheduler integration (PipelineScheduler with #[AsCronTask])

CQS layer

  • CommandBus / QueryBus interfaces backed by Symfony Messenger
  • AsyncCommand / AsyncQuery for opt-in async transport
  • 3 Messenger buses: command.bus, query.bus, event.bus

Requirements

  • PHP >= 8.2
  • Symfony ^6.4 || ^7.0

Installation

composer require boutdecode/etl-core-bundle
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver