salespyforce 1.4.0.dev2__tar.gz → 1.5.0__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 (37) hide show
  1. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/PKG-INFO +68 -19
  2. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/README.md +44 -11
  3. salespyforce-1.5.0/pyproject.toml +115 -0
  4. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/src/salespyforce/__init__.py +6 -6
  5. salespyforce-1.5.0/src/salespyforce/api.py +296 -0
  6. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/src/salespyforce/chatter.py +94 -56
  7. salespyforce-1.5.0/src/salespyforce/constants.py +676 -0
  8. salespyforce-1.5.0/src/salespyforce/core.py +1683 -0
  9. salespyforce-1.5.0/src/salespyforce/decorators.py +59 -0
  10. salespyforce-1.5.0/src/salespyforce/errors/exceptions.py +433 -0
  11. salespyforce-1.5.0/src/salespyforce/errors/handlers.py +51 -0
  12. salespyforce-1.5.0/src/salespyforce/knowledge.py +852 -0
  13. salespyforce-1.5.0/src/salespyforce/utils/core_utils.py +313 -0
  14. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/src/salespyforce/utils/helper.py +41 -38
  15. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/src/salespyforce/utils/log_utils.py +58 -19
  16. salespyforce-1.5.0/src/salespyforce/utils/version.py +105 -0
  17. salespyforce-1.4.0.dev2/pyproject.toml +0 -62
  18. salespyforce-1.4.0.dev2/src/salespyforce/api.py +0 -172
  19. salespyforce-1.4.0.dev2/src/salespyforce/core.py +0 -953
  20. salespyforce-1.4.0.dev2/src/salespyforce/errors/exceptions.py +0 -389
  21. salespyforce-1.4.0.dev2/src/salespyforce/errors/handlers.py +0 -15
  22. salespyforce-1.4.0.dev2/src/salespyforce/knowledge.py +0 -547
  23. salespyforce-1.4.0.dev2/src/salespyforce/utils/core_utils.py +0 -194
  24. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/__init__.py +0 -8
  25. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/conftest.py +0 -202
  26. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/resources.py +0 -157
  27. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_core_utils.py +0 -234
  28. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_instantiate_object.py +0 -62
  29. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_log_utils.py +0 -79
  30. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_sobjects.py +0 -65
  31. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_soql.py +0 -23
  32. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_sosl.py +0 -29
  33. salespyforce-1.4.0.dev2/src/salespyforce/utils/tests/test_version_utils.py +0 -70
  34. salespyforce-1.4.0.dev2/src/salespyforce/utils/version.py +0 -52
  35. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/LICENSE +0 -0
  36. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/src/salespyforce/errors/__init__.py +0 -0
  37. {salespyforce-1.4.0.dev2 → salespyforce-1.5.0}/src/salespyforce/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: salespyforce
3
- Version: 1.4.0.dev2
3
+ Version: 1.5.0
4
4
  Summary: A Python toolset for performing Salesforce API calls
5
5
  License: MIT License
6
6
 
@@ -23,13 +23,24 @@ License: MIT License
23
23
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
24
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
25
  SOFTWARE.
26
- Keywords: salesforce,sfdc,api,rest,tooling,python
26
+ Keywords: salesforce,sfdc,sfdx,api,rest,tooling,python
27
27
  Author: Jeff Shurtliff
28
28
  Author-email: jeffshurtliff@gmail.com
29
+ Maintainer: Jeff Shurtliff
30
+ Maintainer-email: jeffshurtliff@gmail.com
29
31
  Requires-Python: >=3.9,<4.0
30
- Classifier: Development Status :: 4 - Beta
31
- Classifier: Intended Audience :: Developers
32
+ Classifier: Development Status :: 5 - Production/Stable
32
33
  Classifier: License :: OSI Approved :: MIT License
34
+ Classifier: License :: Freely Distributable
35
+ Classifier: Intended Audience :: Information Technology
36
+ Classifier: Intended Audience :: System Administrators
37
+ Classifier: Intended Audience :: Developers
38
+ Classifier: Environment :: Web Environment
39
+ Classifier: Operating System :: OS Independent
40
+ Classifier: Topic :: Internet :: WWW/HTTP
41
+ Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
42
+ Classifier: Topic :: Software Development :: Libraries
43
+ Classifier: Topic :: System :: Systems Administration
33
44
  Classifier: Programming Language :: Python :: 3
34
45
  Classifier: Programming Language :: Python :: 3 :: Only
35
46
  Classifier: Programming Language :: Python :: 3.9
@@ -37,17 +48,22 @@ Classifier: Programming Language :: Python :: 3.10
37
48
  Classifier: Programming Language :: Python :: 3.11
38
49
  Classifier: Programming Language :: Python :: 3.12
39
50
  Classifier: Programming Language :: Python :: 3.13
40
- Classifier: Topic :: Software Development :: Libraries
41
- Classifier: Topic :: Internet :: WWW/HTTP
42
51
  Requires-Dist: PyYAML (>=6.0.3,<7)
43
- Requires-Dist: requests (>=2.32.5)
44
- Project-URL: Documentation, https://salespyforce.readthedocs.io/en/latest/
52
+ Requires-Dist: certifi (>=2024.7.4)
53
+ Requires-Dist: idna (>=3.15,<4)
54
+ Requires-Dist: requests (>=2.32.5,<2.33.0) ; python_version < "3.10"
55
+ Requires-Dist: requests (>=2.33.0,<3) ; python_version >= "3.10"
56
+ Requires-Dist: tomli (>=2.0.0) ; python_version < "3.11"
57
+ Requires-Dist: urllib3 (>=2.6.3,<2.7.0) ; python_version < "3.10"
58
+ Requires-Dist: urllib3 (>=2.7.0,<3) ; python_version >= "3.10"
59
+ Project-URL: Changelog, https://salespyforce.readthedocs.io/en/latest/CHANGELOG.html
60
+ Project-URL: Documentation, https://salespyforce.readthedocs.io/en/stable/
45
61
  Project-URL: Homepage, https://github.com/jeffshurtliff/salespyforce
46
62
  Project-URL: Issue Tracker, https://github.com/jeffshurtliff/salespyforce/issues
47
63
  Project-URL: Repository, https://github.com/jeffshurtliff/salespyforce
48
64
  Description-Content-Type: text/markdown
49
65
 
50
- # salespyforce
66
+ # SalesPyForce
51
67
  A Python toolset for performing Salesforce API calls
52
68
 
53
69
  <table>
@@ -63,24 +79,24 @@ A Python toolset for performing Salesforce API calls
63
79
  <td>Latest Beta/RC Release</td>
64
80
  <td>
65
81
  <a href='https://pypi.org/project/salespyforce/#history'>
66
- <img alt="PyPI" src="https://img.shields.io/badge/pypi-1.4.0.dev1-blue">
82
+ <img alt="PyPI" src="https://img.shields.io/badge/pypi-1.4.0.rc0-blue">
67
83
  </a>
68
84
  </td>
69
85
  </tr>
70
86
  <tr>
71
87
  <td>Build Status</td>
72
88
  <td>
73
- <a href="https://github.com/jeffshurtliff/salespyforce/blob/master/.github/workflows/pythonpackage.yml">
89
+ <a href="https://github.com/jeffshurtliff/salespyforce/blob/master/.github/workflows/ci.yml">
74
90
  <img alt="GitHub Workflow Status"
75
- src="https://img.shields.io/github/actions/workflow/status/jeffshurtliff/salespyforce/pythonpackage.yml?branch=master">
91
+ src="https://img.shields.io/github/actions/workflow/status/jeffshurtliff/salespyforce/ci.yml?branch=master">
76
92
  </a>
77
93
  </td>
78
94
  </tr>
79
95
  <tr>
80
96
  <td>Supported Versions</td>
81
97
  <td>
82
- <a href='https://pypi.org/project/salespyforce/'>
83
- <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/salespyforce">
98
+ <a href="https://pypi.org/project/salespyforce/">
99
+ <img alt="PyPI - Supported Python Versions" src="https://img.shields.io/pypi/pyversions/salespyforce">
84
100
  </a>
85
101
  </td>
86
102
  </tr>
@@ -95,8 +111,8 @@ A Python toolset for performing Salesforce API calls
95
111
  <tr>
96
112
  <td>Documentation</td>
97
113
  <td>
98
- <a href='https://salespyforce.readthedocs.io/en/latest/?badge=latest'>
99
- <img src='https://readthedocs.org/projects/salespyforce/badge/?version=latest' alt='Documentation Status' />
114
+ <a href="https://salespyforce.readthedocs.io/en/latest/?badge=latest">
115
+ <img src="https://readthedocs.org/projects/salespyforce/badge/?version=latest" alt="Documentation Status" />
100
116
  </a>
101
117
  </td>
102
118
  </tr>
@@ -145,14 +161,47 @@ salespyforce is a Python toolkit focused on interacting with Salesforce APIs, wi
145
161
  that centralizes authentication, version selection, and access to helper feature sets (Chatter, Knowledge).
146
162
 
147
163
  ## Installation
164
+
165
+ > [!IMPORTANT]
166
+ > SalesPyForce `1.5.0` is the final release that supports Python `3.9`, `3.10`, and `3.11`.<br>
167
+ > SalesPyForce `2.0.0` and newer will require Python `3.12` or newer.
168
+
148
169
  The package can be installed via pip using the syntax below.
149
170
 
150
171
  ```sh
151
172
  pip install salespyforce --upgrade
152
173
  ```
153
174
 
154
- ## Change Log
155
- The change log can be found in the [documentation](https://salespyforce.readthedocs.io/en/latest/changelog.html).
175
+ ## Development and Testing
176
+ For local development, this repository uses split test directories:
177
+ `tests/unit/` and `tests/integration/`.
178
+
179
+ ```sh
180
+ poetry install
181
+ poetry run pytest -q
182
+ ```
183
+
184
+ ### Development Quality Checks
185
+
186
+ This repository uses [Ruff](https://docs.astral.sh/ruff/) for linting, import sorting, and formatting.
187
+ The standard maximum line length for this package is `130` characters.
188
+
189
+ Line-length exceptions should be rare and limited to comments or special cases where wrapping harms readability.
190
+ When an exception is required, use a targeted per-line `# noqa: E501` comment.
191
+
192
+ ```sh
193
+ poetry run ruff check .
194
+ poetry run ruff check . --fix
195
+ poetry run ruff format .
196
+ poetry run ruff format --check .
197
+ ```
198
+
199
+ These checks are enforced in CI via `.github/workflows/ci.yml`.
200
+
201
+ ## Changelog
202
+ The changelog can be found in the [documentation](https://salespyforce.readthedocs.io) for the
203
+ [stable](https://salespyforce.readthedocs.io/en/stable/CHANGELOG.html) and
204
+ [latest](https://salespyforce.readthedocs.io/en/latest/CHANGELOG.html) versions.
156
205
 
157
206
  ## Usage
158
207
  This section provides basic usage instructions for the package.
@@ -233,7 +282,7 @@ sfdc = Salesforce(helper=HELPER_FILE)
233
282
  ```
234
283
 
235
284
  ## Documentation
236
- The documentation is located here: [https://salespyforce.readthedocs.io/en/latest/](https://salespyforce.readthedocs.io/en/latest/)
285
+ The documentation is located here: [https://salespyforce.readthedocs.io/en/stable/](https://salespyforce.readthedocs.io/en/stable/)
237
286
 
238
287
  ## License
239
288
  [MIT License](https://github.com/jeffshurtliff/salespyforce/blob/master/LICENSE)
@@ -1,4 +1,4 @@
1
- # salespyforce
1
+ # SalesPyForce
2
2
  A Python toolset for performing Salesforce API calls
3
3
 
4
4
  <table>
@@ -14,24 +14,24 @@ A Python toolset for performing Salesforce API calls
14
14
  <td>Latest Beta/RC Release</td>
15
15
  <td>
16
16
  <a href='https://pypi.org/project/salespyforce/#history'>
17
- <img alt="PyPI" src="https://img.shields.io/badge/pypi-1.4.0.dev1-blue">
17
+ <img alt="PyPI" src="https://img.shields.io/badge/pypi-1.4.0.rc0-blue">
18
18
  </a>
19
19
  </td>
20
20
  </tr>
21
21
  <tr>
22
22
  <td>Build Status</td>
23
23
  <td>
24
- <a href="https://github.com/jeffshurtliff/salespyforce/blob/master/.github/workflows/pythonpackage.yml">
24
+ <a href="https://github.com/jeffshurtliff/salespyforce/blob/master/.github/workflows/ci.yml">
25
25
  <img alt="GitHub Workflow Status"
26
- src="https://img.shields.io/github/actions/workflow/status/jeffshurtliff/salespyforce/pythonpackage.yml?branch=master">
26
+ src="https://img.shields.io/github/actions/workflow/status/jeffshurtliff/salespyforce/ci.yml?branch=master">
27
27
  </a>
28
28
  </td>
29
29
  </tr>
30
30
  <tr>
31
31
  <td>Supported Versions</td>
32
32
  <td>
33
- <a href='https://pypi.org/project/salespyforce/'>
34
- <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/salespyforce">
33
+ <a href="https://pypi.org/project/salespyforce/">
34
+ <img alt="PyPI - Supported Python Versions" src="https://img.shields.io/pypi/pyversions/salespyforce">
35
35
  </a>
36
36
  </td>
37
37
  </tr>
@@ -46,8 +46,8 @@ A Python toolset for performing Salesforce API calls
46
46
  <tr>
47
47
  <td>Documentation</td>
48
48
  <td>
49
- <a href='https://salespyforce.readthedocs.io/en/latest/?badge=latest'>
50
- <img src='https://readthedocs.org/projects/salespyforce/badge/?version=latest' alt='Documentation Status' />
49
+ <a href="https://salespyforce.readthedocs.io/en/latest/?badge=latest">
50
+ <img src="https://readthedocs.org/projects/salespyforce/badge/?version=latest" alt="Documentation Status" />
51
51
  </a>
52
52
  </td>
53
53
  </tr>
@@ -96,14 +96,47 @@ salespyforce is a Python toolkit focused on interacting with Salesforce APIs, wi
96
96
  that centralizes authentication, version selection, and access to helper feature sets (Chatter, Knowledge).
97
97
 
98
98
  ## Installation
99
+
100
+ > [!IMPORTANT]
101
+ > SalesPyForce `1.5.0` is the final release that supports Python `3.9`, `3.10`, and `3.11`.<br>
102
+ > SalesPyForce `2.0.0` and newer will require Python `3.12` or newer.
103
+
99
104
  The package can be installed via pip using the syntax below.
100
105
 
101
106
  ```sh
102
107
  pip install salespyforce --upgrade
103
108
  ```
104
109
 
105
- ## Change Log
106
- The change log can be found in the [documentation](https://salespyforce.readthedocs.io/en/latest/changelog.html).
110
+ ## Development and Testing
111
+ For local development, this repository uses split test directories:
112
+ `tests/unit/` and `tests/integration/`.
113
+
114
+ ```sh
115
+ poetry install
116
+ poetry run pytest -q
117
+ ```
118
+
119
+ ### Development Quality Checks
120
+
121
+ This repository uses [Ruff](https://docs.astral.sh/ruff/) for linting, import sorting, and formatting.
122
+ The standard maximum line length for this package is `130` characters.
123
+
124
+ Line-length exceptions should be rare and limited to comments or special cases where wrapping harms readability.
125
+ When an exception is required, use a targeted per-line `# noqa: E501` comment.
126
+
127
+ ```sh
128
+ poetry run ruff check .
129
+ poetry run ruff check . --fix
130
+ poetry run ruff format .
131
+ poetry run ruff format --check .
132
+ ```
133
+
134
+ These checks are enforced in CI via `.github/workflows/ci.yml`.
135
+
136
+ ## Changelog
137
+ The changelog can be found in the [documentation](https://salespyforce.readthedocs.io) for the
138
+ [stable](https://salespyforce.readthedocs.io/en/stable/CHANGELOG.html) and
139
+ [latest](https://salespyforce.readthedocs.io/en/latest/CHANGELOG.html) versions.
107
140
 
108
141
  ## Usage
109
142
  This section provides basic usage instructions for the package.
@@ -184,7 +217,7 @@ sfdc = Salesforce(helper=HELPER_FILE)
184
217
  ```
185
218
 
186
219
  ## Documentation
187
- The documentation is located here: [https://salespyforce.readthedocs.io/en/latest/](https://salespyforce.readthedocs.io/en/latest/)
220
+ The documentation is located here: [https://salespyforce.readthedocs.io/en/stable/](https://salespyforce.readthedocs.io/en/stable/)
188
221
 
189
222
  ## License
190
223
  [MIT License](https://github.com/jeffshurtliff/salespyforce/blob/master/LICENSE)
@@ -0,0 +1,115 @@
1
+ # --------------------------------------------------------------------
2
+ # Core Project Configuration
3
+ # --------------------------------------------------------------------
4
+ [project]
5
+ name = "salespyforce"
6
+ version = "1.5.0"
7
+ description = "A Python toolset for performing Salesforce API calls"
8
+ readme = "README.md"
9
+ requires-python = ">=3.9,<4.0"
10
+ license = { file = "LICENSE" }
11
+ authors = [
12
+ { name = "Jeff Shurtliff", email = "jeffshurtliff@gmail.com" }
13
+ ]
14
+ maintainers = [
15
+ { name = "Jeff Shurtliff", email = "jeffshurtliff@gmail.com" }
16
+ ]
17
+ keywords = ["salesforce", "sfdc", "sfdx", "api", "rest", "tooling", "python"]
18
+
19
+ classifiers = [
20
+ # Project maturity
21
+ "Development Status :: 5 - Production/Stable",
22
+
23
+ # License
24
+ "License :: OSI Approved :: MIT License",
25
+ "License :: Freely Distributable",
26
+
27
+ # Intended audience and environment
28
+ "Intended Audience :: Information Technology",
29
+ "Intended Audience :: System Administrators",
30
+ "Intended Audience :: Developers",
31
+ "Environment :: Web Environment",
32
+ "Operating System :: OS Independent",
33
+ "Topic :: Internet :: WWW/HTTP",
34
+ "Topic :: Internet :: WWW/HTTP :: Site Management",
35
+ "Topic :: Software Development :: Libraries",
36
+ "Topic :: System :: Systems Administration",
37
+
38
+ # Supported Python versions
39
+ "Programming Language :: Python :: 3",
40
+ "Programming Language :: Python :: 3 :: Only",
41
+ "Programming Language :: Python :: 3.9",
42
+ "Programming Language :: Python :: 3.10",
43
+ "Programming Language :: Python :: 3.11",
44
+ "Programming Language :: Python :: 3.12",
45
+ "Programming Language :: Python :: 3.13",
46
+ ]
47
+
48
+ dependencies = [
49
+ "PyYAML>=6.0.3,<7",
50
+ "requests>=2.32.5,<2.33.0; python_version < '3.10'",
51
+ "requests>=2.33.0,<3; python_version >= '3.10'",
52
+ "urllib3>=2.6.3,<2.7.0; python_version < '3.10'",
53
+ "urllib3>=2.7.0,<3; python_version >= '3.10'",
54
+ "idna>=3.15,<4",
55
+ "certifi>=2024.7.4", # Explicit pin to mitigate CA removals (e-Tugra, GLOBALTRUST)
56
+
57
+ # Backport of tomllib for Python < 3.11
58
+ "tomli>=2.0.0; python_version < '3.11'",
59
+ ]
60
+
61
+ [project.urls]
62
+ Homepage = "https://github.com/jeffshurtliff/salespyforce"
63
+ Repository = "https://github.com/jeffshurtliff/salespyforce"
64
+ Documentation = "https://salespyforce.readthedocs.io/en/stable/"
65
+ Changelog = "https://salespyforce.readthedocs.io/en/latest/CHANGELOG.html"
66
+ "Issue Tracker" = "https://github.com/jeffshurtliff/salespyforce/issues"
67
+
68
+ # --------------------------------------------------------------------
69
+ # Poetry-specific Configuration
70
+ # --------------------------------------------------------------------
71
+ [tool.poetry]
72
+ packages = [
73
+ { include = "salespyforce", from = "src" }
74
+ ]
75
+
76
+ include = ["LICENSE", "README.md"]
77
+
78
+ [tool.poetry.group.dev.dependencies]
79
+ pytest = [
80
+ { version = ">=8.4.2,<9", python = ">=3.9,<3.10" },
81
+ { version = ">=9.0.3,<10", python = ">=3.10" },
82
+ ]
83
+ pytest-cov = "^7.0.0"
84
+ bandit = { version = "^1.7.8", extras = ["sarif"] }
85
+ Sphinx = "^7.4.7"
86
+ pydata-sphinx-theme = "^0.15.4"
87
+ myst-parser = "^3.0.1"
88
+ sphinx-favicon = "^1.0.1"
89
+ ruff = "^0.15.8"
90
+ soupsieve = ">=2.8.4,<3"
91
+ pygments = ">=2.20.0,<3"
92
+ twine = ">=6.2.0,<7"
93
+
94
+ [tool.ruff]
95
+ target-version = "py39"
96
+ line-length = 130
97
+ src = ["src", "tests"]
98
+ extend-exclude = ["docs_legacy"]
99
+
100
+ [tool.ruff.lint]
101
+ select = ["E", "F", "I", "UP"]
102
+ ignore = ["UP006", "UP007", "UP009", "UP035", "UP045"]
103
+
104
+ [tool.ruff.format]
105
+ quote-style = "single"
106
+ indent-style = "space"
107
+ line-ending = "lf"
108
+
109
+ [tool.pytest.ini_options]
110
+ testpaths = ["tests/unit", "tests/integration"]
111
+ pythonpath = ["src"]
112
+
113
+ [build-system]
114
+ requires = ["poetry-core>=1.2.0"]
115
+ build-backend = "poetry.core.masonry.api"
@@ -3,8 +3,8 @@
3
3
  :Module: salespyforce
4
4
  :Synopsis: This is the ``__init__`` module for the salespyforce package
5
5
  :Created By: Jeff Shurtliff
6
- :Last Modified: Jeff Shurtliff
7
- :Modified Date: 08 May 2023
6
+ :Last Modified: Jeff Shurtliff (via GPT-5.5-codex)
7
+ :Modified Date: 15 Jul 2026
8
8
  """
9
9
 
10
10
  from . import core
@@ -27,8 +27,7 @@ def define_connection_info():
27
27
 
28
28
 
29
29
  # Allow the core.compile_connection_info() function to be executed directly
30
- def compile_connection_info(base_url, org_id, username, password, endpoint_url,
31
- client_id, client_secret, security_token):
30
+ def compile_connection_info(base_url, org_id, username, password, endpoint_url, client_id, client_secret, security_token):
32
31
  """This function compiles the connection info into a dictionary that can be consumed by the core object.
33
32
 
34
33
  :param base_url: The base URL of the Salesforce instance
@@ -49,5 +48,6 @@ def compile_connection_info(base_url, org_id, username, password, endpoint_url,
49
48
  :type security_token: str
50
49
  :returns: The connection info in a dictionary
51
50
  """
52
- return core.compile_connection_info(base_url, org_id, username, password, endpoint_url,
53
- client_id, client_secret, security_token)
51
+ return core.compile_connection_info(
52
+ base_url, org_id, username, password, endpoint_url, client_id, client_secret, security_token
53
+ )