# TypeDB Drivers

TypeDB drivers are client libraries that enable applications to communicate with TypeDB servers. They provide a programming language-specific interface for all server operations, from connection management to query execution.

## [](#_install)Install

[Python](#_python)

[TypeScript (HTTP)](#_typescript_http)

[Rust](#_rust)

[Java](#_java)

[C](#_c)

[C#](#_csharp)

[Other languages](#_other_languages)

## [](#_python)Python

### [](#_install_typedb_python_driver_through_pip)Install TypeDB Python Driver through Pip

1.  Install `typedb-driver` using `pip`:
    
    ```bash
    pip install typedb-driver
    ```
    
2.  In your Python program, import from `typedb.driver`:
    
    ```python
    from typedb.driver import *
    
    driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, Credentials("admin", "password"), DriverOptions(DriverTlsConfig.disabled()))
    ```
    

### [](#_python_driver_resources)Python driver resources

*   [example.py on GitHub](https://github.com/typedb/typedb-driver/blob/master/python/example.py) - View the TypeDB Python driver example
    
*   [PyPI](https://pypi.org/project/typedb-driver/)
    
*   [Python Driver API Reference](../../../reference/typedb-grpc-drivers/python/index.md)
    

## [](#_typescript_http)TypeScript (HTTP)

### [](#_install_typedb_http_typescript_driver_from_npm)Install TypeDB HTTP TypeScript Driver from NPM

1.  Install `@typedb/driver-http` using `npm`:
    
    ```bash
    npm install @typedb/driver-http
    ```
    
2.  In your Node.js or Web application, import from `@typedb/driver-http`:
    
    ```typescript
    import { TypeDBHttpDriver, isApiErrorResponse } from "@typedb/driver-http";
    
    const driver = new TypeDBHttpDriver({
        username: "...",
        password: "...",
        addresses: [ "..." ],
    });
    ```
    

### [](#_typescript_http_driver_resources)TypeScript HTTP driver resources

*   [TypeSpace: Social Network Webapp Example](https://github.com/typedb/typedb-examples/tree/master/webapp) - Explore the TypeScript HTTP driver example on GitHub
    
*   [NPM registry](https://www.npmjs.com/package/@typedb/driver-http)
    
*   [TypeScript Driver API Reference](../../../reference/typedb-http-drivers/typescript/index.md)
    

## [](#_rust)Rust

### [](#_install_typedb_rust_driver_through_cargo)Install TypeDB Rust Driver through Cargo

1.  Install `typedb-driver` using `cargo`:
    
    ```bash
    cargo add typedb-driver
    ```
    
2.  Use TypeDB Driver in your program:
    
    ```rust
    use typedb_driver::{Addresses, Credentials, DriverOptions, DriverTlsConfig, TypeDBDriver};
    
    let driver = TypeDBDriver::new(
        Addresses::try_from_address_str(TypeDBDriver::DEFAULT_ADDRESS).unwrap(),
        Credentials::new("admin", "password"),
        DriverOptions::new(DriverTlsConfig::disabled()),
    ).await.unwrap();
    ```
    

### [](#_rust_driver_resources)Rust driver resources

*   [example.rs on GitHub](https://github.com/typedb/typedb-driver/blob/master/rust/example.rs) - View the TypeDB Rust driver example
    
*   [Crates.io](https://crates.io/crates/typedb-driver)
    
*   [Rust Driver API Reference](../../../reference/typedb-grpc-drivers/rust/index.md)
    

## [](#_java)Java

### [](#_install_typedb_java_driver_using_maven)Install TypeDB Java Driver using Maven

1.  Import `typedb-driver` using Maven:
    
    ```xml
    <repositories>
        <repository>
            <id>repo.typedb.com</id>
            <url>https://repo.typedb.com/public/public-release/maven/</url>
        </repository>
    </repositories>
    
    <dependencies>
        <dependency>
            <groupId>com.typedb</groupId>
            <artifactId>typedb-driver</artifactId>
            <version>{version}</version>
        </dependency>
    </dependencies>
    ```
    
2.  Use TypeDB Driver in your program:
    
    ```java
    import com.typedb.driver.TypeDB;
    import com.typedb.driver.api.Driver;
    import com.typedb.driver.api.Credentials;
    import com.typedb.driver.api.DriverOptions;
    import com.typedb.driver.api.DriverTlsConfig;
    
    try (Driver driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, new Credentials("admin", "password"), new DriverOptions(DriverTlsConfig.disabled()))) {
        ...
    }
    ```
    

### [](#_java_driver_resources)Java driver resources

*   [TypeDBExample.java on GitHub](https://github.com/typedb/typedb-driver/blob/master/java/TypeDBExample.java) - View the TypeDB Java driver example
    
*   [Maven repo](https://cloudsmith.io/~typedb/repos/public-release/packages/detail/maven/typedb-driver/)
    
*   [Java Driver API Reference](../../../reference/typedb-grpc-drivers/java/index.md)
    

## [](#_c)C

### [](#_install_typedb_c_driver)Install TypeDB C Driver

1.  Download the C driver package from the [TypeDB package repository](https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name%3A%27%5Etypedb-driver-clib%27).
    
2.  Extract the archive and include the header and library in your project:
    
    ```c
    #include "typedb_driver.h"
    
    Credentials* credentials = credentials_new("admin", "password");
    DriverTlsConfig* tls_config = driver_tls_config_new_disabled();
    DriverOptions* options = driver_options_new(tls_config);
    TypeDBDriver* driver = driver_new("127.0.0.1:1729", credentials, options, NULL);
    ```
    

### [](#_c_driver_resources)C driver resources

*   [example.c on GitHub](https://github.com/typedb/typedb-driver/blob/master/c/example.c) - View the TypeDB C driver example
    
*   [C Driver API Reference](../../../reference/typedb-grpc-drivers/c/index.md)
    

## [](#_csharp)C#

### [](#_install_typedb_c_driver_through_nuget)Install TypeDB C# Driver through NuGet

1.  Add `TypeDB.Driver` and the platform-specific native runtime to your `.csproj`:
    
    ```xml
    <PackageReference Include="TypeDB.Driver" Version="{version}" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.osx-arm64" Version="{version}" />
    ```
    
    Replace `osx-arm64` with the appropriate platform for your system: `osx-x64`, `linux-x64`, `linux-arm64`, or `win-x64`.
    
    For platform-independent distribution, include all Pinvoke runtimes:
    
    ```xml
    <PackageReference Include="TypeDB.Driver.Pinvoke.osx-x64" Version="{version}" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.osx-arm64" Version="{version}" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.linux-x64" Version="{version}" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.linux-arm64" Version="{version}" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.win-x64" Version="{version}" />
    ```
    
2.  Use TypeDB Driver in your program:
    
    ```csharp
    using TypeDB.Driver;
    using TypeDB.Driver.Api;
    
    using var driver = TypeDB.Driver(TypeDB.DefaultAddress, new Credentials("admin", "password"), new DriverOptions(DriverTlsConfig.Disabled()));
    ```
    

### [](#_c_driver_resources_2)C# driver resources

*   [TypeDBExample.cs on GitHub](https://github.com/typedb/typedb-driver/blob/master/csharp/TypeDBExample.cs) - View the TypeDB C# driver example
    
*   [NuGet](https://www.nuget.org/packages/TypeDB.Driver)
    
*   [C# Driver API Reference](../../../reference/typedb-grpc-drivers/csharp/index.md)
    

## [](#_other_languages)Other languages

If TypeDB doesn’t yet have a driver for the language your application is using, get in touch with the team. Or for applications where performance isn’t critical, you can interface directly with TypeDB’s HTTP API.

*   [TypeDB HTTP API](../../../reference/typedb-http-api/index.md) - Read the TypeDB HTTP API reference
    
*   [Discord chat server](https://typedb.com/discord) - Collaborate with the TypeDB community
    

## [](#_after_installation)After installation

[TypeDB Cloud](../cloud/index.md)

Get started using TypeDB Cloud without installing anything.

[Install TypeDB Community Edition](../ce/index.md)

Install and run TypeDB Community Edition (CE).

[Core Concepts](../../../core-concepts/drivers/index.md)

Explore the core concepts of TypeDB drivers.

[Reference](../../../reference/typedb-grpc-drivers/index.md)

Browse the TypeDB Driver API reference.

[TypeQL Syntax Checker](../typeql-check/index.md) [Configure coding agent](../../configure-coding-agent/index.md)

[Edit on GitHub](https://github.com/typedb/typedb-docs/edit/3.x-development/home/modules/ROOT/pages/install/drivers.adoc) Edit this page on GitHub.