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

Uploaded Source

Built Distribution

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.

Supported by

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