Official Python SDK for the CodeVF API
Project description
CodeVF Python SDK
The official Python client for the CodeVF API. This SDK helps you manage projects, submit tasks for human review, and monitor your credits.
Installation
pip install codevf-sdk
Quick Start
1. Authentication
The client looks for the CODEVF_API_KEY environment variable by default.
export CODEVF_API_KEY="cvf_live_..."
Or you can pass it directly:
from codevf import CodeVFClient
client = CodeVFClient(api_key="cvf_live_...")
2. Verify Connection
Check your account balance to verify connectivity:
from codevf import CodeVFClient
client = CodeVFClient()
balance = client.credits.get_balance()
print(f"Available Credits: {balance.available}")
3. Submitting a Task
Here is a complete example of creating a project and submitting a task.
from codevf import CodeVFClient, ServiceMode
client = CodeVFClient()
# 1. Create a project to organize your tasks
project = client.projects.create(
name="API Migration",
description="Tasks related to the v2 migration" # Optional
)
# 2. Submit a task for review
task = client.tasks.create(
prompt="Check this code for security vulnerabilities.",
max_credits=240,
project_id=project.id,
mode=ServiceMode.FAST, # Optional: defaults to STANDARD
# metadata={"env": "prod"}, # Optional: custom tags
# attachments=[...], # Optional: file attachments
)
print(f"Task submitted! ID: {task.id}")
# 3. Check status
current_task = client.tasks.retrieve(task.id)
print(f"Status: {current_task.status}")
Features
- Project Management - Create and organize reusable projects.
- Task Submission - Submit prompts with code files and instructions for human engineers.
- Credit System - Monitor your available budget.
- Engineer Expertise - Choose expertise levels (Tags) to match the task difficulty.
- Attachments - Upload files, logs, or screenshots.
- Error Handling - Typed exceptions for easy debugging and retries.
Architecture
The SDK mirrors the API surface:
- Core -
CodeVFClienthandles authentication and requests. - Resources -
client.projects,client.tasks,client.credits, etc. - Models - Typed objects like
Project,TaskResponse,CreditBalance.
API Reference
Projects
# Create a new project
project = client.projects.create(name="My Project")
Tasks
# Submit a task
client.tasks.create(
prompt="Refactor this function",
max_credits=240,
project_id=123
)
# Check status
client.tasks.retrieve(task_id="...")
# Cancel
client.tasks.cancel(task_id="...")
Credits
# Check balance
client.credits.get_balance()
Tags
# List available expertise levels
client.tags.list()
Task Credits and Modes
realtime_answer: 60-600 credits, 2x multiplierfast: 240-115200 credits, 1.5x multiplierstandard: 240-115200 credits, 1x multiplier
The SDK validates these ranges client-side.
Attachments
- Max 5 attachments per task
- Images (PNG/JPG/GIF/WebP): up to 10MB, base64-encoded
- PDFs: up to 10MB, base64-encoded
- Source code and text files (PY/JS/JSON/MD/etc.): up to 1MB, raw text
Error Handling
Exceptions are available in codevf.exceptions:
from codevf.exceptions import AuthenticationError, RateLimitError
try:
client.credits.get_balance()
except AuthenticationError:
print("Check your API key")
except RateLimitError:
print("Slow down!")
Development
git clone https://github.com/codevf/codevf-sdk-python.git
cd codevf-sdk-python
# Install dependencies
pip install -e .[dev]
# Run tests
pytest
License
MIT - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
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 codevf_sdk-0.1.1.tar.gz.
File metadata
- Download URL: codevf_sdk-0.1.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8637f3478b4815f4604fecab93c72f023bb78f0160a6f5363f03c0ec56f68b2
|
|
| MD5 |
b358502d270663258e9cdb1fb8d9e6bc
|
|
| BLAKE2b-256 |
8b5f6bf7ee3237508a2be8508dded82f22666caf211232f17ded8f85da870230
|
File details
Details for the file codevf_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: codevf_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cabec1755dcd3b5be9a7121356924b90b8297881f89aa803f6371fcb2d739c97
|
|
| MD5 |
d2b756060c2609b076623615d0d9aec3
|
|
| BLAKE2b-256 |
034514d1182c20039ff56ff1afb528ee597f6e2f87cf688e7dafa07c147ce21d
|