Skip to main content

Flask middleware for UsageFlow - Usage-based pricing made simple

Project description

UsageFlow Flask

⚠️ Beta Notice: This package is currently in beta. While we strive to maintain stability, there may be breaking changes as we continue to improve the API.

The Flask package of UsageFlow provides easy integration with Flask applications for API usage tracking and management.

Installation

pip install usageflow-flask

Quick Start

from flask import Flask, jsonify
from usageflow.flask import UsageFlowMiddleware

app = Flask(__name__)

# Initialize UsageFlow middleware
UsageFlowMiddleware(
    app,
    api_key="your_api_key_here",
    pool_size=10  # Optional: Number of WebSocket connections (default: 10)
)

@app.route("/api/v1/users")
def get_users():
    return jsonify({"users": ["user1", "user2"]})

if __name__ == "__main__":
    app.run()

Configuration

The middleware accepts the following parameters:

  • app: Your Flask application instance (required)
  • api_key: Your UsageFlow API key (required)
  • pool_size (optional): Number of WebSocket connections in the pool (default: 10)

Features

  • Automatic request tracking
  • JWT token extraction and validation
  • Request/response metadata collection
  • Rate limiting and quota management
  • Endpoint blocking support

Development

To contribute to the project:

  1. Clone the repository
  2. Install development dependencies:
    pip install -e ".[dev]"
    
  3. Run tests:
    pytest
    

License

MIT License

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

usageflow_flask-0.3.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

usageflow_flask-0.3.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file usageflow_flask-0.3.2.tar.gz.

File metadata

  • Download URL: usageflow_flask-0.3.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for usageflow_flask-0.3.2.tar.gz
Algorithm Hash digest
SHA256 98762ec2518e519a5a61952a5e86264761bdfbb3d75b86475c20ecb7454b9b0f
MD5 fc61a50086a4c599c95514f76d43fd5d
BLAKE2b-256 4ff965b713531dc24d5279b17dd9fadef49a72ac01948f07b434d7c506627219

See more details on using hashes here.

File details

Details for the file usageflow_flask-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for usageflow_flask-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8af86f0ac8adae386ea3161348f209f86f96796105f235287df5ad226058c20f
MD5 db3cc9ff711c28f1b01527e9f978de49
BLAKE2b-256 de415e3fc7635be388f96aac5f5915adfb5f2b1f74a20dc05e227ee24e125269

See more details on using hashes here.

Supported by

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