polymarket-apis 0.3.1__tar.gz → 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (64) hide show
  1. polymarket_apis-0.3.2/.idea/MypyPlugin.xml +9 -0
  2. polymarket_apis-0.3.2/.idea/dictionaries/project.xml +7 -0
  3. polymarket_apis-0.3.2/.idea/workspace.xml +115 -0
  4. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/PKG-INFO +29 -3
  5. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/README.md +28 -2
  6. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/pyproject.toml +14 -1
  7. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/__init__.py +1 -1
  8. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/clients/clob_client.py +4 -4
  9. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/clients/data_client.py +105 -15
  10. polymarket_apis-0.3.2/src/polymarket_apis/clients/gamma_client.py +816 -0
  11. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/types/__init__.py +9 -37
  12. polymarket_apis-0.3.2/src/polymarket_apis/types/common.py +34 -0
  13. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/types/data_types.py +11 -1
  14. polymarket_apis-0.3.2/src/polymarket_apis/types/gamma_types.py +617 -0
  15. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/types/websockets_types.py +1 -29
  16. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/uv.lock +53 -1
  17. polymarket_apis-0.3.1/.idea/workspace.xml +0 -90
  18. polymarket_apis-0.3.1/src/polymarket_apis/clients/gamma_client.py +0 -352
  19. polymarket_apis-0.3.1/src/polymarket_apis/types/common.py +0 -53
  20. polymarket_apis-0.3.1/src/polymarket_apis/types/gamma_types.py +0 -373
  21. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.github/workflows/ruff.yml +0 -0
  22. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.gitignore +0 -0
  23. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/.gitignore +0 -0
  24. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/copilot.data.migration.agent.xml +0 -0
  25. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/copilot.data.migration.ask.xml +0 -0
  26. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/copilot.data.migration.ask2agent.xml +0 -0
  27. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/copilot.data.migration.edit.xml +0 -0
  28. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/inspectionProfiles/Project_Default.xml +0 -0
  29. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/misc.xml +0 -0
  30. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/modules.xml +0 -0
  31. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/polymarket-apis.iml +0 -0
  32. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.idea/vcs.xml +0 -0
  33. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/.pre-commit-hooks.yaml +0 -0
  34. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/requirements-dev.lock +0 -0
  35. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/requirements.lock +0 -0
  36. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/clients/__init__.py +0 -0
  37. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/clients/graphql_client.py +0 -0
  38. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/clients/web3_client.py +0 -0
  39. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/clients/websockets_client.py +0 -0
  40. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/types/clob_types.py +0 -0
  41. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/__init__.py +0 -0
  42. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/config.py +0 -0
  43. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/constants.py +0 -0
  44. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/endpoints.py +0 -0
  45. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/exceptions.py +0 -0
  46. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/headers.py +0 -0
  47. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/order_builder/__init__.py +0 -0
  48. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/order_builder/builder.py +0 -0
  49. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/order_builder/helpers.py +0 -0
  50. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/signing/__init__.py +0 -0
  51. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/signing/eip712.py +0 -0
  52. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/signing/hmac.py +0 -0
  53. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/signing/model.py +0 -0
  54. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/signing/signer.py +0 -0
  55. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/__init__.py +0 -0
  56. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/CTFExchange.json +0 -0
  57. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/ConditionalTokens.json +0 -0
  58. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/NegRiskAdapter.json +0 -0
  59. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/NegRiskCtfExchange.json +0 -0
  60. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/ProxyWalletFactory.json +0 -0
  61. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/UChildERC20Proxy.json +0 -0
  62. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/__init__.py +0 -0
  63. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/abis/custom_contract_errors.py +0 -0
  64. {polymarket_apis-0.3.1 → polymarket_apis-0.3.2}/src/polymarket_apis/utilities/web3/helpers.py +0 -0
@@ -0,0 +1,9 @@
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="autoScrollToSource" value="true" />
6
+ <option name="mypyExecutable" value="$PROJECT_DIR$/.venv/bin/mypy" />
7
+ <option name="projectDirectory" value="$PROJECT_DIR$" />
8
+ </component>
9
+ </project>
@@ -0,0 +1,7 @@
1
+ <component name="ProjectDictionaryState">
2
+ <dictionary name="project">
3
+ <words>
4
+ <w>avgprice</w>
5
+ </words>
6
+ </dictionary>
7
+ </component>
@@ -0,0 +1,115 @@
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="added pre-commit hooks for linting and formatting. small formatting changes. updated __init__s.">
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
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/clients/data_client.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/clients/data_client.py" afterDir="false" />
13
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/clients/gamma_client.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/clients/gamma_client.py" afterDir="false" />
14
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/types/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/types/__init__.py" afterDir="false" />
15
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/types/common.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/types/common.py" afterDir="false" />
16
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/types/data_types.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/types/data_types.py" afterDir="false" />
17
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/types/gamma_types.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/types/gamma_types.py" afterDir="false" />
18
+ <change beforePath="$PROJECT_DIR$/src/polymarket_apis/types/websockets_types.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/polymarket_apis/types/websockets_types.py" afterDir="false" />
19
+ </list>
20
+ <option name="SHOW_DIALOG" value="false" />
21
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
22
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
23
+ <option name="LAST_RESOLUTION" value="IGNORE" />
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.git&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"><![CDATA[{
56
+ "keyToString": {
57
+ "ModuleVcsDetector.initialDetectionPerformed": "true",
58
+ "RunOnceActivity.ShowReadmeOnStart": "true",
59
+ "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
60
+ "RunOnceActivity.git.unshallow": "true",
61
+ "git-widget-placeholder": "main",
62
+ "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}",
63
+ "last_opened_file_path": "/Users/razvan/pr/polymarket-apis/src/polymarket_apis/clients",
64
+ "run.code.analysis.last.selected.profile": "pProject Default",
65
+ "settings.editor.selected.configurable": "works.szabope.mypy.configurable"
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
+ <option name="LAST_COMMIT_MESSAGE" value="added pre-commit hooks for linting and formatting. small formatting changes. updated __init__s." />
114
+ </component>
115
+ </project>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polymarket-apis
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Unified Polymarket APIs with Pydantic data validation - Clob, Gamma, Data, Web3, Websockets, GraphQL clients.
5
5
  Author-email: Razvan Gheorghe <razvan@gheorghe.me>
6
6
  Requires-Python: >=3.12
@@ -94,15 +94,36 @@ flowchart LR
94
94
  ### PolymarketGammaClient - Market/Event related operations
95
95
  - #### Market
96
96
  - get **GammaMarket** by `market_id`
97
+ - get **GammaMarket** by `slug`
97
98
  - get **GammaMarkets** with pagination (offset and limit), filter by `slug`s, `market_id`s, `token_id`s, `condition_id`s, `tag_id` or filtered by active, closed, archived, liquidity window, volume window, start date window, end date window and ordered
99
+ - get **Tags** for a **Market** by `market_id`
98
100
  - #### Event
99
101
  - get **Event** by `event_id`
102
+ - get **Event** by `slug`
100
103
  - get **Events** with pagination, filter by `slug`s, `event_id`s, `tag_id` or filtered by active, closed, archived, liquidity window, volume window, start date window, end date window and ordered
101
104
  - get all **Events** given some filtration
102
- - search **Events**, filter by text query, active/resolved, sort by volume/volume_24hr/liquidity/start_date/end_date/competitive (tries to mimic the web app search bar)
103
- - #### Miscellaneous
105
+ - search **Events**, **Tags**, **Profiles**, filter by text query, tags, active/resolved, recurrence, sort by volume/volume_24hr/liquidity/start_date/end_date/competitive
104
106
  - grok event summary by **Event** `slug`
105
107
  - grok election market explanation by candidate name and election title
108
+ - get **Tags** for an **Event** by `event_id`
109
+ - #### Tag
110
+ - get **Tags** with pagination, order by any **Tag** field
111
+ - get all **Tags**
112
+ - get **Tag** by `tag_id`
113
+ - get **Tag** relations by `tag_id` or `slug`
114
+ - get **Tags** related to a **Tag** by `tag_id` or `slug`
115
+ - #### Sport
116
+ - get **Teams** with pagination, filter by `league`, `name`, `abbreviation`
117
+ - get all **Teams** given some filtration
118
+ - get **Sports** with pagination, filter by `name`
119
+ - get **Sports** metadata
120
+ - #### Series
121
+ - get **Series** with pagination, filter by `slug`, closed status, order by any **Series** field
122
+ - get all **Series** given some filtration
123
+ - #### Comments
124
+ - get comments by `parent_entity_type` and `parent_entity_id` with pagination, order by any **Comment** field
125
+ - get comments by `comment_id` - gets all comments in a thread.
126
+ - get comments by user base address (not proxy address) with pagination, order by any **Comment** field
106
127
 
107
128
  ### PolymarketDataClient - Portfolio related operations
108
129
  - #### Positions
@@ -118,7 +139,12 @@ flowchart LR
118
139
  - `condition_ids` is ***None*** → total value of positions
119
140
  - `condition_ids` is ***str*** → value of positions on a market
120
141
  - `condition_ids` is ***list[str]*** → sum of values of positions on multiple markets
142
+ - #### Closed positions
143
+ - get closed positions, filter by condition_ids
121
144
  - #### Miscellaneous
145
+ - get total number of markets traded by user address
146
+ - get open interest for a list of condition_ids
147
+ - get live volume for an event by `event_id`
122
148
  - get pnl timeseries by user address for a period (1d, 1w, 1m, all) with frequency (1h, 3h, 12h, 1d)
123
149
  - get overall pnl/volume by user address for a recent window (1d, 7d, 30d, all)
124
150
  - get user rank on the profit/volume leaderboards by user address for a recent window (1d, 7d, 30d, all)
@@ -78,15 +78,36 @@ flowchart LR
78
78
  ### PolymarketGammaClient - Market/Event related operations
79
79
  - #### Market
80
80
  - get **GammaMarket** by `market_id`
81
+ - get **GammaMarket** by `slug`
81
82
  - get **GammaMarkets** with pagination (offset and limit), filter by `slug`s, `market_id`s, `token_id`s, `condition_id`s, `tag_id` or filtered by active, closed, archived, liquidity window, volume window, start date window, end date window and ordered
83
+ - get **Tags** for a **Market** by `market_id`
82
84
  - #### Event
83
85
  - get **Event** by `event_id`
86
+ - get **Event** by `slug`
84
87
  - get **Events** with pagination, filter by `slug`s, `event_id`s, `tag_id` or filtered by active, closed, archived, liquidity window, volume window, start date window, end date window and ordered
85
88
  - get all **Events** given some filtration
86
- - search **Events**, filter by text query, active/resolved, sort by volume/volume_24hr/liquidity/start_date/end_date/competitive (tries to mimic the web app search bar)
87
- - #### Miscellaneous
89
+ - search **Events**, **Tags**, **Profiles**, filter by text query, tags, active/resolved, recurrence, sort by volume/volume_24hr/liquidity/start_date/end_date/competitive
88
90
  - grok event summary by **Event** `slug`
89
91
  - grok election market explanation by candidate name and election title
92
+ - get **Tags** for an **Event** by `event_id`
93
+ - #### Tag
94
+ - get **Tags** with pagination, order by any **Tag** field
95
+ - get all **Tags**
96
+ - get **Tag** by `tag_id`
97
+ - get **Tag** relations by `tag_id` or `slug`
98
+ - get **Tags** related to a **Tag** by `tag_id` or `slug`
99
+ - #### Sport
100
+ - get **Teams** with pagination, filter by `league`, `name`, `abbreviation`
101
+ - get all **Teams** given some filtration
102
+ - get **Sports** with pagination, filter by `name`
103
+ - get **Sports** metadata
104
+ - #### Series
105
+ - get **Series** with pagination, filter by `slug`, closed status, order by any **Series** field
106
+ - get all **Series** given some filtration
107
+ - #### Comments
108
+ - get comments by `parent_entity_type` and `parent_entity_id` with pagination, order by any **Comment** field
109
+ - get comments by `comment_id` - gets all comments in a thread.
110
+ - get comments by user base address (not proxy address) with pagination, order by any **Comment** field
90
111
 
91
112
  ### PolymarketDataClient - Portfolio related operations
92
113
  - #### Positions
@@ -102,7 +123,12 @@ flowchart LR
102
123
  - `condition_ids` is ***None*** → total value of positions
103
124
  - `condition_ids` is ***str*** → value of positions on a market
104
125
  - `condition_ids` is ***list[str]*** → sum of values of positions on multiple markets
126
+ - #### Closed positions
127
+ - get closed positions, filter by condition_ids
105
128
  - #### Miscellaneous
129
+ - get total number of markets traded by user address
130
+ - get open interest for a list of condition_ids
131
+ - get live volume for an event by `event_id`
106
132
  - get pnl timeseries by user address for a period (1d, 1w, 1m, all) with frequency (1h, 3h, 12h, 1d)
107
133
  - get overall pnl/volume by user address for a recent window (1d, 7d, 30d, all)
108
134
  - get user rank on the profit/volume leaderboards by user address for a recent window (1d, 7d, 30d, all)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "polymarket-apis"
3
- version = "0.3.1"
3
+ version = "0.3.2"
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"
@@ -32,6 +32,7 @@ dev = [
32
32
  "jupyter-contrib-nbextensions>=0.7.0",
33
33
  "jupyter>=1.1.1",
34
34
  "ty>=0.0.1a12",
35
+ "mypy>=1.18.2",
35
36
  ]
36
37
 
37
38
  [build-system]
@@ -136,3 +137,15 @@ lint.ignore = [
136
137
  "A001", # Flake8-builtins - builtin-variable-shadowing
137
138
  "A002", # Flake8-builtins - builtin-argument-shadowing
138
139
  ]
140
+
141
+
142
+ [tool.mypy]
143
+ python_version = "3.12"
144
+ warn_return_any = true
145
+ warn_unused_configs = true
146
+ disallow_untyped_defs = true
147
+ disallow_any_unimported = true
148
+ no_implicit_optional = true
149
+ check_untyped_defs = true
150
+ warn_unused_ignores = true
151
+ show_error_codes = true
@@ -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.1"
13
+ __version__ = "0.3.2"
14
14
  __author__ = "Razvan Gheorghe"
15
15
  __email__ = "razvan@gheorghe.me"
16
16
 
@@ -499,7 +499,7 @@ class PolymarketClobClient:
499
499
  order_args: OrderArgs,
500
500
  options: Optional[PartialCreateOrderOptions] = None,
501
501
  order_type: OrderType = OrderType.GTC,
502
- ) -> OrderPostResponse:
502
+ ) -> OrderPostResponse | None:
503
503
  """Utility function to create and publish an order."""
504
504
  order = self.create_order(order_args, options)
505
505
  return self.post_order(order=order, order_type=order_type)
@@ -630,7 +630,7 @@ class PolymarketClobClient:
630
630
  order_args: MarketOrderArgs,
631
631
  options: Optional[PartialCreateOrderOptions] = None,
632
632
  order_type: OrderType = OrderType.FOK,
633
- ) -> OrderPostResponse:
633
+ ) -> OrderPostResponse | None:
634
634
  """Utility function to create and publish a market order."""
635
635
  order = self.create_market_order(order_args, options)
636
636
  return self.post_order(order=order, order_type=order_type)
@@ -646,7 +646,7 @@ class PolymarketClobClient:
646
646
  "DELETE",
647
647
  self._build_url(CANCEL),
648
648
  headers=headers,
649
- data=json.dumps(body).encode("utf-8"),
649
+ content=json.dumps(body).encode("utf-8"),
650
650
  )
651
651
  response.raise_for_status()
652
652
  return OrderCancelResponse(**response.json())
@@ -736,7 +736,7 @@ class PolymarketClobClient:
736
736
  next_cursor="MA==",
737
737
  ) -> list[PolygonTrade]:
738
738
  """Fetches the trade history for a user."""
739
- params = {}
739
+ params: dict[str, str | int] = {}
740
740
  if condition_id:
741
741
  params["market"] = condition_id
742
742
  if token_id: