Async Sharepoint
An async SharePoint client with a native Rust implementation exposed through PyO3.
The repository also contains a standalone Rust crate in core/, published as
async-sharepoint, for Rust projects that do not need Python bindings.
- GitHub | PyPI | Documentation
- Created by Dean MacGregor | GitHub @deanm0000 | PyPI @deanm0000
- MIT License
Features
- Async list, item, file, folder, permission, and search operations
- Native Entra ID certificate authentication with background token refresh
- Automatic token caching and refresh
- Retry handling for throttling and transient SharePoint failures
- Paginated queries and chunked uploads
- Python 3.10+ stable-ABI Linux wheels
Installation
uv add Async-Sharepoint
## or
pip install Async-Sharepoint
Rust
cargo add async-sharepoint
use async_sharepoint::{CertificateCredential, SharePointClient};
let credential = CertificateCredential::load(
tenant_id,
client_id,
"/path/to/private.key",
thumbprint,
)?;
let client = SharePointClient::new(site_url, &credential)?;
let files = client.ls(None).await?;
Usage
from async_sharepoint import CertificateCredential, SharePointClient
credential = CertificateCredential(
tenant_id=tenant_id,
client_id=client_id,
private_key_path="/path/to/private.key",
thumbprint=thumbprint,
)
async with SharePointClient(site_url, credential) as client:
documents = await client.get_items("Documents")
Documentation
Full documentation is available on GitHub Pages.
Contributing
See CONTRIBUTING.md for development setup, testing, and documentation instructions.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
async_sharepoint-0.1.4.tar.gz
(164.3 kB
view details)
Built Distributions
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