intapp-rest-client 1.0.14__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.
Files changed (59) hide show
  1. intapp_rest_client-1.0.14/.env.testing.example +9 -0
  2. intapp_rest_client-1.0.14/.gitignore +159 -0
  3. intapp_rest_client-1.0.14/LICENSE +114 -0
  4. intapp_rest_client-1.0.14/Makefile.example +110 -0
  5. intapp_rest_client-1.0.14/PKG-INFO +258 -0
  6. intapp_rest_client-1.0.14/README.md +107 -0
  7. intapp_rest_client-1.0.14/SOURCE_DISTRIBUTION.md +46 -0
  8. intapp_rest_client-1.0.14/docs/API_REFERENCE.md +25 -0
  9. intapp_rest_client-1.0.14/docs/ARCHITECTURE.md +49 -0
  10. intapp_rest_client-1.0.14/docs/CHANGELOG.md +8 -0
  11. intapp_rest_client-1.0.14/examples/README.md +16 -0
  12. intapp_rest_client-1.0.14/examples/api_key_header.py +12 -0
  13. intapp_rest_client-1.0.14/examples/async_oauth2.py +17 -0
  14. intapp_rest_client-1.0.14/examples/context_manager.py +5 -0
  15. intapp_rest_client-1.0.14/examples/entra_client_credentials.py +16 -0
  16. intapp_rest_client-1.0.14/examples/error_handling.py +12 -0
  17. intapp_rest_client-1.0.14/examples/oauth2_client_credentials.py +18 -0
  18. intapp_rest_client-1.0.14/examples/parallel_get.py +10 -0
  19. intapp_rest_client-1.0.14/examples/retry_config.py +21 -0
  20. intapp_rest_client-1.0.14/intapp_rest_client/__init__.py +93 -0
  21. intapp_rest_client-1.0.14/intapp_rest_client/_version.py +18 -0
  22. intapp_rest_client-1.0.14/intapp_rest_client/auth/__init__.py +26 -0
  23. intapp_rest_client-1.0.14/intapp_rest_client/auth/api_key.py +33 -0
  24. intapp_rest_client-1.0.14/intapp_rest_client/auth/basic.py +21 -0
  25. intapp_rest_client-1.0.14/intapp_rest_client/auth/entra.py +220 -0
  26. intapp_rest_client-1.0.14/intapp_rest_client/auth/jwt_auth.py +64 -0
  27. intapp_rest_client-1.0.14/intapp_rest_client/auth/oauth2.py +327 -0
  28. intapp_rest_client-1.0.14/intapp_rest_client/auth/okta.py +243 -0
  29. intapp_rest_client-1.0.14/intapp_rest_client/client.py +3122 -0
  30. intapp_rest_client-1.0.14/intapp_rest_client/exceptions.py +163 -0
  31. intapp_rest_client-1.0.14/intapp_rest_client/models.py +570 -0
  32. intapp_rest_client-1.0.14/intapp_rest_client/py.typed +0 -0
  33. intapp_rest_client-1.0.14/intapp_rest_client/retry.py +358 -0
  34. intapp_rest_client-1.0.14/pyproject.toml +136 -0
  35. intapp_rest_client-1.0.14/tests/__init__.py +3 -0
  36. intapp_rest_client-1.0.14/tests/conftest.py +92 -0
  37. intapp_rest_client-1.0.14/tests/test_auth_api_key.py +78 -0
  38. intapp_rest_client-1.0.14/tests/test_auth_basic.py +95 -0
  39. intapp_rest_client-1.0.14/tests/test_auth_entra.py +417 -0
  40. intapp_rest_client-1.0.14/tests/test_auth_jwt.py +219 -0
  41. intapp_rest_client-1.0.14/tests/test_auth_oauth2.py +523 -0
  42. intapp_rest_client-1.0.14/tests/test_auth_okta.py +478 -0
  43. intapp_rest_client-1.0.14/tests/test_auth_ssl.py +301 -0
  44. intapp_rest_client-1.0.14/tests/test_client.py +984 -0
  45. intapp_rest_client-1.0.14/tests/test_client_download.py +619 -0
  46. intapp_rest_client-1.0.14/tests/test_client_extended.py +537 -0
  47. intapp_rest_client-1.0.14/tests/test_client_head_options.py +163 -0
  48. intapp_rest_client-1.0.14/tests/test_client_lifecycle.py +284 -0
  49. intapp_rest_client-1.0.14/tests/test_client_pagination.py +247 -0
  50. intapp_rest_client-1.0.14/tests/test_client_parallel.py +603 -0
  51. intapp_rest_client-1.0.14/tests/test_client_ssl.py +102 -0
  52. intapp_rest_client-1.0.14/tests/test_exceptions.py +359 -0
  53. intapp_rest_client-1.0.14/tests/test_models.py +584 -0
  54. intapp_rest_client-1.0.14/tests/test_models_retry_validation.py +38 -0
  55. intapp_rest_client-1.0.14/tests/test_new_features.py +1360 -0
  56. intapp_rest_client-1.0.14/tests/test_retry.py +647 -0
  57. intapp_rest_client-1.0.14/tests/test_retry_extended.py +423 -0
  58. intapp_rest_client-1.0.14/tests/test_retry_transport.py +37 -0
  59. intapp_rest_client-1.0.14/tests/test_version.py +130 -0
@@ -0,0 +1,9 @@
1
+ # Copy this file to `.env.testing` in the repository root and fill in real values.
2
+ # Used by integration tests (see tests/integration/conftest.py). Do not commit `.env.testing`.
3
+
4
+ DEALCLOUD_HOST=your-tenant.dealcloud.com
5
+ DEALCLOUD_CLIENT_ID=
6
+ DEALCLOUD_API_KEY=
7
+ # Optional (defaults shown in conftest if unset)
8
+ # DEALCLOUD_SCOPE=data
9
+ # DEALCLOUD_TEST_ENTRY_TYPE=Company
@@ -0,0 +1,159 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ dist_conda/
15
+ dist_conda_publish/
16
+ conda.recipe/sdist/
17
+ downloads/
18
+ eggs/
19
+ .eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ share/python-wheels/
27
+ *.egg-info/
28
+ .installed.cfg
29
+ *.egg
30
+ MANIFEST
31
+
32
+ # PyInstaller
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ .python-version
87
+
88
+ # pipenv
89
+ Pipfile.lock
90
+
91
+ # poetry
92
+ poetry.lock
93
+
94
+ # pdm
95
+ .pdm.toml
96
+ .pdm-python
97
+ .pdm-build/
98
+
99
+ # PEP 582
100
+ __pypackages__/
101
+
102
+ # Celery stuff
103
+ celerybeat-schedule
104
+ celerybeat.pid
105
+
106
+ # SageMath parsed files
107
+ *.sage.py
108
+
109
+ # Environments
110
+ .env
111
+ .env.testing
112
+ .venv
113
+ env/
114
+ venv/
115
+ ENV/
116
+ env.bak/
117
+ venv.bak/
118
+
119
+ # Spyder project settings
120
+ .spyderproject
121
+ .spyproject
122
+
123
+ # Rope project settings
124
+ .ropeproject
125
+
126
+ # mkdocs documentation
127
+ /site
128
+
129
+ # mypy
130
+ .mypy_cache/
131
+ .dmypy.json
132
+ dmypy.json
133
+
134
+ # Pyre type checker
135
+ .pyre/
136
+
137
+ # pytype static type analyzer
138
+ .pytype/
139
+
140
+ # Cython debug symbols
141
+ cython_debug/
142
+
143
+ # Ruff
144
+ .ruff_cache/
145
+
146
+ # IDE
147
+ .idea/
148
+ .vscode/
149
+ *.swp
150
+ *.swo
151
+ *~
152
+
153
+ # OS
154
+ .DS_Store
155
+ Thumbs.db
156
+
157
+ # Project specific
158
+ *.bak
159
+
@@ -0,0 +1,114 @@
1
+ INTAPP LICENSE TERMS FOR SUPPLEMENTAL SOFTWARE
2
+ These license terms (these “License Terms”) are an agreement between Integration Appliance, Inc. (“Intapp”) and the
3
+ entity with which you are employed, affiliated or associated (“Company” or “you”). These License Terms apply to the
4
+ Supplemental Software (as defined below) for use with the applicable Intapp Products (as defined below).
5
+
6
+ 1. DEFINITIONS.
7
+ “Company Integrations” means an integration of software or cloud services licensed or subscribed to by Company with
8
+ the applicable Intapp Product(s) (as designated by Intapp) for use of such Intapp Product(s) as contemplated in and
9
+ permitted by the Governing Agreement.
10
+
11
+ “Supplemental Software” means source code and/or compiled software provided by Intapp, including any applicable
12
+ documentation associated therewith, enabling the corresponding Company Integration.
13
+
14
+ “Governing Agreement” means the governing document(s) for Company’s use of the applicable Intapp Product, including
15
+ any applicable orders subject to such governing documents, between Intapp and/or any of its current or future affiliates,
16
+ including, without limitation, Intapp US, Inc., DealCloud, Inc., and Repstor Limited.
17
+
18
+ “Intapp Products” means the applicable Intapp products licensed or subscribed to under the Governing Agreement.
19
+
20
+ “Open-Source License(s)” means any applicable open-source license(s) governing any applicable software included as
21
+ part the Supplemental Software.
22
+
23
+ 2. SCOPE; USE; RESTRICTIONS; FEEDBACK.
24
+ You acknowledge and agree that these License Terms (a) constitute a legally binding agreement between your Company
25
+ and Intapp, (b) are effective as of the date you first download, install or use the Supplemental Software, whichever is
26
+ earliest, and (c) will be in effect until such time as terminated as provided herein. Please read it carefully.
27
+
28
+ By clicking "I Accept" or accessing, installing or using the Supplemental Software, you:
29
+
30
+ (a) agree to the terms contained in these License Terms on behalf of the Company; </li>
31
+ (b) represent that you have the authority to bind the Company to these License Terms; and</li>
32
+ (c) acknowledge and agree there is a Governing Agreement in effect. </li>
33
+
34
+ If you do not have such authority or do not agree to these License Terms, you may not (nor is Company
35
+ permitted to) access, install or use the Supplemental Software.
36
+
37
+ The Supplemental Software is licensed, not sold, for the sole purpose of interacting with the Intapp Product. Intapp reserves
38
+ all other rights. Unless applicable law (or any underlying Open-Source License(s) used in the Supplemental Software) gives
39
+ you additional rights despite this limitation, you may use the Supplemental Software only as expressly permitted in these
40
+ License Terms; provided, in the event of any conflict between these License Terms and the Open-Source License(s) where
41
+ such conflict would cause Intapp to violate a restriction or condition of the Open-Source License(s), the Open-Source
42
+ License(s) shall prevail solely with respect to the specific software subject to such Open-Source License(s) and you must
43
+ agree to, and use such software in conformance with, such licenses.
44
+
45
+ You acknowledge:
46
+ - you must comply with all domestic and international export laws and regulations that apply to the Supplemental
47
+ Software;
48
+ - you must ensure any products, services or content made available through Company Integrations (and the
49
+ Company Integrations themselves), do not, and will not contain any virus, Trojan horse, worm, malicious code,
50
+ or spyware;
51
+ - no support is provided by Intapp for the Supplemental Software or the Company Integration; and
52
+ - these License Terms do not grant you any right in any trademark or logo of Intapp or its affiliates.
53
+
54
+ You may not:
55
+ - bypass or disable any technical limitations in the Supplemental Software;
56
+ - move, change, disable, obscure or circumvent the license key functionality in the Supplemental Software or
57
+ any functionality in the Supplemental Software that is protected by the license key;
58
+ - alter, remove, or obscure any licensing, copyright, or other notices of the licensor in the Supplemental Software;
59
+ - redistribute the Supplemental Software outside your organization;
60
+ - distribute derivative works based upon the Supplemental Software outside your organization;
61
+ - provide the Supplemental Software (or derivative works based upon the Supplemental Software) to third parties
62
+ as a hosted or managed service; and
63
+ - rent, lease or lend the Supplemental Software to others.
64
+
65
+ If you give feedback about the Supplemental Software to Intapp, you grant Intapp, without charge, the right to use,
66
+ share and commercialize your feedback in any way and for any purpose in its sole discretion. You will not give feedback
67
+ that is subject to a license that requires Intapp to license its software or documentation to third parties because we
68
+ include your feedback in them. These rights survive any termination or expiration of these License Terms.
69
+
70
+ 3. DISCLAIMER OF WARRANTIES; LIABILITY; MISCELLANEOUS
71
+ YOU ACKNOWLEDGE THE SUPPLEMENTAL SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. INTAPP
72
+ (AS WELL AS ITS LICENSORS AND AFFILIATES) GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO
73
+ THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, INTAPP (AS WELL AS ITS LICENSORS AND AFFILIATES) EXCLUDES
74
+ ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES AND CONDITIONS OF
75
+ MERCHANTABILITY, NON-INFRINGMENT, QUALITY, FITNESS FOR A PARTICULAR PURPOSE, ANY WARRANTIES AND
76
+ CONDITIONS ARISING OUT OF COURSE OF DEALING OR CUSTOM OR USAGE OF THE TRADE. COMPANY ACKNOWLEDGES
77
+ IT HAS NO RIGHTS OR REMEDIES UNDER THE GOVERNING AGREEMENT (INCLUDNG THE RIGHT TO TERMINATE THE
78
+ GOVERNING AGREEMENT OR ANY ORDER OR OTHER TRANSACTIONAL DOCUMENT ASSOCIATED THEREWITH), AND
79
+ NEITHER INTAPP NOR ITS AFFILIATES HAVE ANY LIABILITIES UNDER THE GOVERNING AGREEMENT FOR ANY DAMAGES
80
+ FOR INACCURACIES, ERRORS, OMISSIONS, DELAYS, AVAILABILITY, DAMAGES, CLAIMS, LIABILITIES, EXPENSES, COSTS
81
+ OR LOSSES, REGARDLESS OF CAUSE, ARISING FROM OR RELATING TO THE SUPPLEMENTAL SOFTWARE, COMPANY
82
+ INTEGRATION(S), ANY USE OF THE FOREGOING, OR THESE LICENSE TERMS.
83
+ YOU HEREBY AGREE THAT (I) YOU MAY ONLY RECOVER FROM INTAPP (OR ITS AFFILIATES) DIRECT DAMAGES UP TO
84
+ U.S. $100.00 AND THEN ONLY (Y) AS IT RELATES TO CLAIMS CONCERNING INTAPP’S PROPRIETARY SOFTWARE, IF ANY,
85
+ WITHIN THE SUPPLEMENTAL SOFTWARE AND (Z) IF AWARDED BY A COURT OF COMPETENT JURISDICTION; AND (II)
86
+ YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING, WITHOUT LIMITATION, CONSEQUENTIAL, SPECIAL,
87
+ EXEMPLARY, INDIRECT OR INCIDENTAL DAMAGES, LOST PROFITS, LOSS OF DATA, LOSS OF BUSINESS, OR LOSS OF
88
+ GOOD WILL. THESE LIMITATIONS APPLY: (A) TO ANY CLAIMS RELATED TO THE SUPPLEMENTAL SOFTWARE OR THESE
89
+ LICENSE TERMS; (B) TO CLAIMS FOR BREACH OF CONTRACT, BREACH OF WARRANTY, GUARANTEE OR CONDITION,
90
+ STRICT LIABILITY, NEGLIGENCE, OR OTHER TORT TO THE EXTENT PERMITTED BY APPLICABLE LAW; AND (C) EVEN IF
91
+ INTAPP KNEW OR SHOULD HAVE KNOWN ABOUT THE POSSIBILITY OF THE DAMAGES. THE ABOVE LIMITATION OR
92
+ EXCLUSION MAY NOT APPLY TO YOU TO THE EXTENT YOUR COUNTRY DOES NOT ALLOW THE EXCLUSION OR
93
+ LIMITATION OF INCIDENTAL, CONSEQUENTIAL OR OTHER DAMAGES (AND THEN ONLY TO THE EXTENT SUCH LAWS
94
+ ARE APPLICABLE TO THESE LICENSE TERMS).
95
+
96
+ These License Terms constitute the entire agreement for the Supplemental Software. These License Terms are
97
+ governed by the internal substantive laws of the State of New York, without respect to its conflict of laws provisions.
98
+ Each of the parties hereto irrevocably and unconditionally submit to the exclusive jurisdiction of the state courts of
99
+ New York or (as applicable) the federal courts of the United States of America located in New York. These License
100
+ Terms shall survive termination or expiration of the Governing Agreement. The headings used in these License Terms
101
+ are for convenience of reference only and are not to be construed in any way as material terms or be used to interpret
102
+ the provisions of these License Terms. If any term of these License Terms is held to be unenforceable or invalid, that
103
+ term will be enforced to the maximum extent possible and the other terms will remain in full force and effect.
104
+ You acknowledge Intapp may terminate these License Terms at any time and for any reason. If you violate these
105
+ License Terms, your licenses hereunder terminate automatically. In the event these License Terms terminate, the
106
+ license restrictions, your obligations, and Section 3 (DISCLAIMER OF WARRANTIES; LIABILITY; MISCELLANEOUS) of
107
+ these License Terms shall survive. In the event the Governing Agreement expires or is terminated, or these License
108
+ Terms are terminated, all licenses to the Supplemental Software (including in or in conjunction with, Customer
109
+ Integrations) are revoked and you must: (a) cease all use of the Supplemental Software (including in Company
110
+ Integration(s)), and (b) permanently delete any copies or downloads of the Supplemental Software. You acknowledge
111
+ Intapp may update these License Terms from time to time without notice and your continued use of the Supplemental
112
+ Software (or Company Integration) after any such update(s) will be deemed Company’s agreement to such updates;
113
+ provided, however, if you do not agree to these updates, you may not use Supplemental Software (including in the
114
+ Company Integrations) and must uninstall and cease use of the Supplemental Software accordingly
@@ -0,0 +1,110 @@
1
+ # intapp-rest-client — template Makefile (tracked in git as Makefile.example)
2
+ #
3
+ # The PyPI source distribution includes this file as Makefile.example at the archive root.
4
+ # In a git checkout: cp Makefile.example Makefile
5
+ #
6
+ # This template does not reference any private package index. Commands use
7
+ # plain `uv` against your environment (public PyPI by default). If you use a
8
+ # private uv index, set the UV_INDEX_* variables uv expects for that index
9
+ # before running make, or prefix commands yourself.
10
+
11
+ .PHONY: help install install-dev install-all test test-cov coverage lint format typecheck clean build build-sdist publish sync audit-deps audit-deps-extras check-sdist
12
+
13
+ # Optional prefix for uv (e.g. exported index credentials). Leave empty for public PyPI only.
14
+ UV_AUTH =
15
+
16
+ help:
17
+ @echo "intapp-rest-client - HTTPX-based REST client"
18
+ @echo ""
19
+ @echo "Usage:"
20
+ @echo " make install Install package dependencies"
21
+ @echo " make install-dev Install with dev dependencies"
22
+ @echo " make install-all Install with all optional dependencies"
23
+ @echo " make test Run tests"
24
+ @echo " make test-cov Run tests with coverage report"
25
+ @echo " make coverage Run tests and enforce 95% coverage"
26
+ @echo " make lint Run linter (ruff)"
27
+ @echo " make format Format code (ruff + isort)"
28
+ @echo " make typecheck Run type checker (mypy)"
29
+ @echo " make clean Clean build artifacts"
30
+ @echo " make build Build sdist and wheel"
31
+ @echo " make build-sdist Build source distribution only (tar.gz in dist/)"
32
+ @echo " make publish Publish to PyPI (requires credentials)"
33
+ @echo " make audit-deps pip-audit locked runtime deps (uv.lock, no dev)"
34
+ @echo " make audit-deps-extras locked deps + jwt and enterprise-auth extras (no dev group)"
35
+ @echo " make check-sdist Verify dist/ artifacts match public sdist policy"
36
+
37
+ install:
38
+ $(UV_AUTH) uv sync --no-dev
39
+
40
+ install-dev:
41
+ $(UV_AUTH) uv sync --all-extras
42
+
43
+ install-all:
44
+ $(UV_AUTH) uv sync --all-extras
45
+
46
+ sync:
47
+ $(UV_AUTH) uv sync
48
+
49
+ test:
50
+ $(UV_AUTH) uv run --all-extras python -m pytest
51
+
52
+ test-cov:
53
+ $(UV_AUTH) uv run --all-extras python -m pytest --cov=intapp_rest_client --cov-report=term-missing --cov-report=html
54
+
55
+ coverage:
56
+ $(UV_AUTH) uv run --all-extras python -m pytest --cov=intapp_rest_client --cov-report=term --cov-fail-under=95
57
+
58
+ lint:
59
+ $(UV_AUTH) uv run --extra dev ruff check .
60
+
61
+ format:
62
+ $(UV_AUTH) uv run --extra dev ruff format .
63
+ $(UV_AUTH) uv run --extra dev isort .
64
+
65
+ typecheck:
66
+ $(UV_AUTH) uv run --extra dev mypy intapp_rest_client
67
+
68
+ clean:
69
+ rm -rf dist/
70
+ rm -rf build/
71
+ rm -rf *.egg-info/
72
+ rm -rf .pytest_cache/
73
+ rm -rf .mypy_cache/
74
+ rm -rf .ruff_cache/
75
+ rm -rf htmlcov/
76
+ rm -rf .coverage
77
+ rm -rf .venv/
78
+ find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
79
+
80
+ build: clean
81
+ $(UV_AUTH) uv build
82
+ $(UV_AUTH) uv run python scripts/check_sdist.py
83
+
84
+ build-sdist:
85
+ $(UV_AUTH) uv build --sdist
86
+
87
+ publish: build
88
+ $(UV_AUTH) uv publish
89
+
90
+ lock:
91
+ $(UV_AUTH) uv lock
92
+
93
+ upgrade:
94
+ $(UV_AUTH) uv lock --upgrade
95
+
96
+ ci-test: install-dev test-cov
97
+
98
+ ci-lint: install-dev lint typecheck
99
+
100
+ audit-deps:
101
+ @chmod +x scripts/pip_audit.sh 2>/dev/null || true
102
+ ./scripts/pip_audit.sh
103
+
104
+ audit-deps-extras:
105
+ @chmod +x scripts/pip_audit.sh 2>/dev/null || true
106
+ ./scripts/pip_audit.sh --optional-extras
107
+
108
+ check-sdist:
109
+ $(UV_AUTH) uv build
110
+ $(UV_AUTH) uv run python scripts/check_sdist.py
@@ -0,0 +1,258 @@
1
+ Metadata-Version: 2.5
2
+ Name: intapp-rest-client
3
+ Version: 1.0.14
4
+ Summary: HTTPX-based REST client with multi-auth support
5
+ Project-URL: Homepage, https://api.docs.dealcloud.com/sdk/intapp-rest-client
6
+ Project-URL: Documentation, https://api.docs.dealcloud.com/sdk/intapp-rest-client
7
+ Project-URL: Changelog, https://api.docs.dealcloud.com/sdk/intapp-rest-client/reference/changelog
8
+ Project-URL: Source, https://pypi.org/project/intapp-rest-client/
9
+ Author-email: Intapp Data Tools Team <support@intapp.com>
10
+ License: INTAPP LICENSE TERMS FOR SUPPLEMENTAL SOFTWARE
11
+ These license terms (these “License Terms”) are an agreement between Integration Appliance, Inc. (“Intapp”) and the
12
+ entity with which you are employed, affiliated or associated (“Company” or “you”). These License Terms apply to the
13
+ Supplemental Software (as defined below) for use with the applicable Intapp Products (as defined below).
14
+
15
+ 1. DEFINITIONS.
16
+ “Company Integrations” means an integration of software or cloud services licensed or subscribed to by Company with
17
+ the applicable Intapp Product(s) (as designated by Intapp) for use of such Intapp Product(s) as contemplated in and
18
+ permitted by the Governing Agreement.
19
+
20
+ “Supplemental Software” means source code and/or compiled software provided by Intapp, including any applicable
21
+ documentation associated therewith, enabling the corresponding Company Integration.
22
+
23
+ “Governing Agreement” means the governing document(s) for Company’s use of the applicable Intapp Product, including
24
+ any applicable orders subject to such governing documents, between Intapp and/or any of its current or future affiliates,
25
+ including, without limitation, Intapp US, Inc., DealCloud, Inc., and Repstor Limited.
26
+
27
+ “Intapp Products” means the applicable Intapp products licensed or subscribed to under the Governing Agreement.
28
+
29
+ “Open-Source License(s)” means any applicable open-source license(s) governing any applicable software included as
30
+ part the Supplemental Software.
31
+
32
+ 2. SCOPE; USE; RESTRICTIONS; FEEDBACK.
33
+ You acknowledge and agree that these License Terms (a) constitute a legally binding agreement between your Company
34
+ and Intapp, (b) are effective as of the date you first download, install or use the Supplemental Software, whichever is
35
+ earliest, and (c) will be in effect until such time as terminated as provided herein. Please read it carefully.
36
+
37
+ By clicking "I Accept" or accessing, installing or using the Supplemental Software, you:
38
+
39
+ (a) agree to the terms contained in these License Terms on behalf of the Company; </li>
40
+ (b) represent that you have the authority to bind the Company to these License Terms; and</li>
41
+ (c) acknowledge and agree there is a Governing Agreement in effect. </li>
42
+
43
+ If you do not have such authority or do not agree to these License Terms, you may not (nor is Company
44
+ permitted to) access, install or use the Supplemental Software.
45
+
46
+ The Supplemental Software is licensed, not sold, for the sole purpose of interacting with the Intapp Product. Intapp reserves
47
+ all other rights. Unless applicable law (or any underlying Open-Source License(s) used in the Supplemental Software) gives
48
+ you additional rights despite this limitation, you may use the Supplemental Software only as expressly permitted in these
49
+ License Terms; provided, in the event of any conflict between these License Terms and the Open-Source License(s) where
50
+ such conflict would cause Intapp to violate a restriction or condition of the Open-Source License(s), the Open-Source
51
+ License(s) shall prevail solely with respect to the specific software subject to such Open-Source License(s) and you must
52
+ agree to, and use such software in conformance with, such licenses.
53
+
54
+ You acknowledge:
55
+ - you must comply with all domestic and international export laws and regulations that apply to the Supplemental
56
+ Software;
57
+ - you must ensure any products, services or content made available through Company Integrations (and the
58
+ Company Integrations themselves), do not, and will not contain any virus, Trojan horse, worm, malicious code,
59
+ or spyware;
60
+ - no support is provided by Intapp for the Supplemental Software or the Company Integration; and
61
+ - these License Terms do not grant you any right in any trademark or logo of Intapp or its affiliates.
62
+
63
+ You may not:
64
+ - bypass or disable any technical limitations in the Supplemental Software;
65
+ - move, change, disable, obscure or circumvent the license key functionality in the Supplemental Software or
66
+ any functionality in the Supplemental Software that is protected by the license key;
67
+ - alter, remove, or obscure any licensing, copyright, or other notices of the licensor in the Supplemental Software;
68
+ - redistribute the Supplemental Software outside your organization;
69
+ - distribute derivative works based upon the Supplemental Software outside your organization;
70
+ - provide the Supplemental Software (or derivative works based upon the Supplemental Software) to third parties
71
+ as a hosted or managed service; and
72
+ - rent, lease or lend the Supplemental Software to others.
73
+
74
+ If you give feedback about the Supplemental Software to Intapp, you grant Intapp, without charge, the right to use,
75
+ share and commercialize your feedback in any way and for any purpose in its sole discretion. You will not give feedback
76
+ that is subject to a license that requires Intapp to license its software or documentation to third parties because we
77
+ include your feedback in them. These rights survive any termination or expiration of these License Terms.
78
+
79
+ 3. DISCLAIMER OF WARRANTIES; LIABILITY; MISCELLANEOUS
80
+ YOU ACKNOWLEDGE THE SUPPLEMENTAL SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. INTAPP
81
+ (AS WELL AS ITS LICENSORS AND AFFILIATES) GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO
82
+ THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, INTAPP (AS WELL AS ITS LICENSORS AND AFFILIATES) EXCLUDES
83
+ ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES AND CONDITIONS OF
84
+ MERCHANTABILITY, NON-INFRINGMENT, QUALITY, FITNESS FOR A PARTICULAR PURPOSE, ANY WARRANTIES AND
85
+ CONDITIONS ARISING OUT OF COURSE OF DEALING OR CUSTOM OR USAGE OF THE TRADE. COMPANY ACKNOWLEDGES
86
+ IT HAS NO RIGHTS OR REMEDIES UNDER THE GOVERNING AGREEMENT (INCLUDNG THE RIGHT TO TERMINATE THE
87
+ GOVERNING AGREEMENT OR ANY ORDER OR OTHER TRANSACTIONAL DOCUMENT ASSOCIATED THEREWITH), AND
88
+ NEITHER INTAPP NOR ITS AFFILIATES HAVE ANY LIABILITIES UNDER THE GOVERNING AGREEMENT FOR ANY DAMAGES
89
+ FOR INACCURACIES, ERRORS, OMISSIONS, DELAYS, AVAILABILITY, DAMAGES, CLAIMS, LIABILITIES, EXPENSES, COSTS
90
+ OR LOSSES, REGARDLESS OF CAUSE, ARISING FROM OR RELATING TO THE SUPPLEMENTAL SOFTWARE, COMPANY
91
+ INTEGRATION(S), ANY USE OF THE FOREGOING, OR THESE LICENSE TERMS.
92
+ YOU HEREBY AGREE THAT (I) YOU MAY ONLY RECOVER FROM INTAPP (OR ITS AFFILIATES) DIRECT DAMAGES UP TO
93
+ U.S. $100.00 AND THEN ONLY (Y) AS IT RELATES TO CLAIMS CONCERNING INTAPP’S PROPRIETARY SOFTWARE, IF ANY,
94
+ WITHIN THE SUPPLEMENTAL SOFTWARE AND (Z) IF AWARDED BY A COURT OF COMPETENT JURISDICTION; AND (II)
95
+ YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING, WITHOUT LIMITATION, CONSEQUENTIAL, SPECIAL,
96
+ EXEMPLARY, INDIRECT OR INCIDENTAL DAMAGES, LOST PROFITS, LOSS OF DATA, LOSS OF BUSINESS, OR LOSS OF
97
+ GOOD WILL. THESE LIMITATIONS APPLY: (A) TO ANY CLAIMS RELATED TO THE SUPPLEMENTAL SOFTWARE OR THESE
98
+ LICENSE TERMS; (B) TO CLAIMS FOR BREACH OF CONTRACT, BREACH OF WARRANTY, GUARANTEE OR CONDITION,
99
+ STRICT LIABILITY, NEGLIGENCE, OR OTHER TORT TO THE EXTENT PERMITTED BY APPLICABLE LAW; AND (C) EVEN IF
100
+ INTAPP KNEW OR SHOULD HAVE KNOWN ABOUT THE POSSIBILITY OF THE DAMAGES. THE ABOVE LIMITATION OR
101
+ EXCLUSION MAY NOT APPLY TO YOU TO THE EXTENT YOUR COUNTRY DOES NOT ALLOW THE EXCLUSION OR
102
+ LIMITATION OF INCIDENTAL, CONSEQUENTIAL OR OTHER DAMAGES (AND THEN ONLY TO THE EXTENT SUCH LAWS
103
+ ARE APPLICABLE TO THESE LICENSE TERMS).
104
+
105
+ These License Terms constitute the entire agreement for the Supplemental Software. These License Terms are
106
+ governed by the internal substantive laws of the State of New York, without respect to its conflict of laws provisions.
107
+ Each of the parties hereto irrevocably and unconditionally submit to the exclusive jurisdiction of the state courts of
108
+ New York or (as applicable) the federal courts of the United States of America located in New York. These License
109
+ Terms shall survive termination or expiration of the Governing Agreement. The headings used in these License Terms
110
+ are for convenience of reference only and are not to be construed in any way as material terms or be used to interpret
111
+ the provisions of these License Terms. If any term of these License Terms is held to be unenforceable or invalid, that
112
+ term will be enforced to the maximum extent possible and the other terms will remain in full force and effect.
113
+ You acknowledge Intapp may terminate these License Terms at any time and for any reason. If you violate these
114
+ License Terms, your licenses hereunder terminate automatically. In the event these License Terms terminate, the
115
+ license restrictions, your obligations, and Section 3 (DISCLAIMER OF WARRANTIES; LIABILITY; MISCELLANEOUS) of
116
+ these License Terms shall survive. In the event the Governing Agreement expires or is terminated, or these License
117
+ Terms are terminated, all licenses to the Supplemental Software (including in or in conjunction with, Customer
118
+ Integrations) are revoked and you must: (a) cease all use of the Supplemental Software (including in Company
119
+ Integration(s)), and (b) permanently delete any copies or downloads of the Supplemental Software. You acknowledge
120
+ Intapp may update these License Terms from time to time without notice and your continued use of the Supplemental
121
+ Software (or Company Integration) after any such update(s) will be deemed Company’s agreement to such updates;
122
+ provided, however, if you do not agree to these updates, you may not use Supplemental Software (including in the
123
+ Company Integrations) and must uninstall and cease use of the Supplemental Software accordingly
124
+ License-File: LICENSE
125
+ Keywords: api,authentication,client,http,httpx,intapp,rest
126
+ Classifier: Development Status :: 5 - Production/Stable
127
+ Classifier: Framework :: Pydantic
128
+ Classifier: Intended Audience :: Developers
129
+ Classifier: License :: Other/Proprietary License
130
+ Classifier: Programming Language :: Python :: 3
131
+ Classifier: Programming Language :: Python :: 3.12
132
+ Classifier: Programming Language :: Python :: 3.13
133
+ Classifier: Topic :: Internet :: WWW/HTTP
134
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
135
+ Requires-Python: >=3.12
136
+ Requires-Dist: httpx<0.29.0
137
+ Requires-Dist: pydantic>=2.0.0
138
+ Provides-Extra: dev
139
+ Requires-Dist: isort>=5.13.0; extra == 'dev'
140
+ Requires-Dist: mypy>=1.11.0; extra == 'dev'
141
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
142
+ Requires-Dist: pytest-cov>=4.1; extra == 'dev'
143
+ Requires-Dist: pytest>=8.0; extra == 'dev'
144
+ Requires-Dist: respx>=0.21; extra == 'dev'
145
+ Requires-Dist: ruff>=0.4.0; extra == 'dev'
146
+ Provides-Extra: enterprise-auth
147
+ Requires-Dist: httpx-auth>=0.22.0; extra == 'enterprise-auth'
148
+ Provides-Extra: jwt
149
+ Requires-Dist: pyjwt>=2.12.0; extra == 'jwt'
150
+ Description-Content-Type: text/markdown
151
+
152
+ # Intapp REST Client
153
+
154
+ Intapp HTTPX-based REST client with multi-authentication support, retry logic, and structured logging.
155
+
156
+ ## Features
157
+
158
+ - **HTTPX-based** - Modern async HTTP client with connection pooling
159
+ - **Both sync and async** - Support workflow scripts (sync) and async applications
160
+ - **Multi-authentication** - OAuth2, built-in Microsoft Entra ID and Okta (client credentials), API Key, Basic, JWT, plus optional `httpx-auth` providers
161
+ - **Comprehensive retry** - Built-in 429/5xx handling with exponential backoff
162
+ - **Structured logging** - Request/response logging with sensitive data masking
163
+ - **Per-status retries** - Configure different retry counts per HTTP status code
164
+ - **Type hints** - Full typing support
165
+ - **Parallel batch methods** - `parallel_get`, `parallel_post`, `parallel_put`, `parallel_delete`, and async variants (`aparallel_*`) with configurable error handling (FAIL_FAST, COLLECT, LOG_ONLY)
166
+
167
+ ## Documentation
168
+
169
+ For full details and to get started: [Intapp REST Client](https://api.docs.dealcloud.com/sdk/intapp-rest-client)
170
+
171
+ ## Installation
172
+
173
+ ```bash
174
+ # Using uv (recommended)
175
+ uv add intapp-rest-client
176
+
177
+ # With JWT support
178
+ uv add intapp-rest-client[jwt]
179
+
180
+ # Using pip
181
+ pip install intapp-rest-client
182
+ ```
183
+
184
+ ## Quick Start
185
+
186
+ ### OAuth2 Client Credentials
187
+
188
+ ```python
189
+ from intapp_rest_client import RestClient, OAuth2Config, RetryConfig
190
+
191
+ client = RestClient(
192
+ base_url="https://api.example.com/",
193
+ oauth2_config=OAuth2Config(
194
+ token_url="https://api.example.com/oauth/token",
195
+ client_id="your_client_id",
196
+ client_secret="your_secret",
197
+ scope="data"
198
+ ),
199
+ retry_config=RetryConfig(
200
+ max_retries=5,
201
+ backoff_factor=2.0,
202
+ retryable_statuses=(429, 500, 502, 503, 504),
203
+ retry_count_by_status={
204
+ 429: 5, # More retries for rate limits
205
+ 500: 2, # Fewer for server errors
206
+ }
207
+ )
208
+ )
209
+
210
+ # GET request
211
+ data = client.get("/api/v4/resources")
212
+
213
+ # POST with JSON body
214
+ result = client.post("/api/v4/resources", json={"name": "New Resource"})
215
+
216
+ # DELETE with body
217
+ result = client.delete("/api/v4/resources/123", json={"reason": "cleanup"})
218
+
219
+ client.close()
220
+ ```
221
+
222
+ ### Context Manager
223
+
224
+ ```python
225
+ with RestClient(base_url="https://api.example.com/", api_key="your-key") as client:
226
+ data = client.get("/api/v4/resources")
227
+ ```
228
+
229
+ ### Async Usage
230
+
231
+ ```python
232
+ import asyncio
233
+ from intapp_rest_client import RestClient, OAuth2Config
234
+
235
+ async def main():
236
+ async with RestClient(
237
+ base_url="https://api.example.com/",
238
+ oauth2_config=OAuth2Config(...)
239
+ ) as client:
240
+ # Async requests
241
+ data = await client.aget("/api/v4/resources")
242
+ result = await client.apost("/api/v4/resources", json={"name": "New"})
243
+
244
+ asyncio.run(main())
245
+ ```
246
+
247
+ ## Source
248
+
249
+ This SDK is distributed under the **Intapp License for Supplemental Software** ([LICENSE](LICENSE)). It is not open source.
250
+
251
+ Source for inspection and learning is provided via the **PyPI source distribution** (and hand-delivered tarballs built the same way).
252
+
253
+ Full documentation: [Intapp REST Client](https://api.docs.dealcloud.com/sdk/intapp-rest-client)
254
+
255
+ ## License
256
+
257
+ Intapp License — see [LICENSE](LICENSE).
258
+