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

Guzzle Jsonrpc Laravel Package

graze/guzzle-jsonrpc

Abandoned JSON-RPC 2.0 client for Guzzle. Supports Guzzle 6/5/4/3 via branches, with helpers to build notifications, requests, and batch calls. Provides sync and async sending using Guzzle Promises. Consider forking for maintenance.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. Buy: Buy for JSON-RPC 2.0 integration with Guzzle, avoiding reinventing the wheel for RPC communication. Ideal for teams needing lightweight, standardized RPC client functionality without maintaining a custom solution.
  • Feature Expansion: Enables integration with legacy systems or third-party APIs that rely on JSON-RPC 2.0 (e.g., blockchain nodes, internal microservices, or proprietary SaaS tools).
  • Roadmap Priorities:
    • Microservices Architecture: Facilitates RPC-based communication between PHP services, reducing coupling via HTTP/JSON-RPC.
    • Async Processing: Supports non-blocking calls (via Guzzle Promises) for high-throughput systems (e.g., real-time data pipelines, event-driven workflows).
    • Error Handling: Centralized RPC error propagation (configurable via rpc_error => true) to improve debugging and user feedback.
  • Use Cases:
    • Internal Tooling: Connecting PHP backends to RPC-enabled services (e.g., payment processors, analytics APIs).
    • Legacy System Modernization: Wrapping outdated RPC APIs with a modern PHP client.
    • Prototyping: Quickly testing RPC interactions during MVP development.

When to Consider This Package

  • Adopt If:

    • Your stack uses GuzzleHTTP (v3–v6) and requires JSON-RPC 2.0 support.
    • You need batch requests, async calls, or notifications (fire-and-forget).
    • Your team prioritizes maintainability over custom code for RPC logic.
    • The target API is RPC-only (not REST/gRPC), and you lack native PHP libraries.
  • Look Elsewhere If:

    • Active Maintenance: The package is abandoned (last release: 2018). Forking may be necessary for long-term use.
    • Modern Alternatives: Consider gRPC-PHP or REST APIs if possible (JSON-RPC is less performant/scalable).
    • PHP Version: Requires PHP ~5.5+ (may conflict with newer PHP 8.x features).
    • Dependents: No downstream projects rely on it (risk of untested forks).
    • Complexity: If your RPC needs exceed JSON-RPC 2.0 (e.g., subscriptions, streaming), evaluate custom solutions or WebSocket-based RPC.

How to Pitch It (Stakeholders)

For Executives:

"This package lets us integrate with JSON-RPC 2.0 APIs—common in legacy systems or niche tools—without building a custom client. It’s a lightweight, MIT-licensed solution that works with our existing Guzzle setup, reducing dev time for RPC-based features. While unmaintained, it’s battle-tested and covers our immediate needs. We’d fork it if critical updates are required, but the risk is low for our use case."

Key Value:

  • Speed: Avoids 3–6 weeks of custom RPC client development.
  • Compatibility: Works with Guzzle (already in our stack).
  • Cost: Free (MIT license), no vendor lock-in.

For Engineering:

*"This gives us a drop-in JSON-RPC 2.0 client for Guzzle, supporting:

  • Sync/async calls (via Promises).
  • Batch requests (efficient API calls).
  • Error handling (configurable exceptions).
  • Notifications (fire-and-forget).

Trade-offs:

  • No active maintenance: Last update in 2018; we’d need to fork for PHP 8.x or new features.
  • Limited to JSON-RPC 2.0: Not suitable for gRPC or WebSocket RPC.
  • Legacy PHP: Requires PHP ~5.5+ (may need polyfills for PHP 8.x).

Recommendation: Use for short-term projects or legacy integrations. If RPC is core to our roadmap, we should evaluate gRPC-PHP or a maintained alternative like overtrue/laravel-jsonrpc for Laravel-specific needs."*

Action Items:

  1. Prototype: Test with a target RPC API (e.g., a blockchain node or internal service).
  2. Fork Plan: Document steps to update for PHP 8.x if needed.
  3. Alternatives: Benchmark against REST/gRPC if RPC is a long-term bet.
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.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime