socketsecurity 1.0.47__tar.gz → 2.0.3__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 (39) hide show
  1. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/PKG-INFO +84 -12
  2. socketsecurity-1.0.47/socketsecurity.egg-info/PKG-INFO → socketsecurity-2.0.3/README.md +72 -32
  3. socketsecurity-2.0.3/pyproject.toml +165 -0
  4. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/__init__.py +1 -1
  5. socketsecurity-2.0.3/socketsecurity/config.py +336 -0
  6. socketsecurity-2.0.3/socketsecurity/core/__init__.py +803 -0
  7. socketsecurity-2.0.3/socketsecurity/core/classes.py +514 -0
  8. socketsecurity-2.0.3/socketsecurity/core/cli_client.py +56 -0
  9. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/core/git_interface.py +21 -2
  10. socketsecurity-2.0.3/socketsecurity/core/logging.py +32 -0
  11. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/core/messages.py +3 -2
  12. socketsecurity-2.0.3/socketsecurity/core/scm/__init__.py +0 -0
  13. socketsecurity-2.0.3/socketsecurity/core/scm/base.py +37 -0
  14. socketsecurity-2.0.3/socketsecurity/core/scm/client.py +41 -0
  15. socketsecurity-2.0.3/socketsecurity/core/scm/github.py +215 -0
  16. socketsecurity-2.0.3/socketsecurity/core/scm/gitlab.py +159 -0
  17. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/core/scm_comments.py +5 -3
  18. socketsecurity-2.0.3/socketsecurity/core/socket_config.py +62 -0
  19. socketsecurity-2.0.3/socketsecurity/core/utils.py +85 -0
  20. socketsecurity-2.0.3/socketsecurity/output.py +93 -0
  21. socketsecurity-2.0.3/socketsecurity/socketcli.py +278 -0
  22. socketsecurity-1.0.47/README.md → socketsecurity-2.0.3/socketsecurity.egg-info/PKG-INFO +104 -8
  23. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity.egg-info/SOURCES.txt +12 -3
  24. socketsecurity-2.0.3/socketsecurity.egg-info/requires.txt +18 -0
  25. socketsecurity-1.0.47/pyproject.toml +0 -49
  26. socketsecurity-1.0.47/socketsecurity/core/__init__.py +0 -899
  27. socketsecurity-1.0.47/socketsecurity/core/classes.py +0 -457
  28. socketsecurity-1.0.47/socketsecurity/core/github.py +0 -247
  29. socketsecurity-1.0.47/socketsecurity/core/gitlab.py +0 -179
  30. socketsecurity-1.0.47/socketsecurity/socketcli.py +0 -472
  31. socketsecurity-1.0.47/socketsecurity.egg-info/requires.txt +0 -6
  32. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/LICENSE +0 -0
  33. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/setup.cfg +0 -0
  34. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/core/exceptions.py +0 -0
  35. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/core/issues.py +0 -0
  36. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity/core/licenses.py +0 -0
  37. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity.egg-info/dependency_links.txt +0 -0
  38. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity.egg-info/entry_points.txt +0 -0
  39. {socketsecurity-1.0.47 → socketsecurity-2.0.3}/socketsecurity.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: socketsecurity
3
- Version: 1.0.47
3
+ Version: 2.0.3
4
4
  Summary: Socket Security CLI for CI/CD
5
5
  Author-email: Douglas Coburn <douglas@socket.dev>
6
6
  Maintainer-email: Douglas Coburn <douglas@socket.dev>
@@ -8,8 +8,6 @@ Project-URL: Homepage, https://socket.dev
8
8
  Keywords: socketsecurity,socket.dev,sca,oss,security
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: Intended Audience :: Developers
11
- Classifier: Programming Language :: Python :: 3.9
12
- Classifier: Programming Language :: Python :: 3.10
13
11
  Classifier: Programming Language :: Python :: 3.11
14
12
  Classifier: Programming Language :: Python :: 3.12
15
13
  Requires-Python: >=3.9
@@ -20,17 +18,29 @@ Requires-Dist: mdutils
20
18
  Requires-Dist: prettytable
21
19
  Requires-Dist: GitPython
22
20
  Requires-Dist: packaging
23
- Requires-Dist: socket-sdk-python<2.0.0,>=1.0.15
21
+ Requires-Dist: python-dotenv
22
+ Requires-Dist: socket-sdk-python>=2.0.4
23
+ Provides-Extra: test
24
+ Requires-Dist: pytest>=7.4.0; extra == "test"
25
+ Requires-Dist: pytest-cov>=4.1.0; extra == "test"
26
+ Requires-Dist: pytest-mock>=3.12.0; extra == "test"
27
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "test"
28
+ Requires-Dist: pytest-watch>=4.2.0; extra == "test"
29
+ Provides-Extra: dev
30
+ Requires-Dist: ruff>=0.3.0; extra == "dev"
31
+ Requires-Dist: pip-tools>=7.4.0; extra == "dev"
24
32
 
25
33
  # Socket Security CLI
26
34
 
27
35
  The Socket Security CLI was created to enable integrations with other tools like Github Actions, Gitlab, BitBucket, local use cases and more. The tool will get the head scan for the provided repo from Socket, create a new one, and then report any new alerts detected. If there are new alerts against the Socket security policy it'll exit with a non-Zero exit code.
28
36
 
37
+
38
+
29
39
  ## Usage
30
40
 
31
41
  ```` shell
32
- socketcli [-h] [--api_token API_TOKEN] [--repo REPO] [--branch BRANCH] [--committer COMMITTER] [--pr_number PR_NUMBER]
33
- [--commit_message COMMIT_MESSAGE] [--default_branch] [--target_path TARGET_PATH] [--scm {api,github,gitlab}] [--sbom-file SBOM_FILE]
42
+ socketcli [-h] [--api-token API_TOKEN] [--repo REPO] [--branch BRANCH] [--committer COMMITTER] [--pr-number PR_NUMBER]
43
+ [--commit-message COMMIT_MESSAGE] [--default-branch] [--target-path TARGET_PATH] [--scm {api,github,gitlab}] [--sbom-file SBOM_FILE]
34
44
  [--commit-sha COMMIT_SHA] [--generate-license GENERATE_LICENSE] [-v] [--enable-debug] [--enable-json] [--enable-sarif] [--disable-overview]
35
45
  [--disable-security-issue] [--files FILES] [--ignore-commit-files] [--timeout]
36
46
  ````
@@ -41,14 +51,14 @@ If you don't want to provide the Socket API Token every time then you can use th
41
51
  | Parameter | Alternate Name | Required | Default | Description |
42
52
  |:-------------------------|:---------------|:---------|:--------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
43
53
  | -h | --help | False | | Show the CLI help message |
44
- | --api_token | | False | | Provides the Socket API Token |
54
+ | --api-token | | False | | Provides the Socket API Token |
45
55
  | --repo | | True | | The string name in a git approved name for repositories. |
46
56
  | --branch | | False | | The string name in a git approved name for branches. |
47
57
  | --committer | | False | | The string name of the person doing the commit or running the CLI. Can be specified multiple times to have more than one committer |
48
- | --pr_number | | False | 0 | The integer for the PR or MR number |
49
- | --commit_message | | False | | The string for a commit message if there is one |
50
- | --default_branch | | False | False | If the flag is specified this will signal that this is the default branch. This needs to be enabled for a report to update Org Alerts and Org Dependencies |
51
- | --target_path | | False | ./ | This is the path to where the manifest files are location. The tool will recursively search for all supported manifest files |
58
+ | --pr-number | | False | 0 | The integer for the PR or MR number |
59
+ | --commit-message | | False | | The string for a commit message if there is one |
60
+ | --default-branch | | False | False | If the flag is specified this will signal that this is the default branch. This needs to be enabled for a report to update Org Alerts and Org Dependencies |
61
+ | --target-path | | False | ./ | This is the path to where the manifest files are location. The tool will recursively search for all supported manifest files |
52
62
  | --scm | | False | api | This is the mode that the tool is to run in. For local runs `api` would be the mode. Other options are `gitlab` and `github` |
53
63
  | --generate-license | | False | False | If this flag is specified it will generate a json file with the license per package and license text in the current working directory |
54
64
  | --version | -v | False | | Prints the version and exits |
@@ -63,4 +73,66 @@ If you don't want to provide the Socket API Token every time then you can use th
63
73
  | --files | | False | | If provided in the format of `["file1", "file2"]` will be used to determine if there have been supported file changes. This is used if it isn't a git repo and you would like to only run if it supported files have changed. |
64
74
  | --ignore-commit-files | | False | False | If enabled then the CLI will ignore what files are changed in the commit and look for all manifest files |
65
75
  | --disable-blocking | | False | False | Disables failing checks and will only exit with an exit code of 0 |
66
- | --timeout | | False | 1200 | The timeout per request for the CLI |
76
+
77
+ ## Development
78
+
79
+ This project uses `pyproject.toml` as the primary dependency specification.
80
+
81
+ ### Development Workflows
82
+
83
+ The following Make targets provide streamlined workflows for common development tasks:
84
+
85
+ #### Initial Setup (Choose One)
86
+
87
+ 1. Standard Setup (using PyPI packages):
88
+ ```bash
89
+ pyenv local 3.11 # Ensure correct Python version
90
+ make first-time-setup
91
+ ```
92
+
93
+ 2. Local Development Setup (for SDK development):
94
+ ```bash
95
+ pyenv local 3.11 # Ensure correct Python version
96
+ SOCKET_SDK_PATH=~/path/to/socket-sdk-python make first-time-local-setup
97
+ ```
98
+ The default SDK path is `../socket-sdk-python` if not specified.
99
+
100
+ #### Ongoing Development Tasks
101
+
102
+ After changing dependencies in pyproject.toml:
103
+ ```bash
104
+ make update-deps
105
+ ```
106
+
107
+ After pulling changes:
108
+ ```bash
109
+ make sync-all
110
+ ```
111
+
112
+ ### Available Make targets:
113
+
114
+ High-level workflows:
115
+ - `make first-time-setup`: Complete setup using PyPI packages
116
+ - `make first-time-local-setup`: Complete setup for local SDK development
117
+ - `make update-deps`: Update requirements.txt files and sync dependencies
118
+ - `make sync-all`: Sync dependencies after pulling changes
119
+ - `make dev-setup`: Setup for local development (included in first-time-local-setup)
120
+
121
+ Implementation targets:
122
+ - `make init-tools`: Creates virtual environment and installs pip-tools
123
+ - `make local-dev`: Installs dependencies needed for local development
124
+ - `make compile-deps`: Generates requirements.txt files with locked versions
125
+ - `make setup`: Creates virtual environment and installs dependencies
126
+ - `make sync-deps`: Installs exact versions from requirements.txt
127
+ - `make clean`: Removes virtual environment and cache files
128
+ - `make test`: Runs pytest suite
129
+ - `make lint`: Runs ruff for code formatting and linting
130
+
131
+ ### Environment Variables
132
+
133
+ - `SOCKET_SDK_PATH`: Path to local socket-sdk-python repository (default: ../socket-sdk-python)
134
+
135
+ ### Running tests:
136
+
137
+ #### Run all tests:
138
+ ```
@@ -1,36 +1,14 @@
1
- Metadata-Version: 2.2
2
- Name: socketsecurity
3
- Version: 1.0.47
4
- Summary: Socket Security CLI for CI/CD
5
- Author-email: Douglas Coburn <douglas@socket.dev>
6
- Maintainer-email: Douglas Coburn <douglas@socket.dev>
7
- Project-URL: Homepage, https://socket.dev
8
- Keywords: socketsecurity,socket.dev,sca,oss,security
9
- Classifier: Development Status :: 4 - Beta
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Programming Language :: Python :: 3.9
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Requires-Python: >=3.9
16
- Description-Content-Type: text/markdown
17
- License-File: LICENSE
18
- Requires-Dist: requests
19
- Requires-Dist: mdutils
20
- Requires-Dist: prettytable
21
- Requires-Dist: GitPython
22
- Requires-Dist: packaging
23
- Requires-Dist: socket-sdk-python<2.0.0,>=1.0.15
24
-
25
1
  # Socket Security CLI
26
2
 
27
3
  The Socket Security CLI was created to enable integrations with other tools like Github Actions, Gitlab, BitBucket, local use cases and more. The tool will get the head scan for the provided repo from Socket, create a new one, and then report any new alerts detected. If there are new alerts against the Socket security policy it'll exit with a non-Zero exit code.
28
4
 
5
+
6
+
29
7
  ## Usage
30
8
 
31
9
  ```` shell
32
- socketcli [-h] [--api_token API_TOKEN] [--repo REPO] [--branch BRANCH] [--committer COMMITTER] [--pr_number PR_NUMBER]
33
- [--commit_message COMMIT_MESSAGE] [--default_branch] [--target_path TARGET_PATH] [--scm {api,github,gitlab}] [--sbom-file SBOM_FILE]
10
+ socketcli [-h] [--api-token API_TOKEN] [--repo REPO] [--branch BRANCH] [--committer COMMITTER] [--pr-number PR_NUMBER]
11
+ [--commit-message COMMIT_MESSAGE] [--default-branch] [--target-path TARGET_PATH] [--scm {api,github,gitlab}] [--sbom-file SBOM_FILE]
34
12
  [--commit-sha COMMIT_SHA] [--generate-license GENERATE_LICENSE] [-v] [--enable-debug] [--enable-json] [--enable-sarif] [--disable-overview]
35
13
  [--disable-security-issue] [--files FILES] [--ignore-commit-files] [--timeout]
36
14
  ````
@@ -41,14 +19,14 @@ If you don't want to provide the Socket API Token every time then you can use th
41
19
  | Parameter | Alternate Name | Required | Default | Description |
42
20
  |:-------------------------|:---------------|:---------|:--------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
43
21
  | -h | --help | False | | Show the CLI help message |
44
- | --api_token | | False | | Provides the Socket API Token |
22
+ | --api-token | | False | | Provides the Socket API Token |
45
23
  | --repo | | True | | The string name in a git approved name for repositories. |
46
24
  | --branch | | False | | The string name in a git approved name for branches. |
47
25
  | --committer | | False | | The string name of the person doing the commit or running the CLI. Can be specified multiple times to have more than one committer |
48
- | --pr_number | | False | 0 | The integer for the PR or MR number |
49
- | --commit_message | | False | | The string for a commit message if there is one |
50
- | --default_branch | | False | False | If the flag is specified this will signal that this is the default branch. This needs to be enabled for a report to update Org Alerts and Org Dependencies |
51
- | --target_path | | False | ./ | This is the path to where the manifest files are location. The tool will recursively search for all supported manifest files |
26
+ | --pr-number | | False | 0 | The integer for the PR or MR number |
27
+ | --commit-message | | False | | The string for a commit message if there is one |
28
+ | --default-branch | | False | False | If the flag is specified this will signal that this is the default branch. This needs to be enabled for a report to update Org Alerts and Org Dependencies |
29
+ | --target-path | | False | ./ | This is the path to where the manifest files are location. The tool will recursively search for all supported manifest files |
52
30
  | --scm | | False | api | This is the mode that the tool is to run in. For local runs `api` would be the mode. Other options are `gitlab` and `github` |
53
31
  | --generate-license | | False | False | If this flag is specified it will generate a json file with the license per package and license text in the current working directory |
54
32
  | --version | -v | False | | Prints the version and exits |
@@ -63,4 +41,66 @@ If you don't want to provide the Socket API Token every time then you can use th
63
41
  | --files | | False | | If provided in the format of `["file1", "file2"]` will be used to determine if there have been supported file changes. This is used if it isn't a git repo and you would like to only run if it supported files have changed. |
64
42
  | --ignore-commit-files | | False | False | If enabled then the CLI will ignore what files are changed in the commit and look for all manifest files |
65
43
  | --disable-blocking | | False | False | Disables failing checks and will only exit with an exit code of 0 |
66
- | --timeout | | False | 1200 | The timeout per request for the CLI |
44
+
45
+ ## Development
46
+
47
+ This project uses `pyproject.toml` as the primary dependency specification.
48
+
49
+ ### Development Workflows
50
+
51
+ The following Make targets provide streamlined workflows for common development tasks:
52
+
53
+ #### Initial Setup (Choose One)
54
+
55
+ 1. Standard Setup (using PyPI packages):
56
+ ```bash
57
+ pyenv local 3.11 # Ensure correct Python version
58
+ make first-time-setup
59
+ ```
60
+
61
+ 2. Local Development Setup (for SDK development):
62
+ ```bash
63
+ pyenv local 3.11 # Ensure correct Python version
64
+ SOCKET_SDK_PATH=~/path/to/socket-sdk-python make first-time-local-setup
65
+ ```
66
+ The default SDK path is `../socket-sdk-python` if not specified.
67
+
68
+ #### Ongoing Development Tasks
69
+
70
+ After changing dependencies in pyproject.toml:
71
+ ```bash
72
+ make update-deps
73
+ ```
74
+
75
+ After pulling changes:
76
+ ```bash
77
+ make sync-all
78
+ ```
79
+
80
+ ### Available Make targets:
81
+
82
+ High-level workflows:
83
+ - `make first-time-setup`: Complete setup using PyPI packages
84
+ - `make first-time-local-setup`: Complete setup for local SDK development
85
+ - `make update-deps`: Update requirements.txt files and sync dependencies
86
+ - `make sync-all`: Sync dependencies after pulling changes
87
+ - `make dev-setup`: Setup for local development (included in first-time-local-setup)
88
+
89
+ Implementation targets:
90
+ - `make init-tools`: Creates virtual environment and installs pip-tools
91
+ - `make local-dev`: Installs dependencies needed for local development
92
+ - `make compile-deps`: Generates requirements.txt files with locked versions
93
+ - `make setup`: Creates virtual environment and installs dependencies
94
+ - `make sync-deps`: Installs exact versions from requirements.txt
95
+ - `make clean`: Removes virtual environment and cache files
96
+ - `make test`: Runs pytest suite
97
+ - `make lint`: Runs ruff for code formatting and linting
98
+
99
+ ### Environment Variables
100
+
101
+ - `SOCKET_SDK_PATH`: Path to local socket-sdk-python repository (default: ../socket-sdk-python)
102
+
103
+ ### Running tests:
104
+
105
+ #### Run all tests:
106
+ ```
@@ -0,0 +1,165 @@
1
+ [build-system]
2
+ requires = ["setuptools >= 61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "socketsecurity"
7
+ dynamic = ["version"]
8
+ requires-python = ">= 3.9"
9
+ dependencies = [
10
+ 'requests',
11
+ 'mdutils',
12
+ 'prettytable',
13
+ 'GitPython',
14
+ 'packaging',
15
+ 'python-dotenv',
16
+ 'socket-sdk-python>=2.0.4'
17
+ ]
18
+ readme = "README.md"
19
+ description = "Socket Security CLI for CI/CD"
20
+ keywords = ["socketsecurity", "socket.dev", "sca", "oss", "security"]
21
+ authors = [
22
+ {name = "Douglas Coburn", email = "douglas@socket.dev"}
23
+ ]
24
+ maintainers = [
25
+ {name = "Douglas Coburn", email = "douglas@socket.dev"}
26
+ ]
27
+ classifiers = [
28
+ "Development Status :: 4 - Beta",
29
+ "Intended Audience :: Developers",
30
+ "Programming Language :: Python :: 3.11",
31
+ "Programming Language :: Python :: 3.12",
32
+ ]
33
+
34
+ [project.optional-dependencies]
35
+ test = [
36
+ "pytest>=7.4.0",
37
+ "pytest-cov>=4.1.0",
38
+ "pytest-mock>=3.12.0",
39
+ "pytest-asyncio>=0.23.0",
40
+ "pytest-watch >=4.2.0"
41
+ ]
42
+ dev = [
43
+ "ruff>=0.3.0",
44
+ "pip-tools>=7.4.0", # for pip-compile
45
+ ]
46
+
47
+ [project.scripts]
48
+ socketcli = "socketsecurity.socketcli:cli"
49
+
50
+ [project.urls]
51
+ Homepage = "https://socket.dev"
52
+
53
+ [tool.setuptools.packages.find]
54
+ include = [
55
+ "socketsecurity*"
56
+ ]
57
+
58
+ [tool.setuptools.dynamic]
59
+ version = {attr = "socketsecurity.__version__"}
60
+
61
+
62
+
63
+ [tool.coverage.run]
64
+ source = ["socketsecurity"]
65
+ branch = true
66
+ include = [
67
+ "socketsecurity/**/*.py",
68
+ "socketsecurity/**/__init__.py"
69
+ ]
70
+ omit = [
71
+ "socketsecurity/core/issues.py", # Large data file
72
+ "socketsecurity/core/licenses.py" # Large data file
73
+ ]
74
+
75
+ [tool.coverage.report]
76
+ exclude_lines = [
77
+ "pragma: no cover",
78
+ "def __repr__",
79
+ "if __name__ == .__main__.:",
80
+ "raise NotImplementedError",
81
+ "if TYPE_CHECKING:",
82
+ ]
83
+ show_missing = true
84
+ skip_empty = true
85
+
86
+ [tool.ruff]
87
+ # Exclude a variety of commonly ignored directories.
88
+ exclude = [
89
+ ".bzr",
90
+ ".direnv",
91
+ ".eggs",
92
+ ".git",
93
+ ".git-rewrite",
94
+ ".hg",
95
+ ".ipynb_checkpoints",
96
+ ".mypy_cache",
97
+ ".nox",
98
+ ".pants.d",
99
+ ".pyenv",
100
+ ".pytest_cache",
101
+ ".pytype",
102
+ ".ruff_cache",
103
+ ".svn",
104
+ ".tox",
105
+ ".venv",
106
+ ".vscode",
107
+ "__pypackages__",
108
+ "_build",
109
+ "buck-out",
110
+ "build",
111
+ "dist",
112
+ "node_modules",
113
+ "site-packages",
114
+ "venv",
115
+ ]
116
+
117
+ [tool.ruff.lint]
118
+ # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
119
+ # Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
120
+ # McCabe complexity (`C901`) by default.
121
+ select = [
122
+ "E4", "E7", "E9", "F", # Current rules
123
+ "I", # isort
124
+ "F401", # Unused imports
125
+ "F403", # Star imports
126
+ "F405", # Star imports undefined
127
+ "F821", # Undefined names
128
+ ]
129
+
130
+ # Allow fix for all enabled rules (when `--fix`) is provided.
131
+ fixable = ["ALL"]
132
+ unfixable = []
133
+
134
+ # Allow unused variables when underscore-prefixed.
135
+ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
136
+
137
+ [tool.ruff.lint.isort]
138
+ known-first-party = ["socketsecurity"]
139
+
140
+ [tool.ruff.format]
141
+ # Like Black, use double quotes for strings.
142
+ quote-style = "double"
143
+
144
+ # Like Black, indent with spaces, rather than tabs.
145
+ indent-style = "space"
146
+
147
+ # Like Black, respect magic trailing commas.
148
+ skip-magic-trailing-comma = false
149
+
150
+ # Like Black, automatically detect the appropriate line ending.
151
+ line-ending = "auto"
152
+
153
+ # Enable auto-formatting of code examples in docstrings. Markdown,
154
+ # reStructuredText code/literal blocks and doctests are all supported.
155
+ #
156
+ # This is currently disabled by default, but it is planned for this
157
+ # to be opt-out in the future.
158
+ docstring-code-format = false
159
+
160
+ # Set the line length limit used when formatting code snippets in
161
+ # docstrings.
162
+ #
163
+ # This only has an effect when the `docstring-code-format` setting is
164
+ # enabled.
165
+ docstring-code-line-length = "dynamic"
@@ -1,2 +1,2 @@
1
1
  __author__ = 'socket.dev'
2
- __version__ = '1.0.47'
2
+ __version__ = '2.0.3'