Skip to main content

Python client for audit logging services

Project description

Audit Log Client

Python client for interacting with audit logging services, supporting both synchronous and asynchronous usage.

Features

  • Dual Mode: Sync and Async APIs
  • Buffering: Configurable memory buffering
  • Retry Mechanism: Exponential backoff retries
  • Fallback Strategy: Local file storage on failure
  • Query Support: Flexible log querying capabilities

Installation

pip install audit-log-client

Quick Start

Synchronous Client

from audit_log_client import SyncAuditLogClient, AuditLog, AuditAction, AuditTarget

client = SyncAuditLogClient(
    base_url="http://audit.service/api",
    api_key="your-api-key"
)

log = AuditLog(
    action=AuditAction.UPDATE,
    target_type=AuditTarget.USER,
    user_id="admin",
    description="User profile updated",
    before={"name": "John"},
    after={"name": "John Doe"}
)

client.log(log)
client.close()

Asynchronous Client

import asyncio
from audit_log_client import AsyncAuditLogClient, AuditLog, AuditAction, AuditTarget

async def main():
    client = AsyncAuditLogClient(
        base_url="http://audit.service/api",
        api_key="your-api-key"
    )
    await client.initialize()
    
    log = AuditLog(
        action=AuditAction.CREATE,
        target_type=AuditTarget.ORDER,
        user_id="sales",
        description="New order created"
    )
    
    await client.log(log)
    await client.shutdown()

asyncio.run(main())

Documentation

Full documentation available at GitHub Wiki

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

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

audit_log_client-1.0.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

audit_log_client-1.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file audit_log_client-1.0.0.tar.gz.

File metadata

  • Download URL: audit_log_client-1.0.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for audit_log_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 11e3fd15d91ed685c9a6c2a34cf2dbf4c26212740d65d9b5e0e566564b6dee33
MD5 79dc42a66500c67565bef96181cbaecf
BLAKE2b-256 79183a709f0c48b82a7972e0bdb3ee84d541a671768c4dc60a0ab8c55bdc0004

See more details on using hashes here.

File details

Details for the file audit_log_client-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for audit_log_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0b12d79687f14b57daed96be1ddd6bd738e9a32276fcd578368f84ac389a608
MD5 4da1028b1bc2baa279ad8b95bba53c93
BLAKE2b-256 22f1077b148d8c5499cb2ca9f756ca4381ff27ab07e52c1a5da7c0f49fd12e9c

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