Async fork of simple-salesforce
Project description
Async Simple Salesforce
This is an async fork of the library simple-salesforce. It is considered beta software.
This fork is available on PyPI and can be installed like this:
$ pip install "async-simple-salesforce"
Because we release with alpha or beta version identifiers, you will likely need to specify the tag you want (see Release page):
$ pip install "async-simple-salesforce == 1.12.9b0"
Installation Prerequisites
This library depends on zeep, which requires lxml. On most platforms and Python versions, lxml installs via a pre-built wheel with no extra steps. However, if you are on macOS or Linux with a Python version that does not yet have a pre-built lxml wheel, the install will attempt to build lxml from source and will fail unless the libxml2 and libxslt development libraries are present.
macOS:
brew install libxml2 libxslt
Linux (Debian/Ubuntu):
sudo apt-get install libxml2-dev libxslt1-dev
After installing the system libraries, re-run the pip install command.
Versioning
Versioning for this library tracks the upstream version; i.e., when a new version of upstream has been published, it will be integrated into this codebase and released under the same version identifier, with one notable difference: we add alpha or beta identifiers to make it more obvious that this fork has not been around as long as upstream and that it has also not seen the same wide-scale usage that upstream has.
For example, when changes from upstream version 1.12.9 have been integrated into this library, a new version of this library will be published as 1.12.9b0. Further changes under the same version will increment the alpha version identifier.
How to Use
This library attempts to offer the same API as simple-salesforce inside an aio subpackage.
For instance, here's how to create and use an async Salesforce client:
import asyncio
import datetime
from simple_salesforce.aio import build_async_salesforce_client, AsyncSalesforce
async def create_client(username, consumer_key, private_key) -> AsyncSalesforce:
# build_async_salesforce_client accepts all args of simple-salesforce Login
return await build_async_salesforce_client(
username=username,
consumer_key=consumer_key,
privatekey_file=private_key,
request_timeout_seconds=60 * 2,
)
async def update_contact(sf_client):
end = datetime.datetime.now(pytz.UTC) # we need to use UTC as salesforce API requires this
await sf_client.Contact.updated(end - datetime.timedelta(days=10), end)
async def run_query(sf_client, opportunity_name: str):
query = (
f"SELECT Id,StageName from Opportunity where "
f"Name='{opportunity_name}'"
)
return await sf_client.query_all(search)
You can typically call any method available on the synchronous Salesforce object as an async method with an await added.
For full documentation of the async API — all authentication methods, SObject CRUD, queries, Bulk v1, Bulk v2, Metadata API, session customization, and more — see docs/async.md.
See upstream docs continued here.
How to Contribute
This project uses uv to manage dependencies. In addition, a justfile has been provided to aid contributors. If you have uv and just in your environment, you can get started with just bootstrap. You can run the test suite with just test and code quality checks with just test. For more common recipes, run just:
❯ just
just --list
Available recipes:
bootstrap # Create a virtual environment and install dependencies
build *args # Build the project as a package
check # Run code quality checks
check-types # Run mypy checks
ci-test coverage_dir='./coverage' # Run all tests locally
format # Run the formatter (`ruff`)
lock # Update the lock file
release # Release this project to PyPI
sync *args # Make sure all dependencies are up to date in env
test *args # Run all tests locally
The upstream README is located here
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 async_simple_salesforce-1.12.9b0.tar.gz.
File metadata
- Download URL: async_simple_salesforce-1.12.9b0.tar.gz
- Upload date:
- Size: 250.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
099082dfba5eb6fd8651f5236d303868e3df7b0ba3953adecfc90c8b32cfacd2
|
|
| MD5 |
66a6425620076c2dd0349f449d27ca67
|
|
| BLAKE2b-256 |
a0d4303cbdd1a9437fb6e686c40ed146b1c67160e262f32c41e0c8526146a21f
|
Provenance
The following attestation bundles were made for async_simple_salesforce-1.12.9b0.tar.gz:
Publisher:
release.yaml on MulliganFunding/async-simple-salesforce
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
async_simple_salesforce-1.12.9b0.tar.gz -
Subject digest:
099082dfba5eb6fd8651f5236d303868e3df7b0ba3953adecfc90c8b32cfacd2 - Sigstore transparency entry: 1397584734
- Sigstore integration time:
-
Permalink:
MulliganFunding/async-simple-salesforce@193a68eb0dbd73fee87fe16cca345d9285ff5b1b -
Branch / Tag:
refs/tags/v1.12.9b0 - Owner: https://github.com/MulliganFunding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@193a68eb0dbd73fee87fe16cca345d9285ff5b1b -
Trigger Event:
release
-
Statement type:
File details
Details for the file async_simple_salesforce-1.12.9b0-py3-none-any.whl.
File metadata
- Download URL: async_simple_salesforce-1.12.9b0-py3-none-any.whl
- Upload date:
- Size: 259.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f87acfd66a70e5f0baab850603d9aac7b60160ec4a374ab73fcb182d1b16ad88
|
|
| MD5 |
db81f5c91033869b41f5f655d4e4bd02
|
|
| BLAKE2b-256 |
68445acdd5bb85c10c9bd13770a15067736f360f4ee6c8507c765057d44240cf
|
Provenance
The following attestation bundles were made for async_simple_salesforce-1.12.9b0-py3-none-any.whl:
Publisher:
release.yaml on MulliganFunding/async-simple-salesforce
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
async_simple_salesforce-1.12.9b0-py3-none-any.whl -
Subject digest:
f87acfd66a70e5f0baab850603d9aac7b60160ec4a374ab73fcb182d1b16ad88 - Sigstore transparency entry: 1397584767
- Sigstore integration time:
-
Permalink:
MulliganFunding/async-simple-salesforce@193a68eb0dbd73fee87fe16cca345d9285ff5b1b -
Branch / Tag:
refs/tags/v1.12.9b0 - Owner: https://github.com/MulliganFunding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@193a68eb0dbd73fee87fe16cca345d9285ff5b1b -
Trigger Event:
release
-
Statement type: