invariant-ai

View on PyPIReverse Dependencies (0)

0.2.1 invariant_ai-0.2.1-py3-none-any.whl

Wheel Details

Project: invariant-ai
Version: 0.2.1
Filename: invariant_ai-0.2.1-py3-none-any.whl
Download: [link]
Size: 379523
MD5: a35975f2af18f282667939baecbb1da1
SHA256: 7929f860ada0bb8bcfc89ba98392433672286c1a8474cf83842e3bfc92c04e62
Uploaded: 2025-02-21 18:00:29 +0000

dist-info

METADATA

Metadata-Version: 2.3
Name: invariant-ai
Version: 0.2.1
Summary: Invariant Testing and Analyzer
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >= 3.10,<4
Requires-Dist: Pillow (<11.0.0,>=10.0.0)
Requires-Dist: beautifulsoup4 (<5.0.0,>=4.12.3)
Requires-Dist: diskcache (<6.0.0,>=5.6.3)
Requires-Dist: invariant-sdk (<0.0.11,>=0.0.10)
Requires-Dist: lark (>=1.1.9)
Requires-Dist: nltk (<4.0.0,>=3.9.1)
Requires-Dist: openai (<2.0.0,>=1.54.4)
Requires-Dist: pexpect (<5.0.0,>=4.9.0)
Requires-Dist: pip (>=24.0)
Requires-Dist: pydantic (<3.0.0,>=2.9.2)
Requires-Dist: pytest (>=8.2.1)
Requires-Dist: requests (<3.0.0,>=2.32.3)
Requires-Dist: semgrep (>=1.78.0)
Requires-Dist: termcolor (>=2.4.0)
Description-Content-Type: text/markdown
[Description omitted; length: 41117 characters]

WHEEL

Wheel-Version: 1.0
Generator: poetry-core 2.1.1
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
invariant/.dockerignore sha256=EWFYEP-wgx-9N5XWHvE0HyCYFDnZBGirmT2ORJYndoc 5
invariant/.gitignore sha256=ubbcm3f0jIJTbRLdR2BeAi5SbQvQtaVp9XnjcDGp8i4 149
invariant/.python-version sha256=ZXBivWwBbEMf52WBc7o2EWl-6yE1f9gvrvC30hpJHD8 7
invariant/README.md sha256=1WNVPGwlwt5KTww96zGigdw965ZDijtW7tCBHNEslxo 34925
invariant/__init__.py sha256=rk1iZKvDx9geU8UbV7x5aaQeUYKhnDJXTxn_CxFj1ZQ 75
invariant/__main__.py sha256=lKxTpEUbBDE0WQHsKahe4dcg0516jLXq_eYySiVrciw 11385
invariant/analyzer/__init__.py sha256=JK3WZFqYmvCb79ubDGetuLCOPz7xRf6DFyI3GbqKLd8 602
invariant/analyzer/examples/agent_bugs/demo.ipynb sha256=UShMMqDrT3i5ovT11NK0rTLfgw4B4HrVW6iefFaajTs 2833
invariant/analyzer/examples/agent_bugs/traceset.py sha256=OSy_BqPofBvTLoB2WFzSuqJu0xqt2rzkKyQLK7ZKS3E 9211
invariant/analyzer/examples/agent_flan/run.py sha256=oI0NAFF-rQdkv2jCSoVJ71L5hCpOCGzC2qOkODYhZ0g 3201
invariant/analyzer/examples/code_agents/examples.ipynb sha256=ZxMi_5kgByIvO9XtsVM-4lDqU1N3dyZlQNR87VSTjrA 4055
invariant/analyzer/examples/code_agents/open_devin.ipynb sha256=MK1fBmoNa5kutX8NV-29MGV5eUmkSs5kb_b2-276tgI 3385
invariant/analyzer/examples/code_agents/swe_agent.ipynb sha256=-SlxZUhuo2JW421M-jtgKXir-o7yTHGA3xd3IPvtcn0 4947
invariant/analyzer/examples/error_handling/lc_example.py sha256=hbrVp_D6GXRd90jFHIz_Bc9pKRPpEbpW2vVNa_wi3YI 3710
invariant/analyzer/examples/error_handling/tool_example.py sha256=LIww5Ggl1N7afzIvXHYkMIzHkrHT6GekzCw31qNkr_I 5562
invariant/analyzer/examples/lc_flow_example.py sha256=j5-PDhyCHVqZUkh9Zso6ek-APTarwLcxbZBxZjjIiqw 3169
invariant/analyzer/examples/openai_agent_example.py sha256=Igo4ycb7PBC-WvZeXK8d8komPsEddSQtELkg0RrHWM0 4792
invariant/analyzer/examples/personal_assitant/examples.ipynb sha256=954eHNM-7JackSq-uRw65orslUoxNhZx__XBpRpvt5g 12785
invariant/analyzer/examples/sql_injection/sql_injection_query_pipeline.ipynb sha256=pAmUX20UumTnLUPvyMu59by89C_kNYu83p0H12RJmGg 57650
invariant/analyzer/examples/sql_injection/sql_injection_workflow.ipynb sha256=sGYX8uShOXuJLRsXC8BidP80N2QVbMmlbeBOjoDpYx0 54084
invariant/analyzer/examples/traces_example.py sha256=IS7r5db7B3Hbejq4pwkvwCL066UoAJyFO8KLWtvPnm8 1790
invariant/analyzer/extras.py sha256=W6QI4Vy5La34ytkfgq5cNsSvBB2K1svnXB4YPBLLCiw 7057
invariant/analyzer/integrations/langchain_integration.py sha256=sG_SARWk8gevw3GiVi1JsairmGT8h2oMi4NMExB2CQk 12968
invariant/analyzer/language/ast.py sha256=4M3qCB4GXgJFxPxv-ZU38BbVDwZIcqDjfnOESc2rBzQ 23309
invariant/analyzer/language/linking.py sha256=OjStWicMpT8v-Sx4LLHm7uVligZTDq8qgvtMJ_HMIwQ 2124
invariant/analyzer/language/parser.py sha256=UKoBmxebwjnqAWHtrOI04ZbhF4yd2yu1vKzCP9XVMtc 16243
invariant/analyzer/language/scope.py sha256=ghatXjM3k9lAjqUn8e2R4VKDuNqvh40p4DbODMaFmps 5207
invariant/analyzer/language/types.py sha256=X4FRhPlqZEzqMTLzbLPa2deM6WtzPk5yVlVWW9RhHtc 831
invariant/analyzer/language/typing.py sha256=kWZQ3Qe8x_pgxuf5GmFEBfk99mGmWc29m48982SqF2I 10380
invariant/analyzer/monitor.py sha256=vXGYuHMp7s3bcoawSWy8I5wlT0RE0DxcJVBBhxP9JXo 9545
invariant/analyzer/policy.py sha256=qOmV8-i78ifFbheTtttZsLpDdolQSKB4mV01bVeUDOA 6830
invariant/analyzer/runtime/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/analyzer/runtime/evaluation.py sha256=b9-TeG7d6rnq3sGG197lLO9YhVDeHadfX3JRq9YBw_M 28166
invariant/analyzer/runtime/evaluation_context.py sha256=FukNF_RFPoZU0AfopKaI_UM6uJkc0I4rC25vE1qQ6LY 1246
invariant/analyzer/runtime/functions.py sha256=YwyRoFDG5iomZu0cG3Jy0jy_ciymyy0fH_bJwrE0tYk 549
invariant/analyzer/runtime/input.py sha256=sOCxBowPmTPtYHPJ-gO8M49L_OylMtwN94DQozGe-DA 14127
invariant/analyzer/runtime/patterns.py sha256=3_0bt270o15_Id0dicUs0nqfxgwABTbQ5S3I9xGCWhk 7692
invariant/analyzer/runtime/quantifier.py sha256=5ORAlnLmcHRd8lbyO8hlZ87MtLLP5u_gNOdXGj886Cs 720
invariant/analyzer/runtime/rule.py sha256=8BPAIxM6X5P8ouMJV5t27dMCQqZ4qE4cIVC4yX3XYL4 10307
invariant/analyzer/runtime/utils/base.py sha256=MI-gQ5dauncBtNMxUAJhx6twvV5HH-y8wx7PSmitdtQ 1450
invariant/analyzer/runtime/utils/code.py sha256=E9LNuoXprxAENJOq1hASkwyCjGsbWAvMjortz1CwCg8 6421
invariant/analyzer/runtime/utils/copyright/copyright.py sha256=gHFS7-0P-Tem8Cz4R3I4YAys4JpJQOfp6tZ6-JDOg6s 2219
invariant/analyzer/runtime/utils/copyright/software_licenses.py sha256=QwiST0qRBYYcoZKa2yKy0p_vtQ5551x71RcxwPbKUWE 868
invariant/analyzer/runtime/utils/moderation.py sha256=FIRKoohIDFJBQ8IOk8tKC2FgwWVd7wBQZszl11R1DKY 4628
invariant/analyzer/runtime/utils/pii.py sha256=JejIjfb7iDWgmo7Pj5sIxin2ptRT7AKDoqlAF43HdtU 693
invariant/analyzer/runtime/utils/prompt_injections.py sha256=M0yHZ3WK0GOIYSwhQpSdILvkTNaDuOQLJyzGXJ2zzHQ 3763
invariant/analyzer/runtime/utils/secrets.py sha256=P9IcsD-oA3javy3ntdJlMYiRA8SkXNG51SQQHQSWMkc 1932
invariant/analyzer/stdlib/invariant/README.md sha256=jmuGtQpTRqcxD0cHrHYh_O9DAMC4EAKyvMeA-k-w0co 399
invariant/analyzer/stdlib/invariant/__init__.py sha256=F7816npi-QJD_TcAilZucae73TAjP_3h0o23EsQ4-8U 332
invariant/analyzer/stdlib/invariant/access_control.py sha256=b0LjCpWqzFziPYx0THI035kWS494q5FbnXioORmqHgo 206
invariant/analyzer/stdlib/invariant/builtins.py sha256=5bnmuycZfZieAFAZHd_PQYOHPYu3r-_1VomYnAMdsK4 1644
invariant/analyzer/stdlib/invariant/detectors/__init__.py sha256=7MdHjrZPSx3ZYkjcnRFSec4NwIkLYhFdIJgYYkIk3S0 416
invariant/analyzer/stdlib/invariant/detectors/code.py sha256=UAnA_b2Bdy4-UbdQN43nwa9IifQeKAlRxuJ_vgpJJDQ 1625
invariant/analyzer/stdlib/invariant/detectors/copyright.py sha256=Ucnys0e9JWN_FYzFmaIzhNNZj_zwZu5KJJSJKJq-GxM 944
invariant/analyzer/stdlib/invariant/detectors/moderation.py sha256=atYVCNKosGyo0j9xkAtP-AT62BPJHXbVWbo36sj2K5I 1650
invariant/analyzer/stdlib/invariant/detectors/pii.py sha256=9ZyPD13Hblz99eGP6VWX7hylWWyZuWNTCFOujJ63np4 1516
invariant/analyzer/stdlib/invariant/detectors/prompt_injection.py sha256=AhUPkdHRgLKYfnOs5CK4azUjjWk3At-SaSoZfsfQaFA 2287
invariant/analyzer/stdlib/invariant/detectors/secrets.py sha256=uKuOfH1RCYP_7ECieQf_VTdMa-AV6Oboj_GIPP4aF9Y 1261
invariant/analyzer/stdlib/invariant/errors.py sha256=hlwNKuPkP79N0N6UiVR9i7s0i1NCD0lrbb8hC3KTrLM 1712
invariant/analyzer/stdlib/invariant/files.py sha256=sJpTJcIl2Vt5RLYbwd40ohwwjMU9AkFLfZib7Sr02YE 3782
invariant/analyzer/stdlib/invariant/message.py sha256=TmE0JraT8z8MqlpEz-vA5ojeKmafN-h3G3R_94fJW9o 285
invariant/analyzer/stdlib/invariant/nodes.py sha256=Bf4aYgrJWsJvQL3_sa5DLXboQdhVXOVG5m-jcAvgkVc 867
invariant/analyzer/stdlib/invariant/parsers/html.py sha256=h788gDxjHXXk4RYYw5C9syBzvfESIwB2fZ2NUm5yYfY 2638
invariant/analyzer/stdlib/invariant/quantifiers.py sha256=MdeMAvVG18nyYqt0IpwurcLjuhTQGbmy2d8L6J9oJz8 2774
invariant/analyzer/traces.py sha256=HqKaaeUDGNTflqBviJI7zwUNX8af9QPk_Ye7qYnxCcA 704
invariant/docs/DEVELOPMENT.md sha256=_VT8xOQ3wz0VftCJoRV5_GohTRFz4480s50f16kvocU 3220
invariant/docs/STDLIB.md sha256=EZmmfoWsidJd-rFZrlSaieOYSCFFKEjQeQvcLF9R8NU 6908
invariant/ranges.py sha256=5o6okPuP4MXWwzWj_qUkdi-uUC06wxgJ0iQrxojB_kg 1342
invariant/testing/__init__.py sha256=DZl94tyeMyNcpyepBcGAyA3MbYSAyPu3qADzamO8Jis 936
invariant/testing/cache/__init__.py sha256=6ouoUZ8wOyJapBHxamF3PItiKY0aNQbF1gjygv3u7wY 68
invariant/testing/cache/cache_manager.py sha256=4UsoqsoDcfW7I9ahImMguLLoxCHDYA-5b97ONl5bTyA 1742
invariant/testing/config.py sha256=9BTssulKazoCrq2kV4Yz9v70e42-89nmLEck5Ubv_ew 777
invariant/testing/constants.py sha256=BdwfP9q9i9uX1g3gOqJIqcibqV3MsC5-CqPE97j3Y1k 533
invariant/testing/custom_types/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/custom_types/addresses.py sha256=mpug1A2E9wlpc8NKFzNAJxTUuUSFLxpI7pcXUqRL3WY 1159
invariant/testing/custom_types/assertion_result.py sha256=b1RDG8PkEc-jQu3RzoXM39ttiGKCEKoLocO5JJHJw70 458
invariant/testing/custom_types/assertions.py sha256=8BMrjj9bZh9z1KwrZEAV-LPzrmUEzJ7bDgAf-RE_jbs 6211
invariant/testing/custom_types/invariant_bool.py sha256=5OG3hgCUwnJCrHKa8VohLMhT5tQcPrBeaSXWfY1bvag 3342
invariant/testing/custom_types/invariant_dict.py sha256=ksDQMD38XUN9XeHaj0n-sjP3dgeYTraPGwWVnVPTCf8 4015
invariant/testing/custom_types/invariant_image.py sha256=C0LQbr_ZZudISXY-hK6IlcroBtL3tWajJhPbqNxmiM0 5892
invariant/testing/custom_types/invariant_number.py sha256=A9VlTe05ooUCb_pP7HbvaUrejVnYrq5lv7iMmM4Isag 3428
invariant/testing/custom_types/invariant_string.py sha256=pBaB7uM2mqdugzZR0P9tGq7rJPXhXMNMiBiEScdzlWE 14968
invariant/testing/custom_types/invariant_value.py sha256=WyEYIDFWAd7xZ5pDAHtE7MmZJBDPmjzGumrb7dwHGKU 4332
invariant/testing/custom_types/matchers.py sha256=zKnSaANgPcZ0TGnb4tveqvAKzd4FadxtRzp-sPKkHjM 6613
invariant/testing/custom_types/test_result.py sha256=0R6JBOFXEXqoLQeLKokVl0_nx1wCy6jROiVRqF_UY4Q 335
invariant/testing/custom_types/trace.py sha256=dwuBRhdDQYe3OAc6bgDuBiPCacB_kNvarov89v_myCk 17718
invariant/testing/custom_types/trace_factory.py sha256=MHCA8EqAXmSb7XDZSbnOyqI9KFxF5xptTBoJM9SzYcM 2939
invariant/testing/explorer.py sha256=SkLTZYgqhE_jldYSXlctXghiFSK0SM8IrA5xjZgZRaY 10534
invariant/testing/formatter.py sha256=PdlNjto1F8xBaXiEVEl_djSo7KgH8c2RJ5vhRJ5KVj0 3993
invariant/testing/functional.py sha256=XQc1qJaHD_wWnvKWgBWGgTvGXvvTehiugKxHQ-Iu9qY 12045
invariant/testing/manager.py sha256=MXtvhw-aWWtGCNLEGwu5oIJPKrqvbxDau9G95fkwhCE 16542
invariant/testing/ruff.toml sha256=L3DBWTyEr7mzqkCOt2JK1sAGA43Jub-qQfiMuZZvHHQ 79
invariant/testing/sample_tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/sample_tests/assets/Group_of_cats_resized.jpg sha256=WD6Z7obHkVJ3RafId9eitCptSn3SszHJSwfE2dUMu4o 64112
invariant/testing/sample_tests/assets/inv_labs.png sha256=gRxzfsiR_8iz23Ww3c1_nzB2bREpJwrU7Vd0NoHftSo 39185
invariant/testing/sample_tests/demos/chatbot.py sha256=ZKpN4A8wlKFwjUygnhgwp5o0v3eC2j6SOvLPggPUWwg 2381
invariant/testing/sample_tests/demos/computer_use_agent.py sha256=t-wgRuznXN6sT7vafj0Cn7HNFG04PP8AcqYH9Jj1pfk 6558
invariant/testing/sample_tests/demos/qa-chatbot.py sha256=IkcrkA1r_oou2ukylE-ZZuY5yX_My8qcXt90iT6rNZM 2417
invariant/testing/sample_tests/demos/web_agent.py sha256=B6cLMhFjLils4n61CP5jTI-HJOy2rKvZ28H3WMroKvk 7232
invariant/testing/sample_tests/langgraph/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/sample_tests/langgraph/weather_agent/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/sample_tests/langgraph/weather_agent/test_weather_agent.py sha256=yeKzW9ua_jRn88lwZTk415zdp7NVxSWHTaoKlpqW1Do 3193
invariant/testing/sample_tests/langgraph/weather_agent/weather_agent.py sha256=3mPR3X3SgmbVcGC7BpTDu0zAJ9T6JAsaSpj4cWjrT6k 2429
invariant/testing/sample_tests/openai/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/sample_tests/openai/test_python_agent.py sha256=pUO2CbZgft7l7dhXX2yXHre_pGeYqPbi9T_aMNB-qkI 6292
invariant/testing/sample_tests/swarm/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/sample_tests/swarm/capital_finder_agent/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/sample_tests/swarm/capital_finder_agent/capital_finder_agent.py sha256=pqwh2Dy_83Nz6-rz28EPm3rHvZujPeobMSd5qIQuBLg 988
invariant/testing/sample_tests/swarm/capital_finder_agent/test_capital_finder_agent.py sha256=JYIH41JYX9XbWwMxsnLihBK2DrxyVXlDy5pCHkg8tAA 2041
invariant/testing/sample_tests/test_agent.py sha256=ynfowU_1cm_r4o3DIYSNjN-ilO10HSe-n614ED327g0 13671
invariant/testing/scorers/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/scorers/base.py sha256=Lxz18RfTm79Ra9dzm69RZvF8ovU86zop92xs2FQ38FA 901
invariant/testing/scorers/code.py sha256=ZRqqwrAqfARHSJz9PE12dGLxikjGRyY0GcnBLkm6t3Y 3206
invariant/testing/scorers/llm/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/scorers/llm/classifier.py sha256=aATHfrsgFabPgz8_4KXRRnkLZbSVLlQVBhMPV41PoAo 8846
invariant/testing/scorers/llm/clients/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/scorers/llm/clients/anthropic_client.py sha256=T4XQgXkXlcJI4n45lXb4jvn_QT6NEu671wY65Ln0CDg 693
invariant/testing/scorers/llm/clients/client.py sha256=2CAqrfCcsXKvWFC7hMgCyHtVifcJc3FabBWqdSU9wfE 695
invariant/testing/scorers/llm/clients/client_factory.py sha256=NZD-fSms-G_DCbuDHMfX90j6SRd9nY5LY7D6iZr5t0k 587
invariant/testing/scorers/llm/clients/open_ai_client.py sha256=0_ksBOnypWCOm-hxbMi8TP7SCXnvYokhFWLz7-GR5NI 762
invariant/testing/scorers/llm/detector.py sha256=-cU9wG91n7N-jNHhAEqhXbae_ot-ZEodyTZM_o5b6lA 7723
invariant/testing/scorers/moderation.py sha256=WV8ty1vN05PMaFbbO5XDoTFQNwtVA_7rdOk4fg1y9c4 5274
invariant/testing/scorers/strings.py sha256=CNQiP3-iSgjod4vqlsdnc_GM09POScY1ZDeYMqcBRAM 904
invariant/testing/scorers/utils/base.py sha256=nkXjLDbpmipmpzzYK95iERFr_rvYDRf9YoN9FqVS9oc 1732
invariant/testing/scorers/utils/embeddings.py sha256=qTfMgBsZG9wvWNOwsmTcCJP5gq-lsrf_1UpyFuyVsfM 615
invariant/testing/scorers/utils/ocr.py sha256=iiZJ6H-eVhSrT4YSFhq63z1x0HUmTwz__A_n_NmeNdA 6158
invariant/testing/utils/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/utils/explorer.py sha256=Wvwv89meWDjjrY0sIMtCDM6_RbRFqRveBU8hU9w9lBA 3159
invariant/testing/utils/logging.py sha256=E26v_KaIl8f9pnaxNRte99KhSmFp76Nc9jXZXPxszjI 470
invariant/testing/utils/packages.py sha256=Ku7Ree2b0xpBA_R5zY3voAgM0gZFOQiuWMnMUhAP06c 797
invariant/testing/utils/utils.py sha256=Hc-jUl2-tIMmbdUDyP6oTfH1yBoOfm6No-_bSdK5pk8 2926
invariant/testing/wrappers/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
invariant/testing/wrappers/swarm_wrapper.py sha256=IH0fB8CBspA-Bd01GyRmelwr_2z9LMqIWMIV-pOZFxw 2470
invariant/tests/analyzer/custom_checker_project/README.md sha256=DK4cGFJ-fLopc_Pi97S9Aq47q5PYY4Oz1RLL-z0A1kM 107
invariant/tests/analyzer/custom_checker_project/checker.py sha256=KOJ9dtguRgPH_BU8jmh-LCpxjfjmBulFoEkIxDrDZGU 138
invariant/tests/analyzer/test_constants.py sha256=vy8eljfEGLadrABDTxFI7ybn6-qEjdcFyvye7UUF4bc 1918
invariant/tests/analyzer/test_derived_variables.py sha256=C6vwN733qhcx-xzRdBJQjGqxIlCrVU_FQlcPTo8KIqM 4210
invariant/tests/analyzer/test_flow.py sha256=4fHLZQHU6V79rTgcKfe5OFio9rKuhYYf1zK0E2CmJhw 8816
invariant/tests/analyzer/test_html_parsing.py sha256=xjfhdijJuEz-x00mlCht5dwFRa4hI2kWZHwTupWr7pQ 6759
invariant/tests/analyzer/test_monitor.py sha256=terOX3xmbf80IyMDe2B_-hfXRPBjt8-7Tzi7RsxS_vM 5070
invariant/tests/analyzer/test_parser.py sha256=9WAfNbXn1eJ3GSz5CNe8NwqyiH6wGsRi0I1dTiMtCvE 17821
invariant/tests/analyzer/test_parser_errors.py sha256=_p6o3mKmOvkeuWUYfKfLrcRGbgnzs2atCDSUtmqu8A8 6636
invariant/tests/analyzer/test_parser_semantic_patterns.py sha256=jrM_MC7sX2WeqGi51TXyqwUya3O66It64twKIfl7-BY 2454
invariant/tests/analyzer/test_policy_parameters.py sha256=ZOVvo2vZKI8AwTk7ckdts4P-PP17VWBViZ43qiYXQRA 1672
invariant/tests/analyzer/test_predicates.py sha256=UOwtlv8eOsiWaVpvltxLpTtf93d9ZTPROwL_SgD5bYE 7687
invariant/tests/analyzer/test_quantifiers.py sha256=dtOBT1re9ir8e_xSgr9C7_r_pjYSqYBcjOagz-Wr_S4 4819
invariant/tests/analyzer/test_ranges.py sha256=VnhAreU1avd-zajRNAv3Uef1w_lBm1MIErdv9MJFjHg 4568
invariant/tests/analyzer/test_readme_examples.py sha256=PKLPKVId02phyMoRVyaazioVSa0EojtXhzEBJOZUgsE 10261
invariant/tests/analyzer/test_semantic_patterns.py sha256=qnV6GNtiF4eS4LoVDKbKJ1vf2Ukl7n-MAfT5BJvSwfA 3898
invariant/tests/analyzer/test_stdlib_functions.py sha256=FxITbFAKq5ie84Th6TCoZVpy3SVY5Y026hgemK2n7x8 3545
invariant/tests/analyzer/test_utils.py sha256=_y0ibz7sDzuF2iTsIvltycZUiWBF4NFtfCjYvBQIvA4 11992
invariant/tests/analyzer/utils.py sha256=-Eyb2kSYxn555GUk-JznxtEsFV6sQOV8ws4Ae8FDaZI 637
invariant/tests/testing/cache/test_cache_manager.py sha256=ViBKQ1z_n9EOOugPSUkui8o9JLyswIManO4Efupau0w 3624
invariant/tests/testing/custom_types/test_invariant_bool.py sha256=ybTAq6NQK-C2uDZyHSvRfoxuycZPvxFG0RBon7uoJc8 7386
invariant/tests/testing/custom_types/test_invariant_dict.py sha256=Zf0OSw425A3OqV-k2gjKrzH4qjUIiePXtP1YsRrQ3nE 3790
invariant/tests/testing/custom_types/test_invariant_image.py sha256=iJqOWaH4TcLu5ds2BQCuiPePRBMm2dUz8BoO76svt2U 5080
invariant/tests/testing/custom_types/test_invariant_number.py sha256=Nk6UFajMGX_-g546Q23oynhU4bQ30N3-eSyz5fnO0lo 4209
invariant/tests/testing/custom_types/test_invariant_string.py sha256=9-qyPZrWQt_RbzJZXgUKSRPyOr3YU7T--PccmjRVTUU 12932
invariant/tests/testing/custom_types/test_invariant_value.py sha256=AJsIDF3joOjBy2cWe7h8fzL2Ge92nDr4hx9A4uS-wSk 7603
invariant/tests/testing/custom_types/test_trace.py sha256=2iy104po5ENroGm8st9zN10t_zxW2o7NoVhuwjn5-o4 5655
invariant/tests/testing/test_assertion_args.py sha256=7Qq8raAOQ41hLPXUrKRNE_65e6zq5T204eJwF_SaL4U 1474
invariant/tests/testing/test_code.py sha256=jrV7Ya4K4kshTrT7kuo86me4sAW1B6DgutTaBmTA-CM 441
invariant/tests/testing/test_contains.py sha256=8Nw7RRaCeoQ5oybYhXUX-J9x5OdQfC5wTCeOuBgSnwo 1587
invariant/tests/testing/test_display.py sha256=gKOWgVSZCfitGK5FUyE3HbB8jo3SBQNZXdMoX9x8QvY 4031
invariant/tests/testing/test_error_propagation.py sha256=Kd3p_AqkxZzrkp6yKIR4PNr0xwkuMrp70HAqK9HF8bs 1687
invariant/tests/testing/test_factuality.py sha256=7wWPvTzAKU2vKbRbjFBmRz9q88m9nHC8LkHY9G1mOQs 3166
invariant/tests/testing/test_lists.py sha256=Yl7Hu-Y29Uwno18hL4p4lR2fIGBMIDJPNC3i69PXVgU 18589
invariant/tests/testing/test_moderation.py sha256=DgV1T-Vcu3urHvGe1PnAzIhqhcugPxjtg9gPSpOXZmY 413
invariant/tests/testing/test_modes.py sha256=FdgP5bGOtZYoMOopsZjE63xqzwp6Vse8DHjonsGuROA 11783
invariant/tests/testing/test_runner.py sha256=prZHV9R6C3ct9KBDshTkL4_ainIV4rO_Q1Ncw4b52N0 3522
invariant/tests/testing/test_selectors.py sha256=yElMBL8sPX7IGNYRHI-Rr2DefuK9EMSQltgSnriZPkg 14644
invariant/tests/testing/test_similar.py sha256=hSz8zZ6rpKdUdILf7xHQxHnqsNgojbQcraiCBVVh_lA 5428
invariant/tests/testing/test_strings.py sha256=w-Zw2m0GAvAHbPhN-ScOK2Kw9PF7orkYch-g5kp5X0M 5046
invariant/tests/testing/test_test_naming.py sha256=oAbXlCGJBI3eG1qGTc2h4phvmCXBAiZCotYfsDMy7no 2481
invariant/tests/testing/test_tool_calls.py sha256=1Jka1M8FPnTY71-PhdomJUypa0hmwp4OftRdUHg-LJc 3745
invariant/tests/testing/testutils.py sha256=2Wxc3DwutikeQHxb3WHI3UsWk2w4ZWtgIX9wzum---I 1377
invariant_ai-0.2.1.dist-info/LICENSE sha256=kBVAMbcL7--sAlEG9JMSRTDhPGCLh2zBQYtfZbqUXxQ 11347
invariant_ai-0.2.1.dist-info/METADATA sha256=B7GLY00maEcfw0-PgyRYjm51c8UPCoW-8DNLcYURk0g 42074
invariant_ai-0.2.1.dist-info/WHEEL sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY 88
invariant_ai-0.2.1.dist-info/entry_points.txt sha256=3oYYZnWofMt7oiv5P1N5MirQsTMnzqSNmzwzIuCpCvo 53
invariant_ai-0.2.1.dist-info/RECORD

entry_points.txt

invariant = invariant.__main__:main