polymarket-apis 0.3.4__tar.gz → 0.3.5__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.

Potentially problematic release.


This version of polymarket-apis might be problematic. Click here for more details.

Files changed (57) hide show
  1. polymarket_apis-0.3.5/.idea/workspace.xml +119 -0
  2. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/PKG-INFO +5 -2
  3. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/README.md +3 -1
  4. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/pyproject.toml +5 -1
  5. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/__init__.py +1 -1
  6. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/clob_client.py +35 -23
  7. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/types/common.py +5 -3
  8. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/helpers.py +4 -4
  9. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/uv.lock +12 -10
  10. polymarket_apis-0.3.4/.idea/MypyPlugin.xml +0 -8
  11. polymarket_apis-0.3.4/.idea/copilot.data.migration.ask.xml +0 -6
  12. polymarket_apis-0.3.4/.idea/copilot.data.migration.ask2agent.xml +0 -6
  13. polymarket_apis-0.3.4/.idea/misc.xml +0 -10
  14. polymarket_apis-0.3.4/.idea/polymarket-apis.iml +0 -7
  15. polymarket_apis-0.3.4/.idea/vcs.xml +0 -6
  16. polymarket_apis-0.3.4/.idea/workspace.xml +0 -115
  17. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/.github/workflows/ruff.yml +0 -0
  18. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/.gitignore +0 -0
  19. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/.pre-commit-hooks.yaml +0 -0
  20. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/requirements-dev.lock +0 -0
  21. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/requirements.lock +0 -0
  22. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/__init__.py +0 -0
  23. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/data_client.py +0 -0
  24. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/gamma_client.py +0 -0
  25. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/graphql_client.py +0 -0
  26. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/web3_client.py +0 -0
  27. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/clients/websockets_client.py +0 -0
  28. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/types/__init__.py +0 -0
  29. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/types/clob_types.py +0 -0
  30. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/types/data_types.py +0 -0
  31. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/types/gamma_types.py +0 -0
  32. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/types/websockets_types.py +0 -0
  33. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/__init__.py +0 -0
  34. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/config.py +0 -0
  35. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/constants.py +0 -0
  36. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/endpoints.py +0 -0
  37. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/exceptions.py +0 -0
  38. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/headers.py +0 -0
  39. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/order_builder/__init__.py +0 -0
  40. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/order_builder/builder.py +0 -0
  41. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/order_builder/helpers.py +0 -0
  42. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/signing/__init__.py +0 -0
  43. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/signing/eip712.py +0 -0
  44. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/signing/hmac.py +0 -0
  45. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/signing/model.py +0 -0
  46. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/signing/signer.py +0 -0
  47. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/__init__.py +0 -0
  48. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/CTFExchange.json +0 -0
  49. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/ConditionalTokens.json +0 -0
  50. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/NegRiskAdapter.json +0 -0
  51. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/NegRiskCtfExchange.json +0 -0
  52. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/ProxyWalletFactory.json +0 -0
  53. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/Safe.json +0 -0
  54. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/SafeProxyFactory.json +0 -0
  55. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/UChildERC20Proxy.json +0 -0
  56. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/__init__.py +0 -0
  57. {polymarket_apis-0.3.4 → polymarket_apis-0.3.5}/src/polymarket_apis/utilities/web3/abis/custom_contract_errors.py +0 -0
@@ -0,0 +1,119 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
6
+ <component name="ChangeListManager">
7
+ <list default="true" id="9cbf4d21-9d0c-43a0-80fe-b72fdf89ce0d" name="Changes" comment="lint fix">
8
+ <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
10
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/__init__.py" afterDir="false" />
11
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/clients/clob_client.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/clients/clob_client.py" afterDir="false" />
12
+ </list>
13
+ <option name="SHOW_DIALOG" value="false" />
14
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
15
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
16
+ <option name="LAST_RESOLUTION" value="IGNORE" />
17
+ </component>
18
+ <component name="FileTemplateManagerImpl">
19
+ <option name="RECENT_TEMPLATES">
20
+ <list>
21
+ <option value="Jupyter Notebook" />
22
+ </list>
23
+ </option>
24
+ </component>
25
+ <component name="Git.Settings">
26
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
27
+ </component>
28
+ <component name="GitHubPullRequestSearchHistory">{
29
+ &quot;lastFilter&quot;: {
30
+ &quot;state&quot;: &quot;OPEN&quot;,
31
+ &quot;assignee&quot;: &quot;qualiaenjoyer&quot;
32
+ }
33
+ }</component>
34
+ <component name="GithubPullRequestsUISettings">{
35
+ &quot;selectedUrlAndAccountId&quot;: {
36
+ &quot;url&quot;: &quot;https://github.com/qualiaenjoyer/polymarket-apis&quot;,
37
+ &quot;accountId&quot;: &quot;23ce466d-36d9-4058-83a4-50b6bb4e2918&quot;
38
+ }
39
+ }</component>
40
+ <component name="HighlightingSettingsPerFile">
41
+ <setting file="file://$USER_HOME$/poly/polymarket-apis/.venv/lib/python3.13/site-packages/httpx/_client.py" root0="SKIP_INSPECTION" />
42
+ </component>
43
+ <component name="ProblemsViewState">
44
+ <option name="selectedTabId" value="CurrentFile" />
45
+ </component>
46
+ <component name="ProjectColorInfo">{
47
+ &quot;customColor&quot;: &quot;&quot;,
48
+ &quot;associatedIndex&quot;: 5
49
+ }</component>
50
+ <component name="ProjectId" id="34HNc0USmRKn5QdD9z5lxgd2ljx" />
51
+ <component name="ProjectViewState">
52
+ <option name="hideEmptyMiddlePackages" value="true" />
53
+ <option name="showLibraryContents" value="true" />
54
+ </component>
55
+ <component name="PropertiesComponent">{
56
+ &quot;keyToString&quot;: {
57
+ &quot;ModuleVcsDetector.initialDetectionPerformed&quot;: &quot;true&quot;,
58
+ &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
59
+ &quot;RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252&quot;: &quot;true&quot;,
60
+ &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
61
+ &quot;git-widget-placeholder&quot;: &quot;main&quot;,
62
+ &quot;insyncwithfoo.ryecharm.ruff.caching.ruleNameToCodeMap&quot;: &quot;{\&quot;result\&quot;:{\&quot;airflow-variable-name-task-id-mismatch\&quot;:\&quot;AIR001\&quot;,\&quot;airflow-dag-no-schedule-argument\&quot;:\&quot;AIR301\&quot;,\&quot;airflow3-removal\&quot;:\&quot;AIR302\&quot;,\&quot;commented-out-code\&quot;:\&quot;ERA001\&quot;,\&quot;fast-api-redundant-response-model\&quot;:\&quot;FAST001\&quot;,\&quot;fast-api-non-annotated-dependency\&quot;:\&quot;FAST002\&quot;,\&quot;fast-api-unused-path-parameter\&quot;:\&quot;FAST003\&quot;,\&quot;sys-version-slice3\&quot;:\&quot;YTT101\&quot;,\&quot;sys-version2\&quot;:\&quot;YTT102\&quot;,\&quot;sys-version-cmp-str3\&quot;:\&quot;YTT103\&quot;,\&quot;sys-version-info0-eq3\&quot;:\&quot;YTT201\&quot;,\&quot;six-py3\&quot;:\&quot;YTT202\&quot;,\&quot;sys-version-info1-cmp-int\&quot;:\&quot;YTT203\&quot;,\&quot;sys-version-info-minor-cmp-int\&quot;:\&quot;YTT204\&quot;,\&quot;sys-version0\&quot;:\&quot;YTT301\&quot;,\&quot;sys-version-cmp-str10\&quot;:\&quot;YTT302\&quot;,\&quot;sys-version-slice1\&quot;:\&quot;YTT303\&quot;,\&quot;missing-type-function-argument\&quot;:\&quot;ANN001\&quot;,\&quot;missing-type-args\&quot;:\&quot;ANN002\&quot;,\&quot;missing-type-kwargs\&quot;:\&quot;ANN003\&quot;,\&quot;missing-type-self\&quot;:\&quot;ANN101\&quot;,\&quot;missing-type-cls\&quot;:\&quot;ANN102\&quot;,\&quot;missing-return-type-undocumented-public-function\&quot;:\&quot;ANN201\&quot;,\&quot;missing-return-type-private-function\&quot;:\&quot;ANN202\&quot;,\&quot;missing-return-type-special-method\&quot;:\&quot;ANN204\&quot;,\&quot;missing-return-type-static-method\&quot;:\&quot;ANN205\&quot;,\&quot;missing-return-type-class-method\&quot;:\&quot;ANN206\&quot;,\&quot;any-type\&quot;:\&quot;ANN401\&quot;,\&quot;cancel-scope-no-checkpoint\&quot;:\&quot;ASYNC100\&quot;,\&quot;trio-sync-call\&quot;:\&quot;ASYNC105\&quot;,\&quot;async-function-with-timeout\&quot;:\&quot;ASYNC109\&quot;,\&quot;async-busy-wait\&quot;:\&quot;ASYNC110\&quot;,\&quot;async-zero-sleep\&quot;:\&quot;ASYNC115\&quot;,\&quot;long-sleep-not-forever\&quot;:\&quot;ASYNC116\&quot;,\&quot;blocking-http-call-in-async-function\&quot;:\&quot;ASYNC210\&quot;,\&quot;create-subprocess-in-async-function\&quot;:\&quot;ASYNC220\&quot;,\&quot;run-process-in-async-function\&quot;:\&quot;ASYNC221\&quot;,\&quot;wait-for-process-in-async-function\&quot;:\&quot;ASYNC222\&quot;,\&quot;blocking-open-call-in-async-function\&quot;:\&quot;ASYNC230\&quot;,\&quot;blocking-sleep-in-async-function\&quot;:\&quot;ASYNC251\&quot;,\&quot;assert\&quot;:\&quot;S101\&quot;,\&quot;exec-builtin\&quot;:\&quot;S102\&quot;,\&quot;bad-file-permissions\&quot;:\&quot;S103\&quot;,\&quot;hardcoded-bind-all-interfaces\&quot;:\&quot;S104\&quot;,\&quot;hardcoded-password-string\&quot;:\&quot;S105\&quot;,\&quot;hardcoded-password-func-arg\&quot;:\&quot;S106\&quot;,\&quot;hardcoded-password-default\&quot;:\&quot;S107\&quot;,\&quot;hardcoded-temp-file\&quot;:\&quot;S108\&quot;,\&quot;try-except-pass\&quot;:\&quot;S110\&quot;,\&quot;try-except-continue\&quot;:\&quot;S112\&quot;,\&quot;request-without-timeout\&quot;:\&quot;S113\&quot;,\&quot;flask-debug-true\&quot;:\&quot;S201\&quot;,\&quot;tarfile-unsafe-members\&quot;:\&quot;S202\&quot;,\&quot;suspicious-pickle-usage\&quot;:\&quot;S301\&quot;,\&quot;suspicious-marshal-usage\&quot;:\&quot;S302\&quot;,\&quot;suspicious-insecure-hash-usage\&quot;:\&quot;S303\&quot;,\&quot;suspicious-insecure-cipher-usage\&quot;:\&quot;S304\&quot;,\&quot;suspicious-insecure-cipher-mode-usage\&quot;:\&quot;S305\&quot;,\&quot;suspicious-mktemp-usage\&quot;:\&quot;S306\&quot;,\&quot;suspicious-eval-usage\&quot;:\&quot;S307\&quot;,\&quot;suspicious-mark-safe-usage\&quot;:\&quot;S308\&quot;,\&quot;suspicious-url-open-usage\&quot;:\&quot;S310\&quot;,\&quot;suspicious-non-cryptographic-random-usage\&quot;:\&quot;S311\&quot;,\&quot;suspicious-telnet-usage\&quot;:\&quot;S312\&quot;,\&quot;suspicious-xmlc-element-tree-usage\&quot;:\&quot;S313\&quot;,\&quot;suspicious-xml-element-tree-usage\&quot;:\&quot;S314\&quot;,\&quot;suspicious-xml-expat-reader-usage\&quot;:\&quot;S315\&quot;,\&quot;suspicious-xml-expat-builder-usage\&quot;:\&quot;S316\&quot;,\&quot;suspicious-xml-sax-usage\&quot;:\&quot;S317\&quot;,\&quot;suspicious-xml-mini-dom-usage\&quot;:\&quot;S318\&quot;,\&quot;suspicious-xml-pull-dom-usage\&quot;:\&quot;S319\&quot;,\&quot;suspicious-xmle-tree-usage\&quot;:\&quot;S320\&quot;,\&quot;suspicious-ftp-lib-usage\&quot;:\&quot;S321\&quot;,\&quot;suspicious-unverified-context-usage\&quot;:\&quot;S323\&quot;,\&quot;hashlib-insecure-hash-function\&quot;:\&quot;S324\&quot;,\&quot;suspicious-telnetlib-import\&quot;:\&quot;S401\&quot;,\&quot;suspicious-ftplib-import\&quot;:\&quot;S402\&quot;,\&quot;suspicious-pickle-import\&quot;:\&quot;S403\&quot;,\&quot;suspicious-subprocess-import\&quot;:\&quot;S404\&quot;,\&quot;suspicious-xml-etree-import\&quot;:\&quot;S405\&quot;,\&quot;suspicious-xml-sax-import\&quot;:\&quot;S406\&quot;,\&quot;suspicious-xml-expat-import\&quot;:\&quot;S407\&quot;,\&quot;suspicious-xml-minidom-import\&quot;:\&quot;S408\&quot;,\&quot;suspicious-xml-pulldom-import\&quot;:\&quot;S409\&quot;,\&quot;suspicious-lxml-import\&quot;:\&quot;S410\&quot;,\&quot;suspicious-xmlrpc-import\&quot;:\&quot;S411\&quot;,\&quot;suspicious-httpoxy-import\&quot;:\&quot;S412\&quot;,\&quot;suspicious-pycrypto-import\&quot;:\&quot;S413\&quot;,\&quot;suspicious-pyghmi-import\&quot;:\&quot;S415\&quot;,\&quot;request-with-no-cert-validation\&quot;:\&quot;S501\&quot;,\&quot;ssl-insecure-version\&quot;:\&quot;S502\&quot;,\&quot;ssl-with-bad-defaults\&quot;:\&quot;S503\&quot;,\&quot;ssl-with-no-version\&quot;:\&quot;S504\&quot;,\&quot;weak-cryptographic-key\&quot;:\&quot;S505\&quot;,\&quot;unsafe-yaml-load\&quot;:\&quot;S506\&quot;,\&quot;ssh-no-host-key-verification\&quot;:\&quot;S507\&quot;,\&quot;snmp-insecure-version\&quot;:\&quot;S508\&quot;,\&quot;snmp-weak-cryptography\&quot;:\&quot;S509\&quot;,\&quot;paramiko-call\&quot;:\&quot;S601\&quot;,\&quot;subprocess-popen-with-shell-equals-true\&quot;:\&quot;S602\&quot;,\&quot;subprocess-without-shell-equals-true\&quot;:\&quot;S603\&quot;,\&quot;call-with-shell-equals-true\&quot;:\&quot;S604\&quot;,\&quot;start-process-with-a-shell\&quot;:\&quot;S605\&quot;,\&quot;start-process-with-no-shell\&quot;:\&quot;S606\&quot;,\&quot;start-process-with-partial-path\&quot;:\&quot;S607\&quot;,\&quot;hardcoded-sql-expression\&quot;:\&quot;S608\&quot;,\&quot;unix-command-wildcard-injection\&quot;:\&quot;S609\&quot;,\&quot;django-extra\&quot;:\&quot;S610\&quot;,\&quot;django-raw-sql\&quot;:\&quot;S611\&quot;,\&quot;logging-config-insecure-listen\&quot;:\&quot;S612\&quot;,\&quot;jinja2-autoescape-false\&quot;:\&quot;S701\&quot;,\&quot;mako-templates\&quot;:\&quot;S702\&quot;,\&quot;blind-except\&quot;:\&quot;BLE001\&quot;,\&quot;boolean-type-hint-positional-argument\&quot;:\&quot;FBT001\&quot;,\&quot;boolean-default-value-positional-argument\&quot;:\&quot;FBT002\&quot;,\&quot;boolean-positional-value-in-call\&quot;:\&quot;FBT003\&quot;,\&quot;unary-prefix-increment-decrement\&quot;:\&quot;B002\&quot;,\&quot;assignment-to-os-environ\&quot;:\&quot;B003\&quot;,\&quot;unreliable-callable-check\&quot;:\&quot;B004\&quot;,\&quot;strip-with-multi-characters\&quot;:\&quot;B005\&quot;,\&quot;mutable-argument-default\&quot;:\&quot;B006\&quot;,\&quot;unused-loop-control-variable\&quot;:\&quot;B007\&quot;,\&quot;function-call-in-default-argument\&quot;:\&quot;B008\&quot;,\&quot;get-attr-with-constant\&quot;:\&quot;B009\&quot;,\&quot;set-attr-with-constant\&quot;:\&quot;B010\&quot;,\&quot;assert-false\&quot;:\&quot;B011\&quot;,\&quot;jump-statement-in-finally\&quot;:\&quot;B012\&quot;,\&quot;redundant-tuple-in-exception-handler\&quot;:\&quot;B013\&quot;,\&quot;duplicate-handler-exception\&quot;:\&quot;B014\&quot;,\&quot;useless-comparison\&quot;:\&quot;B015\&quot;,\&quot;raise-literal\&quot;:\&quot;B016\&quot;,\&quot;assert-raises-exception\&quot;:\&quot;B017\&quot;,\&quot;useless-expression\&quot;:\&quot;B018\&quot;,\&quot;cached-instance-method\&quot;:\&quot;B019\&quot;,\&quot;loop-variable-overrides-iterator\&quot;:\&quot;B020\&quot;,\&quot;f-string-docstring\&quot;:\&quot;B021\&quot;,\&quot;useless-contextlib-suppress\&quot;:\&quot;B022\&quot;,\&quot;function-uses-loop-variable\&quot;:\&quot;B023\&quot;,\&quot;abstract-base-class-without-abstract-method\&quot;:\&quot;B024\&quot;,\&quot;duplicate-try-block-exception\&quot;:\&quot;B025\&quot;,\&quot;star-arg-unpacking-after-keyword-arg\&quot;:\&quot;B026\&quot;,\&quot;empty-method-without-abstract-decorator\&quot;:\&quot;B027\&quot;,\&quot;no-explicit-stacklevel\&quot;:\&quot;B028\&quot;,\&quot;except-with-empty-tuple\&quot;:\&quot;B029\&quot;,\&quot;except-with-non-exception-classes\&quot;:\&quot;B030\&quot;,\&quot;reuse-of-groupby-generator\&quot;:\&quot;B031\&quot;,\&quot;unintentional-type-annotation\&quot;:\&quot;B032\&quot;,\&quot;duplicate-value\&quot;:\&quot;B033\&quot;,\&quot;re-sub-positional-args\&quot;:\&quot;B034\&quot;,\&quot;static-key-dict-comprehension\&quot;:\&quot;B035\&quot;,\&quot;mutable-contextvar-default\&quot;:\&quot;B039\&quot;,\&quot;return-in-generator\&quot;:\&quot;B901\&quot;,\&quot;raise-without-from-inside-except\&quot;:\&quot;B904\&quot;,\&quot;zip-without-explicit-strict\&quot;:\&quot;B905\&quot;,\&quot;loop-iterator-mutation\&quot;:\&quot;B909\&quot;,\&quot;builtin-variable-shadowing\&quot;:\&quot;A001\&quot;,\&quot;builtin-argument-shadowing\&quot;:\&quot;A002\&quot;,\&quot;builtin-attribute-shadowing\&quot;:\&quot;A003\&quot;,\&quot;builtin-import-shadowing\&quot;:\&quot;A004\&quot;,\&quot;builtin-module-shadowing\&quot;:\&quot;A005\&quot;,\&quot;builtin-lambda-argument-shadowing\&quot;:\&quot;A006\&quot;,\&quot;missing-trailing-comma\&quot;:\&quot;COM812\&quot;,\&quot;trailing-comma-on-bare-tuple\&quot;:\&quot;COM818\&quot;,\&quot;prohibited-trailing-comma\&quot;:\&quot;COM819\&quot;,\&quot;unnecessary-generator-list\&quot;:\&quot;C400\&quot;,\&quot;unnecessary-generator-set\&quot;:\&quot;C401\&quot;,\&quot;unnecessary-generator-dict\&quot;:\&quot;C402\&quot;,\&quot;unnecessary-list-comprehension-set\&quot;:\&quot;C403\&quot;,\&quot;unnecessary-list-comprehension-dict\&quot;:\&quot;C404\&quot;,\&quot;unnecessary-literal-set\&quot;:\&quot;C405\&quot;,\&quot;unnecessary-literal-dict\&quot;:\&quot;C406\&quot;,\&quot;unnecessary-collection-call\&quot;:\&quot;C408\&quot;,\&quot;unnecessary-literal-within-tuple-call\&quot;:\&quot;C409\&quot;,\&quot;unnecessary-literal-within-list-call\&quot;:\&quot;C410\&quot;,\&quot;unnecessary-list-call\&quot;:\&quot;C411\&quot;,\&quot;unnecessary-call-around-sorted\&quot;:\&quot;C413\&quot;,\&quot;unnecessary-double-cast-or-process\&quot;:\&quot;C414\&quot;,\&quot;unnecessary-subscript-reversal\&quot;:\&quot;C415\&quot;,\&quot;unnecessary-comprehension\&quot;:\&quot;C416\&quot;,\&quot;unnecessary-map\&quot;:\&quot;C417\&quot;,\&quot;unnecessary-literal-within-dict-call\&quot;:\&quot;C418\&quot;,\&quot;unnecessary-comprehension-in-call\&quot;:\&quot;C419\&quot;,\&quot;unnecessary-dict-comprehension-for-iterable\&quot;:\&quot;C420\&quot;,\&quot;missing-copyright-notice\&quot;:\&quot;CPY001\&quot;,\&quot;call-datetime-without-tzinfo\&quot;:\&quot;DTZ001\&quot;,\&quot;call-datetime-today\&quot;:\&quot;DTZ002\&quot;,\&quot;call-datetime-utcnow\&quot;:\&quot;DTZ003\&quot;,\&quot;call-datetime-utcfromtimestamp\&quot;:\&quot;DTZ004\&quot;,\&quot;call-datetime-now-without-tzinfo\&quot;:\&quot;DTZ005\&quot;,\&quot;call-datetime-fromtimestamp\&quot;:\&quot;DTZ006\&quot;,\&quot;call-datetime-strptime-without-zone\&quot;:\&quot;DTZ007\&quot;,\&quot;call-date-today\&quot;:\&quot;DTZ011\&quot;,\&quot;call-date-fromtimestamp\&quot;:\&quot;DTZ012\&quot;,\&quot;datetime-min-max\&quot;:\&quot;DTZ901\&quot;,\&quot;debugger\&quot;:\&quot;T100\&quot;,\&quot;django-nullable-model-string-field\&quot;:\&quot;DJ001\&quot;,\&quot;django-locals-in-render-function\&quot;:\&quot;DJ003\&quot;,\&quot;django-exclude-with-model-form\&quot;:\&quot;DJ006\&quot;,\&quot;django-all-with-model-form\&quot;:\&quot;DJ007\&quot;,\&quot;django-model-without-dunder-str\&quot;:\&quot;DJ008\&quot;,\&quot;django-unordered-body-content-in-model\&quot;:\&quot;DJ012\&quot;,\&quot;django-non-leading-receiver-decorator\&quot;:\&quot;DJ013\&quot;,\&quot;raw-string-in-exception\&quot;:\&quot;EM101\&quot;,\&quot;f-string-in-exception\&quot;:\&quot;EM102\&quot;,\&quot;dot-format-in-exception\&quot;:\&quot;EM103\&quot;,\&quot;shebang-not-executable\&quot;:\&quot;EXE001\&quot;,\&quot;shebang-missing-executable-file\&quot;:\&quot;EXE002\&quot;,\&quot;shebang-missing-python\&quot;:\&quot;EXE003\&quot;,\&quot;shebang-leading-whitespace\&quot;:\&quot;EXE004\&quot;,\&quot;shebang-not-first-line\&quot;:\&quot;EXE005\&quot;,\&quot;line-contains-fixme\&quot;:\&quot;FIX001\&quot;,\&quot;line-contains-todo\&quot;:\&quot;FIX002\&quot;,\&quot;line-contains-xxx\&quot;:\&quot;FIX003\&quot;,\&quot;line-contains-hack\&quot;:\&quot;FIX004\&quot;,\&quot;future-rewritable-type-annotation\&quot;:\&quot;FA100\&quot;,\&quot;future-required-type-annotation\&quot;:\&quot;FA102\&quot;,\&quot;f-string-in-get-text-func-call\&quot;:\&quot;INT001\&quot;,\&quot;format-in-get-text-func-call\&quot;:\&quot;INT002\&quot;,\&quot;printf-in-get-text-func-call\&quot;:\&quot;INT003\&quot;,\&quot;single-line-implicit-string-concatenation\&quot;:\&quot;ISC001\&quot;,\&quot;multi-line-implicit-string-concatenation\&quot;:\&quot;ISC002\&quot;,\&quot;explicit-string-concatenation\&quot;:\&quot;ISC003\&quot;,\&quot;unconventional-import-alias\&quot;:\&quot;ICN001\&quot;,\&quot;banned-import-alias\&quot;:\&quot;ICN002\&quot;,\&quot;banned-import-from\&quot;:\&quot;ICN003\&quot;,\&quot;direct-logger-instantiation\&quot;:\&quot;LOG001\&quot;,\&quot;invalid-get-logger-argument\&quot;:\&quot;LOG002\&quot;,\&quot;exception-without-exc-info\&quot;:\&quot;LOG007\&quot;,\&quot;undocumented-warn\&quot;:\&quot;LOG009\&quot;,\&quot;root-logger-call\&quot;:\&quot;LOG015\&quot;,\&quot;logging-string-format\&quot;:\&quot;G001\&quot;,\&quot;logging-percent-format\&quot;:\&quot;G002\&quot;,\&quot;logging-string-concat\&quot;:\&quot;G003\&quot;,\&quot;logging-f-string\&quot;:\&quot;G004\&quot;,\&quot;logging-warn\&quot;:\&quot;G010\&quot;,\&quot;logging-extra-attr-clash\&quot;:\&quot;G101\&quot;,\&quot;logging-exc-info\&quot;:\&quot;G201\&quot;,\&quot;logging-redundant-exc-info\&quot;:\&quot;G202\&quot;,\&quot;implicit-namespace-package\&quot;:\&quot;INP001\&quot;,\&quot;unnecessary-placeholder\&quot;:\&quot;PIE790\&quot;,\&quot;duplicate-class-field-definition\&quot;:\&quot;PIE794\&quot;,\&quot;non-unique-enums\&quot;:\&quot;PIE796\&quot;,\&quot;unnecessary-spread\&quot;:\&quot;PIE800\&quot;,\&quot;unnecessary-dict-kwargs\&quot;:\&quot;PIE804\&quot;,\&quot;reimplemented-container-builtin\&quot;:\&quot;PIE807\&quot;,\&quot;unnecessary-range-start\&quot;:\&quot;PIE808\&quot;,\&quot;multiple-starts-ends-with\&quot;:\&quot;PIE810\&quot;,\&quot;print\&quot;:\&quot;T201\&quot;,\&quot;p-print\&quot;:\&quot;T203\&quot;,\&quot;unprefixed-type-param\&quot;:\&quot;PYI001\&quot;,\&quot;complex-if-statement-in-stub\&quot;:\&quot;PYI002\&quot;,\&quot;unrecognized-version-info-check\&quot;:\&quot;PYI003\&quot;,\&quot;patch-version-comparison\&quot;:\&quot;PYI004\&quot;,\&quot;wrong-tuple-length-version-comparison\&quot;:\&quot;PYI005\&quot;,\&quot;bad-version-info-comparison\&quot;:\&quot;PYI006\&quot;,\&quot;unrecognized-platform-check\&quot;:\&quot;PYI007\&quot;,\&quot;unrecognized-platform-name\&quot;:\&quot;PYI008\&quot;,\&quot;pass-statement-stub-body\&quot;:\&quot;PYI009\&quot;,\&quot;non-empty-stub-body\&quot;:\&quot;PYI010\&quot;,\&quot;typed-argument-default-in-stub\&quot;:\&quot;PYI011\&quot;,\&quot;pass-in-class-body\&quot;:\&quot;PYI012\&quot;,\&quot;ellipsis-in-non-empty-class-body\&quot;:\&quot;PYI013\&quot;,\&quot;argument-default-in-stub\&quot;:\&quot;PYI014\&quot;,\&quot;assignment-default-in-stub\&quot;:\&quot;PYI015\&quot;,\&quot;duplicate-union-member\&quot;:\&quot;PYI016\&quot;,\&quot;complex-assignment-in-stub\&quot;:\&quot;PYI017\&quot;,\&quot;unused-private-type-var\&quot;:\&quot;PYI018\&quot;,\&quot;custom-type-var-return-type\&quot;:\&quot;PYI019\&quot;,\&quot;quoted-annotation-in-stub\&quot;:\&quot;PYI020\&quot;,\&quot;docstring-in-stub\&quot;:\&quot;PYI021\&quot;,\&quot;collections-named-tuple\&quot;:\&quot;PYI024\&quot;,\&quot;unaliased-collections-abc-set-import\&quot;:\&quot;PYI025\&quot;,\&quot;type-alias-without-annotation\&quot;:\&quot;PYI026\&quot;,\&quot;str-or-repr-defined-in-stub\&quot;:\&quot;PYI029\&quot;,\&quot;unnecessary-literal-union\&quot;:\&quot;PYI030\&quot;,\&quot;any-eq-ne-annotation\&quot;:\&quot;PYI032\&quot;,\&quot;type-comment-in-stub\&quot;:\&quot;PYI033\&quot;,\&quot;non-self-return-type\&quot;:\&quot;PYI034\&quot;,\&quot;unassigned-special-variable-in-stub\&quot;:\&quot;PYI035\&quot;,\&quot;bad-exit-annotation\&quot;:\&quot;PYI036\&quot;,\&quot;redundant-numeric-union\&quot;:\&quot;PYI041\&quot;,\&quot;snake-case-type-alias\&quot;:\&quot;PYI042\&quot;,\&quot;t-suffixed-type-alias\&quot;:\&quot;PYI043\&quot;,\&quot;future-annotations-in-stub\&quot;:\&quot;PYI044\&quot;,\&quot;iter-method-return-iterable\&quot;:\&quot;PYI045\&quot;,\&quot;unused-private-protocol\&quot;:\&quot;PYI046\&quot;,\&quot;unused-private-type-alias\&quot;:\&quot;PYI047\&quot;,\&quot;stub-body-multiple-statements\&quot;:\&quot;PYI048\&quot;,\&quot;unused-private-typed-dict\&quot;:\&quot;PYI049\&quot;,\&quot;no-return-argument-annotation-in-stub\&quot;:\&quot;PYI050\&quot;,\&quot;redundant-literal-union\&quot;:\&quot;PYI051\&quot;,\&quot;unannotated-assignment-in-stub\&quot;:\&quot;PYI052\&quot;,\&quot;string-or-bytes-too-long\&quot;:\&quot;PYI053\&quot;,\&quot;numeric-literal-too-long\&quot;:\&quot;PYI054\&quot;,\&quot;unnecessary-type-union\&quot;:\&quot;PYI055\&quot;,\&quot;unsupported-method-call-on-all\&quot;:\&quot;PYI056\&quot;,\&quot;byte-string-usage\&quot;:\&quot;PYI057\&quot;,\&quot;generator-return-from-iter-method\&quot;:\&quot;PYI058\&quot;,\&quot;generic-not-last-base-class\&quot;:\&quot;PYI059\&quot;,\&quot;redundant-none-literal\&quot;:\&quot;PYI061\&quot;,\&quot;duplicate-literal-member\&quot;:\&quot;PYI062\&quot;,\&quot;pep484-style-positional-only-parameter\&quot;:\&quot;PYI063\&quot;,\&quot;redundant-final-literal\&quot;:\&quot;PYI064\&quot;,\&quot;bad-version-info-order\&quot;:\&quot;PYI066\&quot;,\&quot;pytest-fixture-incorrect-parentheses-style\&quot;:\&quot;PT001\&quot;,\&quot;pytest-fixture-positional-args\&quot;:\&quot;PT002\&quot;,\&quot;pytest-extraneous-scope-function\&quot;:\&quot;PT003\&quot;,\&quot;pytest-missing-fixture-name-underscore\&quot;:\&quot;PT004\&quot;,\&quot;pytest-incorrect-fixture-name-underscore\&quot;:\&quot;PT005\&quot;,\&quot;pytest-parametrize-names-wrong-type\&quot;:\&quot;PT006\&quot;,\&quot;pytest-parametrize-values-wrong-type\&quot;:\&quot;PT007\&quot;,\&quot;pytest-patch-with-lambda\&quot;:\&quot;PT008\&quot;,\&quot;pytest-unittest-assertion\&quot;:\&quot;PT009\&quot;,\&quot;pytest-raises-without-exception\&quot;:\&quot;PT010\&quot;,\&quot;pytest-raises-too-broad\&quot;:\&quot;PT011\&quot;,\&quot;pytest-raises-with-multiple-statements\&quot;:\&quot;PT012\&quot;,\&quot;pytest-incorrect-pytest-import\&quot;:\&quot;PT013\&quot;,\&quot;pytest-duplicate-parametrize-test-cases\&quot;:\&quot;PT014\&quot;,\&quot;pytest-assert-always-false\&quot;:\&quot;PT015\&quot;,\&quot;pytest-fail-without-message\&quot;:\&quot;PT016\&quot;,\&quot;pytest-assert-in-except\&quot;:\&quot;PT017\&quot;,\&quot;pytest-composite-assertion\&quot;:\&quot;PT018\&quot;,\&quot;pytest-fixture-param-without-value\&quot;:\&quot;PT019\&quot;,\&quot;pytest-deprecated-yield-fixture\&quot;:\&quot;PT020\&quot;,\&quot;pytest-fixture-finalizer-callback\&quot;:\&quot;PT021\&quot;,\&quot;pytest-useless-yield-fixture\&quot;:\&quot;PT022\&quot;,\&quot;pytest-incorrect-mark-parentheses-style\&quot;:\&quot;PT023\&quot;,\&quot;pytest-unnecessary-asyncio-mark-on-fixture\&quot;:\&quot;PT024\&quot;,\&quot;pytest-erroneous-use-fixtures-on-fixture\&quot;:\&quot;PT025\&quot;,\&quot;pytest-use-fixtures-without-parameters\&quot;:\&quot;PT026\&quot;,\&quot;pytest-unittest-raises-assertion\&quot;:\&quot;PT027\&quot;,\&quot;bad-quotes-inline-string\&quot;:\&quot;Q000\&quot;,\&quot;bad-quotes-multiline-string\&quot;:\&quot;Q001\&quot;,\&quot;bad-quotes-docstring\&quot;:\&quot;Q002\&quot;,\&quot;avoidable-escaped-quote\&quot;:\&quot;Q003\&quot;,\&quot;unnecessary-escaped-quote\&quot;:\&quot;Q004\&quot;,\&quot;unnecessary-paren-on-raise-exception\&quot;:\&quot;RSE102\&quot;,\&quot;unnecessary-return-none\&quot;:\&quot;RET501\&quot;,\&quot;implicit-return-value\&quot;:\&quot;RET502\&quot;,\&quot;implicit-return\&quot;:\&quot;RET503\&quot;,\&quot;unnecessary-assign\&quot;:\&quot;RET504\&quot;,\&quot;superfluous-else-return\&quot;:\&quot;RET505\&quot;,\&quot;superfluous-else-raise\&quot;:\&quot;RET506\&quot;,\&quot;superfluous-else-continue\&quot;:\&quot;RET507\&quot;,\&quot;superfluous-else-break\&quot;:\&quot;RET508\&quot;,\&quot;private-member-access\&quot;:\&quot;SLF001\&quot;,\&quot;duplicate-isinstance-call\&quot;:\&quot;SIM101\&quot;,\&quot;collapsible-if\&quot;:\&quot;SIM102\&quot;,\&quot;needless-bool\&quot;:\&quot;SIM103\&quot;,\&quot;suppressible-exception\&quot;:\&quot;SIM105\&quot;,\&quot;return-in-try-except-finally\&quot;:\&quot;SIM107\&quot;,\&quot;if-else-block-instead-of-if-exp\&quot;:\&quot;SIM108\&quot;,\&quot;compare-with-tuple\&quot;:\&quot;SIM109\&quot;,\&quot;reimplemented-builtin\&quot;:\&quot;SIM110\&quot;,\&quot;uncapitalized-environment-variables\&quot;:\&quot;SIM112\&quot;,\&quot;enumerate-for-loop\&quot;:\&quot;SIM113\&quot;,\&quot;if-with-same-arms\&quot;:\&quot;SIM114\&quot;,\&quot;open-file-with-context-handler\&quot;:\&quot;SIM115\&quot;,\&quot;if-else-block-instead-of-dict-lookup\&quot;:\&quot;SIM116\&quot;,\&quot;multiple-with-statements\&quot;:\&quot;SIM117\&quot;,\&quot;in-dict-keys\&quot;:\&quot;SIM118\&quot;,\&quot;negate-equal-op\&quot;:\&quot;SIM201\&quot;,\&quot;negate-not-equal-op\&quot;:\&quot;SIM202\&quot;,\&quot;double-negation\&quot;:\&quot;SIM208\&quot;,\&quot;if-expr-with-true-false\&quot;:\&quot;SIM210\&quot;,\&quot;if-expr-with-false-true\&quot;:\&quot;SIM211\&quot;,\&quot;if-expr-with-twisted-arms\&quot;:\&quot;SIM212\&quot;,\&quot;expr-and-not-expr\&quot;:\&quot;SIM220\&quot;,\&quot;expr-or-not-expr\&quot;:\&quot;SIM221\&quot;,\&quot;expr-or-true\&quot;:\&quot;SIM222\&quot;,\&quot;expr-and-false\&quot;:\&quot;SIM223\&quot;,\&quot;yoda-conditions\&quot;:\&quot;SIM300\&quot;,\&quot;if-else-block-instead-of-dict-get\&quot;:\&quot;SIM401\&quot;,\&quot;split-static-string\&quot;:\&quot;SIM905\&quot;,\&quot;dict-get-with-none-default\&quot;:\&quot;SIM910\&quot;,\&quot;zip-dict-keys-and-values\&quot;:\&quot;SIM911\&quot;,\&quot;no-slots-in-str-subclass\&quot;:\&quot;SLOT000\&quot;,\&quot;no-slots-in-tuple-subclass\&quot;:\&quot;SLOT001\&quot;,\&quot;no-slots-in-namedtuple-subclass\&quot;:\&quot;SLOT002\&quot;,\&quot;banned-api\&quot;:\&quot;TID251\&quot;,\&quot;relative-imports\&quot;:\&quot;TID252\&quot;,\&quot;banned-module-level-imports\&quot;:\&quot;TID253\&quot;,\&quot;invalid-todo-tag\&quot;:\&quot;TD001\&quot;,\&quot;missing-todo-author\&quot;:\&quot;TD002\&quot;,\&quot;missing-todo-link\&quot;:\&quot;TD003\&quot;,\&quot;missing-todo-colon\&quot;:\&quot;TD004\&quot;,\&quot;missing-todo-description\&quot;:\&quot;TD005\&quot;,\&quot;invalid-todo-capitalization\&quot;:\&quot;TD006\&quot;,\&quot;missing-space-after-todo-colon\&quot;:\&quot;TD007\&quot;,\&quot;typing-only-first-party-import\&quot;:\&quot;TC001\&quot;,\&quot;typing-only-third-party-import\&quot;:\&quot;TC002\&quot;,\&quot;typing-only-standard-library-import\&quot;:\&quot;TC003\&quot;,\&quot;runtime-import-in-type-checking-block\&quot;:\&quot;TC004\&quot;,\&quot;empty-type-checking-block\&quot;:\&quot;TC005\&quot;,\&quot;runtime-cast-value\&quot;:\&quot;TC006\&quot;,\&quot;unquoted-type-alias\&quot;:\&quot;TC007\&quot;,\&quot;quoted-type-alias\&quot;:\&quot;TC008\&quot;,\&quot;runtime-string-union\&quot;:\&quot;TC010\&quot;,\&quot;unused-function-argument\&quot;:\&quot;ARG001\&quot;,\&quot;unused-method-argument\&quot;:\&quot;ARG002\&quot;,\&quot;unused-class-method-argument\&quot;:\&quot;ARG003\&quot;,\&quot;unused-static-method-argument\&quot;:\&quot;ARG004\&quot;,\&quot;unused-lambda-argument\&quot;:\&quot;ARG005\&quot;,\&quot;os-path-abspath\&quot;:\&quot;PTH100\&quot;,\&quot;os-chmod\&quot;:\&quot;PTH101\&quot;,\&quot;os-mkdir\&quot;:\&quot;PTH102\&quot;,\&quot;os-makedirs\&quot;:\&quot;PTH103\&quot;,\&quot;os-rename\&quot;:\&quot;PTH104\&quot;,\&quot;os-replace\&quot;:\&quot;PTH105\&quot;,\&quot;os-rmdir\&quot;:\&quot;PTH106\&quot;,\&quot;os-remove\&quot;:\&quot;PTH107\&quot;,\&quot;os-unlink\&quot;:\&quot;PTH108\&quot;,\&quot;os-getcwd\&quot;:\&quot;PTH109\&quot;,\&quot;os-path-exists\&quot;:\&quot;PTH110\&quot;,\&quot;os-path-expanduser\&quot;:\&quot;PTH111\&quot;,\&quot;os-path-isdir\&quot;:\&quot;PTH112\&quot;,\&quot;os-path-isfile\&quot;:\&quot;PTH113\&quot;,\&quot;os-path-islink\&quot;:\&quot;PTH114\&quot;,\&quot;os-readlink\&quot;:\&quot;PTH115\&quot;,\&quot;os-stat\&quot;:\&quot;PTH116\&quot;,\&quot;os-path-isabs\&quot;:\&quot;PTH117\&quot;,\&quot;os-path-join\&quot;:\&quot;PTH118\&quot;,\&quot;os-path-basename\&quot;:\&quot;PTH119\&quot;,\&quot;os-path-dirname\&quot;:\&quot;PTH120\&quot;,\&quot;os-path-samefile\&quot;:\&quot;PTH121\&quot;,\&quot;os-path-splitext\&quot;:\&quot;PTH122\&quot;,\&quot;builtin-open\&quot;:\&quot;PTH123\&quot;,\&quot;py-path\&quot;:\&quot;PTH124\&quot;,\&quot;path-constructor-current-directory\&quot;:\&quot;PTH201\&quot;,\&quot;os-path-getsize\&quot;:\&quot;PTH202\&quot;,\&quot;os-path-getatime\&quot;:\&quot;PTH203\&quot;,\&quot;os-path-getmtime\&quot;:\&quot;PTH204\&quot;,\&quot;os-path-getctime\&quot;:\&quot;PTH205\&quot;,\&quot;os-sep-split\&quot;:\&quot;PTH206\&quot;,\&quot;glob\&quot;:\&quot;PTH207\&quot;,\&quot;os-listdir\&quot;:\&quot;PTH208\&quot;,\&quot;static-join-to-f-string\&quot;:\&quot;FLY002\&quot;,\&quot;unsorted-imports\&quot;:\&quot;I001\&quot;,\&quot;missing-required-import\&quot;:\&quot;I002\&quot;,\&quot;complex-structure\&quot;:\&quot;C901\&quot;,\&quot;numpy-deprecated-type-alias\&quot;:\&quot;NPY001\&quot;,\&quot;numpy-legacy-random\&quot;:\&quot;NPY002\&quot;,\&quot;numpy-deprecated-function\&quot;:\&quot;NPY003\&quot;,\&quot;numpy2-deprecation\&quot;:\&quot;NPY201\&quot;,\&quot;invalid-class-name\&quot;:\&quot;N801\&quot;,\&quot;invalid-function-name\&quot;:\&quot;N802\&quot;,\&quot;invalid-argument-name\&quot;:\&quot;N803\&quot;,\&quot;invalid-first-argument-name-for-class-method\&quot;:\&quot;N804\&quot;,\&quot;invalid-first-argument-name-for-method\&quot;:\&quot;N805\&quot;,\&quot;non-lowercase-variable-in-function\&quot;:\&quot;N806\&quot;,\&quot;dunder-function-name\&quot;:\&quot;N807\&quot;,\&quot;constant-imported-as-non-constant\&quot;:\&quot;N811\&quot;,\&quot;lowercase-imported-as-non-lowercase\&quot;:\&quot;N812\&quot;,\&quot;camelcase-imported-as-lowercase\&quot;:\&quot;N813\&quot;,\&quot;camelcase-imported-as-constant\&quot;:\&quot;N814\&quot;,\&quot;mixed-case-variable-in-class-scope\&quot;:\&quot;N815\&quot;,\&quot;mixed-case-variable-in-global-scope\&quot;:\&quot;N816\&quot;,\&quot;camelcase-imported-as-acronym\&quot;:\&quot;N817\&quot;,\&quot;error-suffix-on-exception-name\&quot;:\&quot;N818\&quot;,\&quot;invalid-module-name\&quot;:\&quot;N999\&quot;,\&quot;pandas-use-of-inplace-argument\&quot;:\&quot;PD002\&quot;,\&quot;pandas-use-of-dot-is-null\&quot;:\&quot;PD003\&quot;,\&quot;pandas-use-of-dot-not-null\&quot;:\&quot;PD004\&quot;,\&quot;pandas-use-of-dot-ix\&quot;:\&quot;PD007\&quot;,\&quot;pandas-use-of-dot-at\&quot;:\&quot;PD008\&quot;,\&quot;pandas-use-of-dot-iat\&quot;:\&quot;PD009\&quot;,\&quot;pandas-use-of-dot-pivot-or-unstack\&quot;:\&quot;PD010\&quot;,\&quot;pandas-use-of-dot-values\&quot;:\&quot;PD011\&quot;,\&quot;pandas-use-of-dot-read-table\&quot;:\&quot;PD012\&quot;,\&quot;pandas-use-of-dot-stack\&quot;:\&quot;PD013\&quot;,\&quot;pandas-use-of-pd-merge\&quot;:\&quot;PD015\&quot;,\&quot;pandas-nunique-constant-series-check\&quot;:\&quot;PD101\&quot;,\&quot;pandas-df-variable-name\&quot;:\&quot;PD901\&quot;,\&quot;unnecessary-list-cast\&quot;:\&quot;PERF101\&quot;,\&quot;incorrect-dict-iterator\&quot;:\&quot;PERF102\&quot;,\&quot;try-except-in-loop\&quot;:\&quot;PERF203\&quot;,\&quot;manual-list-comprehension\&quot;:\&quot;PERF401\&quot;,\&quot;manual-list-copy\&quot;:\&quot;PERF402\&quot;,\&quot;manual-dict-comprehension\&quot;:\&quot;PERF403\&quot;,\&quot;mixed-spaces-and-tabs\&quot;:\&quot;E101\&quot;,\&quot;indentation-with-invalid-multiple\&quot;:\&quot;E111\&quot;,\&quot;no-indented-block\&quot;:\&quot;E112\&quot;,\&quot;unexpected-indentation\&quot;:\&quot;E113\&quot;,\&quot;indentation-with-invalid-multiple-comment\&quot;:\&quot;E114\&quot;,\&quot;no-indented-block-comment\&quot;:\&quot;E115\&quot;,\&quot;unexpected-indentation-comment\&quot;:\&quot;E116\&quot;,\&quot;over-indented\&quot;:\&quot;E117\&quot;,\&quot;whitespace-after-open-bracket\&quot;:\&quot;E201\&quot;,\&quot;whitespace-before-close-bracket\&quot;:\&quot;E202\&quot;,\&quot;whitespace-before-punctuation\&quot;:\&quot;E203\&quot;,\&quot;whitespace-after-decorator\&quot;:\&quot;E204\&quot;,\&quot;whitespace-before-parameters\&quot;:\&quot;E211\&quot;,\&quot;multiple-spaces-before-operator\&quot;:\&quot;E221\&quot;,\&quot;multiple-spaces-after-operator\&quot;:\&quot;E222\&quot;,\&quot;tab-before-operator\&quot;:\&quot;E223\&quot;,\&quot;tab-after-operator\&quot;:\&quot;E224\&quot;,\&quot;missing-whitespace-around-operator\&quot;:\&quot;E225\&quot;,\&quot;missing-whitespace-around-arithmetic-operator\&quot;:\&quot;E226\&quot;,\&quot;missing-whitespace-around-bitwise-or-shift-operator\&quot;:\&quot;E227\&quot;,\&quot;missing-whitespace-around-modulo-operator\&quot;:\&quot;E228\&quot;,\&quot;missing-whitespace\&quot;:\&quot;E231\&quot;,\&quot;multiple-spaces-after-comma\&quot;:\&quot;E241\&quot;,\&quot;tab-after-comma\&quot;:\&quot;E242\&quot;,\&quot;unexpected-spaces-around-keyword-parameter-equals\&quot;:\&quot;E251\&quot;,\&quot;missing-whitespace-around-parameter-equals\&quot;:\&quot;E252\&quot;,\&quot;too-few-spaces-before-inline-comment\&quot;:\&quot;E261\&quot;,\&quot;no-space-after-inline-comment\&quot;:\&quot;E262\&quot;,\&quot;no-space-after-block-comment\&quot;:\&quot;E265\&quot;,\&quot;multiple-leading-hashes-for-block-comment\&quot;:\&quot;E266\&quot;,\&quot;multiple-spaces-after-keyword\&quot;:\&quot;E271\&quot;,\&quot;multiple-spaces-before-keyword\&quot;:\&quot;E272\&quot;,\&quot;tab-after-keyword\&quot;:\&quot;E273\&quot;,\&quot;tab-before-keyword\&quot;:\&quot;E274\&quot;,\&quot;missing-whitespace-after-keyword\&quot;:\&quot;E275\&quot;,\&quot;blank-line-between-methods\&quot;:\&quot;E301\&quot;,\&quot;blank-lines-top-level\&quot;:\&quot;E302\&quot;,\&quot;too-many-blank-lines\&quot;:\&quot;E303\&quot;,\&quot;blank-line-after-decorator\&quot;:\&quot;E304\&quot;,\&quot;blank-lines-after-function-or-class\&quot;:\&quot;E305\&quot;,\&quot;blank-lines-before-nested-definition\&quot;:\&quot;E306\&quot;,\&quot;multiple-imports-on-one-line\&quot;:\&quot;E401\&quot;,\&quot;module-import-not-at-top-of-file\&quot;:\&quot;E402\&quot;,\&quot;line-too-long\&quot;:\&quot;E501\&quot;,\&quot;redundant-backslash\&quot;:\&quot;E502\&quot;,\&quot;multiple-statements-on-one-line-colon\&quot;:\&quot;E701\&quot;,\&quot;multiple-statements-on-one-line-semicolon\&quot;:\&quot;E702\&quot;,\&quot;useless-semicolon\&quot;:\&quot;E703\&quot;,\&quot;none-comparison\&quot;:\&quot;E711\&quot;,\&quot;true-false-comparison\&quot;:\&quot;E712\&quot;,\&quot;not-in-test\&quot;:\&quot;E713\&quot;,\&quot;not-is-test\&quot;:\&quot;E714\&quot;,\&quot;type-comparison\&quot;:\&quot;E721\&quot;,\&quot;bare-except\&quot;:\&quot;E722\&quot;,\&quot;lambda-assignment\&quot;:\&quot;E731\&quot;,\&quot;ambiguous-variable-name\&quot;:\&quot;E741\&quot;,\&quot;ambiguous-class-name\&quot;:\&quot;E742\&quot;,\&quot;ambiguous-function-name\&quot;:\&quot;E743\&quot;,\&quot;io-error\&quot;:\&quot;E902\&quot;,\&quot;syntax-error\&quot;:\&quot;E999\&quot;,\&quot;tab-indentation\&quot;:\&quot;W191\&quot;,\&quot;trailing-whitespace\&quot;:\&quot;W291\&quot;,\&quot;missing-newline-at-end-of-file\&quot;:\&quot;W292\&quot;,\&quot;blank-line-with-whitespace\&quot;:\&quot;W293\&quot;,\&quot;too-many-newlines-at-end-of-file\&quot;:\&quot;W391\&quot;,\&quot;doc-line-too-long\&quot;:\&quot;W505\&quot;,\&quot;invalid-escape-sequence\&quot;:\&quot;W605\&quot;,\&quot;docstring-missing-returns\&quot;:\&quot;DOC201\&quot;,\&quot;docstring-extraneous-returns\&quot;:\&quot;DOC202\&quot;,\&quot;docstring-missing-yields\&quot;:\&quot;DOC402\&quot;,\&quot;docstring-extraneous-yields\&quot;:\&quot;DOC403\&quot;,\&quot;docstring-missing-exception\&quot;:\&quot;DOC501\&quot;,\&quot;docstring-extraneous-exception\&quot;:\&quot;DOC502\&quot;,\&quot;undocumented-public-module\&quot;:\&quot;D100\&quot;,\&quot;undocumented-public-class\&quot;:\&quot;D101\&quot;,\&quot;undocumented-public-method\&quot;:\&quot;D102\&quot;,\&quot;undocumented-public-function\&quot;:\&quot;D103\&quot;,\&quot;undocumented-public-package\&quot;:\&quot;D104\&quot;,\&quot;undocumented-magic-method\&quot;:\&quot;D105\&quot;,\&quot;undocumented-public-nested-class\&quot;:\&quot;D106\&quot;,\&quot;undocumented-public-init\&quot;:\&quot;D107\&quot;,\&quot;fits-on-one-line\&quot;:\&quot;D200\&quot;,\&quot;no-blank-line-before-function\&quot;:\&quot;D201\&quot;,\&quot;no-blank-line-after-function\&quot;:\&quot;D202\&quot;,\&quot;one-blank-line-before-class\&quot;:\&quot;D203\&quot;,\&quot;one-blank-line-after-class\&quot;:\&quot;D204\&quot;,\&quot;blank-line-after-summary\&quot;:\&quot;D205\&quot;,\&quot;indent-with-spaces\&quot;:\&quot;D206\&quot;,\&quot;under-indentation\&quot;:\&quot;D207\&quot;,\&quot;over-indentation\&quot;:\&quot;D208\&quot;,\&quot;new-line-after-last-paragraph\&quot;:\&quot;D209\&quot;,\&quot;surrounding-whitespace\&quot;:\&quot;D210\&quot;,\&quot;blank-line-before-class\&quot;:\&quot;D211\&quot;,\&quot;multi-line-summary-first-line\&quot;:\&quot;D212\&quot;,\&quot;multi-line-summary-second-line\&quot;:\&quot;D213\&quot;,\&quot;section-not-over-indented\&quot;:\&quot;D214\&quot;,\&quot;section-underline-not-over-indented\&quot;:\&quot;D215\&quot;,\&quot;triple-single-quotes\&quot;:\&quot;D300\&quot;,\&quot;escape-sequence-in-docstring\&quot;:\&quot;D301\&quot;,\&quot;ends-in-period\&quot;:\&quot;D400\&quot;,\&quot;non-imperative-mood\&quot;:\&quot;D401\&quot;,\&quot;no-signature\&quot;:\&quot;D402\&quot;,\&quot;first-line-capitalized\&quot;:\&quot;D403\&quot;,\&quot;docstring-starts-with-this\&quot;:\&quot;D404\&quot;,\&quot;capitalize-section-name\&quot;:\&quot;D405\&quot;,\&quot;new-line-after-section-name\&quot;:\&quot;D406\&quot;,\&quot;dashed-underline-after-section\&quot;:\&quot;D407\&quot;,\&quot;section-underline-after-name\&quot;:\&quot;D408\&quot;,\&quot;section-underline-matches-section-length\&quot;:\&quot;D409\&quot;,\&quot;no-blank-line-after-section\&quot;:\&quot;D410\&quot;,\&quot;no-blank-line-before-section\&quot;:\&quot;D411\&quot;,\&quot;blank-lines-between-header-and-content\&quot;:\&quot;D412\&quot;,\&quot;blank-line-after-last-section\&quot;:\&quot;D413\&quot;,\&quot;empty-docstring-section\&quot;:\&quot;D414\&quot;,\&quot;ends-in-punctuation\&quot;:\&quot;D415\&quot;,\&quot;section-name-ends-in-colon\&quot;:\&quot;D416\&quot;,\&quot;undocumented-param\&quot;:\&quot;D417\&quot;,\&quot;overload-with-docstring\&quot;:\&quot;D418\&quot;,\&quot;empty-docstring\&quot;:\&quot;D419\&quot;,\&quot;unused-import\&quot;:\&quot;F401\&quot;,\&quot;import-shadowed-by-loop-var\&quot;:\&quot;F402\&quot;,\&quot;undefined-local-with-import-star\&quot;:\&quot;F403\&quot;,\&quot;late-future-import\&quot;:\&quot;F404\&quot;,\&quot;undefined-local-with-import-star-usage\&quot;:\&quot;F405\&quot;,\&quot;undefined-local-with-nested-import-star-usage\&quot;:\&quot;F406\&quot;,\&quot;future-feature-not-defined\&quot;:\&quot;F407\&quot;,\&quot;percent-format-invalid-format\&quot;:\&quot;F501\&quot;,\&quot;percent-format-expected-mapping\&quot;:\&quot;F502\&quot;,\&quot;percent-format-expected-sequence\&quot;:\&quot;F503\&quot;,\&quot;percent-format-extra-named-arguments\&quot;:\&quot;F504\&quot;,\&quot;percent-format-missing-argument\&quot;:\&quot;F505\&quot;,\&quot;percent-format-mixed-positional-and-named\&quot;:\&quot;F506\&quot;,\&quot;percent-format-positional-count-mismatch\&quot;:\&quot;F507\&quot;,\&quot;percent-format-star-requires-sequence\&quot;:\&quot;F508\&quot;,\&quot;percent-format-unsupported-format-character\&quot;:\&quot;F509\&quot;,\&quot;string-dot-format-invalid-format\&quot;:\&quot;F521\&quot;,\&quot;string-dot-format-extra-named-arguments\&quot;:\&quot;F522\&quot;,\&quot;string-dot-format-extra-positional-arguments\&quot;:\&quot;F523\&quot;,\&quot;string-dot-format-missing-arguments\&quot;:\&quot;F524\&quot;,\&quot;string-dot-format-mixing-automatic\&quot;:\&quot;F525\&quot;,\&quot;f-string-missing-placeholders\&quot;:\&quot;F541\&quot;,\&quot;multi-value-repeated-key-literal\&quot;:\&quot;F601\&quot;,\&quot;multi-value-repeated-key-variable\&quot;:\&quot;F602\&quot;,\&quot;expressions-in-star-assignment\&quot;:\&quot;F621\&quot;,\&quot;multiple-starred-expressions\&quot;:\&quot;F622\&quot;,\&quot;assert-tuple\&quot;:\&quot;F631\&quot;,\&quot;is-literal\&quot;:\&quot;F632\&quot;,\&quot;invalid-print-syntax\&quot;:\&quot;F633\&quot;,\&quot;if-tuple\&quot;:\&quot;F634\&quot;,\&quot;break-outside-loop\&quot;:\&quot;F701\&quot;,\&quot;continue-outside-loop\&quot;:\&quot;F702\&quot;,\&quot;yield-outside-function\&quot;:\&quot;F704\&quot;,\&quot;return-outside-function\&quot;:\&quot;F706\&quot;,\&quot;default-except-not-last\&quot;:\&quot;F707\&quot;,\&quot;forward-annotation-syntax-error\&quot;:\&quot;F722\&quot;,\&quot;redefined-while-unused\&quot;:\&quot;F811\&quot;,\&quot;undefined-name\&quot;:\&quot;F821\&quot;,\&quot;undefined-export\&quot;:\&quot;F822\&quot;,\&quot;undefined-local\&quot;:\&quot;F823\&quot;,\&quot;unused-variable\&quot;:\&quot;F841\&quot;,\&quot;unused-annotation\&quot;:\&quot;F842\&quot;,\&quot;raise-not-implemented\&quot;:\&quot;F901\&quot;,\&quot;eval\&quot;:\&quot;PGH001\&quot;,\&quot;deprecated-log-warn\&quot;:\&quot;PGH002\&quot;,\&quot;blanket-type-ignore\&quot;:\&quot;PGH003\&quot;,\&quot;blanket-noqa\&quot;:\&quot;PGH004\&quot;,\&quot;invalid-mock-access\&quot;:\&quot;PGH005\&quot;,\&quot;type-name-incorrect-variance\&quot;:\&quot;PLC0105\&quot;,\&quot;type-bivariance\&quot;:\&quot;PLC0131\&quot;,\&quot;type-param-name-mismatch\&quot;:\&quot;PLC0132\&quot;,\&quot;single-string-slots\&quot;:\&quot;PLC0205\&quot;,\&quot;dict-index-missing-items\&quot;:\&quot;PLC0206\&quot;,\&quot;iteration-over-set\&quot;:\&quot;PLC0208\&quot;,\&quot;useless-import-alias\&quot;:\&quot;PLC0414\&quot;,\&quot;import-outside-top-level\&quot;:\&quot;PLC0415\&quot;,\&quot;len-test\&quot;:\&quot;PLC1802\&quot;,\&quot;compare-to-empty-string\&quot;:\&quot;PLC1901\&quot;,\&quot;non-ascii-name\&quot;:\&quot;PLC2401\&quot;,\&quot;non-ascii-import-name\&quot;:\&quot;PLC2403\&quot;,\&quot;import-private-name\&quot;:\&quot;PLC2701\&quot;,\&quot;unnecessary-dunder-call\&quot;:\&quot;PLC2801\&quot;,\&quot;unnecessary-direct-lambda-call\&quot;:\&quot;PLC3002\&quot;,\&quot;yield-in-init\&quot;:\&quot;PLE0100\&quot;,\&quot;return-in-init\&quot;:\&quot;PLE0101\&quot;,\&quot;nonlocal-and-global\&quot;:\&quot;PLE0115\&quot;,\&quot;continue-in-finally\&quot;:\&quot;PLE0116\&quot;,\&quot;nonlocal-without-binding\&quot;:\&quot;PLE0117\&quot;,\&quot;load-before-global-declaration\&quot;:\&quot;PLE0118\&quot;,\&quot;non-slot-assignment\&quot;:\&quot;PLE0237\&quot;,\&quot;duplicate-bases\&quot;:\&quot;PLE0241\&quot;,\&quot;unexpected-special-method-signature\&quot;:\&quot;PLE0302\&quot;,\&quot;invalid-length-return-type\&quot;:\&quot;PLE0303\&quot;,\&quot;invalid-bool-return-type\&quot;:\&quot;PLE0304\&quot;,\&quot;invalid-index-return-type\&quot;:\&quot;PLE0305\&quot;,\&quot;invalid-str-return-type\&quot;:\&quot;PLE0307\&quot;,\&quot;invalid-bytes-return-type\&quot;:\&quot;PLE0308\&quot;,\&quot;invalid-hash-return-type\&quot;:\&quot;PLE0309\&quot;,\&quot;invalid-all-object\&quot;:\&quot;PLE0604\&quot;,\&quot;invalid-all-format\&quot;:\&quot;PLE0605\&quot;,\&quot;potential-index-error\&quot;:\&quot;PLE0643\&quot;,\&quot;misplaced-bare-raise\&quot;:\&quot;PLE0704\&quot;,\&quot;repeated-keyword-argument\&quot;:\&quot;PLE1132\&quot;,\&quot;dict-iter-missing-items\&quot;:\&quot;PLE1141\&quot;,\&quot;await-outside-async\&quot;:\&quot;PLE1142\&quot;,\&quot;logging-too-many-args\&quot;:\&quot;PLE1205\&quot;,\&quot;logging-too-few-args\&quot;:\&quot;PLE1206\&quot;,\&quot;bad-string-format-character\&quot;:\&quot;PLE1300\&quot;,\&quot;bad-string-format-type\&quot;:\&quot;PLE1307\&quot;,\&quot;bad-str-strip-call\&quot;:\&quot;PLE1310\&quot;,\&quot;invalid-envvar-value\&quot;:\&quot;PLE1507\&quot;,\&quot;singledispatch-method\&quot;:\&quot;PLE1519\&quot;,\&quot;singledispatchmethod-function\&quot;:\&quot;PLE1520\&quot;,\&quot;yield-from-in-async-function\&quot;:\&quot;PLE1700\&quot;,\&quot;bidirectional-unicode\&quot;:\&quot;PLE2502\&quot;,\&quot;invalid-character-backspace\&quot;:\&quot;PLE2510\&quot;,\&quot;invalid-character-sub\&quot;:\&quot;PLE2512\&quot;,\&quot;invalid-character-esc\&quot;:\&quot;PLE2513\&quot;,\&quot;invalid-character-nul\&quot;:\&quot;PLE2514\&quot;,\&quot;invalid-character-zero-width-space\&quot;:\&quot;PLE2515\&quot;,\&quot;modified-iterating-set\&quot;:\&quot;PLE4703\&quot;,\&quot;comparison-with-itself\&quot;:\&quot;PLR0124\&quot;,\&quot;comparison-of-constant\&quot;:\&quot;PLR0133\&quot;,\&quot;no-classmethod-decorator\&quot;:\&quot;PLR0202\&quot;,\&quot;no-staticmethod-decorator\&quot;:\&quot;PLR0203\&quot;,\&quot;property-with-parameters\&quot;:\&quot;PLR0206\&quot;,\&quot;manual-from-import\&quot;:\&quot;PLR0402\&quot;,\&quot;too-many-public-methods\&quot;:\&quot;PLR0904\&quot;,\&quot;too-many-return-statements\&quot;:\&quot;PLR0911\&quot;,\&quot;too-many-branches\&quot;:\&quot;PLR0912\&quot;,\&quot;too-many-arguments\&quot;:\&quot;PLR0913\&quot;,\&quot;too-many-locals\&quot;:\&quot;PLR0914\&quot;,\&quot;too-many-statements\&quot;:\&quot;PLR0915\&quot;,\&quot;too-many-boolean-expressions\&quot;:\&quot;PLR0916\&quot;,\&quot;too-many-positional-arguments\&quot;:\&quot;PLR0917\&quot;,\&quot;repeated-isinstance-calls\&quot;:\&quot;PLR1701\&quot;,\&quot;too-many-nested-blocks\&quot;:\&quot;PLR1702\&quot;,\&quot;redefined-argument-from-local\&quot;:\&quot;PLR1704\&quot;,\&quot;and-or-ternary\&quot;:\&quot;PLR1706\&quot;,\&quot;useless-return\&quot;:\&quot;PLR1711\&quot;,\&quot;repeated-equality-comparison\&quot;:\&quot;PLR1714\&quot;,\&quot;boolean-chained-comparison\&quot;:\&quot;PLR1716\&quot;,\&quot;sys-exit-alias\&quot;:\&quot;PLR1722\&quot;,\&quot;if-stmt-min-max\&quot;:\&quot;PLR1730\&quot;,\&quot;unnecessary-dict-index-lookup\&quot;:\&quot;PLR1733\&quot;,\&quot;unnecessary-list-index-lookup\&quot;:\&quot;PLR1736\&quot;,\&quot;magic-value-comparison\&quot;:\&quot;PLR2004\&quot;,\&quot;empty-comment\&quot;:\&quot;PLR2044\&quot;,\&quot;collapsible-else-if\&quot;:\&quot;PLR5501\&quot;,\&quot;non-augmented-assignment\&quot;:\&quot;PLR6104\&quot;,\&quot;literal-membership\&quot;:\&quot;PLR6201\&quot;,\&quot;no-self-use\&quot;:\&quot;PLR6301\&quot;,\&quot;unnecessary-lambda\&quot;:\&quot;PLW0108\&quot;,\&quot;useless-else-on-loop\&quot;:\&quot;PLW0120\&quot;,\&quot;self-assigning-variable\&quot;:\&quot;PLW0127\&quot;,\&quot;redeclared-assigned-name\&quot;:\&quot;PLW0128\&quot;,\&quot;assert-on-string-literal\&quot;:\&quot;PLW0129\&quot;,\&quot;named-expr-without-context\&quot;:\&quot;PLW0131\&quot;,\&quot;useless-exception-statement\&quot;:\&quot;PLW0133\&quot;,\&quot;nan-comparison\&quot;:\&quot;PLW0177\&quot;,\&quot;bad-staticmethod-argument\&quot;:\&quot;PLW0211\&quot;,\&quot;super-without-brackets\&quot;:\&quot;PLW0245\&quot;,\&quot;import-self\&quot;:\&quot;PLW0406\&quot;,\&quot;global-variable-not-assigned\&quot;:\&quot;PLW0602\&quot;,\&quot;global-statement\&quot;:\&quot;PLW0603\&quot;,\&quot;global-at-module-level\&quot;:\&quot;PLW0604\&quot;,\&quot;self-or-cls-assignment\&quot;:\&quot;PLW0642\&quot;,\&quot;binary-op-exception\&quot;:\&quot;PLW0711\&quot;,\&quot;bad-open-mode\&quot;:\&quot;PLW1501\&quot;,\&quot;shallow-copy-environ\&quot;:\&quot;PLW1507\&quot;,\&quot;invalid-envvar-default\&quot;:\&quot;PLW1508\&quot;,\&quot;subprocess-popen-preexec-fn\&quot;:\&quot;PLW1509\&quot;,\&quot;subprocess-run-without-check\&quot;:\&quot;PLW1510\&quot;,\&quot;unspecified-encoding\&quot;:\&quot;PLW1514\&quot;,\&quot;eq-without-hash\&quot;:\&quot;PLW1641\&quot;,\&quot;useless-with-lock\&quot;:\&quot;PLW2101\&quot;,\&quot;redefined-loop-name\&quot;:\&quot;PLW2901\&quot;,\&quot;bad-dunder-method-name\&quot;:\&quot;PLW3201\&quot;,\&quot;nested-min-max\&quot;:\&quot;PLW3301\&quot;,\&quot;useless-metaclass-type\&quot;:\&quot;UP001\&quot;,\&quot;type-of-primitive\&quot;:\&quot;UP003\&quot;,\&quot;useless-object-inheritance\&quot;:\&quot;UP004\&quot;,\&quot;deprecated-unittest-alias\&quot;:\&quot;UP005\&quot;,\&quot;non-pep585-annotation\&quot;:\&quot;UP006\&quot;,\&quot;non-pep604-annotation\&quot;:\&quot;UP007\&quot;,\&quot;super-call-with-parameters\&quot;:\&quot;UP008\&quot;,\&quot;utf8-encoding-declaration\&quot;:\&quot;UP009\&quot;,\&quot;unnecessary-future-import\&quot;:\&quot;UP010\&quot;,\&quot;lru-cache-without-parameters\&quot;:\&quot;UP011\&quot;,\&quot;unnecessary-encode-utf8\&quot;:\&quot;UP012\&quot;,\&quot;convert-typed-dict-functional-to-class\&quot;:\&quot;UP013\&quot;,\&quot;convert-named-tuple-functional-to-class\&quot;:\&quot;UP014\&quot;,\&quot;redundant-open-modes\&quot;:\&quot;UP015\&quot;,\&quot;datetime-timezone-utc\&quot;:\&quot;UP017\&quot;,\&quot;native-literals\&quot;:\&quot;UP018\&quot;,\&quot;typing-text-str-alias\&quot;:\&quot;UP019\&quot;,\&quot;open-alias\&quot;:\&quot;UP020\&quot;,\&quot;replace-universal-newlines\&quot;:\&quot;UP021\&quot;,\&quot;replace-stdout-stderr\&quot;:\&quot;UP022\&quot;,\&quot;deprecated-c-element-tree\&quot;:\&quot;UP023\&quot;,\&quot;os-error-alias\&quot;:\&quot;UP024\&quot;,\&quot;unicode-kind-prefix\&quot;:\&quot;UP025\&quot;,\&quot;deprecated-mock-import\&quot;:\&quot;UP026\&quot;,\&quot;unpacked-list-comprehension\&quot;:\&quot;UP027\&quot;,\&quot;yield-in-for-loop\&quot;:\&quot;UP028\&quot;,\&quot;unnecessary-builtin-import\&quot;:\&quot;UP029\&quot;,\&quot;format-literals\&quot;:\&quot;UP030\&quot;,\&quot;printf-string-formatting\&quot;:\&quot;UP031\&quot;,\&quot;f-string\&quot;:\&quot;UP032\&quot;,\&quot;lru-cache-with-maxsize-none\&quot;:\&quot;UP033\&quot;,\&quot;extraneous-parentheses\&quot;:\&quot;UP034\&quot;,\&quot;deprecated-import\&quot;:\&quot;UP035\&quot;,\&quot;outdated-version-block\&quot;:\&quot;UP036\&quot;,\&quot;quoted-annotation\&quot;:\&quot;UP037\&quot;,\&quot;non-pep604-isinstance\&quot;:\&quot;UP038\&quot;,\&quot;unnecessary-class-parentheses\&quot;:\&quot;UP039\&quot;,\&quot;non-pep695-type-alias\&quot;:\&quot;UP040\&quot;,\&quot;timeout-error-alias\&quot;:\&quot;UP041\&quot;,\&quot;replace-str-enum\&quot;:\&quot;UP042\&quot;,\&quot;unnecessary-default-type-args\&quot;:\&quot;UP043\&quot;,\&quot;non-pep646-unpack\&quot;:\&quot;UP044\&quot;,\&quot;read-whole-file\&quot;:\&quot;FURB101\&quot;,\&quot;write-whole-file\&quot;:\&quot;FURB103\&quot;,\&quot;print-empty-string\&quot;:\&quot;FURB105\&quot;,\&quot;if-exp-instead-of-or-operator\&quot;:\&quot;FURB110\&quot;,\&quot;repeated-append\&quot;:\&quot;FURB113\&quot;,\&quot;f-string-number-format\&quot;:\&quot;FURB116\&quot;,\&quot;reimplemented-operator\&quot;:\&quot;FURB118\&quot;,\&quot;readlines-in-for\&quot;:\&quot;FURB129\&quot;,\&quot;delete-full-slice\&quot;:\&quot;FURB131\&quot;,\&quot;check-and-remove-from-set\&quot;:\&quot;FURB132\&quot;,\&quot;if-expr-min-max\&quot;:\&quot;FURB136\&quot;,\&quot;reimplemented-starmap\&quot;:\&quot;FURB140\&quot;,\&quot;for-loop-set-mutations\&quot;:\&quot;FURB142\&quot;,\&quot;slice-copy\&quot;:\&quot;FURB145\&quot;,\&quot;unnecessary-enumerate\&quot;:\&quot;FURB148\&quot;,\&quot;math-constant\&quot;:\&quot;FURB152\&quot;,\&quot;repeated-global\&quot;:\&quot;FURB154\&quot;,\&quot;hardcoded-string-charset\&quot;:\&quot;FURB156\&quot;,\&quot;verbose-decimal-constructor\&quot;:\&quot;FURB157\&quot;,\&quot;bit-count\&quot;:\&quot;FURB161\&quot;,\&quot;redundant-log-base\&quot;:\&quot;FURB163\&quot;,\&quot;unnecessary-from-float\&quot;:\&quot;FURB164\&quot;,\&quot;int-on-sliced-str\&quot;:\&quot;FURB166\&quot;,\&quot;regex-flag-alias\&quot;:\&quot;FURB167\&quot;,\&quot;isinstance-type-none\&quot;:\&quot;FURB168\&quot;,\&quot;type-none-comparison\&quot;:\&quot;FURB169\&quot;,\&quot;single-item-membership-test\&quot;:\&quot;FURB171\&quot;,\&quot;implicit-cwd\&quot;:\&quot;FURB177\&quot;,\&quot;meta-class-abc-meta\&quot;:\&quot;FURB180\&quot;,\&quot;hashlib-digest-hex\&quot;:\&quot;FURB181\&quot;,\&quot;list-reverse-copy\&quot;:\&quot;FURB187\&quot;,\&quot;slice-to-remove-prefix-or-suffix\&quot;:\&quot;FURB188\&quot;,\&quot;subclass-builtin\&quot;:\&quot;FURB189\&quot;,\&quot;sorted-min-max\&quot;:\&quot;FURB192\&quot;,\&quot;ambiguous-unicode-character-string\&quot;:\&quot;RUF001\&quot;,\&quot;ambiguous-unicode-character-docstring\&quot;:\&quot;RUF002\&quot;,\&quot;ambiguous-unicode-character-comment\&quot;:\&quot;RUF003\&quot;,\&quot;collection-literal-concatenation\&quot;:\&quot;RUF005\&quot;,\&quot;asyncio-dangling-task\&quot;:\&quot;RUF006\&quot;,\&quot;zip-instead-of-pairwise\&quot;:\&quot;RUF007\&quot;,\&quot;mutable-dataclass-default\&quot;:\&quot;RUF008\&quot;,\&quot;function-call-in-dataclass-default-argument\&quot;:\&quot;RUF009\&quot;,\&quot;explicit-f-string-type-conversion\&quot;:\&quot;RUF010\&quot;,\&quot;ruff-static-key-dict-comprehension\&quot;:\&quot;RUF011\&quot;,\&quot;mutable-class-default\&quot;:\&quot;RUF012\&quot;,\&quot;implicit-optional\&quot;:\&quot;RUF013\&quot;,\&quot;unnecessary-iterable-allocation-for-first-element\&quot;:\&quot;RUF015\&quot;,\&quot;invalid-index-type\&quot;:\&quot;RUF016\&quot;,\&quot;quadratic-list-summation\&quot;:\&quot;RUF017\&quot;,\&quot;assignment-in-assert\&quot;:\&quot;RUF018\&quot;,\&quot;unnecessary-key-check\&quot;:\&quot;RUF019\&quot;,\&quot;never-union\&quot;:\&quot;RUF020\&quot;,\&quot;parenthesize-chained-operators\&quot;:\&quot;RUF021\&quot;,\&quot;unsorted-dunder-all\&quot;:\&quot;RUF022\&quot;,\&quot;unsorted-dunder-slots\&quot;:\&quot;RUF023\&quot;,\&quot;mutable-fromkeys-value\&quot;:\&quot;RUF024\&quot;,\&quot;default-factory-kwarg\&quot;:\&quot;RUF026\&quot;,\&quot;missing-f-string-syntax\&quot;:\&quot;RUF027\&quot;,\&quot;invalid-formatter-suppression-comment\&quot;:\&quot;RUF028\&quot;,\&quot;unused-async\&quot;:\&quot;RUF029\&quot;,\&quot;assert-with-print-message\&quot;:\&quot;RUF030\&quot;,\&quot;incorrectly-parenthesized-tuple-in-subscript\&quot;:\&quot;RUF031\&quot;,\&quot;decimal-from-float-literal\&quot;:\&quot;RUF032\&quot;,\&quot;post-init-default\&quot;:\&quot;RUF033\&quot;,\&quot;useless-if-else\&quot;:\&quot;RUF034\&quot;,\&quot;unsafe-markup-use\&quot;:\&quot;RUF035\&quot;,\&quot;none-not-at-end-of-union\&quot;:\&quot;RUF036\&quot;,\&quot;redundant-bool-literal\&quot;:\&quot;RUF038\&quot;,\&quot;unraw-re-pattern\&quot;:\&quot;RUF039\&quot;,\&quot;invalid-assert-message-literal-argument\&quot;:\&quot;RUF040\&quot;,\&quot;unnecessary-nested-literal\&quot;:\&quot;RUF041\&quot;,\&quot;unnecessary-cast-to-int\&quot;:\&quot;RUF046\&quot;,\&quot;map-int-version-parsing\&quot;:\&quot;RUF048\&quot;,\&quot;used-dummy-variable\&quot;:\&quot;RUF052\&quot;,\&quot;unnecessary-regular-expression\&quot;:\&quot;RUF055\&quot;,\&quot;unused-noqa\&quot;:\&quot;RUF100\&quot;,\&quot;redirected-noqa\&quot;:\&quot;RUF101\&quot;,\&quot;invalid-pyproject-toml\&quot;:\&quot;RUF200\&quot;,\&quot;raise-vanilla-class\&quot;:\&quot;TRY002\&quot;,\&quot;raise-vanilla-args\&quot;:\&quot;TRY003\&quot;,\&quot;type-check-without-type-error\&quot;:\&quot;TRY004\&quot;,\&quot;reraise-no-cause\&quot;:\&quot;TRY200\&quot;,\&quot;verbose-raise\&quot;:\&quot;TRY201\&quot;,\&quot;useless-try-except\&quot;:\&quot;TRY203\&quot;,\&quot;try-consider-else\&quot;:\&quot;TRY300\&quot;,\&quot;raise-within-try\&quot;:\&quot;TRY301\&quot;,\&quot;error-instead-of-exception\&quot;:\&quot;TRY400\&quot;,\&quot;verbose-log-message\&quot;:\&quot;TRY401\&quot;},\&quot;executable\&quot;:\&quot;/Users/razvan/.rye/self/bin/ruff\&quot;,\&quot;timestamp\&quot;:1738802705}&quot;,
63
+ &quot;last_opened_file_path&quot;: &quot;/Users/razvan/pr/polymarket-apis/src/polymarket_apis/clients&quot;,
64
+ &quot;run.code.analysis.last.selected.profile&quot;: &quot;pProject Default&quot;,
65
+ &quot;settings.editor.selected.configurable&quot;: &quot;insyncwithfoo.ryecharm.configurations.ruff.Global&quot;
66
+ }
67
+ }</component>
68
+ <component name="RecentsManager">
69
+ <key name="CopyFile.RECENT_KEYS">
70
+ <recent name="$PROJECT_DIR$/src/polymarket_apis/clients" />
71
+ <recent name="$PROJECT_DIR$/src/polymarket_apis/types" />
72
+ </key>
73
+ <key name="MoveFile.RECENT_KEYS">
74
+ <recent name="$PROJECT_DIR$" />
75
+ </key>
76
+ </component>
77
+ <component name="SharedIndexes">
78
+ <attachedChunks>
79
+ <set>
80
+ <option value="bundled-python-sdk-d27dc8f8c276-a636b6f4477c-com.jetbrains.pycharm.ds.sharedIndexes.bundled-DS-252.26199.84" />
81
+ </set>
82
+ </attachedChunks>
83
+ </component>
84
+ <component name="TaskManager">
85
+ <task active="true" id="Default" summary="Default task">
86
+ <changelist id="9cbf4d21-9d0c-43a0-80fe-b72fdf89ce0d" name="Changes" comment="" />
87
+ <created>1760866613742</created>
88
+ <option name="number" value="Default" />
89
+ <option name="presentableId" value="Default" />
90
+ <updated>1760866613742</updated>
91
+ </task>
92
+ <servers />
93
+ </component>
94
+ <component name="Vcs.Log.Tabs.Properties">
95
+ <option name="TAB_STATES">
96
+ <map>
97
+ <entry key="MAIN">
98
+ <value>
99
+ <State>
100
+ <option name="CUSTOM_BOOLEAN_PROPERTIES">
101
+ <map>
102
+ <entry key="Show.Git.Branches" value="true" />
103
+ </map>
104
+ </option>
105
+ </State>
106
+ </value>
107
+ </entry>
108
+ </map>
109
+ </option>
110
+ </component>
111
+ <component name="VcsManagerConfiguration">
112
+ <MESSAGE value="added pre-commit hooks for linting and formatting. small formatting changes. updated __init__s." />
113
+ <MESSAGE value="data: added closed positions, total markets traded, open interest, live volume; gamma: updated search function, added tags, teams, sports, series, comments related queries; improved datetime parsing." />
114
+ <MESSAGE value="web3: added support for safe/gnosis wallet; gamma: added missing docs fields to models" />
115
+ <MESSAGE value="added dateutil dependency" />
116
+ <MESSAGE value="lint fix" />
117
+ <option name="LAST_COMMIT_MESSAGE" value="lint fix" />
118
+ </component>
119
+ </project>
@@ -1,7 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polymarket-apis
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: Unified Polymarket APIs with Pydantic data validation - Clob, Gamma, Data, Web3, Websockets, GraphQL clients.
5
+ Project-URL: repository, https://github.com/qualiaenjoyer/polymarket-apis
5
6
  Author-email: Razvan Gheorghe <razvan@gheorghe.me>
6
7
  Requires-Python: >=3.12
7
8
  Requires-Dist: gql[httpx]>=4.0.0
@@ -88,7 +89,9 @@ flowchart LR
88
89
  - check if a **Market** offers rewards by `condition_id` - **get_market_rewards()**
89
90
  - get all active markets that offer rewards sorted by different metrics and ordered, filtered by a query, show your favourites from the web app - **get_reward_markets()** (*naming would do with some work*)
90
91
  - #### Miscellaneous
91
- - get price history
92
+ - get recent price history by `token_id` in the last 1h, 6h, 1d, 1w, 1m
93
+ - get price history by `token_id` in start/end interval
94
+ - get all price history by `token_id` in 2 min increments
92
95
  - get **ClobMarket** by `condition_id`
93
96
  - get all **ClobMarkets**
94
97
 
@@ -71,7 +71,9 @@ flowchart LR
71
71
  - check if a **Market** offers rewards by `condition_id` - **get_market_rewards()**
72
72
  - get all active markets that offer rewards sorted by different metrics and ordered, filtered by a query, show your favourites from the web app - **get_reward_markets()** (*naming would do with some work*)
73
73
  - #### Miscellaneous
74
- - get price history
74
+ - get recent price history by `token_id` in the last 1h, 6h, 1d, 1w, 1m
75
+ - get price history by `token_id` in start/end interval
76
+ - get all price history by `token_id` in 2 min increments
75
77
  - get **ClobMarket** by `condition_id`
76
78
  - get all **ClobMarkets**
77
79
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "polymarket-apis"
3
- version = "0.3.4"
3
+ version = "0.3.5"
4
4
  description = "Unified Polymarket APIs with Pydantic data validation - Clob, Gamma, Data, Web3, Websockets, GraphQL clients."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -153,3 +153,7 @@ no_implicit_optional = true
153
153
  check_untyped_defs = true
154
154
  warn_unused_ignores = true
155
155
  show_error_codes = true
156
+
157
+
158
+ [project.urls]
159
+ repository = "https://github.com/qualiaenjoyer/polymarket-apis"
@@ -10,7 +10,7 @@ This package provides a comprehensive interface to Polymarket's APIs including:
10
10
  - GraphQL API for flexible data queries
11
11
  """
12
12
 
13
- __version__ = "0.3.4"
13
+ __version__ = "0.3.5"
14
14
  __author__ = "Razvan Gheorghe"
15
15
  __email__ = "razvan@gheorghe.me"
16
16
 
@@ -1,6 +1,6 @@
1
1
  import json
2
2
  import logging
3
- from datetime import UTC, datetime
3
+ from datetime import UTC, datetime, timedelta
4
4
  from typing import Literal, Optional
5
5
  from urllib.parse import urljoin
6
6
 
@@ -349,12 +349,21 @@ class PolymarketClobClient:
349
349
  def get_recent_history(
350
350
  self,
351
351
  token_id: str,
352
- interval: Optional[Literal["1d", "6h", "1h"]] = "1d",
352
+ interval: Literal["1h", "6h", "1d", "1w", "1m", "max"] = "1d",
353
353
  fidelity: int = 1, # resolution in minutes
354
354
  ) -> PriceHistory:
355
- """Get the recent price history of a token (up to now) - 1h, 6h, 1d."""
356
- if fidelity < 1:
357
- msg = f"invalid filters: minimum 'fidelity' for '{interval}' range is 1"
355
+ """Get the recent price history of a token (up to now) - 1h, 6h, 1d, 1w, 1m."""
356
+ min_fidelities: dict[str, int] = {
357
+ "1h": 1,
358
+ "6h": 1,
359
+ "1d": 1,
360
+ "1w": 5,
361
+ "1m": 10,
362
+ "max": 2,
363
+ }
364
+
365
+ if fidelity < min_fidelities.get(interval):
366
+ msg = f"invalid filters: minimum 'fidelity' for '{interval}' range is {min_fidelities.get(interval)}"
358
367
  raise ValueError(msg)
359
368
 
360
369
  params = {
@@ -371,38 +380,41 @@ class PolymarketClobClient:
371
380
  token_id: str,
372
381
  start_time: Optional[datetime] = None,
373
382
  end_time: Optional[datetime] = None,
374
- interval: Literal["max", "1m", "1w"] = "max",
375
383
  fidelity: int = 2, # resolution in minutes
376
384
  ) -> PriceHistory:
377
- """Get the price history of a token between selected dates - 1m, 1w, max."""
378
- min_fidelities: dict[str, int] = {"1m": 10, "1w": 5, "max": 2}
379
-
380
- if fidelity is None or fidelity < min_fidelities[interval]:
381
- msg = f"invalid filters: minimum 'fidelity' for '{interval}' range is {min_fidelities[interval]}"
382
- raise ValueError(msg)
383
-
385
+ """Get the price history of a token between a selected date range of max 15 days or from start_time to now."""
384
386
  if start_time is None and end_time is None:
385
- msg = "At least one of 'start_time' or 'end_time' must be provided."
387
+ msg = "At least 'start_time' or ('start_time' and 'end_time') must be provided"
386
388
  raise ValueError(msg)
387
389
 
388
- # Default values for timestamps if one is not provided
389
-
390
- if start_time is None:
391
- start_time = datetime(2020, 1, 1, tzinfo=UTC) # Default start time
392
- if end_time is None:
393
- end_time = datetime.now(UTC) # Default end time
390
+ if (
391
+ start_time
392
+ and end_time
393
+ and start_time + timedelta(days=15, seconds=1) < end_time
394
+ ):
395
+ msg = "'start_time' - 'end_time' range cannot exceed 15 days. Remove 'end_time' to get prices up to now or set a shorter range."
396
+ raise ValueError(msg)
394
397
 
395
398
  params = {
396
399
  "market": token_id,
397
- "startTs": int(start_time.timestamp()),
398
- "endTs": int(end_time.timestamp()),
399
- "interval": interval,
400
400
  "fidelity": fidelity,
401
401
  }
402
+ if start_time:
403
+ params["startTs"] = int(start_time.timestamp())
404
+ if end_time:
405
+ params["endTs"] = int(end_time.timestamp())
406
+
402
407
  response = self.client.get(self._build_url("/prices-history"), params=params)
403
408
  response.raise_for_status()
404
409
  return PriceHistory(**response.json(), token_id=token_id)
405
410
 
411
+ def get_all_history(self, token_id: str) -> PriceHistory:
412
+ """Get the full price history of a token."""
413
+ return self.get_history(
414
+ token_id=token_id,
415
+ start_time=datetime(2020, 1, 1, tzinfo=UTC),
416
+ )
417
+
406
418
  def get_orders(
407
419
  self,
408
420
  order_id: Optional[str] = None,
@@ -3,7 +3,7 @@ from datetime import UTC, datetime
3
3
  from typing import Annotated
4
4
 
5
5
  from dateutil import parser
6
- from pydantic import AfterValidator, BaseModel, BeforeValidator, Field
6
+ from pydantic import AfterValidator, BaseModel, BeforeValidator, ConfigDict, Field
7
7
 
8
8
 
9
9
  def validate_keccak256(v: str) -> str:
@@ -30,5 +30,7 @@ EmptyString = Annotated[str, Field(pattern=r"^$", description="An empty string")
30
30
 
31
31
 
32
32
  class TimeseriesPoint(BaseModel):
33
- value: float
34
- timestamp: datetime
33
+ model_config = ConfigDict(populate_by_name=True)
34
+
35
+ value: float = Field(alias="p")
36
+ timestamp: datetime = Field(alias="t")
@@ -28,7 +28,7 @@ def _pack_primitive(typ: str, val: Any) -> bytes:
28
28
  raw = val
29
29
 
30
30
  if typ == "string":
31
- if not isinstance(raw, (bytes, str)):
31
+ if not isinstance(raw, bytes | str):
32
32
  msg = "string value must be str or bytes"
33
33
  raise TypeError(msg)
34
34
  return raw.encode() if isinstance(raw, str) else raw
@@ -47,7 +47,7 @@ def _pack_primitive(typ: str, val: Any) -> bytes:
47
47
  b = raw.to_bytes(n, "big")
48
48
  elif isinstance(raw, str) and raw.startswith("0x"):
49
49
  b = bytes.fromhex(raw[2:])
50
- elif isinstance(raw, (bytes, bytearray)):
50
+ elif isinstance(raw, bytes | bytearray):
51
51
  b = bytes(raw)
52
52
  else:
53
53
  msg = f"unsupported value for {typ}"
@@ -63,7 +63,7 @@ def _pack_primitive(typ: str, val: Any) -> bytes:
63
63
  addr = raw[2:]
64
64
  elif isinstance(raw, str):
65
65
  addr = raw
66
- elif isinstance(raw, (bytes, bytearray)):
66
+ elif isinstance(raw, bytes | bytearray):
67
67
  return bytes(raw[-20:])
68
68
  else:
69
69
  msg = "address must be hex string or bytes"
@@ -75,7 +75,7 @@ def _pack_primitive(typ: str, val: Any) -> bytes:
75
75
  if m:
76
76
  bits = int(m.group(1)) if m.group(1) else 256
77
77
  size = bits // 8
78
- if isinstance(raw, (bytes, bytearray)):
78
+ if isinstance(raw, bytes | bytearray):
79
79
  intval = int.from_bytes(raw, "big")
80
80
  elif isinstance(raw, str) and raw.startswith("0x"):
81
81
  intval = int(raw, 16)
@@ -308,14 +308,14 @@ wheels = [
308
308
 
309
309
  [[package]]
310
310
  name = "bleach"
311
- version = "6.2.0"
311
+ version = "6.3.0"
312
312
  source = { registry = "https://pypi.org/simple" }
313
313
  dependencies = [
314
314
  { name = "webencodings" },
315
315
  ]
316
- sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" }
316
+ sdist = { url = "https://files.pythonhosted.org/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22", size = 203533, upload-time = "2025-10-27T17:57:39.211Z" }
317
317
  wheels = [
318
- { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" },
318
+ { url = "https://files.pythonhosted.org/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl", hash = "sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6", size = 164437, upload-time = "2025-10-27T17:57:37.538Z" },
319
319
  ]
320
320
 
321
321
  [package.optional-dependencies]
@@ -1442,11 +1442,11 @@ wheels = [
1442
1442
 
1443
1443
  [[package]]
1444
1444
  name = "lark"
1445
- version = "1.3.0"
1445
+ version = "1.3.1"
1446
1446
  source = { registry = "https://pypi.org/simple" }
1447
- sdist = { url = "https://files.pythonhosted.org/packages/1d/37/a13baf0135f348af608c667633cbe5d13aa2c5c15a56ae9ad3e6cba45ae3/lark-1.3.0.tar.gz", hash = "sha256:9a3839d0ca5e1faf7cfa3460e420e859b66bcbde05b634e73c369c8244c5fa48", size = 259551, upload-time = "2025-09-22T13:45:05.072Z" }
1447
+ sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" }
1448
1448
  wheels = [
1449
- { url = "https://files.pythonhosted.org/packages/a8/3e/1c6b43277de64fc3c0333b0e72ab7b52ddaaea205210d60d9b9f83c3d0c7/lark-1.3.0-py3-none-any.whl", hash = "sha256:80661f261fb2584a9828a097a2432efd575af27d20be0fd35d17f0fe37253831", size = 113002, upload-time = "2025-09-22T13:45:03.747Z" },
1449
+ { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" },
1450
1450
  ]
1451
1451
 
1452
1452
  [[package]]
@@ -1767,11 +1767,11 @@ wheels = [
1767
1767
 
1768
1768
  [[package]]
1769
1769
  name = "narwhals"
1770
- version = "2.9.0"
1770
+ version = "2.10.0"
1771
1771
  source = { registry = "https://pypi.org/simple" }
1772
- sdist = { url = "https://files.pythonhosted.org/packages/b7/95/aa46616f5e567ff5d262f4c207d5ca79cb2766010c786c351b8e7f930ef4/narwhals-2.9.0.tar.gz", hash = "sha256:d8cde40a6a8a7049d8e66608b7115ab19464acc6f305d136a8dc8ba396c4acfe", size = 584098, upload-time = "2025-10-20T12:19:16.893Z" }
1772
+ sdist = { url = "https://files.pythonhosted.org/packages/56/e5/ef07d31c2e07d99eecac8e14ace5c20aeb00ecba4ed5bb00343136380524/narwhals-2.10.0.tar.gz", hash = "sha256:1c05bbef2048a4045263de7d98c3d06140583eb13d796dd733b2157f05d24485", size = 582423, upload-time = "2025-10-27T17:55:55.632Z" }
1773
1773
  wheels = [
1774
- { url = "https://files.pythonhosted.org/packages/13/34/00c7ae8194074ed82b64e0bb7c24220eac5f77ac90c16e23cf0d2cfd2a03/narwhals-2.9.0-py3-none-any.whl", hash = "sha256:c59f7de4763004ae81691ce16df71b4e55aead0ead7ccde8c8f2ef8c9559c765", size = 422255, upload-time = "2025-10-20T12:19:15.228Z" },
1774
+ { url = "https://files.pythonhosted.org/packages/29/13/024ae0586d901f8a6f99e2d29b4ae217e8ef11d3fd944cdfc3bbde5f2a08/narwhals-2.10.0-py3-none-any.whl", hash = "sha256:baed44e8fc38e800e3a585e3fa9843a7079a6fad5fbffbecee4348d6ac52298c", size = 418077, upload-time = "2025-10-27T17:55:53.709Z" },
1775
1775
  ]
1776
1776
 
1777
1777
  [[package]]
@@ -1973,7 +1973,7 @@ wheels = [
1973
1973
 
1974
1974
  [[package]]
1975
1975
  name = "polymarket-apis"
1976
- version = "0.3.3"
1976
+ version = "0.3.5"
1977
1977
  source = { editable = "." }
1978
1978
  dependencies = [
1979
1979
  { name = "gql", extra = ["httpx"] },
@@ -1982,6 +1982,7 @@ dependencies = [
1982
1982
  { name = "poly-eip712-structs" },
1983
1983
  { name = "py-order-utils" },
1984
1984
  { name = "pydantic" },
1985
+ { name = "python-dateutil" },
1985
1986
  { name = "web3" },
1986
1987
  { name = "wsaccel" },
1987
1988
  ]
@@ -2009,6 +2010,7 @@ requires-dist = [
2009
2010
  { name = "poly-eip712-structs", specifier = ">=0.0.1" },
2010
2011
  { name = "py-order-utils", specifier = ">=0.3.2" },
2011
2012
  { name = "pydantic", specifier = ">=2.10.5" },
2013
+ { name = "python-dateutil", specifier = ">=2.9.0" },
2012
2014
  { name = "web3", specifier = ">=7.0" },
2013
2015
  { name = "wsaccel", specifier = ">=0.6.7" },
2014
2016
  ]
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="MypySettings">
4
- <option name="arguments" value="--follow-imports silent --exclude \.pyi$" />
5
- <option name="mypyExecutable" value="$PROJECT_DIR$/.venv/bin/mypy" />
6
- <option name="projectDirectory" value="$PROJECT_DIR$" />
7
- </component>
8
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AskMigrationStateService">
4
- <option name="migrationStatus" value="COMPLETED" />
5
- </component>
6
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Ask2AgentMigrationStateService">
4
- <option name="migrationStatus" value="COMPLETED" />
5
- </component>
6
- </project>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Black">
4
- <option name="sdkName" value="Python 3.12 virtualenv at ~/poly/polymarket-apis/.venv" />
5
- </component>
6
- <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 virtualenv at ~/pr/polymarket-apis/.venv" project-jdk-type="Python SDK" />
7
- <component name="PyCharmDSProjectLayout">
8
- <option name="id" value="JupyterRightHiddenStructureLayout" />
9
- </component>
10
- </project>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module version="4">
3
- <component name="PyDocumentationSettings">
4
- <option name="format" value="PLAIN" />
5
- <option name="myDocStringFormat" value="Plain" />
6
- </component>
7
- </module>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,115 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AutoImportSettings">
4
- <option name="autoReloadType" value="SELECTIVE" />
5
- </component>
6
- <component name="ChangeListManager">
7
- <list default="true" id="9cbf4d21-9d0c-43a0-80fe-b72fdf89ce0d" name="Changes" comment="web3: added support for safe/gnosis wallet; gamma: added missing docs fields to models">
8
- <change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/src/polymarket_apis/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/__init__.py" afterDir="false" />
10
- </list>
11
- <option name="SHOW_DIALOG" value="false" />
12
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
13
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
14
- <option name="LAST_RESOLUTION" value="IGNORE" />
15
- </component>
16
- <component name="FileTemplateManagerImpl">
17
- <option name="RECENT_TEMPLATES">
18
- <list>
19
- <option value="Jupyter Notebook" />
20
- </list>
21
- </option>
22
- </component>
23
- <component name="Git.Settings">
24
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
25
- </component>
26
- <component name="GitHubPullRequestSearchHistory">{
27
- &quot;lastFilter&quot;: {
28
- &quot;state&quot;: &quot;OPEN&quot;,
29
- &quot;assignee&quot;: &quot;qualiaenjoyer&quot;
30
- }
31
- }</component>
32
- <component name="GithubPullRequestsUISettings"><![CDATA[{
33
- "selectedUrlAndAccountId": {
34
- "url": "https://github.com/qualiaenjoyer/polymarket-apis",
35
- "accountId": "23ce466d-36d9-4058-83a4-50b6bb4e2918"
36
- }
37
- }]]></component>
38
- <component name="HighlightingSettingsPerFile">
39
- <setting file="file://$USER_HOME$/poly/polymarket-apis/.venv/lib/python3.13/site-packages/httpx/_client.py" root0="SKIP_INSPECTION" />
40
- </component>
41
- <component name="ProblemsViewState">
42
- <option name="selectedTabId" value="CurrentFile" />
43
- </component>
44
- <component name="ProjectColorInfo">{
45
- &quot;customColor&quot;: &quot;&quot;,
46
- &quot;associatedIndex&quot;: 5
47
- }</component>
48
- <component name="ProjectId" id="34HNc0USmRKn5QdD9z5lxgd2ljx" />
49
- <component name="ProjectViewState">
50
- <option name="hideEmptyMiddlePackages" value="true" />
51
- <option name="showLibraryContents" value="true" />
52
- </component>
53
- <component name="PropertiesComponent"><![CDATA[{
54
- "keyToString": {
55
- "ModuleVcsDetector.initialDetectionPerformed": "true",
56
- "RunOnceActivity.ShowReadmeOnStart": "true",
57
- "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
58
- "RunOnceActivity.git.unshallow": "true",
59
- "git-widget-placeholder": "main",
60
- "insyncwithfoo.ryecharm.ruff.caching.ruleNameToCodeMap": "{\"result\":{\"airflow-variable-name-task-id-mismatch\":\"AIR001\",\"airflow-dag-no-schedule-argument\":\"AIR301\",\"airflow3-removal\":\"AIR302\",\"commented-out-code\":\"ERA001\",\"fast-api-redundant-response-model\":\"FAST001\",\"fast-api-non-annotated-dependency\":\"FAST002\",\"fast-api-unused-path-parameter\":\"FAST003\",\"sys-version-slice3\":\"YTT101\",\"sys-version2\":\"YTT102\",\"sys-version-cmp-str3\":\"YTT103\",\"sys-version-info0-eq3\":\"YTT201\",\"six-py3\":\"YTT202\",\"sys-version-info1-cmp-int\":\"YTT203\",\"sys-version-info-minor-cmp-int\":\"YTT204\",\"sys-version0\":\"YTT301\",\"sys-version-cmp-str10\":\"YTT302\",\"sys-version-slice1\":\"YTT303\",\"missing-type-function-argument\":\"ANN001\",\"missing-type-args\":\"ANN002\",\"missing-type-kwargs\":\"ANN003\",\"missing-type-self\":\"ANN101\",\"missing-type-cls\":\"ANN102\",\"missing-return-type-undocumented-public-function\":\"ANN201\",\"missing-return-type-private-function\":\"ANN202\",\"missing-return-type-special-method\":\"ANN204\",\"missing-return-type-static-method\":\"ANN205\",\"missing-return-type-class-method\":\"ANN206\",\"any-type\":\"ANN401\",\"cancel-scope-no-checkpoint\":\"ASYNC100\",\"trio-sync-call\":\"ASYNC105\",\"async-function-with-timeout\":\"ASYNC109\",\"async-busy-wait\":\"ASYNC110\",\"async-zero-sleep\":\"ASYNC115\",\"long-sleep-not-forever\":\"ASYNC116\",\"blocking-http-call-in-async-function\":\"ASYNC210\",\"create-subprocess-in-async-function\":\"ASYNC220\",\"run-process-in-async-function\":\"ASYNC221\",\"wait-for-process-in-async-function\":\"ASYNC222\",\"blocking-open-call-in-async-function\":\"ASYNC230\",\"blocking-sleep-in-async-function\":\"ASYNC251\",\"assert\":\"S101\",\"exec-builtin\":\"S102\",\"bad-file-permissions\":\"S103\",\"hardcoded-bind-all-interfaces\":\"S104\",\"hardcoded-password-string\":\"S105\",\"hardcoded-password-func-arg\":\"S106\",\"hardcoded-password-default\":\"S107\",\"hardcoded-temp-file\":\"S108\",\"try-except-pass\":\"S110\",\"try-except-continue\":\"S112\",\"request-without-timeout\":\"S113\",\"flask-debug-true\":\"S201\",\"tarfile-unsafe-members\":\"S202\",\"suspicious-pickle-usage\":\"S301\",\"suspicious-marshal-usage\":\"S302\",\"suspicious-insecure-hash-usage\":\"S303\",\"suspicious-insecure-cipher-usage\":\"S304\",\"suspicious-insecure-cipher-mode-usage\":\"S305\",\"suspicious-mktemp-usage\":\"S306\",\"suspicious-eval-usage\":\"S307\",\"suspicious-mark-safe-usage\":\"S308\",\"suspicious-url-open-usage\":\"S310\",\"suspicious-non-cryptographic-random-usage\":\"S311\",\"suspicious-telnet-usage\":\"S312\",\"suspicious-xmlc-element-tree-usage\":\"S313\",\"suspicious-xml-element-tree-usage\":\"S314\",\"suspicious-xml-expat-reader-usage\":\"S315\",\"suspicious-xml-expat-builder-usage\":\"S316\",\"suspicious-xml-sax-usage\":\"S317\",\"suspicious-xml-mini-dom-usage\":\"S318\",\"suspicious-xml-pull-dom-usage\":\"S319\",\"suspicious-xmle-tree-usage\":\"S320\",\"suspicious-ftp-lib-usage\":\"S321\",\"suspicious-unverified-context-usage\":\"S323\",\"hashlib-insecure-hash-function\":\"S324\",\"suspicious-telnetlib-import\":\"S401\",\"suspicious-ftplib-import\":\"S402\",\"suspicious-pickle-import\":\"S403\",\"suspicious-subprocess-import\":\"S404\",\"suspicious-xml-etree-import\":\"S405\",\"suspicious-xml-sax-import\":\"S406\",\"suspicious-xml-expat-import\":\"S407\",\"suspicious-xml-minidom-import\":\"S408\",\"suspicious-xml-pulldom-import\":\"S409\",\"suspicious-lxml-import\":\"S410\",\"suspicious-xmlrpc-import\":\"S411\",\"suspicious-httpoxy-import\":\"S412\",\"suspicious-pycrypto-import\":\"S413\",\"suspicious-pyghmi-import\":\"S415\",\"request-with-no-cert-validation\":\"S501\",\"ssl-insecure-version\":\"S502\",\"ssl-with-bad-defaults\":\"S503\",\"ssl-with-no-version\":\"S504\",\"weak-cryptographic-key\":\"S505\",\"unsafe-yaml-load\":\"S506\",\"ssh-no-host-key-verification\":\"S507\",\"snmp-insecure-version\":\"S508\",\"snmp-weak-cryptography\":\"S509\",\"paramiko-call\":\"S601\",\"subprocess-popen-with-shell-equals-true\":\"S602\",\"subprocess-without-shell-equals-true\":\"S603\",\"call-with-shell-equals-true\":\"S604\",\"start-process-with-a-shell\":\"S605\",\"start-process-with-no-shell\":\"S606\",\"start-process-with-partial-path\":\"S607\",\"hardcoded-sql-expression\":\"S608\",\"unix-command-wildcard-injection\":\"S609\",\"django-extra\":\"S610\",\"django-raw-sql\":\"S611\",\"logging-config-insecure-listen\":\"S612\",\"jinja2-autoescape-false\":\"S701\",\"mako-templates\":\"S702\",\"blind-except\":\"BLE001\",\"boolean-type-hint-positional-argument\":\"FBT001\",\"boolean-default-value-positional-argument\":\"FBT002\",\"boolean-positional-value-in-call\":\"FBT003\",\"unary-prefix-increment-decrement\":\"B002\",\"assignment-to-os-environ\":\"B003\",\"unreliable-callable-check\":\"B004\",\"strip-with-multi-characters\":\"B005\",\"mutable-argument-default\":\"B006\",\"unused-loop-control-variable\":\"B007\",\"function-call-in-default-argument\":\"B008\",\"get-attr-with-constant\":\"B009\",\"set-attr-with-constant\":\"B010\",\"assert-false\":\"B011\",\"jump-statement-in-finally\":\"B012\",\"redundant-tuple-in-exception-handler\":\"B013\",\"duplicate-handler-exception\":\"B014\",\"useless-comparison\":\"B015\",\"raise-literal\":\"B016\",\"assert-raises-exception\":\"B017\",\"useless-expression\":\"B018\",\"cached-instance-method\":\"B019\",\"loop-variable-overrides-iterator\":\"B020\",\"f-string-docstring\":\"B021\",\"useless-contextlib-suppress\":\"B022\",\"function-uses-loop-variable\":\"B023\",\"abstract-base-class-without-abstract-method\":\"B024\",\"duplicate-try-block-exception\":\"B025\",\"star-arg-unpacking-after-keyword-arg\":\"B026\",\"empty-method-without-abstract-decorator\":\"B027\",\"no-explicit-stacklevel\":\"B028\",\"except-with-empty-tuple\":\"B029\",\"except-with-non-exception-classes\":\"B030\",\"reuse-of-groupby-generator\":\"B031\",\"unintentional-type-annotation\":\"B032\",\"duplicate-value\":\"B033\",\"re-sub-positional-args\":\"B034\",\"static-key-dict-comprehension\":\"B035\",\"mutable-contextvar-default\":\"B039\",\"return-in-generator\":\"B901\",\"raise-without-from-inside-except\":\"B904\",\"zip-without-explicit-strict\":\"B905\",\"loop-iterator-mutation\":\"B909\",\"builtin-variable-shadowing\":\"A001\",\"builtin-argument-shadowing\":\"A002\",\"builtin-attribute-shadowing\":\"A003\",\"builtin-import-shadowing\":\"A004\",\"builtin-module-shadowing\":\"A005\",\"builtin-lambda-argument-shadowing\":\"A006\",\"missing-trailing-comma\":\"COM812\",\"trailing-comma-on-bare-tuple\":\"COM818\",\"prohibited-trailing-comma\":\"COM819\",\"unnecessary-generator-list\":\"C400\",\"unnecessary-generator-set\":\"C401\",\"unnecessary-generator-dict\":\"C402\",\"unnecessary-list-comprehension-set\":\"C403\",\"unnecessary-list-comprehension-dict\":\"C404\",\"unnecessary-literal-set\":\"C405\",\"unnecessary-literal-dict\":\"C406\",\"unnecessary-collection-call\":\"C408\",\"unnecessary-literal-within-tuple-call\":\"C409\",\"unnecessary-literal-within-list-call\":\"C410\",\"unnecessary-list-call\":\"C411\",\"unnecessary-call-around-sorted\":\"C413\",\"unnecessary-double-cast-or-process\":\"C414\",\"unnecessary-subscript-reversal\":\"C415\",\"unnecessary-comprehension\":\"C416\",\"unnecessary-map\":\"C417\",\"unnecessary-literal-within-dict-call\":\"C418\",\"unnecessary-comprehension-in-call\":\"C419\",\"unnecessary-dict-comprehension-for-iterable\":\"C420\",\"missing-copyright-notice\":\"CPY001\",\"call-datetime-without-tzinfo\":\"DTZ001\",\"call-datetime-today\":\"DTZ002\",\"call-datetime-utcnow\":\"DTZ003\",\"call-datetime-utcfromtimestamp\":\"DTZ004\",\"call-datetime-now-without-tzinfo\":\"DTZ005\",\"call-datetime-fromtimestamp\":\"DTZ006\",\"call-datetime-strptime-without-zone\":\"DTZ007\",\"call-date-today\":\"DTZ011\",\"call-date-fromtimestamp\":\"DTZ012\",\"datetime-min-max\":\"DTZ901\",\"debugger\":\"T100\",\"django-nullable-model-string-field\":\"DJ001\",\"django-locals-in-render-function\":\"DJ003\",\"django-exclude-with-model-form\":\"DJ006\",\"django-all-with-model-form\":\"DJ007\",\"django-model-without-dunder-str\":\"DJ008\",\"django-unordered-body-content-in-model\":\"DJ012\",\"django-non-leading-receiver-decorator\":\"DJ013\",\"raw-string-in-exception\":\"EM101\",\"f-string-in-exception\":\"EM102\",\"dot-format-in-exception\":\"EM103\",\"shebang-not-executable\":\"EXE001\",\"shebang-missing-executable-file\":\"EXE002\",\"shebang-missing-python\":\"EXE003\",\"shebang-leading-whitespace\":\"EXE004\",\"shebang-not-first-line\":\"EXE005\",\"line-contains-fixme\":\"FIX001\",\"line-contains-todo\":\"FIX002\",\"line-contains-xxx\":\"FIX003\",\"line-contains-hack\":\"FIX004\",\"future-rewritable-type-annotation\":\"FA100\",\"future-required-type-annotation\":\"FA102\",\"f-string-in-get-text-func-call\":\"INT001\",\"format-in-get-text-func-call\":\"INT002\",\"printf-in-get-text-func-call\":\"INT003\",\"single-line-implicit-string-concatenation\":\"ISC001\",\"multi-line-implicit-string-concatenation\":\"ISC002\",\"explicit-string-concatenation\":\"ISC003\",\"unconventional-import-alias\":\"ICN001\",\"banned-import-alias\":\"ICN002\",\"banned-import-from\":\"ICN003\",\"direct-logger-instantiation\":\"LOG001\",\"invalid-get-logger-argument\":\"LOG002\",\"exception-without-exc-info\":\"LOG007\",\"undocumented-warn\":\"LOG009\",\"root-logger-call\":\"LOG015\",\"logging-string-format\":\"G001\",\"logging-percent-format\":\"G002\",\"logging-string-concat\":\"G003\",\"logging-f-string\":\"G004\",\"logging-warn\":\"G010\",\"logging-extra-attr-clash\":\"G101\",\"logging-exc-info\":\"G201\",\"logging-redundant-exc-info\":\"G202\",\"implicit-namespace-package\":\"INP001\",\"unnecessary-placeholder\":\"PIE790\",\"duplicate-class-field-definition\":\"PIE794\",\"non-unique-enums\":\"PIE796\",\"unnecessary-spread\":\"PIE800\",\"unnecessary-dict-kwargs\":\"PIE804\",\"reimplemented-container-builtin\":\"PIE807\",\"unnecessary-range-start\":\"PIE808\",\"multiple-starts-ends-with\":\"PIE810\",\"print\":\"T201\",\"p-print\":\"T203\",\"unprefixed-type-param\":\"PYI001\",\"complex-if-statement-in-stub\":\"PYI002\",\"unrecognized-version-info-check\":\"PYI003\",\"patch-version-comparison\":\"PYI004\",\"wrong-tuple-length-version-comparison\":\"PYI005\",\"bad-version-info-comparison\":\"PYI006\",\"unrecognized-platform-check\":\"PYI007\",\"unrecognized-platform-name\":\"PYI008\",\"pass-statement-stub-body\":\"PYI009\",\"non-empty-stub-body\":\"PYI010\",\"typed-argument-default-in-stub\":\"PYI011\",\"pass-in-class-body\":\"PYI012\",\"ellipsis-in-non-empty-class-body\":\"PYI013\",\"argument-default-in-stub\":\"PYI014\",\"assignment-default-in-stub\":\"PYI015\",\"duplicate-union-member\":\"PYI016\",\"complex-assignment-in-stub\":\"PYI017\",\"unused-private-type-var\":\"PYI018\",\"custom-type-var-return-type\":\"PYI019\",\"quoted-annotation-in-stub\":\"PYI020\",\"docstring-in-stub\":\"PYI021\",\"collections-named-tuple\":\"PYI024\",\"unaliased-collections-abc-set-import\":\"PYI025\",\"type-alias-without-annotation\":\"PYI026\",\"str-or-repr-defined-in-stub\":\"PYI029\",\"unnecessary-literal-union\":\"PYI030\",\"any-eq-ne-annotation\":\"PYI032\",\"type-comment-in-stub\":\"PYI033\",\"non-self-return-type\":\"PYI034\",\"unassigned-special-variable-in-stub\":\"PYI035\",\"bad-exit-annotation\":\"PYI036\",\"redundant-numeric-union\":\"PYI041\",\"snake-case-type-alias\":\"PYI042\",\"t-suffixed-type-alias\":\"PYI043\",\"future-annotations-in-stub\":\"PYI044\",\"iter-method-return-iterable\":\"PYI045\",\"unused-private-protocol\":\"PYI046\",\"unused-private-type-alias\":\"PYI047\",\"stub-body-multiple-statements\":\"PYI048\",\"unused-private-typed-dict\":\"PYI049\",\"no-return-argument-annotation-in-stub\":\"PYI050\",\"redundant-literal-union\":\"PYI051\",\"unannotated-assignment-in-stub\":\"PYI052\",\"string-or-bytes-too-long\":\"PYI053\",\"numeric-literal-too-long\":\"PYI054\",\"unnecessary-type-union\":\"PYI055\",\"unsupported-method-call-on-all\":\"PYI056\",\"byte-string-usage\":\"PYI057\",\"generator-return-from-iter-method\":\"PYI058\",\"generic-not-last-base-class\":\"PYI059\",\"redundant-none-literal\":\"PYI061\",\"duplicate-literal-member\":\"PYI062\",\"pep484-style-positional-only-parameter\":\"PYI063\",\"redundant-final-literal\":\"PYI064\",\"bad-version-info-order\":\"PYI066\",\"pytest-fixture-incorrect-parentheses-style\":\"PT001\",\"pytest-fixture-positional-args\":\"PT002\",\"pytest-extraneous-scope-function\":\"PT003\",\"pytest-missing-fixture-name-underscore\":\"PT004\",\"pytest-incorrect-fixture-name-underscore\":\"PT005\",\"pytest-parametrize-names-wrong-type\":\"PT006\",\"pytest-parametrize-values-wrong-type\":\"PT007\",\"pytest-patch-with-lambda\":\"PT008\",\"pytest-unittest-assertion\":\"PT009\",\"pytest-raises-without-exception\":\"PT010\",\"pytest-raises-too-broad\":\"PT011\",\"pytest-raises-with-multiple-statements\":\"PT012\",\"pytest-incorrect-pytest-import\":\"PT013\",\"pytest-duplicate-parametrize-test-cases\":\"PT014\",\"pytest-assert-always-false\":\"PT015\",\"pytest-fail-without-message\":\"PT016\",\"pytest-assert-in-except\":\"PT017\",\"pytest-composite-assertion\":\"PT018\",\"pytest-fixture-param-without-value\":\"PT019\",\"pytest-deprecated-yield-fixture\":\"PT020\",\"pytest-fixture-finalizer-callback\":\"PT021\",\"pytest-useless-yield-fixture\":\"PT022\",\"pytest-incorrect-mark-parentheses-style\":\"PT023\",\"pytest-unnecessary-asyncio-mark-on-fixture\":\"PT024\",\"pytest-erroneous-use-fixtures-on-fixture\":\"PT025\",\"pytest-use-fixtures-without-parameters\":\"PT026\",\"pytest-unittest-raises-assertion\":\"PT027\",\"bad-quotes-inline-string\":\"Q000\",\"bad-quotes-multiline-string\":\"Q001\",\"bad-quotes-docstring\":\"Q002\",\"avoidable-escaped-quote\":\"Q003\",\"unnecessary-escaped-quote\":\"Q004\",\"unnecessary-paren-on-raise-exception\":\"RSE102\",\"unnecessary-return-none\":\"RET501\",\"implicit-return-value\":\"RET502\",\"implicit-return\":\"RET503\",\"unnecessary-assign\":\"RET504\",\"superfluous-else-return\":\"RET505\",\"superfluous-else-raise\":\"RET506\",\"superfluous-else-continue\":\"RET507\",\"superfluous-else-break\":\"RET508\",\"private-member-access\":\"SLF001\",\"duplicate-isinstance-call\":\"SIM101\",\"collapsible-if\":\"SIM102\",\"needless-bool\":\"SIM103\",\"suppressible-exception\":\"SIM105\",\"return-in-try-except-finally\":\"SIM107\",\"if-else-block-instead-of-if-exp\":\"SIM108\",\"compare-with-tuple\":\"SIM109\",\"reimplemented-builtin\":\"SIM110\",\"uncapitalized-environment-variables\":\"SIM112\",\"enumerate-for-loop\":\"SIM113\",\"if-with-same-arms\":\"SIM114\",\"open-file-with-context-handler\":\"SIM115\",\"if-else-block-instead-of-dict-lookup\":\"SIM116\",\"multiple-with-statements\":\"SIM117\",\"in-dict-keys\":\"SIM118\",\"negate-equal-op\":\"SIM201\",\"negate-not-equal-op\":\"SIM202\",\"double-negation\":\"SIM208\",\"if-expr-with-true-false\":\"SIM210\",\"if-expr-with-false-true\":\"SIM211\",\"if-expr-with-twisted-arms\":\"SIM212\",\"expr-and-not-expr\":\"SIM220\",\"expr-or-not-expr\":\"SIM221\",\"expr-or-true\":\"SIM222\",\"expr-and-false\":\"SIM223\",\"yoda-conditions\":\"SIM300\",\"if-else-block-instead-of-dict-get\":\"SIM401\",\"split-static-string\":\"SIM905\",\"dict-get-with-none-default\":\"SIM910\",\"zip-dict-keys-and-values\":\"SIM911\",\"no-slots-in-str-subclass\":\"SLOT000\",\"no-slots-in-tuple-subclass\":\"SLOT001\",\"no-slots-in-namedtuple-subclass\":\"SLOT002\",\"banned-api\":\"TID251\",\"relative-imports\":\"TID252\",\"banned-module-level-imports\":\"TID253\",\"invalid-todo-tag\":\"TD001\",\"missing-todo-author\":\"TD002\",\"missing-todo-link\":\"TD003\",\"missing-todo-colon\":\"TD004\",\"missing-todo-description\":\"TD005\",\"invalid-todo-capitalization\":\"TD006\",\"missing-space-after-todo-colon\":\"TD007\",\"typing-only-first-party-import\":\"TC001\",\"typing-only-third-party-import\":\"TC002\",\"typing-only-standard-library-import\":\"TC003\",\"runtime-import-in-type-checking-block\":\"TC004\",\"empty-type-checking-block\":\"TC005\",\"runtime-cast-value\":\"TC006\",\"unquoted-type-alias\":\"TC007\",\"quoted-type-alias\":\"TC008\",\"runtime-string-union\":\"TC010\",\"unused-function-argument\":\"ARG001\",\"unused-method-argument\":\"ARG002\",\"unused-class-method-argument\":\"ARG003\",\"unused-static-method-argument\":\"ARG004\",\"unused-lambda-argument\":\"ARG005\",\"os-path-abspath\":\"PTH100\",\"os-chmod\":\"PTH101\",\"os-mkdir\":\"PTH102\",\"os-makedirs\":\"PTH103\",\"os-rename\":\"PTH104\",\"os-replace\":\"PTH105\",\"os-rmdir\":\"PTH106\",\"os-remove\":\"PTH107\",\"os-unlink\":\"PTH108\",\"os-getcwd\":\"PTH109\",\"os-path-exists\":\"PTH110\",\"os-path-expanduser\":\"PTH111\",\"os-path-isdir\":\"PTH112\",\"os-path-isfile\":\"PTH113\",\"os-path-islink\":\"PTH114\",\"os-readlink\":\"PTH115\",\"os-stat\":\"PTH116\",\"os-path-isabs\":\"PTH117\",\"os-path-join\":\"PTH118\",\"os-path-basename\":\"PTH119\",\"os-path-dirname\":\"PTH120\",\"os-path-samefile\":\"PTH121\",\"os-path-splitext\":\"PTH122\",\"builtin-open\":\"PTH123\",\"py-path\":\"PTH124\",\"path-constructor-current-directory\":\"PTH201\",\"os-path-getsize\":\"PTH202\",\"os-path-getatime\":\"PTH203\",\"os-path-getmtime\":\"PTH204\",\"os-path-getctime\":\"PTH205\",\"os-sep-split\":\"PTH206\",\"glob\":\"PTH207\",\"os-listdir\":\"PTH208\",\"static-join-to-f-string\":\"FLY002\",\"unsorted-imports\":\"I001\",\"missing-required-import\":\"I002\",\"complex-structure\":\"C901\",\"numpy-deprecated-type-alias\":\"NPY001\",\"numpy-legacy-random\":\"NPY002\",\"numpy-deprecated-function\":\"NPY003\",\"numpy2-deprecation\":\"NPY201\",\"invalid-class-name\":\"N801\",\"invalid-function-name\":\"N802\",\"invalid-argument-name\":\"N803\",\"invalid-first-argument-name-for-class-method\":\"N804\",\"invalid-first-argument-name-for-method\":\"N805\",\"non-lowercase-variable-in-function\":\"N806\",\"dunder-function-name\":\"N807\",\"constant-imported-as-non-constant\":\"N811\",\"lowercase-imported-as-non-lowercase\":\"N812\",\"camelcase-imported-as-lowercase\":\"N813\",\"camelcase-imported-as-constant\":\"N814\",\"mixed-case-variable-in-class-scope\":\"N815\",\"mixed-case-variable-in-global-scope\":\"N816\",\"camelcase-imported-as-acronym\":\"N817\",\"error-suffix-on-exception-name\":\"N818\",\"invalid-module-name\":\"N999\",\"pandas-use-of-inplace-argument\":\"PD002\",\"pandas-use-of-dot-is-null\":\"PD003\",\"pandas-use-of-dot-not-null\":\"PD004\",\"pandas-use-of-dot-ix\":\"PD007\",\"pandas-use-of-dot-at\":\"PD008\",\"pandas-use-of-dot-iat\":\"PD009\",\"pandas-use-of-dot-pivot-or-unstack\":\"PD010\",\"pandas-use-of-dot-values\":\"PD011\",\"pandas-use-of-dot-read-table\":\"PD012\",\"pandas-use-of-dot-stack\":\"PD013\",\"pandas-use-of-pd-merge\":\"PD015\",\"pandas-nunique-constant-series-check\":\"PD101\",\"pandas-df-variable-name\":\"PD901\",\"unnecessary-list-cast\":\"PERF101\",\"incorrect-dict-iterator\":\"PERF102\",\"try-except-in-loop\":\"PERF203\",\"manual-list-comprehension\":\"PERF401\",\"manual-list-copy\":\"PERF402\",\"manual-dict-comprehension\":\"PERF403\",\"mixed-spaces-and-tabs\":\"E101\",\"indentation-with-invalid-multiple\":\"E111\",\"no-indented-block\":\"E112\",\"unexpected-indentation\":\"E113\",\"indentation-with-invalid-multiple-comment\":\"E114\",\"no-indented-block-comment\":\"E115\",\"unexpected-indentation-comment\":\"E116\",\"over-indented\":\"E117\",\"whitespace-after-open-bracket\":\"E201\",\"whitespace-before-close-bracket\":\"E202\",\"whitespace-before-punctuation\":\"E203\",\"whitespace-after-decorator\":\"E204\",\"whitespace-before-parameters\":\"E211\",\"multiple-spaces-before-operator\":\"E221\",\"multiple-spaces-after-operator\":\"E222\",\"tab-before-operator\":\"E223\",\"tab-after-operator\":\"E224\",\"missing-whitespace-around-operator\":\"E225\",\"missing-whitespace-around-arithmetic-operator\":\"E226\",\"missing-whitespace-around-bitwise-or-shift-operator\":\"E227\",\"missing-whitespace-around-modulo-operator\":\"E228\",\"missing-whitespace\":\"E231\",\"multiple-spaces-after-comma\":\"E241\",\"tab-after-comma\":\"E242\",\"unexpected-spaces-around-keyword-parameter-equals\":\"E251\",\"missing-whitespace-around-parameter-equals\":\"E252\",\"too-few-spaces-before-inline-comment\":\"E261\",\"no-space-after-inline-comment\":\"E262\",\"no-space-after-block-comment\":\"E265\",\"multiple-leading-hashes-for-block-comment\":\"E266\",\"multiple-spaces-after-keyword\":\"E271\",\"multiple-spaces-before-keyword\":\"E272\",\"tab-after-keyword\":\"E273\",\"tab-before-keyword\":\"E274\",\"missing-whitespace-after-keyword\":\"E275\",\"blank-line-between-methods\":\"E301\",\"blank-lines-top-level\":\"E302\",\"too-many-blank-lines\":\"E303\",\"blank-line-after-decorator\":\"E304\",\"blank-lines-after-function-or-class\":\"E305\",\"blank-lines-before-nested-definition\":\"E306\",\"multiple-imports-on-one-line\":\"E401\",\"module-import-not-at-top-of-file\":\"E402\",\"line-too-long\":\"E501\",\"redundant-backslash\":\"E502\",\"multiple-statements-on-one-line-colon\":\"E701\",\"multiple-statements-on-one-line-semicolon\":\"E702\",\"useless-semicolon\":\"E703\",\"none-comparison\":\"E711\",\"true-false-comparison\":\"E712\",\"not-in-test\":\"E713\",\"not-is-test\":\"E714\",\"type-comparison\":\"E721\",\"bare-except\":\"E722\",\"lambda-assignment\":\"E731\",\"ambiguous-variable-name\":\"E741\",\"ambiguous-class-name\":\"E742\",\"ambiguous-function-name\":\"E743\",\"io-error\":\"E902\",\"syntax-error\":\"E999\",\"tab-indentation\":\"W191\",\"trailing-whitespace\":\"W291\",\"missing-newline-at-end-of-file\":\"W292\",\"blank-line-with-whitespace\":\"W293\",\"too-many-newlines-at-end-of-file\":\"W391\",\"doc-line-too-long\":\"W505\",\"invalid-escape-sequence\":\"W605\",\"docstring-missing-returns\":\"DOC201\",\"docstring-extraneous-returns\":\"DOC202\",\"docstring-missing-yields\":\"DOC402\",\"docstring-extraneous-yields\":\"DOC403\",\"docstring-missing-exception\":\"DOC501\",\"docstring-extraneous-exception\":\"DOC502\",\"undocumented-public-module\":\"D100\",\"undocumented-public-class\":\"D101\",\"undocumented-public-method\":\"D102\",\"undocumented-public-function\":\"D103\",\"undocumented-public-package\":\"D104\",\"undocumented-magic-method\":\"D105\",\"undocumented-public-nested-class\":\"D106\",\"undocumented-public-init\":\"D107\",\"fits-on-one-line\":\"D200\",\"no-blank-line-before-function\":\"D201\",\"no-blank-line-after-function\":\"D202\",\"one-blank-line-before-class\":\"D203\",\"one-blank-line-after-class\":\"D204\",\"blank-line-after-summary\":\"D205\",\"indent-with-spaces\":\"D206\",\"under-indentation\":\"D207\",\"over-indentation\":\"D208\",\"new-line-after-last-paragraph\":\"D209\",\"surrounding-whitespace\":\"D210\",\"blank-line-before-class\":\"D211\",\"multi-line-summary-first-line\":\"D212\",\"multi-line-summary-second-line\":\"D213\",\"section-not-over-indented\":\"D214\",\"section-underline-not-over-indented\":\"D215\",\"triple-single-quotes\":\"D300\",\"escape-sequence-in-docstring\":\"D301\",\"ends-in-period\":\"D400\",\"non-imperative-mood\":\"D401\",\"no-signature\":\"D402\",\"first-line-capitalized\":\"D403\",\"docstring-starts-with-this\":\"D404\",\"capitalize-section-name\":\"D405\",\"new-line-after-section-name\":\"D406\",\"dashed-underline-after-section\":\"D407\",\"section-underline-after-name\":\"D408\",\"section-underline-matches-section-length\":\"D409\",\"no-blank-line-after-section\":\"D410\",\"no-blank-line-before-section\":\"D411\",\"blank-lines-between-header-and-content\":\"D412\",\"blank-line-after-last-section\":\"D413\",\"empty-docstring-section\":\"D414\",\"ends-in-punctuation\":\"D415\",\"section-name-ends-in-colon\":\"D416\",\"undocumented-param\":\"D417\",\"overload-with-docstring\":\"D418\",\"empty-docstring\":\"D419\",\"unused-import\":\"F401\",\"import-shadowed-by-loop-var\":\"F402\",\"undefined-local-with-import-star\":\"F403\",\"late-future-import\":\"F404\",\"undefined-local-with-import-star-usage\":\"F405\",\"undefined-local-with-nested-import-star-usage\":\"F406\",\"future-feature-not-defined\":\"F407\",\"percent-format-invalid-format\":\"F501\",\"percent-format-expected-mapping\":\"F502\",\"percent-format-expected-sequence\":\"F503\",\"percent-format-extra-named-arguments\":\"F504\",\"percent-format-missing-argument\":\"F505\",\"percent-format-mixed-positional-and-named\":\"F506\",\"percent-format-positional-count-mismatch\":\"F507\",\"percent-format-star-requires-sequence\":\"F508\",\"percent-format-unsupported-format-character\":\"F509\",\"string-dot-format-invalid-format\":\"F521\",\"string-dot-format-extra-named-arguments\":\"F522\",\"string-dot-format-extra-positional-arguments\":\"F523\",\"string-dot-format-missing-arguments\":\"F524\",\"string-dot-format-mixing-automatic\":\"F525\",\"f-string-missing-placeholders\":\"F541\",\"multi-value-repeated-key-literal\":\"F601\",\"multi-value-repeated-key-variable\":\"F602\",\"expressions-in-star-assignment\":\"F621\",\"multiple-starred-expressions\":\"F622\",\"assert-tuple\":\"F631\",\"is-literal\":\"F632\",\"invalid-print-syntax\":\"F633\",\"if-tuple\":\"F634\",\"break-outside-loop\":\"F701\",\"continue-outside-loop\":\"F702\",\"yield-outside-function\":\"F704\",\"return-outside-function\":\"F706\",\"default-except-not-last\":\"F707\",\"forward-annotation-syntax-error\":\"F722\",\"redefined-while-unused\":\"F811\",\"undefined-name\":\"F821\",\"undefined-export\":\"F822\",\"undefined-local\":\"F823\",\"unused-variable\":\"F841\",\"unused-annotation\":\"F842\",\"raise-not-implemented\":\"F901\",\"eval\":\"PGH001\",\"deprecated-log-warn\":\"PGH002\",\"blanket-type-ignore\":\"PGH003\",\"blanket-noqa\":\"PGH004\",\"invalid-mock-access\":\"PGH005\",\"type-name-incorrect-variance\":\"PLC0105\",\"type-bivariance\":\"PLC0131\",\"type-param-name-mismatch\":\"PLC0132\",\"single-string-slots\":\"PLC0205\",\"dict-index-missing-items\":\"PLC0206\",\"iteration-over-set\":\"PLC0208\",\"useless-import-alias\":\"PLC0414\",\"import-outside-top-level\":\"PLC0415\",\"len-test\":\"PLC1802\",\"compare-to-empty-string\":\"PLC1901\",\"non-ascii-name\":\"PLC2401\",\"non-ascii-import-name\":\"PLC2403\",\"import-private-name\":\"PLC2701\",\"unnecessary-dunder-call\":\"PLC2801\",\"unnecessary-direct-lambda-call\":\"PLC3002\",\"yield-in-init\":\"PLE0100\",\"return-in-init\":\"PLE0101\",\"nonlocal-and-global\":\"PLE0115\",\"continue-in-finally\":\"PLE0116\",\"nonlocal-without-binding\":\"PLE0117\",\"load-before-global-declaration\":\"PLE0118\",\"non-slot-assignment\":\"PLE0237\",\"duplicate-bases\":\"PLE0241\",\"unexpected-special-method-signature\":\"PLE0302\",\"invalid-length-return-type\":\"PLE0303\",\"invalid-bool-return-type\":\"PLE0304\",\"invalid-index-return-type\":\"PLE0305\",\"invalid-str-return-type\":\"PLE0307\",\"invalid-bytes-return-type\":\"PLE0308\",\"invalid-hash-return-type\":\"PLE0309\",\"invalid-all-object\":\"PLE0604\",\"invalid-all-format\":\"PLE0605\",\"potential-index-error\":\"PLE0643\",\"misplaced-bare-raise\":\"PLE0704\",\"repeated-keyword-argument\":\"PLE1132\",\"dict-iter-missing-items\":\"PLE1141\",\"await-outside-async\":\"PLE1142\",\"logging-too-many-args\":\"PLE1205\",\"logging-too-few-args\":\"PLE1206\",\"bad-string-format-character\":\"PLE1300\",\"bad-string-format-type\":\"PLE1307\",\"bad-str-strip-call\":\"PLE1310\",\"invalid-envvar-value\":\"PLE1507\",\"singledispatch-method\":\"PLE1519\",\"singledispatchmethod-function\":\"PLE1520\",\"yield-from-in-async-function\":\"PLE1700\",\"bidirectional-unicode\":\"PLE2502\",\"invalid-character-backspace\":\"PLE2510\",\"invalid-character-sub\":\"PLE2512\",\"invalid-character-esc\":\"PLE2513\",\"invalid-character-nul\":\"PLE2514\",\"invalid-character-zero-width-space\":\"PLE2515\",\"modified-iterating-set\":\"PLE4703\",\"comparison-with-itself\":\"PLR0124\",\"comparison-of-constant\":\"PLR0133\",\"no-classmethod-decorator\":\"PLR0202\",\"no-staticmethod-decorator\":\"PLR0203\",\"property-with-parameters\":\"PLR0206\",\"manual-from-import\":\"PLR0402\",\"too-many-public-methods\":\"PLR0904\",\"too-many-return-statements\":\"PLR0911\",\"too-many-branches\":\"PLR0912\",\"too-many-arguments\":\"PLR0913\",\"too-many-locals\":\"PLR0914\",\"too-many-statements\":\"PLR0915\",\"too-many-boolean-expressions\":\"PLR0916\",\"too-many-positional-arguments\":\"PLR0917\",\"repeated-isinstance-calls\":\"PLR1701\",\"too-many-nested-blocks\":\"PLR1702\",\"redefined-argument-from-local\":\"PLR1704\",\"and-or-ternary\":\"PLR1706\",\"useless-return\":\"PLR1711\",\"repeated-equality-comparison\":\"PLR1714\",\"boolean-chained-comparison\":\"PLR1716\",\"sys-exit-alias\":\"PLR1722\",\"if-stmt-min-max\":\"PLR1730\",\"unnecessary-dict-index-lookup\":\"PLR1733\",\"unnecessary-list-index-lookup\":\"PLR1736\",\"magic-value-comparison\":\"PLR2004\",\"empty-comment\":\"PLR2044\",\"collapsible-else-if\":\"PLR5501\",\"non-augmented-assignment\":\"PLR6104\",\"literal-membership\":\"PLR6201\",\"no-self-use\":\"PLR6301\",\"unnecessary-lambda\":\"PLW0108\",\"useless-else-on-loop\":\"PLW0120\",\"self-assigning-variable\":\"PLW0127\",\"redeclared-assigned-name\":\"PLW0128\",\"assert-on-string-literal\":\"PLW0129\",\"named-expr-without-context\":\"PLW0131\",\"useless-exception-statement\":\"PLW0133\",\"nan-comparison\":\"PLW0177\",\"bad-staticmethod-argument\":\"PLW0211\",\"super-without-brackets\":\"PLW0245\",\"import-self\":\"PLW0406\",\"global-variable-not-assigned\":\"PLW0602\",\"global-statement\":\"PLW0603\",\"global-at-module-level\":\"PLW0604\",\"self-or-cls-assignment\":\"PLW0642\",\"binary-op-exception\":\"PLW0711\",\"bad-open-mode\":\"PLW1501\",\"shallow-copy-environ\":\"PLW1507\",\"invalid-envvar-default\":\"PLW1508\",\"subprocess-popen-preexec-fn\":\"PLW1509\",\"subprocess-run-without-check\":\"PLW1510\",\"unspecified-encoding\":\"PLW1514\",\"eq-without-hash\":\"PLW1641\",\"useless-with-lock\":\"PLW2101\",\"redefined-loop-name\":\"PLW2901\",\"bad-dunder-method-name\":\"PLW3201\",\"nested-min-max\":\"PLW3301\",\"useless-metaclass-type\":\"UP001\",\"type-of-primitive\":\"UP003\",\"useless-object-inheritance\":\"UP004\",\"deprecated-unittest-alias\":\"UP005\",\"non-pep585-annotation\":\"UP006\",\"non-pep604-annotation\":\"UP007\",\"super-call-with-parameters\":\"UP008\",\"utf8-encoding-declaration\":\"UP009\",\"unnecessary-future-import\":\"UP010\",\"lru-cache-without-parameters\":\"UP011\",\"unnecessary-encode-utf8\":\"UP012\",\"convert-typed-dict-functional-to-class\":\"UP013\",\"convert-named-tuple-functional-to-class\":\"UP014\",\"redundant-open-modes\":\"UP015\",\"datetime-timezone-utc\":\"UP017\",\"native-literals\":\"UP018\",\"typing-text-str-alias\":\"UP019\",\"open-alias\":\"UP020\",\"replace-universal-newlines\":\"UP021\",\"replace-stdout-stderr\":\"UP022\",\"deprecated-c-element-tree\":\"UP023\",\"os-error-alias\":\"UP024\",\"unicode-kind-prefix\":\"UP025\",\"deprecated-mock-import\":\"UP026\",\"unpacked-list-comprehension\":\"UP027\",\"yield-in-for-loop\":\"UP028\",\"unnecessary-builtin-import\":\"UP029\",\"format-literals\":\"UP030\",\"printf-string-formatting\":\"UP031\",\"f-string\":\"UP032\",\"lru-cache-with-maxsize-none\":\"UP033\",\"extraneous-parentheses\":\"UP034\",\"deprecated-import\":\"UP035\",\"outdated-version-block\":\"UP036\",\"quoted-annotation\":\"UP037\",\"non-pep604-isinstance\":\"UP038\",\"unnecessary-class-parentheses\":\"UP039\",\"non-pep695-type-alias\":\"UP040\",\"timeout-error-alias\":\"UP041\",\"replace-str-enum\":\"UP042\",\"unnecessary-default-type-args\":\"UP043\",\"non-pep646-unpack\":\"UP044\",\"read-whole-file\":\"FURB101\",\"write-whole-file\":\"FURB103\",\"print-empty-string\":\"FURB105\",\"if-exp-instead-of-or-operator\":\"FURB110\",\"repeated-append\":\"FURB113\",\"f-string-number-format\":\"FURB116\",\"reimplemented-operator\":\"FURB118\",\"readlines-in-for\":\"FURB129\",\"delete-full-slice\":\"FURB131\",\"check-and-remove-from-set\":\"FURB132\",\"if-expr-min-max\":\"FURB136\",\"reimplemented-starmap\":\"FURB140\",\"for-loop-set-mutations\":\"FURB142\",\"slice-copy\":\"FURB145\",\"unnecessary-enumerate\":\"FURB148\",\"math-constant\":\"FURB152\",\"repeated-global\":\"FURB154\",\"hardcoded-string-charset\":\"FURB156\",\"verbose-decimal-constructor\":\"FURB157\",\"bit-count\":\"FURB161\",\"redundant-log-base\":\"FURB163\",\"unnecessary-from-float\":\"FURB164\",\"int-on-sliced-str\":\"FURB166\",\"regex-flag-alias\":\"FURB167\",\"isinstance-type-none\":\"FURB168\",\"type-none-comparison\":\"FURB169\",\"single-item-membership-test\":\"FURB171\",\"implicit-cwd\":\"FURB177\",\"meta-class-abc-meta\":\"FURB180\",\"hashlib-digest-hex\":\"FURB181\",\"list-reverse-copy\":\"FURB187\",\"slice-to-remove-prefix-or-suffix\":\"FURB188\",\"subclass-builtin\":\"FURB189\",\"sorted-min-max\":\"FURB192\",\"ambiguous-unicode-character-string\":\"RUF001\",\"ambiguous-unicode-character-docstring\":\"RUF002\",\"ambiguous-unicode-character-comment\":\"RUF003\",\"collection-literal-concatenation\":\"RUF005\",\"asyncio-dangling-task\":\"RUF006\",\"zip-instead-of-pairwise\":\"RUF007\",\"mutable-dataclass-default\":\"RUF008\",\"function-call-in-dataclass-default-argument\":\"RUF009\",\"explicit-f-string-type-conversion\":\"RUF010\",\"ruff-static-key-dict-comprehension\":\"RUF011\",\"mutable-class-default\":\"RUF012\",\"implicit-optional\":\"RUF013\",\"unnecessary-iterable-allocation-for-first-element\":\"RUF015\",\"invalid-index-type\":\"RUF016\",\"quadratic-list-summation\":\"RUF017\",\"assignment-in-assert\":\"RUF018\",\"unnecessary-key-check\":\"RUF019\",\"never-union\":\"RUF020\",\"parenthesize-chained-operators\":\"RUF021\",\"unsorted-dunder-all\":\"RUF022\",\"unsorted-dunder-slots\":\"RUF023\",\"mutable-fromkeys-value\":\"RUF024\",\"default-factory-kwarg\":\"RUF026\",\"missing-f-string-syntax\":\"RUF027\",\"invalid-formatter-suppression-comment\":\"RUF028\",\"unused-async\":\"RUF029\",\"assert-with-print-message\":\"RUF030\",\"incorrectly-parenthesized-tuple-in-subscript\":\"RUF031\",\"decimal-from-float-literal\":\"RUF032\",\"post-init-default\":\"RUF033\",\"useless-if-else\":\"RUF034\",\"unsafe-markup-use\":\"RUF035\",\"none-not-at-end-of-union\":\"RUF036\",\"redundant-bool-literal\":\"RUF038\",\"unraw-re-pattern\":\"RUF039\",\"invalid-assert-message-literal-argument\":\"RUF040\",\"unnecessary-nested-literal\":\"RUF041\",\"unnecessary-cast-to-int\":\"RUF046\",\"map-int-version-parsing\":\"RUF048\",\"used-dummy-variable\":\"RUF052\",\"unnecessary-regular-expression\":\"RUF055\",\"unused-noqa\":\"RUF100\",\"redirected-noqa\":\"RUF101\",\"invalid-pyproject-toml\":\"RUF200\",\"raise-vanilla-class\":\"TRY002\",\"raise-vanilla-args\":\"TRY003\",\"type-check-without-type-error\":\"TRY004\",\"reraise-no-cause\":\"TRY200\",\"verbose-raise\":\"TRY201\",\"useless-try-except\":\"TRY203\",\"try-consider-else\":\"TRY300\",\"raise-within-try\":\"TRY301\",\"error-instead-of-exception\":\"TRY400\",\"verbose-log-message\":\"TRY401\"},\"executable\":\"/Users/razvan/.rye/self/bin/ruff\",\"timestamp\":1738802705}",
61
- "last_opened_file_path": "/Users/razvan/pr/polymarket-apis/src/polymarket_apis/clients",
62
- "run.code.analysis.last.selected.profile": "pProject Default",
63
- "settings.editor.selected.configurable": "insyncwithfoo.ryecharm.configurations.ruff.Global"
64
- }
65
- }]]></component>
66
- <component name="RecentsManager">
67
- <key name="CopyFile.RECENT_KEYS">
68
- <recent name="$PROJECT_DIR$/src/polymarket_apis/clients" />
69
- <recent name="$PROJECT_DIR$/src/polymarket_apis/types" />
70
- </key>
71
- <key name="MoveFile.RECENT_KEYS">
72
- <recent name="$PROJECT_DIR$" />
73
- </key>
74
- </component>
75
- <component name="SharedIndexes">
76
- <attachedChunks>
77
- <set>
78
- <option value="bundled-python-sdk-d27dc8f8c276-a636b6f4477c-com.jetbrains.pycharm.ds.sharedIndexes.bundled-DS-252.26199.84" />
79
- </set>
80
- </attachedChunks>
81
- </component>
82
- <component name="TaskManager">
83
- <task active="true" id="Default" summary="Default task">
84
- <changelist id="9cbf4d21-9d0c-43a0-80fe-b72fdf89ce0d" name="Changes" comment="" />
85
- <created>1760866613742</created>
86
- <option name="number" value="Default" />
87
- <option name="presentableId" value="Default" />
88
- <updated>1760866613742</updated>
89
- </task>
90
- <servers />
91
- </component>
92
- <component name="Vcs.Log.Tabs.Properties">
93
- <option name="TAB_STATES">
94
- <map>
95
- <entry key="MAIN">
96
- <value>
97
- <State>
98
- <option name="CUSTOM_BOOLEAN_PROPERTIES">
99
- <map>
100
- <entry key="Show.Git.Branches" value="true" />
101
- </map>
102
- </option>
103
- </State>
104
- </value>
105
- </entry>
106
- </map>
107
- </option>
108
- </component>
109
- <component name="VcsManagerConfiguration">
110
- <MESSAGE value="added pre-commit hooks for linting and formatting. small formatting changes. updated __init__s." />
111
- <MESSAGE value="data: added closed positions, total markets traded, open interest, live volume; gamma: updated search function, added tags, teams, sports, series, comments related queries; improved datetime parsing." />
112
- <MESSAGE value="web3: added support for safe/gnosis wallet; gamma: added missing docs fields to models" />
113
- <option name="LAST_COMMIT_MESSAGE" value="web3: added support for safe/gnosis wallet; gamma: added missing docs fields to models" />
114
- </component>
115
- </project>