scim2-client 0.7.1__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {scim2_client-0.7.1 → scim2_client-0.7.2}/PKG-INFO +12 -1
- {scim2_client-0.7.1 → scim2_client-0.7.2}/README.md +11 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/pyproject.toml +1 -1
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/client.py +1 -2
- {scim2_client-0.7.1 → scim2_client-0.7.2}/LICENSE.md +0 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/__init__.py +0 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/engines/__init__.py +0 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/engines/httpx.py +0 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/engines/werkzeug.py +0 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/errors.py +0 -0
- {scim2_client-0.7.1 → scim2_client-0.7.2}/scim2_client/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: scim2-client
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: Pythonically build SCIM requests and parse SCIM responses
|
|
5
5
|
Keywords: scim,scim2,provisioning,rfc7643,rfc7644,httpx,api
|
|
6
6
|
Author: Yaal Coop
|
|
@@ -246,6 +246,17 @@ Provisioning is the action of managing a set of resources across different servi
|
|
|
246
246
|
SCIM is often used between Identity Providers and applications in completion of standards like OAuth2 and OpenID Connect.
|
|
247
247
|
It allows users and groups creations, modifications and deletions to be synchronized between applications.
|
|
248
248
|
|
|
249
|
+
## Features
|
|
250
|
+
|
|
251
|
+
- **CRUD Operations**: `create`, `query`, `replace`, `delete` methods for SCIM resources
|
|
252
|
+
- **PATCH Support**: Partial resource modifications with `add`, `remove` and `replace` operations
|
|
253
|
+
- **Server Discovery**: Automatic retrieval of `ServiceProviderConfig`, `ResourceTypes` and `Schemas`
|
|
254
|
+
- **Search & Filtering**: Support for SCIM filters, sorting, pagination and attribute selection
|
|
255
|
+
- **Sync & Async**: Both synchronous and asynchronous clients available
|
|
256
|
+
- **Multiple HTTP Engines**: Built-in support for [httpx](https://github.com/encode/httpx) (sync/async) and [werkzeug](https://werkzeug.palletsprojects.com/) (testing). Adaptable to any network engine.
|
|
257
|
+
- **Request & Response Validation**: Automatic payload validation against SCIM schemas
|
|
258
|
+
- **Error Handling**: Structured exceptions for network, request and response errors
|
|
259
|
+
|
|
249
260
|
## Installation
|
|
250
261
|
|
|
251
262
|
```shell
|
|
@@ -14,6 +14,17 @@ Provisioning is the action of managing a set of resources across different servi
|
|
|
14
14
|
SCIM is often used between Identity Providers and applications in completion of standards like OAuth2 and OpenID Connect.
|
|
15
15
|
It allows users and groups creations, modifications and deletions to be synchronized between applications.
|
|
16
16
|
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- **CRUD Operations**: `create`, `query`, `replace`, `delete` methods for SCIM resources
|
|
20
|
+
- **PATCH Support**: Partial resource modifications with `add`, `remove` and `replace` operations
|
|
21
|
+
- **Server Discovery**: Automatic retrieval of `ServiceProviderConfig`, `ResourceTypes` and `Schemas`
|
|
22
|
+
- **Search & Filtering**: Support for SCIM filters, sorting, pagination and attribute selection
|
|
23
|
+
- **Sync & Async**: Both synchronous and asynchronous clients available
|
|
24
|
+
- **Multiple HTTP Engines**: Built-in support for [httpx](https://github.com/encode/httpx) (sync/async) and [werkzeug](https://werkzeug.palletsprojects.com/) (testing). Adaptable to any network engine.
|
|
25
|
+
- **Request & Response Validation**: Automatic payload validation against SCIM schemas
|
|
26
|
+
- **Error Handling**: Structured exceptions for network, request and response errors
|
|
27
|
+
|
|
17
28
|
## Installation
|
|
18
29
|
|
|
19
30
|
```shell
|
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "scim2-client"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.2"
|
|
8
8
|
description = "Pythonically build SCIM requests and parse SCIM responses"
|
|
9
9
|
authors = [{name="Yaal Coop", email="contact@yaal.coop"}]
|
|
10
10
|
license = {file = "LICENSE.md"}
|
|
@@ -290,8 +290,6 @@ class SCIMClient:
|
|
|
290
290
|
if raise_scim_errors is None:
|
|
291
291
|
raise_scim_errors = self.raise_scim_errors
|
|
292
292
|
|
|
293
|
-
self._check_content_types(headers)
|
|
294
|
-
|
|
295
293
|
# In addition to returning an HTTP response code, implementers MUST return
|
|
296
294
|
# the errors in the body of the response in a JSON format
|
|
297
295
|
# https://datatracker.ietf.org/doc/html/rfc7644.html#section-3.12
|
|
@@ -301,6 +299,7 @@ class SCIMClient:
|
|
|
301
299
|
response_payload = None
|
|
302
300
|
|
|
303
301
|
else:
|
|
302
|
+
self._check_content_types(headers)
|
|
304
303
|
response_payload = payload
|
|
305
304
|
|
|
306
305
|
if check_response_payload is None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|