CoreHTTP Library for Python
Project description
Core HTTP shared client library for Python
corehttp
provides shared exceptions and modules for Python SDK client libraries.
Getting started
Typically, you will not need to install corehttp
, as it will be installed when you install one of the client libraries using it.
Transports
To use corehttp
, you will need to choose a transport implementation. corehttp
provides the following transports:
Synchronous transports:
RequestsTransport
- A synchronous transport based on the Requests library.HttpXTransport
- An synchronous transport based on the HTTPX library.
Asynchronous transports:
AioHttpTransport
- An asynchronous transport based on the aiohttp library.AsyncHttpXTransport
- An asynchronous transport based on the HTTPX library.
Each transport has its own dependencies, which you can install using the corehttp
extras:
# Install individually.
pip install corehttp[requests]
pip install corehttp[aiohttp]
pip install corehttp[httpx]
# Install multiple.
pip install corehttp[requests,httpx]
If no transports are specified, corehttp
will default to using RequestsTransport
for synchronous pipeline requests and AioHttpTransport
for asynchronous pipeline requests.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Release History
1.0.0b6 (2025-03-27)
Features Added
- The
TokenCredential
andAsyncTokenCredential
protocols have been updated to include a newget_token_info
method. This method should be used to acquire tokens and return anAccessTokenInfo
object. #38346 - Added a new
TokenRequestOptions
class, which is aTypedDict
with optional parameters, that can be used to define options for token requests through theget_token_info
method. #38346 - Added a new
AccessTokenInfo
class, which is returned byget_token_info
implementations. This class contains the token, its expiration time, and optional additional information like when a token should be refreshed. #38346 BearerTokenCredentialPolicy
andAsyncBearerTokenCredentialPolicy
now check if a credential has theget_token_info
method defined. If so, theget_token_info
method is used to acquire a token. #38346- These policies now also check the
refresh_on
attribute when determining if a new token request should be made.
- These policies now also check the
- Added
model
attribute toHttpResponseError
to allow accessing error attributes based on a known model. #39636 - Added
auth_flows
support inBearerTokenCredentialPolicy
. #40084
Breaking Changes
- The
get_token
method has been removed from theTokenCredential
andAsyncTokenCredential
protocols. Implementations should now use the newget_token_info
method to acquire tokens. #38346 - The
AccessToken
class has been removed and replaced with a newAccessTokenInfo
class. #38346 BearerTokenCredentialPolicy
andAsyncBearerTokenCredentialPolicy
now rely on credentials having theget_token_info
method defined. #38346
1.0.0b5 (2024-02-29)
Other Changes
- Accept float for
retry_after
header.
1.0.0b4 (2024-02-23)
Other Changes
- Relax type checking in
Pipeline
constructors to only check that each user-supplied policy object has either asend
method or both anon_request
andon_response
method. This allows for more flexible policy implementations. #34296
1.0.0b3 (2024-02-01)
Features Added
- Support tuple input for
files
values tocorehttp.rest.HttpRequest
#34082 - Support simultaneous
files
anddata
field entry intocorehttp.rest.HttpRequest
#34082
1.0.0b2 (2023-11-14)
Features Added
- Added the initial implementation of the HTTPX transport. #32813
Breaking Changes
- Removed
requests
as a default dependency ofcorehttp
. This is now an "extras" dependency and can be installed viacorehttp[requests]
. #32813 - Renamed the
aio
extra toaiohttp
. #32813
Bugs Fixed
- Fixed an issue with
multipart/form-data
in the async transport wheredata
was not getting encoded into the request body. #32473 - Fixed an issue with
connection_verify
,connection_cert
, andconnection_timeout
not being propagated to underlying transports. #33057 - Fixed an issue with the
aiohttp
transport not using SSL by default. #33057
Other Changes
- Added extras for
httpx
. #32813
1.0.0b1 (2023-10-18)
- Initial Release
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
File details
Details for the file corehttp-1.0.0b6.tar.gz
.
File metadata
- Download URL: corehttp-1.0.0b6.tar.gz
- Upload date:
- Size: 116.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ee2f16decb02fc1d6e5b4502404053937734f0740646be186fe4a98a7f2dbb18
|
|
MD5 |
8d82c817028726a17791dc0253e5e278
|
|
BLAKE2b-256 |
80c5b49445be54c15ba6ac497ca6528a8d10d70797ae8991763e381cb249a8ae
|
File details
Details for the file corehttp-1.0.0b6-py3-none-any.whl
.
File metadata
- Download URL: corehttp-1.0.0b6-py3-none-any.whl
- Upload date:
- Size: 105.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3cd421b9267350b7fb6b1bb06022f615a083a41352c766fc1cb490c4cf2c641e
|
|
MD5 |
7d216306a2ad68822d3829868b91a00f
|
|
BLAKE2b-256 |
b23240155dd0ab37e7289eb423d67cb4e344a28b8525f2dc9e3b057d4c0282f1
|