openmeter

module
v1.0.0-beta.56 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2024 License: Apache-2.0

README

OpenMeter logo

OpenMeter

GitHub Workflow Status OpenSSF Scorecard

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.

Quickstart

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

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

Directories

Path Synopsis
api
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.
client/go
Package openmeter provides primitives to interact with the openapi HTTP API.
Package openmeter provides primitives to interact with the openapi HTTP API.
ci module
cmd
collector
Package config loads application configuration.
Package config loads application configuration.
internal
dedupe
Package dedupe implements in-process event deduplication.
Package dedupe implements in-process event deduplication.
dedupe/memorydedupe
Package memorydedupe implements in-memory event deduplication.
Package memorydedupe implements in-memory event deduplication.
dedupe/redisdedupe
Package redisdedupe implements event deduplication using Redis.
Package redisdedupe implements event deduplication using Redis.
ingest
Package ingest implements event ingestion.
Package ingest implements event ingestion.
namespace
Package namespace adds a concept of tenancy to OpenMeter allowing to segment clients.
Package namespace adds a concept of tenancy to OpenMeter allowing to segment clients.
Package openmeter is an experimental package to expose the core of OpenMeter as a library.
Package openmeter is an experimental package to expose the core of OpenMeter as a library.
dedupe/memorydedupe
Package memorydedupe implements in-memory event deduplication.
Package memorydedupe implements in-memory event deduplication.
dedupe/redisdedupe
Package redisdedupe implements event deduplication using Redis.
Package redisdedupe implements event deduplication using Redis.
ingest
Package ingest implements event ingestion.
Package ingest implements event ingestion.
namespace
Package namespace adds a concept of tenancy to OpenMeter allowing to segment clients.
Package namespace adds a concept of tenancy to OpenMeter allowing to segment clients.
sink
Package that implements event sink logic.
Package that implements event sink logic.
pkg
kafka
Package kafka implements tools to work with kafka Producers and Consumers.
Package kafka implements tools to work with kafka Producers and Consumers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL