Elyra
Elyra The coding agent e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Elyra SQL Server MySQL-compatible SQL server in Rust Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra DataGrid Server-driven data grid for Laravel
Elyra

Licensing

Elyra DataGrid is commercial software. A license is issued by elyracode.com after purchase. You can evaluate it fully on local/development domains without a key; a valid license is required for production domains.

Plans

Plan Projects (production domains) Term
Solo 1 Annual or Lifetime
Team 5 Annual or Lifetime
Unlimited Unlimited Annual or Lifetime
  • Annual licenses include updates for one year and are renewed yearly.
  • Lifetime licenses never expire.
  • A "project" is a production domain bound to the license. Local and staging domains (localhost, *.test, *.local, *.ddev.site, 127.0.0.1, …) are always allowed and do not count against your project quota.

Getting & installing a license

After purchase, elyracode.com issues:

  1. A Composer/npm access token to download the packages (see Installation).
  2. A license key for runtime verification.

Add the key to your .env:

ELYRA_DATAGRID_KEY=eyJpZCI6...   # the key issued for your domain(s)

That's it. The key is verified entirely offline — no phone-home — against a public key embedded in the package, so it works air-gapped and never depends on elyracode.com being reachable at runtime.

How verification works

  • The key is a signed token (payload.signature, RSA-SHA256). The package checks the signature, the expiry (annual plans), and that the current production host matches one of the domains encoded in your key.
  • Development is never blocked. On local/dev domains the grid works with or without a key, so you can build and evaluate freely.
  • Adding or changing production domains means re-issuing the key (self-service on elyracode.com). *.example.com covers all subdomains of a project.

Enforcement (never bricks your app)

An invalid, missing, or expired license in production never disables the grid — it degrades gracefully. Configure the reaction in config/datagrid.php:

'license_enforcement' => env('ELYRA_DATAGRID_LICENSE_ENFORCEMENT', 'warn'),
Mode Behavior (production only)
warn (default) Logs a warning; the grid keeps working.
silent Does nothing (also hides the client indicator).
throw Throws on boot (strict opt-in).

When unlicensed in production, the grid also shows a discreet indicator — a small “Unlicensed” pill in the toolbar linking to elyracode.com. It is attached by the server as a notice on the response, so all three clients show it uniformly. It never appears in local/dev or with a valid key, and silent mode suppresses it.

Publish the config to change it:

php artisan vendor:publish --tag=elyra-datagrid-config

Checking status in code

use Elyra\DataGrid\Server\GridServiceProvider;

$license = GridServiceProvider::license();   // Elyra\DataGrid\Server\Licensing\License
$license->valid();       // bool
$license->plan;          // 'solo' | 'team' | 'unlimited'
$license->projects;      // 1 | 5 | 0 (0 = unlimited)
$license->lifetime();    // bool
$license->expires;       // ?DateTimeImmutable
$license->summary();     // human-readable line for dashboards

FAQ

Do I need a key to try it? No — evaluate on local/dev domains freely.

Does it call home? No. Verification is offline against an embedded public key.

What if my key expires (annual)? The grid keeps working (warn mode) and logs a notice; renew on elyracode.com to clear it. Lifetime keys never expire.

Monorepo / multiple apps? Each production domain is a project. Choose a plan whose project count covers your domains, or Unlimited. Subdomains of a listed apex are included.