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.
| Language | Package | Registry | Requirements |
|---|---|---|---|
| Node.js / TypeScript | @vernesoft/node | npm | Node.js 18+ |
| PHP | vernesoft/sdk | Packagist | PHP 8.1+ |
| Python | vernesoft | PyPI | Python 3.9+ |
| Rust | nautilus | crates.io | Rust 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 keysvrn_gate_. - Follow the Relay section to send your first webhook event.
- Add Gate Identity when you need tenant-aware authentication.