Skip to main content

Credit management for SaaS

Project description


OpenCredit

SurfDino Logo

Credit management for pay-per-use applications
Explore the docs »

View Demo · Report Bug · Request Feature


Installation

pip install opencredit

Usage

Connect

Get an API key

opencredit login https://foo.bar

Connect the Python client

import os
from opencredit import Client

client = Client(addr="https://foo.bar", api_key=os.getenv("OPENCREDIT_API_KEY"))

Define a credit type

Define a credit type for your application.

client.create_credit(
        name="MyAppCredit",
        description="Credit for my awesome application"
        user_minimum=-20.00,
        user_maximum=10000.00,
        user_start=10.00,
    )

user_minimum is the default minimum credit a user can have.
user_maximum is the default maximum credit a user can have.
user_start is the default starting credit a user has.

Per user configuration

Add credits for a user

client.add_user_credit(credit="MyAppCredit", email="dolores@agentsea.ai", amount=100.00)

Set per user limits

client.set_user_limits(
        credit="MyAppCredit",
        email="dolores@agentsea.ai",
        user_minimum=-20.00,
        user_maximum=10000.00,
        user_start=200.00
    )

Set automatic top up

client.set_user_topup(
        credit="MyAppCredit",
        email="dolores@agentsea.ai",
        min_balance=5.00,
        topup_amount=10.00
    )

Use credits

See how many credits the user currently has

client.get_balance(credit="MyAppCredit", email="dolores@agentsea.ai")

Create a meter to charge credits based on type of usage

client.create_meter(
        credit="MyAppCredit",
        name="llm_tokens",
        unit="token",
        cost=0.0004,
        description="LLM generated tokens"
    )

Tik the meter to use credits

client.tik_meter(name="llm_tokens", amount=200, email="dolores@agentsea.ai")

Reporting

Get a report of credit usage

client.get_report(
        credit="MyAppCredit",
        email="dolores@agentsea.ai",
        start="2020-01-01",
        end="2020-01-31"
    )

Hosting a credit server

Run locally

from opencredit import Server

server = Server(backend="postgres")

server.serve()

Run on Kubernetes

helm install open-credit-server --set backend=postgres open-credit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opencredit-0.1.1.tar.gz (15.1 kB view hashes)

Uploaded Source

Built Distribution

opencredit-0.1.1-py3-none-any.whl (19.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page