Salesforce REST API client
Project description
⚡ aiosalesforce ⚡
Asynchronous Python client for Salesforce APIs
Documentation: https://georgebv.github.io/aiosalesforce
License: MIT
Support: ask a question or create an issue, any input is appreciated and would help develop the project
About
aiosalesforce
is a modern, production-ready asynchronous Python client
for Salesforce APIs.
It is built on top of the httpx
library and provides a simple and intuitive API
for interacting with Salesforce's APIs (such as REST and Bulk).
- Fast: designed from the ground up to be fully asynchronous :rocket:
- Resilient: flexible and robust retrying configuration :gear:
- Fully typed: every part of the library is fully typed and annotated :label:
- Intuitive: API follows naming conventions of Salesforce's APIs while staying idiomatic to Python :snake:
- Salesforce first: built with years of experience working with the Salesforce API it is configured to work out of the box and incorporates best practices and latest Salesforce API features :cloud:
- Track your API usage: built-in support for tracking Salesforce API usage :chart_with_upwards_trend:
Supported APIs:
API | Status | Description |
---|---|---|
SOQL Query | ✅ | Execute SOQL queries |
sObject | ✅ | CRUD operations on Salesforce objects |
Composite Batch | ✅ | Execute multiple independent subrequests |
Composite | ✅ | Execute multiple dependent subrequests |
Composite Graph | 🕒 | Execute multiple composite graphs |
sObject Tree | 🕒 | Create one or more sObject trees |
sObject Collections | 🕒 | Execute multiple sObject operations |
Bulk API 1.0 | ❌ | Not planned (use Bulk API 2.0) |
Bulk API 2.0 | ✅ | Bulk ingest and query operations |
Requirements
aiosalesforce
depends on:
Optional dependencies:
Installation
pip install aiosalesforce
To use the JWT Bearer Flow authentication install with the jwt
extra:
pip install aiosalesforce[jwt]
Demo
Example below shows how to:
- Authenticate against Salesforce using the SOAP login method
- Create a Salesforce client
- Create a new Contact
- Read a Contact by ID
- Execute a SOQL query
import asyncio
from aiosalesforce import Salesforce
from aiosalesforce.auth import SoapLogin
from httpx import AsyncClient
# Reuse authentication session across multiple clients (refreshes automatically)
auth = SoapLogin(
username="your-username",
password="your-password",
security_token="your-security-token",
)
async def main():
async with AsyncClient() as client:
# Create a Salesforce client
salesforce = Salesforce(
client,
base_url="https://your-instance.my.salesforce.com",
auth=auth,
)
# Create a new Contact
contact_id = await salesforce.sobject.create(
"Contact",
{
"FirstName": "John",
"LastName": "Doe",
"Email": "john.doe@example.com",
},
)
print(f"Created Contact with ID: {contact_id}")
# Read Contact by ID
contact = await salesforce.sobject.get("Contact", contact_id)
print(contact)
# Execute a SOQL query
async for record in salesforce.query("SELECT Id, Name FROM Contact"):
print(record)
if __name__ == "__main__":
asyncio.run(main())
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
Hashes for aiosalesforce-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f56655b3dabb474d3b068cefe9d00f58ef6ab9304e69a084a9b992ff62130f8 |
|
MD5 | d56330cbd547045a5c1ab69fa101a8cf |
|
BLAKE2b-256 | fcea925246db1c85647c59fe1ac8d0c2510d28c87bf26998782473e1d962e588 |