Porter

:lipstick: Durable and asynchronous data imports for consuming data at scale and publishing testable SDKs.

PHP 8.0.0 πŸ“¦ 1.6K/mo
614 stars  Β·  25 forks  Β·  Updated  Β·  LGPL-3.0
Install
composer require Porter
View on GitHub
abstractionasynchronousdata-importdata-transformationdurabilityfibersframeworklibraryphp-developmentporterscalability
Version history All releases β†—

* Removed the `array` type restriction for `RecordCollection`. Record collections are now iterators of `mixed` (any type) instead of just `array`s.

Unifies the synchronous and asynchronous APIs, so they are one and the same.

Replaces coroutines with fibers as the new async technology.

This release reframes Providers as services, encouraging dependency injection (including configuration) into the constructor and exposing the Provider…

* Added `ThrottledConnector` to rate-limit all resources owned by a provider with a shared throttle.

* Added `Throttle` support for async imports only.

Porter v5 introduces asynchronous imports and complete strict type safety (excluding union types and generics). ### Breaking changes * Removed s…

Porter v4 fixes all known design flaws (#31, #43) and critically re-evaluates every part of Porter's design. All base classes have been discarded (`Ab…

Quality signals
Score
Stars614
Forks25
Last updated
LicenseLGPL-3.0
πŸ“¦ Package statsPackagist β†—
Monthly downloads1.6K
Total downloads137.7K