Install & Compatibility
Where this runs
tested against v3.2.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 23.2MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.3s · import 0.000s · 24MB
21MB installed
● package 21MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Client
✓ from upwork import Client
✗ from upwork import UpworkClient
Authenticate using Client Credentials Grant and create an UpworkClient.
import os
from upwork import UpworkClient
from upwork.oauth2 import ClientCredentialsGrant
client_id = os.environ.get('UPWORK_CLIENT_ID', '')
client_secret = os.environ.get('UPWORK_CLIENT_SECRET', '')
grant = ClientCredentialsGrant(
client_id=client_id,
client_secret=client_secret
)
token = grant.get_token()
client = UpworkClient(token=token)
# Now use client to call API endpoints
print(client.get_user_info())
Upgrade
Version history
3.2.0latest on PyPI · released Nov 26, 2024
Audit
Dependencies
requestsrequiredHTTP client for API calls
pyjwtrequiredJWT token handling for OAuth2 flow
oauthlibrequiredOAuth2 protocol implementation