An unofficial Python client for the Avoma API
Project description
Avoma Python Client
An unofficial async Python client for the Avoma API.
Installation
pip install avoma-client
Or with Poetry:
poetry add avoma-client
Usage
import asyncio
from avoma import AvomaClient
from datetime import datetime, timedelta
async def main():
# Initialize the client with your API key
client = AvomaClient("your-api-key")
# Get meetings from the last 7 days
now = datetime.utcnow()
seven_days_ago = now - timedelta(days=7)
meetings = await client.meetings.list(
from_date=seven_days_ago.isoformat(),
to_date=now.isoformat()
)
for meeting in meetings.results:
print(f"Meeting: {meeting.subject} at {meeting.start_at}")
# Get meeting insights if available
if meeting.state == "completed":
insights = await client.meetings.get_insights(meeting.uuid)
print(f"Meeting insights: {insights}")
asyncio.run(main())
Logging
The client includes built-in logging functionality. You can configure logging directly through the client:
import logging
from avoma import AvomaClient
# Set log level directly in the client constructor
client = AvomaClient(
api_key="your-api-key",
log_level=logging.DEBUG,
logger_name="my-app.avoma" # Optional custom logger name
)
For more advanced logging configuration:
import logging
import sys
from avoma import AvomaClient, create_logger
# Create a client with custom logging
client = AvomaClient("your-api-key", log_level=logging.DEBUG)
# Customize the logger with a specific handler if needed
handler = logging.FileHandler("avoma.log")
handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s: %(message)s"))
# Replace default handler with custom one
for h in client.logger.handlers:
client.logger.removeHandler(h)
client.logger.addHandler(handler)
The logs include:
- API request and response details (with sensitive data redacted)
- Client lifecycle events
- API call information
This is useful for debugging API interactions and understanding the client's behavior.
Features
- Fully async API using aiohttp
- Type hints and Pydantic models for all responses
- Comprehensive test coverage
- Detailed logging for debugging
- Support for all Avoma API endpoints:
- Meetings
- Recordings
- Transcriptions
- Smart Categories
- Templates
- Notes
- Meeting Sentiments
- Users
- Calls
- Scorecards
- Webhooks
Development
- Clone the repository
- Install dependencies:
poetry install
- Run tests:
poetry run pytest
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avoma_client-0.1.1.tar.gz.
File metadata
- Download URL: avoma_client-0.1.1.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.11.1 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efe483dbede0caecef6e09babe055f8bb36ed57f02d3799f85d381e48eae7fac
|
|
| MD5 |
d3af88b216b26c166f45f2ed8280d6c8
|
|
| BLAKE2b-256 |
b885b9bdf1833029f8b074f3b0aca19c1f614f516267768a5e7d6214486bd6a6
|
File details
Details for the file avoma_client-0.1.1-py3-none-any.whl.
File metadata
- Download URL: avoma_client-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.11.1 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ead3a19f0ae70f0810b6db2b8c16aa1476e6de66650c9afd6e9007c6e9691436
|
|
| MD5 |
3f5089e977f909616b9799cb4fee5eec
|
|
| BLAKE2b-256 |
dcaf4cd6b9717b067b919269b33ae7d679de60f2a1d1f16a0e92d7825b5b54f5
|