Installing the Verne SDKs

Verne Software ships official server-side SDKs for the Nautilus platform. Each SDK gives you an idiomatic client for Relay (Webhooks-as-a-Service) and Gate (Auth-as-a-Service) behind a single entry point, and each is distributed through the standard package registry of its ecosystem.

Server-side only. API keys carry full service access and must never be used in browser, client-side, or WASM contexts.

LanguagePackageRegistryRequirements
Node.js / TypeScript@vernesoft/nodenpmNode.js 18+
PHPvernesoft/sdkPackagistPHP 8.1+
PythonvernesoftPyPIPython 3.9+
Rustnautiluscrates.ioRust 1.75+

Node.js / TypeScript

Requires Node.js 18 or later. Ships with first-class TypeScript types and both ESM and CommonJS builds.

Install from npm with your preferred package manager:

npm install @vernesoft/node
# or
yarn add @vernesoft/node
# or
pnpm add @vernesoft/node

Verify the installation:

import { Verne } from '@vernesoft/node';

const verne = new Verne({
  relay: process.env.VERNE_RELAY_KEY,
  gate:  process.env.VERNE_GATE_KEY,
});

PHP

Requires PHP 8.1 or later (uses Guzzle 7 under the hood).

Install from Packagist via Composer:

composer require vernesoft/sdk

The SDK follows PSR-4 autoloading under the Vernesoft\ namespace:

use Vernesoft\Verne;

$verne = new Verne(
    relay: $_ENV['VERNE_RELAY_KEY'],
    gate: $_ENV['VERNE_GATE_KEY'],
);

Python

Requires Python 3.9 or later (built on httpx, with sync and async support).

Install from PyPI:

pip install vernesoft

Or with your project's dependency manager:

poetry add vernesoft
# or
uv add vernesoft

Verify the installation:

import os
from vernesoft import Verne

verne = Verne(
    relay=os.environ["VERNE_RELAY_KEY"],
    gate=os.environ["VERNE_GATE_KEY"],
)

Rust

Requires Rust 1.75 or later. The crate is async (Tokio) and uses rustls — no OpenSSL system dependency.

Install from crates.io:

cargo add nautilus

Or add it to Cargo.toml manually:

[dependencies]
nautilus = "0.4"

Verify the installation:

use nautilus::Verne;

#[tokio::main]
async fn main() -> Result<(), nautilus::Error> {
    let verne = Verne::builder()
        .relay(std::env::var("VERNE_RELAY_KEY").unwrap())
        .gate(std::env::var("VERNE_GATE_KEY").unwrap())
        .build()?;

    Ok(())
}

API docs for the crate are published on docs.rs.


Next Steps

  • Grab your API keys from the dashboard — Relay keys are prefixed vrn_relay_, Gate keys vrn_gate_.
  • Follow the Relay section to send your first webhook event.
  • Add Gate Identity when you need tenant-aware authentication.