/openmeter

Metering and Billing for AI, API and DevOps. Collect and aggregate millions of usage events in real-time and enable usage-based billing.

Primary LanguageGoApache License 2.0Apache-2.0

OpenMeter logo

OpenMeter

GitHub Release GitHub Workflow Status OpenSSF Scorecard Go Report Card GitHub Repo stars X (formerly Twitter) Follow

OpenMeter is a Real-Time and Scalable Usage Metering for AI, Usage-Based Billing, Infrastructure, and IoT use-cases.

Learn more about OpenMeter at https://openmeter.io.

Try It

Get started with the latest version of OpenMeter in minutes.

Local

git clone git@github.com:openmeterio/openmeter.git
cd openmeter/quickstart
docker compose up -d

Check out the quickstart guide for a 5-minute overview and demo of OpenMeter.

Cloud

Sign up for a free account and start metering your usage in the cloud.

Tip

Check out how OpenMeter Cloud compares with the self-hosted version in our comparison guide.

Deploy

Deploy OpenMeter to your Kubernetes cluster using our Helm chart.

Links

Community

To engage with our community, you can use the following resources:

Examples

See our examples to learn about common OpenMeter use-cases.

API

OpenMeter exposes a REST API for integrations.

Client SDKs

Currently, we offer the following Client SDKs:

In cases where no specific SDK is available for your preferred programming language, you can utilize the OpenAPI definition. Please raise a GitHub issue to request SDK support in other languages.

Development

For an optimal developer experience, it is recommended to install Nix and direnv.

Installing Nix and direnv

Note: These are instructions that SHOULD work in most cases. Consult the links above for the official instructions for your OS.

Install Nix:

sh <(curl -L https://nixos.org/nix/install) --daemon

Consult the installation instructions to install direnv using your package manager.

On MacOS:

brew install direnv

Install from binary builds:

curl -sfL https://direnv.net/install.sh | bash

The last step is to configure your shell to use direnv. For example for bash, add the following lines at the end of your ~/.bashrc:

eval "\$(direnv hook bash)"

Then restart the shell.

For other shells, see https://direnv.net/docs/hook.html.

MacOS specific instructions

Nix may stop working after a MacOS upgrade. If it does, follow these instructions.


Run the dependencies:

make up

Run OpenMeter:

make run

Run tests:

make test

Run linters:

make lint

Roadmap

Visit our website at https://openmeter.io for our public roadmap.

License

The project is licensed under the Apache 2.0 License.

FOSSA Status