fds.sdk.utils
Utilities for interacting with FactSet APIs.
What it is and what it does
fds.sdk.utils is a utility library that wraps OAuth 2.0 authentication and request handling for FactSet's REST APIs. It provides a ConfidentialClient class that manages the client credentials flow: loading OAuth configuration from a JSON file or dict, obtaining and caching access tokens, and refreshing them automatically when they expire. The library handles proxy configuration, custom SSL certificates, and request retry logic through urllib3, reducing boilerplate in applications that call FactSet APIs.
The package is built on top of joserfc, oauthlib, requests, and requests-oauthlib, delegating cryptographic signing and HTTP transport to those dependencies. It's designed for production use where a single client instance is reused across requests to benefit from token caching. The library supports debugging via Python's standard logging module and requires Python 3.10 or higher.
Use it for:
- Authenticate Python applications against FactSet APIs using OAuth 2.0 client credentials flow.
- Manage token lifecycle (obtain, cache, refresh) automatically in long-running services.
- Configure proxy and custom SSL certificate handling for requests through corporate firewalls.
- Reduce boilerplate in FactSet SDK integrations by centralizing authentication logic.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides OAuth 2.0 authentication and utility helpers for FactSet API clients in Python, handling token management, proxy configuration, and SSL certificate validation.
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is purpose-built for FactSet API authentication and is the standard utility layer for FactSet's Python SDKs. Install it if you are building applications that call FactSet APIs and want to avoid reimplementing OAuth 2.0 token management.
Install
fds-sdk-utils on PyPI
pip
pip install fds-sdk-utilsuv
uv add fds-sdk-utilspoetry
poetry add fds-sdk-utilsInstalling fds.sdk.utils
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained as of 49 days ago. Requires Python 3.10 or higher; Python 3.8 and 3.9 are no longer supported as of v3.0.0.
License in practice
Apache License 2.0 (permissive) allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
Quickstart
pip install fds.sdk.utils
from fds.sdk.utils.authentication import ConfidentialClient
import requests
client = ConfidentialClient(config_path='/path/to/config.json')
res = requests.get(
'https://api.factset.com/analytics/lookups/v3/currencies',
headers={'Authorization': 'Bearer ' + client.get_access_token()}
)
print(res.text)
Requires Python 3.10 or higher and a FactSet OAuth 2.0 configuration file (JSON) with client credentials and private key.
Verify before relying
- Whether the package supports other OAuth 2.0 flows beyond client credentials.
- Performance characteristics and token caching behavior under high-concurrency scenarios.
- Compatibility with FactSet SDKs in other languages or versions.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — joserfc, oauthlib, requests, requests-oauthlib |
| Maintenance | actively maintained — 49 days since the last release |
| First released | |
| Downloads | 89,000/month — #13,686 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fds_sdk_utils-3.0.1-py3-none-any.whl
Keywords: FactSet, API, SDK
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
oauth2-clientHandles OAuth2 authentication flows…
unclear · top 15,000 on PyPI
requests-oauthlibAdds OAuth 1 and OAuth 2 authentication support…
permissive · top 1,000 on PyPI
auth0-pythonProvides Python bindings to Auth0's…
permissive · top 5,000 on PyPI
requests-authAdds OAuth2, API key, Basic, and NTLM…
permissive · top 15,000 on PyPI
mscertsProvides access to Microsoft's Root Certificate…
copyleft · top 15,000 on PyPI
authyPython client for the Twilio Authy two-factor…
permissive · top 15,000 on PyPI
stackit-coreProvides core authentication, configuration,…
permissive · top 15,000 on PyPI
wincertstoreAccesses Windows system certificate stores (CA…
permissive · top 15,000 on PyPI
oauth2clientoauth2client is a deprecated OAuth 2.0 client…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI