{"id":44741002,"url":"https://github.com/flow-php/etl-adapter-amphp","last_synced_at":"2026-02-28T09:01:01.034Z","repository":{"id":37435365,"uuid":"485932890","full_name":"flow-php/etl-adapter-amphp","owner":"flow-php","description":"PHP ETL AMP asynchronous processing adapter","archived":true,"fork":false,"pushed_at":"2023-11-05T13:04:33.000Z","size":139,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"1.x","last_synced_at":"2026-01-16T00:20:17.625Z","etag":null,"topics":["amphp","data-engineering","data-processing","etl","flow-php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flow-php.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-04-26T20:09:39.000Z","updated_at":"2025-11-28T05:38:47.000Z","dependencies_parsed_at":"2023-10-16T21:06:45.043Z","dependency_job_id":"ec74b7cc-15e8-49c8-afa2-2439a51c6461","html_url":"https://github.com/flow-php/etl-adapter-amphp","commit_stats":{"total_commits":56,"total_committers":3,"mean_commits":"18.666666666666668","dds":0.3928571428571429,"last_synced_commit":"0722d74fe5dfee589a9548cd7a1ef67d4e1e04f7"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/flow-php/etl-adapter-amphp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flow-php%2Fetl-adapter-amphp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flow-php%2Fetl-adapter-amphp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flow-php%2Fetl-adapter-amphp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flow-php%2Fetl-adapter-amphp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flow-php","download_url":"https://codeload.github.com/flow-php/etl-adapter-amphp/tar.gz/refs/heads/1.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flow-php%2Fetl-adapter-amphp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29929111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amphp","data-engineering","data-processing","etl","flow-php"],"created_at":"2026-02-15T21:00:18.567Z","updated_at":"2026-02-28T09:01:01.023Z","avatar_url":"https://github.com/flow-php.png","language":"PHP","funding_links":[],"categories":["Unsorted yet"],"sub_categories":["Tunnel"],"readme":"# Flow Adapter: [AMP](https://amphp.org/) \n\nFlow PHP's Adapter AmpHP is a meticulously crafted library aimed at integrating the asynchronous capabilities of AmpHP\nwithin your ETL (Extract, Transform, Load) workflows. This adapter is instrumental for developers aspiring to execute\nnon-blocking data operations, thereby optimizing performance and responsiveness in their data transformation workflows.\nBy leveraging the Adapter AmpHP library, developers can access a robust suite of features engineered for precise\nasynchronous data operations, simplifying complex data transformations while enhancing operational efficiency. The\nAdapter AmpHP library encapsulates a rich set of functionalities, offering a streamlined API for managing asynchronous\ntasks, which is indispensable in modern data processing and transformation landscapes. This library mirrors Flow PHP's\ncommitment to delivering versatile and efficient data processing solutions, making it a superior choice for developers\ndealing with asynchronous operations in large-scale and data-intensive environments. With Flow PHP's Adapter AmpHP,\nembracing asynchronous data processing within your ETL workflows becomes a seamless and efficient endeavor, aligning\nharmoniously with the robust and adaptable framework of the Flow PHP ecosystem.\n\nFollowing communication protocols are supported:\n\n- TCP/IP (only local) - `127.0.0.1:6651`\n- Unix Domain Socket - `uinx:///var/run/etl.sock`\n\n# Installation\n\n```\ncomposer require flow-php/etl-adapter-amphp:1.x@dev\n```\n\nExample usage: \n\n```php\n\u003c?php\n\nuse function Flow\\ETL\\DSL\\concat;\nuse function Flow\\ETL\\DSL\\lit;\nuse function Flow\\ETL\\DSL\\ref;\nuse Flow\\ETL\\Adapter\\CSV\\League\\CSVExtractor;\nuse Flow\\ETL\\Adapter\\Doctrine\\DbalLoader;\nuse Flow\\ETL\\Monitoring\\Memory\\Consumption;\nuse Flow\\ETL\\Pipeline\\LocalSocketPipeline;\nuse Flow\\ETL\\Async\\ReactPHP\\Worker\\ChildProcessLauncher;\nuse Flow\\ETL\\Async\\ReactPHP\\Server\\SocketServer;\nuse Flow\\ETL\\DSL\\Transform;\nuse Flow\\ETL\\Flow;\nuse Monolog\\Handler\\StreamHandler;\nuse Monolog\\Logger;\nuse Psr\\Log\\LogLevel;\n\nrequire __DIR__ . '/vendor/autoload.php';\n\n$logger = new Logger('server');\n$logger-\u003epushHandler(new StreamHandler(\"php://stdout\", LogLevel::DEBUG, false));\n$logger-\u003epushHandler(new StreamHandler(\"php://stderr\", LogLevel::ERROR, false));\n\n(new Flow)\n    -\u003eread(new CSVExtractor(\n        $path = __DIR__ . '/data/dataset.csv',\n        10_000,\n        0\n    ))\n    -\u003epipeline(\n        new LocalSocketPipeline(\n            SocketServer::unixDomain(__DIR__ . \"/var/run/\", $logger),\n            new ChildProcessLauncher(__DIR__ . \"/vendor/bin/worker-amp\", $logger),\n            $workers = 8\n        )\n    )\n    -\u003ewithEntry('id', ref('id')-\u003ecast('int'))\n    -\u003ewithEntry('name', concat(ref('name'), lit(' '), ref('last name')))\n    -\u003edrop('last_name')\n    -\u003eload(new DbalLoader($tableName, $dbConnectionParams))\n    -\u003erun();\n```\n\nThis adapter comes with built-in [worker](bin/worker-amp) CLI application\nbut feel free to create custom.\nCustomization of the works will let you adjust logger or autoloader. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflow-php%2Fetl-adapter-amphp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflow-php%2Fetl-adapter-amphp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflow-php%2Fetl-adapter-amphp/lists"}