Skip to main content

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

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file opencredit-0.1.1.tar.gz.

File metadata

  • Download URL: opencredit-0.1.1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0

File hashes

Hashes for opencredit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 71ec580c6d97121ebd76c595f6f9b228c5b02eb24a6e4235a7bbcbe8f15ef0f9
MD5 a9a4f56f410ad1b962c5c3a6e57c488c
BLAKE2b-256 426f420ca005305e132977e3beb098b4084d3d15703a20cc1e424602ce6df139

See more details on using hashes here.

File details

Details for the file opencredit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: opencredit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0

File hashes

Hashes for opencredit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 774d37fb5b8788fa52ef83abeca1c43fa3209ed3b5660bd2d013a70f45d30062
MD5 7a931846d5d470885c7d68503a26b036
BLAKE2b-256 c0f15cb7f29fa1990e623f1572f5af78423dc8649fe0d587758f1fa1e3443bc2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page