openmeterio / openmeter

Cloud Metering for AI, Billing and FinOps. Collect and aggregate millions of usage events in real-time.
https://openmeter.io
Apache License 2.0
1.08k stars 60 forks source link
billing clickhouse cost finops golang kafka metering pricing stripe usage usage-based-billing usage-based-pricing

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 sh <(curl -L https://nixos.org/nix/install) --daemon ``` Consult the [installation instructions](https://direnv.net/docs/installation.html) to install direnv using your package manager. On MacOS: ```sh brew install direnv ``` Install from binary builds: ```sh 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](https://direnv.net/docs/hook.html). **MacOS specific instructions** Nix may stop working after a MacOS upgrade. If it does, follow [these instructions](https://github.com/NixOS/nix/issues/3616#issuecomment-662858874).

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