---
title: "Other languages"
description: "Python, Ruby, PHP, Go, Java and C# have packages of their own. Everything else generates from the spec."
url: "https://nextmail.sh/docs/sdk/reference/other-languages"
area: "TypeScript"
category: "Reference"
---

# Other languages

Python, Ruby, PHP, Go, Java and C# have packages of their own. Everything else generates from the spec.

## Generate one from OpenAPI (not built yet)

Python, Ruby, PHP, Go, Java and C# have official packages, listed below. Other languages arrive in the order people ask for them. Until then the OpenAPI document generates a usable client in most of them, and because the request schemas are derived from the same zod that validates them, it cannot describe a field the server would reject.

**generate.sh**

```
curl -s https://api.nextmail.sh/openapi.json -o openapi.json
openapi-generator generate -i openapi.json -g rust -o ./client
```

## Official packages

- [Python](https://nextmail.sh/docs/python.md): `pip install nextmail`, with a sync and an async client for Python 3.10 and up.
- [Ruby](https://nextmail.sh/docs/ruby.md): `gem install nextmail`, with keyword arguments, for Ruby 3.2 and up.
- [PHP](https://nextmail.sh/docs/php.md): `composer require nextmail/sdk`, with named arguments, for PHP 8.2 and up.
- [Go](https://nextmail.sh/docs/go.md): `go get github.com/bfzli/nextmail-go`, for Go 1.24 and up.
- [Java](https://nextmail.sh/docs/java.md): `sh.nextmail:nextmail` on Maven Central, for Java 17 and up.
- [C#](https://nextmail.sh/docs/csharp.md): `dotnet add package Nextmail`, for .NET 8 and up.
