Official anvilent drivers for Rust, TypeScript, Python, and Go. Every driver speaks the same anvil:// connection scheme and exposes the same core surface — connect, run Cypher with parameters, and manage transactions.
All drivers accept the same URI. Use anvil+tls:// to require TLS. The default HTTP port is 7474.
anvil://username:password@host:7474/database
anvil+tls://username:password@host:7474/databasecargo add anvilentcrates.iouse anvilent::{AnvilClient, Params};
let mut client = AnvilClient::new("anvil://admin:pass@localhost:7474/default")?;
client.connect()?;
let result = client.query(
"MATCH (p:Person) RETURN p.name AS name",
Params::new(),
)?;
for row in &result.rows {
if let Some(name) = row.get("name").and_then(|v| v.as_str()) {
println!("{name}");
}
}npm install anvilentnpmimport { AnvilClient } from "anvilent";
const client = new AnvilClient("anvil://admin:pass@localhost:7474/default");
await client.connect();
const result = await client.query(
"MATCH (p:Person) WHERE p.age > $min RETURN p.name AS name",
{ min: 21 },
);
for (const [name] of result.rows) {
console.log(name);
}pip install anvilentPyPIfrom anvilent import AnvilClient
client = AnvilClient("anvil://admin:pass@localhost:7474/default")
client.connect()
result = client.query(
"MATCH (p:Person) WHERE p.age > $min RETURN p.name AS name",
{"min": 21},
)
for (name,) in result.rows:
print(name)go get github.com/devforge-io/anvil/drivers/gogo modulesimport anvil "github.com/devforge-io/anvil/drivers/go"
client, err := anvil.NewClient("anvil://admin:pass@localhost:7474/default")
if err != nil { log.Fatal(err) }
if err := client.Connect(); err != nil { log.Fatal(err) }
result, err := client.Query(
"MATCH (p:Person) WHERE p.age > $min RETURN p.name AS name",
map[string]interface{}{"min": 21},
)
if err != nil { log.Fatal(err) }
for _, row := range result.Rows {
fmt.Println(row[0])
}Every driver ships the same core capabilities. Pick the one that fits your stack.
| Capability | Rust | TypeScript | Python | Go |
|---|---|---|---|---|
| Install | cargo add anvilent | npm i anvilent | pip install anvilent | go get …/drivers/go |
| Concurrency model | Synchronous | Async / Promise | Synchronous | Synchronous |
| Parameterized queries | Yes | Yes | Yes | Yes |
| Transactions | Yes | Yes | Yes | Yes |
| TLS (anvil+tls://) | Yes | Yes | Yes | Yes |
| Health check | Yes | Yes | Yes | Yes |
Transactions follow the same shape everywhere: begin_transaction (or beginTransaction / BeginTransaction) returns a handle with query, commit, and rollback.