From fdb7f951c8099c0e78020b7e5820d7614fd0a29e Mon Sep 17 00:00:00 2001 From: ccurme Date: Wed, 16 Oct 2024 13:46:49 -0400 Subject: [PATCH] monorepo: add script for updating notebook cassettes (#27399) 1. Move dependencies for running notebooks into monorepo poetry test deps; 2. Add script to update cassettes for a single notebook; 3. Add cassettes for some how-to guides. --- To update cassettes for a single notebook, run `docs/scripts/update_cassettes.sh`. For example: ``` ./docs/scripts/update_cassettes.sh docs/docs/how_to/binding.ipynb ``` Requires: 1. monorepo dev and test dependencies installed; 2. env vars required by notebook are set. Note: How-to guides are not currently run in [scheduled job](https://github.com/langchain-ai/langchain/actions/workflows/run_notebooks.yml). Will add cassettes for more how-to guides in subsequent PRs before adding them to scheduled job. --- .github/workflows/run_notebooks.yml | 14 +- .../agent_executor_114ba50d.msgpack.zlib | 1 + .../agent_executor_1f5932b6.msgpack.zlib | 1 + .../agent_executor_3fa4780a.msgpack.zlib | 1 + .../agent_executor_550e0c6e.msgpack.zlib | 1 + .../agent_executor_688b465d.msgpack.zlib | 1 + .../agent_executor_77c2f769.msgpack.zlib | 1 + .../agent_executor_9c9ce713.msgpack.zlib | 1 + .../agent_executor_ae627966.msgpack.zlib | 1 + .../agent_executor_af83d3e3.msgpack.zlib | 1 + .../agent_executor_b6a7e925.msgpack.zlib | 1 + .../agent_executor_c4073e35.msgpack.zlib | 1 + .../agent_executor_c96c960b.msgpack.zlib | 1 + .../agent_executor_dae53ec6.msgpack.zlib | 1 + .../agent_executor_e593bbf6.msgpack.zlib | 1 + docs/cassettes/assign_5.msgpack.zlib | 1 + ...b-48bb-46ff-a5a4-ef8ac95a513c.msgpack.zlib | 1 + ...a-78c5-4570-a00b-20d597245a96.msgpack.zlib | 1 + ...d-155f-4587-b7cd-52d363970c1d.msgpack.zlib | 1 + docs/scripts/prepare_notebooks_for_ci.py | 23 +- docs/scripts/update_cassettes.sh | 33 + poetry.lock | 2749 ++++++++++++++++- pyproject.toml | 10 + 23 files changed, 2805 insertions(+), 42 deletions(-) create mode 100644 docs/cassettes/agent_executor_114ba50d.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_1f5932b6.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_3fa4780a.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_550e0c6e.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_688b465d.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_77c2f769.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_9c9ce713.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_ae627966.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_af83d3e3.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_b6a7e925.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_c4073e35.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_c96c960b.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_dae53ec6.msgpack.zlib create mode 100644 docs/cassettes/agent_executor_e593bbf6.msgpack.zlib create mode 100644 docs/cassettes/assign_5.msgpack.zlib create mode 100644 docs/cassettes/binding_2b65beab-48bb-46ff-a5a4-ef8ac95a513c.msgpack.zlib create mode 100644 docs/cassettes/binding_32e0484a-78c5-4570-a00b-20d597245a96.msgpack.zlib create mode 100644 docs/cassettes/binding_f3fdf86d-155f-4587-b7cd-52d363970c1d.msgpack.zlib create mode 100755 docs/scripts/update_cassettes.sh diff --git a/.github/workflows/run_notebooks.yml b/.github/workflows/run_notebooks.yml index 14c70f779bf..9d4091c107c 100644 --- a/.github/workflows/run_notebooks.yml +++ b/.github/workflows/run_notebooks.yml @@ -35,23 +35,15 @@ jobs: - name: Install dependencies run: | - pip install -e libs/core - pip install -e libs/langchain - pip install -e libs/community - pip install --upgrade langchain-experimental - pip install -e libs//partners/anthropic - pip install -e libs//partners/chroma - pip install -e libs//partners/openai - pip install -e libs//partners/mistralai - pip install jupyter langgraph click pypdf vcrpy + poetry install --with dev,test - name: Pre-download tiktoken files run: | - python docs/scripts/download_tiktoken.py + poetry run python docs/scripts/download_tiktoken.py - name: Prepare notebooks run: | - python docs/scripts/prepare_notebooks_for_ci.py --comment-install-cells + poetry run python docs/scripts/prepare_notebooks_for_ci.py --comment-install-cells --working-directory ${{ github.event.inputs.working-directory || 'all' }} - name: Run notebooks env: diff --git a/docs/cassettes/agent_executor_114ba50d.msgpack.zlib b/docs/cassettes/agent_executor_114ba50d.msgpack.zlib new file mode 100644 index 00000000000..7d5627083ae --- /dev/null +++ b/docs/cassettes/agent_executor_114ba50d.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_1f5932b6.msgpack.zlib b/docs/cassettes/agent_executor_1f5932b6.msgpack.zlib new file mode 100644 index 00000000000..946d9680a4e --- /dev/null +++ b/docs/cassettes/agent_executor_1f5932b6.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_3fa4780a.msgpack.zlib b/docs/cassettes/agent_executor_3fa4780a.msgpack.zlib new file mode 100644 index 00000000000..7bc4f0dd9d6 --- /dev/null +++ b/docs/cassettes/agent_executor_3fa4780a.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_550e0c6e.msgpack.zlib b/docs/cassettes/agent_executor_550e0c6e.msgpack.zlib new file mode 100644 index 00000000000..22c73160ce9 --- /dev/null +++ b/docs/cassettes/agent_executor_550e0c6e.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_688b465d.msgpack.zlib b/docs/cassettes/agent_executor_688b465d.msgpack.zlib new file mode 100644 index 00000000000..16074cab7b0 --- /dev/null +++ b/docs/cassettes/agent_executor_688b465d.msgpack.zlib @@ -0,0 +1 @@ +eNqlVmtsFNcVXnDaEJSGNK2gUisyWaEWAbOemR3vw64T1muTGD/W9hq/iLXMztzdHe/szHge+zBxG9y0/EgbaeKa0KSlSbC9yDg2yA5QwECV4lRqUx5JaOwAjRQUFzUVAlKXJKXpmdk12IE/VfbH7Nx7z/nuud/5zrnTk00iReUlcdEwL2pIYVgNBqrRk1VQp45U7ZnBBNJiEtdfFwg27tYVfmpNTNNktbiwkJF5hyQjkeEdrJQoTJKFbIzRCuFdFpAF0x+WuMx0QXqrPYFUlYki1V6Mbd5qZyXYS9RgYG8Glx+omBZDWAox8KdgvIgFNzxmX4fZFUlAppGuIsXe3Q4zCYlDgjkVlTWcNm1EGJHwr2oKYhIwiDCCimBCQwkZDqTpiolBONzmnCQJ+Ri0jGxhR3TROrOJdeu9GNtqF5mEZaAxSV7IhFTEKGwspCBVFzQ11KHmXDiksgov573sPixnhyExyosIk2AlwXchDotICmZSo6AYElU+CSEyLKtDgOabyGGaoqsaGOZ3cGCbVBTRBcsxBT5YRtIxEYGFJoGDmgKqrBSZTGNMWNI1DPAUIBZDSXgCRKUow6wak3SBw8IIY+bCA0cl4zAPIDMKHBRSr1qnlhVIqaLxKDe07Ky3Lx10Po4ZkCBJcUyXTcQ5ZiEjvBi1d3ebmQQ18QriTO7zoO3zTKVwB2I1MAXb/yM1AiNG1QSvxfLZuUtCgrk4TRJ5EZ4JxlzJ01UN/kHT34FtAANGzNzB6C2TdRb/CcgRBnIEwfKgWpDTI1+BxC+zZ0pfQUAb5E/5ylS2d2djiOEgqIu2B/tjkqoZIwtrdhQUiKCQkMhKHGxgvBbt4uV1GIciAuhyCOpURBbtxlAcIRlnBBDuYM7L2MfIssCzFqGFZj0M5+saN2O5c3nILGMcuoCoGeMBCMJXWViXgeYiYqSD9jiIfWlc1RheFKBZ4GZujUHZWj8yf0Fm2DiA4PnGZQzmnEfm20iqMVDDsIHgAkhTCcYAoyRc9Nj8eUUXoUqRkfXX3bldfvH2dk4HSTrc+xcAqxmRNQasznNwgTMkM4OzEmAYrxCDLKSZR8bUtVCIjYTCidKmuL9Sc9VzZZ26P8lVNZEbQx5ORg6q1lHVGCpTGlKVXd7mSGtzTRwn3ZSXIN1uF4mTDsJBOkjc06xwrcFwp4OuaAk5qIpmp49u8jvLwi3eIl8F1RWq3egSa8iMolBVQroz0lTeRlFhz6aWdLrK566tLdIy9Y+nWQ8dIBzJCsrT5tPjHl8JBtHpSZ4rZSl/OFSPGjJP0F2BIiIq02UeV4p3KtVtHOH38rFoeVxS/USUrpgXXhHlwYl8hC6C9hDmb2ROGwJ0Ri1m7PZ4PHug1clQaugng0CZpqs9/aBD9Oc/ZvPXxauBqtsSXt5fDpo0Jhp1aJhkERZgNYwiKBojPcU0VUzT2OM1jcP+/DaNd5Xg/kYFOmcEZFgxJ/ksG9PFOOKG/HcV+4QpdsikGT5cRzhKy5KK8HxUxnAL3pC7KPHK8rFcZeGSEmVEvsva1piwVJ/qSqc4Vue4WDKVILxdtJMPI52NjOddoGOY20BAeEI1+skip3skvzQnvCE4LIGTBE6Qh9O4eW8IcLUAodYzf12DbxGwfehOA02Kw71jDFjpODZ/XUEJ0Ku59W0Q2uv1Hr270RyQ2+t1uw4vtFHR/EhIKqEeutMgD9BPehLqcHrOHuc5Y2oVDEIczbk93jAi6QiBKJIiIpzbzTldbq87TEc49DuzG7KAY+ZSlhQNVxFcfLyWMabWJZi02WJKnUChC05aAj2VFXQOBfVwuWSeQS3B4BIWJIYb9W/A/QwbQ3jQkp+RLW+t9dVU+g+04PN1hAfk3FdRVpRUkY9EBoNIgbQYQ6wg6Rz0SgUNAlaDr9UY93BOMuIsClMIsZ4IcuNl0IXm0G6prt9stFlGgNiTrDEWc5baQcFOewmWYEo9LpogrG+nbYO5zn9y0dsPP7vEZv0KhIYaaXr9gxOfN//8o+o1Jxb1SMYS+wuzp5+cfqi1919bdoxEL1zQ2565caXvG+/Vblm2992j3Vfe+usji9f/hlm858C3G+tfPPLmzJPLx3cWXr8qf0btenT53hv/uMR/unL02n0PdPys+/39S1ecW4GePSufbqrdp1Rvi797Rvjhw89Fxvjztp++9d4740fvT/079cbl1Y86DzStnd15YnSJ7YPT53Xx+auPVW/xHCpfOrtLmey/ec/Tf3mxuOfSxOy2VR+8XNDXd6Ihu7aPLMVa4g0Vk9pkVv37xJGvG+Tl8is/Gv7+qVVTb1R980+nPu0N/XLZJ6/NpJ6/+EJN2UsbG9/fufLiZG8gYlvdSJ9ff2X64+CpS++49I/Xfuupw9ebO2xPOEaX7qhr7tn+um34auCkeHzynnN71sy0LP4PWro5+fLXjvWeOGus/mdf+4dtz93wffKdC13HZ6dn0sEMNXNs14dvJusmPxoYk/4b/Fvn7orPD6+8VnPzJlm+4uDkvXuX9U6enXr1fn7f8daOqfqnftxwUiwo0b73299vKfjVyjj13fOnq5wP9L+0KXYwYEwr5+q314/+If725oey1OuXmtecab3v5sV7HWd/sePX7Ze1I0NnyM+W2WxffFFge3p2+/VXCmy2/wE4OX83 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_77c2f769.msgpack.zlib b/docs/cassettes/agent_executor_77c2f769.msgpack.zlib new file mode 100644 index 00000000000..e1ce3d30a81 --- /dev/null +++ b/docs/cassettes/agent_executor_77c2f769.msgpack.zlib @@ -0,0 +1 @@ +eNrtHctu3Na1QYEuDBRoFwW6vB20UBKIHL7mJcMoRiPZUWRZtiVLfsggOOTlDD18mZechwwBbfrYD7rptrUsFYbrJEiQpmndRVdd9AecRRf9hK676LmXpIZja2Ln0TYeMnDk4X2ce97n8pzj0TvHfRwQy3Nfe2S5IQ40PYQH8qt3jgN8N8Ik/PmRg8OuZxxe3tzavh8F1tM3u2Hok6VyWfMt3vOxq1m87jnlvljWu1pYhs++jRmYw7ZnjD795of3Sg4mROtgUlpCt+6VdA/OckN4KN3wIqQFGGmoi23fjGykEWKRUIPpRVQKPBvTZWREQuyUDhbR1O4BHEhQ2MVogDX4K0CWi4j54+zWiOCgdHAbRhzPwDYd6vghp9A1LjyJ8DcJA6w58BAGEYZnOMsHZoRRQEEIfI2OeZ6d4B+OfAbajFzGLwrq5PMSoOhqDlsQan3LHqkEa4HeVQNMIjsk6h0SbzEw0QPLT3aVmiheh7DbsVyMPJhxrH1sINMLEGVrgLvYJVYfUNR0PQIE6SfXoGgDfwyUnMCjawRTXtKNA9iDRsBmF8OK0IMNZACcYuKlUkJa24tCBPACYCvCffgJINZcH0ZJ14tsA7WphBL0YGMw4ikBvhYAoaA2hFHtB6AOQWjh+JGtY5+eITQLhyJke14PRT6FmHIWBGK5ndLBARUkaKIVYIPyPgF6O7PUa9/BeghLmXK8tGhsze0Qxwq7iXROEchWjCdlouXCT0ejMwm7LsL+LbqfR+dhgeaOnuPoyZJFxn8HZIRAG0FfLVBaUKcffAkmPss9qvkBBraB/IIvzcrbB8ddrBmA1D++8Z3DrkfC8eNpe38XNBCDHWFX9ww4YPz7zr7lLyIDmzbo5UOwUhczto8f9jD2Oc0GxT2Kd43f03zftnTG0DK1h0eJVXMUl+enH1Ir5sCDuOH4w01AorlWvjwCx+QikVfqvPDekAOnYbk2OBqOynZ85LP5P2UnfE3vARAucXrjo3jz4+waj4wfbGj65tYUSKoJ4wda4FSVD7LjQeSCleLxcevy88clk5PjZF4U+dr7U4DJyNXHD0zNJvgPU5tBmCNO9wDG+DfCkQ5itvD46b9UVTfVtnNup9daC6tXjOW7UatvrO+Ib6t1w8e8dIlf31aXg6uDtf3Grnljd6PHiTWpIYi1WlXkRF7gRV7k6ruBcWOrfZdXVq+rvLS6KzeVnZa83L7eqDRXpX310ttVd0McBYG0bg/vmjsrNyWpXb92fThcb9YuXaqEoysXhnpd2RT4/qpUv9mMevXmWQTYRX3LOKdLrbZ6BV8dvaXsb1aEjq8s16sDSw4u3jSEVsPqdlZ6HmkJHWU1g15FqnNCgmFVUOoC/e9xqhs2eMawO77fUOq/A1fng6nhnx0By8KIvHMIeoj//rfjJNT8dnN9osLfO1wBnRw/2abeXaygTT1EkiApSKwvKfKSIKALG9uPWskx21QFn6IQD8My84ZcHB/OIghwAcHhuSg0ufr72wG4UhP0cjW1gWO9G7k9bDxsnar9T6j2g2gpPRCeODz0PYK5BM3xo+vc1TjqcmsrH8SmxnlBR3OtfWYK4yfMDAb7w4GhR4bR7Q8cobGvyFYbR7r5YbIFXAg9BhDiHDK+X2vUHyczqSI+BOIFThQ4QfxkyNE4YkOoAQazn0noJ+PDCnD/4+cXhF4P4tD4ARPPX7LzAXZAf+nJEyBKo9H48+mLUkCAotL4ZHoN8DkDRJQc8vHzC1IAoig75NEw3cBZxvjpD+FBlWVFrghG1RA1s1HHstDGhiS321IFV4EJ8h+pe9QBEJWl7wUgawyR0ApH46eLjjakPuecLFbkKpB6FpysbkcG3oraKx4lgpxFEJVtTzPebZ3nWprexdwW08fx8cqNS82NtdZH17msYnGbzIXDvOsR1zLNoy0cgFzGD3XbiwxwngE+AlhXmzfGH9YNWTTltqk3RKNu4hq3vLl1rNmAZF8ff9CVz5WWFEUunUWOdq5eVQSB3bh+ehT7/E+/+4ahhRoNHha4/BK9nulwOeOaax13OwrvOm4nuHIh3NheX3UvCFf98zW5MyotpnEg3sFPLnQ8U29YoIM5hDSMpJZbayym16v4dsUJVVGGlfHFTTUBHRz4gBWAdSPbBhhdz9JplIMLleUaeFhaEhYhytmhVlq6l1zfSpnb4OTiFwOgEVTVNdt+FkZMLEyoO/tv7e7cUfrhzZv25ZFldIM7YrRcXwVgcczL3BMy14T0lvCZ97eSFnQih96VYCHEzNuLEF7NiGh2jODBYsn2OmCLbZJiDFywCIWjUQjxqtsHZ868ulKaKYMsM7OMurfnUl4VzDmNOahgzUzW7JUK5sxiTnyTL9gzgz178H/BnMKwPj9zkpxIwaCZ2pPk3QoOzeSQVVx4ZjNnSyu4M5s75+GlVLeI7hU8mh3bixeK2dw5yAtrXkxjlnkZWm+tbF5avX3mzOyC15NsvStOCLB6V5wUiEtcr30b+O5bag+PWNmnb4+4cHulUmtuXe2t4uXo7uaN+tCorK+HeLilCBu9SzWao0+z++lFI1vGAteYcQC0fKUN0xQEbJEW00KKamA/7FIomtGH9cBomEsyVaoR56loxp+m+vHw1OF0dVwbglGWj85MBNpAnRTenp21nKS4xyZOage/fHiN5iubLG3/UZyPP8nplSVehj/vNuM6wurpdYSjeHp8/83ymzOyqo/T9NrFJD0sVRvTudznygmfJ3v8ixnHviClLNOUcprbe0AresNnET0UKw3xBZhOJ/S+VTupCL2EypRMz7a9gRr56klpKrWOVNDxUyq/WyyJlagYLXRaIcvC7c4+IwqoEac2MhgM+AQhai7UTrKJu9K9BduLqVsAP7NA02zwYWEK6MIiWghwJ16z0AJmm17gWhodZ+WQYEQnrrkWLXnSbCsmyDNR08EBsI4uA82BJXKNr9Uq9JGB4kRJ4hWxLsNIuK9aBoWSbCpf9IjaBKdjY8IAAJY2rd2o2Pf0LqxMXZcoZacpCCp1mksHJRDFJUVcOKCIxtJhVNoaCUEIBvWBz8ITBIHhO1nxPEhZoCjRmrSq050KL6TPJjxXajwlySKqoVHOiIxPrmGdsJlWMijYDYuEFJSlx7wtl3XDfVZeyWO5qgyrShlAlkVF5n23E/PfoDSLgixQKgfgiVXHp/TIvJIO9NhAZTJg4E6A6T5JFk7GrIBJfpeC9UHpSBRg1Wkz6GKdkXgybFF0ZYEXavGobvmq4yzQ0rwwGWGr4pFu5FjAAMqOBt3DcusMNJ01MbaJbfVwzE+Zr08NMqZW2SBFVe9atp1dORnMrARvEbK4lJXRZDAjKAMPfA8iWwpSyY4lEKkM+yDRnsOQZsDos2NRBV1CVTYS9Rnj6eJOBBoUS0LhK+lALIkaLx0c0OCqe7SfQeAbDVDjah1sPevV46T1xOinjBJxKHUC5wGKDgqLNjSfwPgO7I5Ib3SqM+gnk3HI1FzOzPiOiV+YPuufv/7JyWlmehotw4sCAoUki1P1eDPwHEQr6F7gwSUArNlG1KtTd7cI7rGtaw58IJEbWASzfgn4THAIkyAcNhBrkBXvQg4ljJ7HKvW+rekY8TxP3byDtsHs9z0XL6FTfAd6/dp2i6u9gcqolfhn6iZALRUwYxYgyqIAFoX4kwUppWcnnD2LtiKXIbbhAT5w9rT4qg25WqmeJr/YgbPYptKTS0sSX60cfJX9PGe+/zXo55neyKLYZMnUkdlL86zmHXrfRS8qGX2hHp/MbRyV7u3F0XsPHvZeGMD30uv7NI9uARSwsxjGZ8TdPTh+L90Yry6ibxF9i+j7/4i+e8xjzTDc2THyFBuejpR7kVQVhCJYTgdL4PbtbMigIWAqFKgv4/CLntGiZ7ToGS16Roue0TnoGT2UKnXlq20aVea5aVSRK1//ptGqIn2ZplGpWj+9abSqtau6UcGi3hBN3DYlUW/XRCxKdUlQavVXomnU0JU6WMbnbxpt/3t2Feh6bUPaiEa9u9bO2h3Rvyp2l5fPi/ubvS9UBYJ3wf9h02ip9N9o0Py6c2RC/nYXl3JGMjrp38kZ3SddOTmjm/ba5Ixk1kGTM5ozfTH5onwxd6KeJKALWc+7rOOaQv48OKuh5C9W549kLX8kxy1IuaN7aS93tzIud7q9nan45E2/cyfsvBEsKnmjmM8bwULeCP7re63c+a3X80ZxpVY4rjknWM6f4zqfN5LfKN6g5j847ea0TtVKG4SL98Z5FzXt+s4b0YXrzoHrhun8lWp8nL8CVZHrK96nijfmV5vg3CVzkeN3i46Rue/v9Bz271TyVlQPPCd3RIc57F8mXhR2Bzh/b5CoeIWcfxlfTv6BefFCVbxQzVnzhCDmjeR68Q5ZtIvM2ztku8jcF9euedPqt6LcvTyybyMqrpnFNXO+CG7krtXtR0WAmn8z3rGI1bbswmUXLnsOMwPFe3LxnjxnRtxz8veenL+LyGUbqMpfDc71QpzDYqsW5pDoHH4nQeZbSouvoJh/kiM/f2adu6+JQvSr7ItvV5l/kj2zSBjMe8JALJJg895+n7+MAfsVLvm7idBfyJS7GOUWMWrOCZYEqfgHNUUZsqjUFCJ+tURcKYpx80jwS/w2cBJ6/mm/B/w/5izgpg== \ No newline at end of file diff --git a/docs/cassettes/agent_executor_9c9ce713.msgpack.zlib b/docs/cassettes/agent_executor_9c9ce713.msgpack.zlib new file mode 100644 index 00000000000..c14e358a5f6 --- /dev/null +++ b/docs/cassettes/agent_executor_9c9ce713.msgpack.zlib @@ -0,0 +1 @@ +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ePvyQWV+unnXJ4ueHHHDpiG/u/vxVed30jx41x89+rOWlF66kqqKzbvj88HP39gz+9PIrhv7xf//dNXzp8dI371wy8eQfa17R53/ku/eOcdPXH/fVExdObqk59rm1xsKrXqi7/67tKrf9bPtLnz/mz798Vvb1jD/tetk1scX3n/z6Lu+93TJ47LvSNcE9jhbOvDBy1teTDtjp5a+HzK++PFL93OqWH65/8oDLnntox7cPKC/759gZN6zU2ROu/vys3b+at2a312K7XzFkPT/zhuVXLpw1/8JBu+/5mfLuvw/3fGysnXbgAcNue3LIVePql5097qg/aiZ3xfT2I27urt9pzqqlwz7b7dSnD73l4pULl11bftwvp868b+mQ/S/+96qHfr5HXvPek9u1PDimcfQ+NdOGK0NOm3rlbb82rAyd8NP3O1yw5oi6uez81Ub5buQfXnZd+/H89W3HjXtm8NRf/nrb6GNm3PbBMx+9d929D61/9I4rL37DfOtUI7j8o5KHHnzl45923v3Ka2+/fen2bcun/vvuBd91rZm1/ardhYu+W33abecMmffK489R57U1D3KF93j11devevb+e69423dpR/Nfvpvz07QWz9zIut1Xnt0WmT3p/DMPXX1es3G0+9g/j7r8uUEHX9jZGDhC3Pm2+n/tdMSVw5f4pg476KbH75jwwrqHdrvxLxMPffC1Wwd/tnC/9sAk7cAv1+tXHfeP/8lf//Hvu0VfvO2ot+eunv23cbHdZ3z87bAD37v0mDXm09us/Oiimy445dZLv3zh5qtHzvnh3YpZV106f/dnZh0s114rz3qsedxXa4874CF+yeQLb353r/3OvPSyd0b9eZj6k3jaJZOf/cZ8f8+Ok09/f9s7pkdveOx9vTJ867yd1lZ0EtUnfxxavOiFp35cHHvFLBtC7fzUmu6lHaP/evKrzY8ed9c9tbesvej5iz44r/x/60e/8ZeDVvnfiux/rj7ojtW/rL/9r+TZnyw5e85TM6bv9I/DLttv/1bpm6fPfr6m6rZvP35l6Lzz2s+55NX339h7l39s88FTLwfHPPb3Fy7r2vvlTydu99eywFUvTKuomBz65MBBDPfJ9uot298/a9ntL99y6PTzpy1+9MsnW24/7u725Wec75m19JndVt9966i1D8+bMfnDkf8auvSP53d6bjp1bcOoPa8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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_ae627966.msgpack.zlib b/docs/cassettes/agent_executor_ae627966.msgpack.zlib new file mode 100644 index 00000000000..000b000e35c --- /dev/null +++ b/docs/cassettes/agent_executor_ae627966.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_af83d3e3.msgpack.zlib b/docs/cassettes/agent_executor_af83d3e3.msgpack.zlib new file mode 100644 index 00000000000..3ca4a89f06a --- /dev/null +++ b/docs/cassettes/agent_executor_af83d3e3.msgpack.zlib @@ -0,0 +1 @@ +eNrtVs1u20YQRoA+CLHoqRAlkvpnkYNhBAnQGg4Qt0ARBIsVOSS3JneZ3aVlxdAhbq49sE/Q1oYVGEnbQ9FLG7THHvoC7r3v0VlKyo+jIkZ6CloBgqSdnZlvZr75qOPFASjNpbj2hAsDikUGf+ivjhcK7legzaOzAkwm45ObN/ZOKsUv3s+MKXXY6bCSt3XBTdbOmUijjHHRjmTR4SKRpxMZz35bZMBiDP/o/BMNyt1KQZj6R3u78XPLWcdr+20/GH2/FUVQGveGiGTMRVo/TR/wsuXEkOTMwNnSXP/AyjLnEbMYO59rKc63pRDQYK7P9wFKl+X8AB4r0CWWAV+cacNMpY9PMS788fuiAK1ZCt/ufrQG9+VpjBnqZ3sVtBy/7+xGxgm8oOf4o7AXhL2uc3Nn70kksTvCuGZWwuswnkYsysC1l5TM68dCus3JLxa31u720uBu5bmcujtNQ3X9zQcXzsYL2wpiTMZZrutToyr46dK1HXZou1mfDDzv540hdhVPuai/Xmzlxr1zENUX7ax7nYS9Xpd86BTsetAfB57ntbKuG4w3GM5wYkiNelEd8EgqsbmUW8seYinfba869DGI1GT1SW/UP/mUs/ocB+ykUqY5PLsU48ZhKTW8FKShzUOcmUIO/HntryOyYicJidcetgceaRHsPOBoKRyWXDUzoIYXQEJR5XmLTJiJMor+SF6KE0l4SsIjUqFHUeWGl0wZCiIuJRKehLa9LaIjlgOtSnpf8wdAMX+agiKhb1v0wipMphCspjlHAqN5sDbGciqogKI0sxfePbTacOvbTaznB3QyM6BJGHjjod8PvHmLcIF0FRFQZH2qLWxcGVxKA5RxivuoZgidTXKI18ilSmmEoJo+xFyvjAlyx9aVySk1JqcVXzsY3HGskIOicbXqX8xmTbZcitTuDwboNWAzqczqwO8hQA1MYXcvYZhKta9LG1ZHsgRqMXFxwJvy1ki6VBupcPde9Z7P/1lqdt8kNfjGU93JpnimwR92ML1g3E0qsRQyl1nR6VgR0eZ/Vfqvq9KpH/j/Vpbe+/WILIlHkXQZShPzB/0+DmfiDVgyicf92B/2euMk8Lv+IBj74A2DQeJ34yhhyXjsRZEX+yNvNGTxYDRmfRS1ggmeIEXtFnJcjbvkOdPRWiqJyqLxG54Y/NjGj9vN4R5qjiUjuYfKGOGa4oYjGxAVzh0RVxFuHXrsT5laSsqKbPj97pVy3ZlpA8XO0uttky6jvqm61a0Weds0Zu0Rks9k5TAFDnMyyMukyh2mNbf6ahNwUVaGHjDFrRbZXmCOtTdNpCqw9pAk7nLoFhs+N5D7L/scze2rdaUurvqnb+eok5nMkVpXL0uWdqlZvhbcNQYqWNH4YQ6acSuwM3JVRLcqJN07N9ajZnLzjSNcHpF3Y5Kr5+LlUTbPK3yOKvs3pmQxjvPexlpfu9h6lQatdTewLgKHDBuy5Pn8b285bDI= \ No newline at end of file diff --git a/docs/cassettes/agent_executor_b6a7e925.msgpack.zlib b/docs/cassettes/agent_executor_b6a7e925.msgpack.zlib new file mode 100644 index 00000000000..a90d03e125a --- /dev/null +++ b/docs/cassettes/agent_executor_b6a7e925.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_c4073e35.msgpack.zlib b/docs/cassettes/agent_executor_c4073e35.msgpack.zlib new file mode 100644 index 00000000000..20c6bc9c3e2 --- /dev/null +++ b/docs/cassettes/agent_executor_c4073e35.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_c96c960b.msgpack.zlib b/docs/cassettes/agent_executor_c96c960b.msgpack.zlib new file mode 100644 index 00000000000..188d04c7020 --- /dev/null +++ b/docs/cassettes/agent_executor_c96c960b.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_dae53ec6.msgpack.zlib b/docs/cassettes/agent_executor_dae53ec6.msgpack.zlib new file mode 100644 index 00000000000..14bb8754fc2 --- /dev/null +++ b/docs/cassettes/agent_executor_dae53ec6.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/agent_executor_e593bbf6.msgpack.zlib b/docs/cassettes/agent_executor_e593bbf6.msgpack.zlib new file mode 100644 index 00000000000..86ae03de69e --- /dev/null +++ b/docs/cassettes/agent_executor_e593bbf6.msgpack.zlib @@ -0,0 +1 @@ +eNqFVktv20YQRi75HQtd1KYSxZeeQREocpwUsaU0UmAUQUFsyJG0Fblkdpd6xPCh6eOuv9C4dhGkrU+95eJTD/0F+TWdJUVZzqMFJIj77ezszPfNDPXyfA5CspjfeMO4AkF9hQu5fnku4HkKUv14FoGaxsHpo8Fw9CoV7O1UqUR2ajWaMEPROQtXhh9HNQlU+NPTZ3Gwenfj5nEJt70ZrEodUlLzcFVVo716szt8PLsHd9Png29ay6D+8KGC5dA1D2f9ZqlCSnijyE4splQRJomaAlkAxR9BGCfDfW0V0aUnQKahkmhrI5Lf7QWQqKk+ToM55T4E2ppxP0wD8II4oozrE0+/RRiWH4ULa8rlAgSiYxpK2NkQdOH5MVLF1Ud2WUQnIIuNk/Mp0AD5/fn1Ewmi2p3gqfVfyQoJ5dUNwbJmGw5+/uz6PsZfvcf9OGB8sv598oIlFRLAOKQKzvLt9atbtVuvezHnkCm1fj0DSKo0ZHP4o5fHVT0APlHT9Su7Yb8psNEqgfUFTZKQ+VSfrH0nY/4b8pig3vDDmVRUpfLlKd4O//x9HoGUmMsvg4dFEj994trTPQxv/XaUIhFWnQx8RWzTdonV6rh2x2mR+4ejsyEILLT1r3zC+PL9QE+thuv+T6RZYX2PUQrk5t3N8Lgolv+qldI4DsN44aWJl3GtS7vU4WkYVkqFwvmqEA6LoLStrafHJcVUCHjJ0Y5jysm+wPpi0o/xjlSEaFB0xWKxMDZR6AbRnYE224opHZfDOE+r3CHHZU4jwIfyNaflCikLmOQ25R6yPI4FZ1TjfpxyJVZ64wlnCgIyROFAknhMuhEI5EybYcmgidM0ms26XmauqpZtG67VchBRLzwWaC+bQ7WDWHpdPoEQZOYAowwVi8CDJPanaGk17bZpNZuWvbutXWi5q5ZZRfUtq+Na5RMdaCoEppxlGVKpUIQAAw3e92eaZhbvlcWHLh1Th6QgSjxfn3QNs1iPcV1vGjolJr2AamasjCcesC3NOGZ0JOVDJpV2xfyc21rND/j7em2WtYa7bLg1dFmzXMdI+CTnP9A5W6Zj6iwXjAdelOh8HMMtgFkG1K+AACYC9DnbMbcYE5nyR9ptgkUnUwFe9CzzbrWyFLcw0+E6pmE2c9RniRdFiJmFnUYyqxyZphFDAjQdbX3GD+M0yFzr3TFAKEM2g5xPx2hdAzNSGxmoQ/WnLAx3La/AHUscEwpxWO5qdAXuCBXAIonxdVO4dHexjUet4RwVnUVZ0JkzvY6YLtAOaWRIOs+I18aTFCsoV8I16gWQK9E07JMTbEPsLYHdbBrtttV2Wg3s9d1xrkfBSeWq6ftZn9KQFN2vpxjz4YOmx/YEHyu4qCRjEs9rOL19FMBIpskdxpNU5bPrS2z1L7atXul1r42HXt41ZFu+kuB0G3b7ZP9xt9/7atgbkL3BUX+EX/LZcH/Qsz4nB1Rtet2sNy4v+gcxR850r9uNtnt5cXQvhDkidaRxrAzS7xooxeXFvoEyXV70DGIY+Egj8mhvlA1wCyXJWrCRXIG2mYPEIPubhMkeJpFK/QcC0W6Qx4yMPQYZp8IHmfv+FJO3r09TcpeuSFcArZBe9zaxLXIf/5EAeRAnCR7qzvEVM1RxQuq3yaHmTMBKm5K203adar1u4kYvjiKkUN4hXxcz/8517c1Gu2F9TPt8+GcvRE8Pt1IHOayf/AtKkges \ No newline at end of file diff --git a/docs/cassettes/assign_5.msgpack.zlib b/docs/cassettes/assign_5.msgpack.zlib new file mode 100644 index 00000000000..16688387baa --- /dev/null +++ b/docs/cassettes/assign_5.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/binding_2b65beab-48bb-46ff-a5a4-ef8ac95a513c.msgpack.zlib b/docs/cassettes/binding_2b65beab-48bb-46ff-a5a4-ef8ac95a513c.msgpack.zlib new file mode 100644 index 00000000000..13674896089 --- /dev/null +++ b/docs/cassettes/binding_2b65beab-48bb-46ff-a5a4-ef8ac95a513c.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/binding_32e0484a-78c5-4570-a00b-20d597245a96.msgpack.zlib b/docs/cassettes/binding_32e0484a-78c5-4570-a00b-20d597245a96.msgpack.zlib new file mode 100644 index 00000000000..190301e9977 --- /dev/null +++ b/docs/cassettes/binding_32e0484a-78c5-4570-a00b-20d597245a96.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/cassettes/binding_f3fdf86d-155f-4587-b7cd-52d363970c1d.msgpack.zlib b/docs/cassettes/binding_f3fdf86d-155f-4587-b7cd-52d363970c1d.msgpack.zlib new file mode 100644 index 00000000000..a08ac1e5251 --- /dev/null +++ b/docs/cassettes/binding_f3fdf86d-155f-4587-b7cd-52d363970c1d.msgpack.zlib @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/scripts/prepare_notebooks_for_ci.py b/docs/scripts/prepare_notebooks_for_ci.py index fe63daafe8b..9286906f22b 100644 --- a/docs/scripts/prepare_notebooks_for_ci.py +++ b/docs/scripts/prepare_notebooks_for_ci.py @@ -122,7 +122,10 @@ def add_vcr_to_notebook( return notebook -def process_notebooks(should_comment_install_cells: bool) -> None: +def process_notebooks( + should_comment_install_cells: bool, + working_directory: str, +) -> None: for directory in NOTEBOOK_DIRS: for root, _, files in os.walk(directory): for file in files: @@ -130,6 +133,12 @@ def process_notebooks(should_comment_install_cells: bool) -> None: continue notebook_path = os.path.join(root, file) + # Filter notebooks based on the working_directory input + if working_directory != "all" and not notebook_path.startswith( + working_directory + ): + continue + try: notebook = nbformat.read(notebook_path, as_version=4) @@ -172,8 +181,16 @@ def process_notebooks(should_comment_install_cells: bool) -> None: default=False, help="Whether to comment out install cells", ) -def main(comment_install_cells): - process_notebooks(should_comment_install_cells=comment_install_cells) +@click.option( + "--working-directory", + default="all", + help="Working directory or specific notebook to process", +) +def main(comment_install_cells, working_directory): + process_notebooks( + should_comment_install_cells=comment_install_cells, + working_directory=working_directory, + ) logger.info("All notebooks processed successfully.") diff --git a/docs/scripts/update_cassettes.sh b/docs/scripts/update_cassettes.sh new file mode 100755 index 00000000000..df1a7981ae0 --- /dev/null +++ b/docs/scripts/update_cassettes.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Get the working directory from the input argument, default to 'all' if not provided +WORKING_DIRECTORY=${1:-all} + +# Function to delete cassettes +delete_cassettes() { + local dir=$1 + if [ "$dir" == "all" ]; then + echo "Deleting all cassettes..." + rm -f docs/cassettes/*.msgpack.zlib + else + # Extract the filename from the directory path + local filename=$(basename "$dir" .ipynb) + echo "Deleting cassettes for $filename..." + rm -f docs/cassettes/${filename}_*.msgpack.zlib + fi +} + +# Delete existing cassettes +delete_cassettes "$WORKING_DIRECTORY" + +# Pre-download tiktoken files +echo "Pre-downloading tiktoken files..." +poetry run python docs/scripts/download_tiktoken.py + +# Prepare notebooks +echo "Preparing notebooks for CI..." +poetry run python docs/scripts/prepare_notebooks_for_ci.py --comment-install-cells --working-directory "$WORKING_DIRECTORY" + +# Run notebooks +echo "Running notebooks..." +./docs/scripts/execute_notebooks.sh "$WORKING_DIRECTORY" diff --git a/poetry.lock b/poetry.lock index 5071452ed9a..c23df188e38 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "accessible-pygments" @@ -177,6 +177,31 @@ files = [ {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] +[[package]] +name = "anthropic" +version = "0.36.0" +description = "The official Python library for the anthropic API" +optional = false +python-versions = ">=3.7" +files = [ + {file = "anthropic-0.36.0-py3-none-any.whl", hash = "sha256:9183b9eaa0f409f2047244d7ef02c9c3eb916959c0b2960f7605dcb6cabbf548"}, + {file = "anthropic-0.36.0.tar.gz", hash = "sha256:7b0b1457096605572a29559d9a8ce224b9389d379b410e7d1bf5e0c1379f9ee2"}, +] + +[package.dependencies] +anyio = ">=3.5.0,<5" +distro = ">=1.7.0,<2" +httpx = ">=0.23.0,<1" +jiter = ">=0.4.0,<1" +pydantic = ">=1.9.0,<3" +sniffio = "*" +tokenizers = ">=0.13.0" +typing-extensions = ">=4.7,<5" + +[package.extras] +bedrock = ["boto3 (>=1.28.57)", "botocore (>=1.31.57)"] +vertex = ["google-auth (>=2,<3)"] + [[package]] name = "anyio" version = "4.6.0" @@ -210,6 +235,99 @@ files = [ {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, ] +[[package]] +name = "argon2-cffi" +version = "23.1.0" +description = "Argon2 for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, + {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, +] + +[package.dependencies] +argon2-cffi-bindings = "*" + +[package.extras] +dev = ["argon2-cffi[tests,typing]", "tox (>4)"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] +tests = ["hypothesis", "pytest"] +typing = ["mypy"] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +description = "Low-level CFFI bindings for Argon2" +optional = false +python-versions = ">=3.6" +files = [ + {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, + {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, +] + +[package.dependencies] +cffi = ">=1.0.1" + +[package.extras] +dev = ["cogapp", "pre-commit", "pytest", "wheel"] +tests = ["pytest"] + +[[package]] +name = "arrow" +version = "1.3.0" +description = "Better dates & times for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, +] + +[package.dependencies] +python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] + +[[package]] +name = "asgiref" +version = "3.8.1" +description = "ASGI specs, helper code, and adapters" +optional = false +python-versions = ">=3.8" +files = [ + {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, + {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} + +[package.extras] +tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] + [[package]] name = "asttokens" version = "2.4.1" @@ -228,6 +346,20 @@ six = ">=1.12.0" astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] +[[package]] +name = "async-lru" +version = "2.0.4" +description = "Simple LRU cache for asyncio" +optional = false +python-versions = ">=3.8" +files = [ + {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, + {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} + [[package]] name = "async-timeout" version = "4.0.3" @@ -295,6 +427,57 @@ files = [ [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + +[[package]] +name = "bcrypt" +version = "4.2.0" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.2.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7"}, + {file = "bcrypt-4.2.0-cp37-abi3-win32.whl", hash = "sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458"}, + {file = "bcrypt-4.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5"}, + {file = "bcrypt-4.2.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8"}, + {file = "bcrypt-4.2.0-cp39-abi3-win32.whl", hash = "sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34"}, + {file = "bcrypt-4.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9"}, + {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a"}, + {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db"}, + {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170"}, + {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184"}, + {file = "bcrypt-4.2.0.tar.gz", hash = "sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -316,6 +499,60 @@ charset-normalizer = ["charset-normalizer"] html5lib = ["html5lib"] lxml = ["lxml"] +[[package]] +name = "bleach" +version = "6.1.0" +description = "An easy safelist-based HTML-sanitizing tool." +optional = false +python-versions = ">=3.8" +files = [ + {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, + {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, +] + +[package.dependencies] +six = ">=1.9.0" +webencodings = "*" + +[package.extras] +css = ["tinycss2 (>=1.1.0,<1.3)"] + +[[package]] +name = "build" +version = "1.2.2.post1" +description = "A simple, correct Python build frontend" +optional = false +python-versions = ">=3.8" +files = [ + {file = "build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5"}, + {file = "build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "os_name == \"nt\""} +importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} +packaging = ">=19.1" +pyproject_hooks = "*" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] +test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] +typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] +uv = ["uv (>=0.1.18)"] +virtualenv = ["virtualenv (>=20.0.35)"] + +[[package]] +name = "cachetools" +version = "5.5.0" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, +] + [[package]] name = "certifi" version = "2024.8.30" @@ -505,6 +742,88 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "chroma-hnswlib" +version = "0.7.6" +description = "Chromas fork of hnswlib" +optional = false +python-versions = "*" +files = [ + {file = "chroma_hnswlib-0.7.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f35192fbbeadc8c0633f0a69c3d3e9f1a4eab3a46b65458bbcbcabdd9e895c36"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f007b608c96362b8f0c8b6b2ac94f67f83fcbabd857c378ae82007ec92f4d82"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:456fd88fa0d14e6b385358515aef69fc89b3c2191706fd9aee62087b62aad09c"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dfaae825499c2beaa3b75a12d7ec713b64226df72a5c4097203e3ed532680da"}, + {file = "chroma_hnswlib-0.7.6-cp310-cp310-win_amd64.whl", hash = "sha256:2487201982241fb1581be26524145092c95902cb09fc2646ccfbc407de3328ec"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:81181d54a2b1e4727369486a631f977ffc53c5533d26e3d366dda243fb0998ca"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4b4ab4e11f1083dd0a11ee4f0e0b183ca9f0f2ed63ededba1935b13ce2b3606f"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53db45cd9173d95b4b0bdccb4dbff4c54a42b51420599c32267f3abbeb795170"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c093f07a010b499c00a15bc9376036ee4800d335360570b14f7fe92badcdcf9"}, + {file = "chroma_hnswlib-0.7.6-cp311-cp311-win_amd64.whl", hash = "sha256:0540b0ac96e47d0aa39e88ea4714358ae05d64bbe6bf33c52f316c664190a6a3"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e87e9b616c281bfbe748d01705817c71211613c3b063021f7ed5e47173556cb7"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ec5ca25bc7b66d2ecbf14502b5729cde25f70945d22f2aaf523c2d747ea68912"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305ae491de9d5f3c51e8bd52d84fdf2545a4a2bc7af49765cda286b7bb30b1d4"}, + {file = "chroma_hnswlib-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:822ede968d25a2c88823ca078a58f92c9b5c4142e38c7c8b4c48178894a0a3c5"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2fe6ea949047beed19a94b33f41fe882a691e58b70c55fdaa90274ae78be046f"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feceff971e2a2728c9ddd862a9dd6eb9f638377ad98438876c9aeac96c9482f5"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb0633b60e00a2b92314d0bf5bbc0da3d3320be72c7e3f4a9b19f4609dc2b2ab"}, + {file = "chroma_hnswlib-0.7.6-cp37-cp37m-win_amd64.whl", hash = "sha256:a566abe32fab42291f766d667bdbfa234a7f457dcbd2ba19948b7a978c8ca624"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6be47853d9a58dedcfa90fc846af202b071f028bbafe1d8711bf64fe5a7f6111"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3a7af35bdd39a88bffa49f9bb4bf4f9040b684514a024435a1ef5cdff980579d"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a53b1f1551f2b5ad94eb610207bde1bb476245fc5097a2bec2b476c653c58bde"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3085402958dbdc9ff5626ae58d696948e715aef88c86d1e3f9285a88f1afd3bc"}, + {file = "chroma_hnswlib-0.7.6-cp38-cp38-win_amd64.whl", hash = "sha256:77326f658a15adfb806a16543f7db7c45f06fd787d699e643642d6bde8ed49c4"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:93b056ab4e25adab861dfef21e1d2a2756b18be5bc9c292aa252fa12bb44e6ae"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fe91f018b30452c16c811fd6c8ede01f84e5a9f3c23e0758775e57f1c3778871"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6c0e627476f0f4d9e153420d36042dd9c6c3671cfd1fe511c0253e38c2a1039"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e9796a4536b7de6c6d76a792ba03e08f5aaa53e97e052709568e50b4d20c04f"}, + {file = "chroma_hnswlib-0.7.6-cp39-cp39-win_amd64.whl", hash = "sha256:d30e2db08e7ffdcc415bd072883a322de5995eb6ec28a8f8c054103bbd3ec1e0"}, + {file = "chroma_hnswlib-0.7.6.tar.gz", hash = "sha256:4dce282543039681160259d29fcde6151cc9106c6461e0485f57cdccd83059b7"}, +] + +[package.dependencies] +numpy = "*" + +[[package]] +name = "chromadb" +version = "0.5.13" +description = "Chroma." +optional = false +python-versions = ">=3.8" +files = [ + {file = "chromadb-0.5.13-py3-none-any.whl", hash = "sha256:090134cb8a9bd35622175a8a9bb93a7b56ace413697489e9d2f43a5299a6b7bc"}, + {file = "chromadb-0.5.13.tar.gz", hash = "sha256:fb1f44b5425976ef2bdf7403d365986ee5a224e5d8108fcd86472ff64de216a0"}, +] + +[package.dependencies] +bcrypt = ">=4.0.1" +build = ">=1.0.3" +chroma-hnswlib = "0.7.6" +fastapi = ">=0.95.2" +grpcio = ">=1.58.0" +httpx = ">=0.27.0" +importlib-resources = "*" +kubernetes = ">=28.1.0" +mmh3 = ">=4.0.1" +numpy = ">=1.22.5" +onnxruntime = ">=1.14.1" +opentelemetry-api = ">=1.2.0" +opentelemetry-exporter-otlp-proto-grpc = ">=1.2.0" +opentelemetry-instrumentation-fastapi = ">=0.41b0" +opentelemetry-sdk = ">=1.2.0" +orjson = ">=3.9.12" +overrides = ">=7.3.1" +posthog = ">=2.4.0" +pydantic = ">=1.9" +pypika = ">=0.48.9" +PyYAML = ">=6.0.0" +rich = ">=10.11.0" +tenacity = ">=8.2.3" +tokenizers = ">=0.13.2" +tqdm = ">=4.65.0" +typer = ">=0.9.0" +typing-extensions = ">=4.5.0" +uvicorn = {version = ">=0.18.3", extras = ["standard"]} + [[package]] name = "click" version = "8.1.7" @@ -547,6 +866,23 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "coloredlogs" +version = "15.0.1" +description = "Colored terminal output for Python's logging module" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] + +[package.dependencies] +humanfriendly = ">=9.1" + +[package.extras] +cron = ["capturer (>=2.4)"] + [[package]] name = "comm" version = "0.2.2" @@ -621,6 +957,34 @@ files = [ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] + +[[package]] +name = "deprecated" +version = "1.2.14" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] + [[package]] name = "distro" version = "1.9.0" @@ -643,6 +1007,17 @@ files = [ {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, ] +[[package]] +name = "durationpy" +version = "0.9" +description = "Module for converting between datetime.timedelta and Go's Duration strings." +optional = false +python-versions = "*" +files = [ + {file = "durationpy-0.9-py3-none-any.whl", hash = "sha256:e65359a7af5cedad07fb77a2dd3f390f8eb0b74cb845589fa6c057086834dd38"}, + {file = "durationpy-0.9.tar.gz", hash = "sha256:fd3feb0a69a0057d582ef643c355c40d2fa1c942191f914d12203b1a01ac722a"}, +] + [[package]] name = "exceptiongroup" version = "1.2.2" @@ -671,6 +1046,112 @@ files = [ [package.extras] tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] +[[package]] +name = "faiss-cpu" +version = "1.9.0" +description = "A library for efficient similarity search and clustering of dense vectors." +optional = false +python-versions = ">=3.9" +files = [ + {file = "faiss_cpu-1.9.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:e415a149893629db2215776395460d0cf79ac5f56a62242de68f788a22b66818"}, + {file = "faiss_cpu-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81f211896107a114450297571210684701d1fce5b998d8a06e2549f6be7af20c"}, + {file = "faiss_cpu-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf76982c45027817df7816232dad9d2f6471637ceaa76c1cc72e858c6e31d8d3"}, + {file = "faiss_cpu-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:091d3df18dc9ae43e47203ff0c3c8ffcd51939a6de17e851751dcc263c86b16b"}, + {file = "faiss_cpu-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:eababc154e95930045f86d2483aeb4ed8451b1bb9b97451a2633df20190f5ee2"}, + {file = "faiss_cpu-1.9.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:b0e9208a36da519dc2eb90e4c44c66a6812a5b68457582d8ed21d04e910e3d1f"}, + {file = "faiss_cpu-1.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6a4b2871057560020b83ad7bb5aaf3b97b64f980f9af2ca99ba34eeb4fe38bdf"}, + {file = "faiss_cpu-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f1dc3a42ea386f49a86a9d09a3e30a40fa2e678395df5c2f5706c3f26f06751"}, + {file = "faiss_cpu-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2baeed5f1d8b006533c71184cc29065892647774a3df9c6f6dc31c1b694f57fa"}, + {file = "faiss_cpu-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:81d8fcb0ef92c9e7af2f7104e321895462681a598aff6d526a8da8272a61c1dd"}, + {file = "faiss_cpu-1.9.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:2ed784120f6be7a7cde90f507831e670b4edc94f20cc7955eef3ae5fba70d449"}, + {file = "faiss_cpu-1.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:358be27446389c9df374fba17221ae5e45a7a8c943c4c675f81814d6fb7c31b1"}, + {file = "faiss_cpu-1.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a0b5ec546c7455cf526326194ace125199769ccbc90bb69b464cd4a26b7f4d"}, + {file = "faiss_cpu-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f03a4882e27c71ead60d84d06263d3f8592c842f0f469eeaf7883cfd4f2bfa"}, + {file = "faiss_cpu-1.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:39a163c2c3c33df10b82fd3b61cb6c8bd7884e2526f1393de32ed71814c5cbfb"}, + {file = "faiss_cpu-1.9.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b04745b9b93736a7bdf18dd459a3362d154a6dae2e450de3f804f193154d79c9"}, + {file = "faiss_cpu-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:25dd895a952b5f6dad5dcdb901f853e33359e24ee2b871f418b87af054ed06e0"}, + {file = "faiss_cpu-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0010ddfd16f7c71e1119111973fe2f34b6abc6b40492b688244e821b5a931964"}, + {file = "faiss_cpu-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5908e619b3ab2cd1f23f939a995cc2559408dffa9795b69ca78f89a08b993873"}, + {file = "faiss_cpu-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:bc40f1029515baa0228c0c5113b870c5d94961d3232ca25f127162945424375b"}, + {file = "faiss_cpu-1.9.0.tar.gz", hash = "sha256:587fcea9fa478e9307a388754824a032849d317894a607586c3cdd8c8aeb7233"}, +] + +[package.dependencies] +numpy = ">=1.25.0,<3.0" +packaging = "*" + +[[package]] +name = "fastapi" +version = "0.115.2" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fastapi-0.115.2-py3-none-any.whl", hash = "sha256:61704c71286579cc5a598763905928f24ee98bfcc07aabe84cfefb98812bbc86"}, + {file = "fastapi-0.115.2.tar.gz", hash = "sha256:3995739e0b09fa12f984bce8fa9ae197b35d433750d3d312422d846e283697ee"}, +] + +[package.dependencies] +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.37.2,<0.41.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] + +[[package]] +name = "fastjsonschema" +version = "2.20.0" +description = "Fastest Python implementation of JSON schema" +optional = false +python-versions = "*" +files = [ + {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, + {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, +] + +[package.extras] +devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] + +[[package]] +name = "filelock" +version = "3.16.1" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] + +[[package]] +name = "flatbuffers" +version = "24.3.25" +description = "The FlatBuffers serialization format for Python" +optional = false +python-versions = "*" +files = [ + {file = "flatbuffers-24.3.25-py2.py3-none-any.whl", hash = "sha256:8dbdec58f935f3765e4f7f3cf635ac3a77f83568138d6a2311f524ec96364812"}, + {file = "flatbuffers-24.3.25.tar.gz", hash = "sha256:de2ec5b203f21441716617f38443e0a8ebf3d25bf0d9c0bb0ce68fa00ad546a4"}, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +optional = false +python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +files = [ + {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, + {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, +] + [[package]] name = "frozenlist" version = "1.4.1" @@ -757,6 +1238,85 @@ files = [ {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] +[[package]] +name = "fsspec" +version = "2024.9.0" +description = "File-system specification" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fsspec-2024.9.0-py3-none-any.whl", hash = "sha256:a0947d552d8a6efa72cc2c730b12c41d043509156966cca4fb157b0f2a0c574b"}, + {file = "fsspec-2024.9.0.tar.gz", hash = "sha256:4b0afb90c2f21832df142f292649035d80b421f60a9e1c027802e5a0da2b04e8"}, +] + +[package.extras] +abfs = ["adlfs"] +adl = ["adlfs"] +arrow = ["pyarrow (>=1)"] +dask = ["dask", "distributed"] +dev = ["pre-commit", "ruff"] +doc = ["numpydoc", "sphinx", "sphinx-design", "sphinx-rtd-theme", "yarl"] +dropbox = ["dropbox", "dropboxdrivefs", "requests"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] +fuse = ["fusepy"] +gcs = ["gcsfs"] +git = ["pygit2"] +github = ["requests"] +gs = ["gcsfs"] +gui = ["panel"] +hdfs = ["pyarrow (>=1)"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"] +libarchive = ["libarchive-c"] +oci = ["ocifs"] +s3 = ["s3fs"] +sftp = ["paramiko"] +smb = ["smbprotocol"] +ssh = ["paramiko"] +test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"] +test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] +test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] +tqdm = ["tqdm"] + +[[package]] +name = "google-auth" +version = "2.35.0" +description = "Google Authentication Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_auth-2.35.0-py2.py3-none-any.whl", hash = "sha256:25df55f327ef021de8be50bad0dfd4a916ad0de96da86cd05661c9297723ad3f"}, + {file = "google_auth-2.35.0.tar.gz", hash = "sha256:f4c64ed4e01e8e8b646ef34c018f8bf3338df0c8e37d8b3bba40e7f574a3278a"}, +] + +[package.dependencies] +cachetools = ">=2.0.0,<6.0" +pyasn1-modules = ">=0.2.1" +rsa = ">=3.1.4,<5" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +enterprise-cert = ["cryptography", "pyopenssl"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] +requests = ["requests (>=2.20.0,<3.0.0.dev0)"] + +[[package]] +name = "googleapis-common-protos" +version = "1.65.0" +description = "Common protobufs used in Google APIs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "googleapis_common_protos-1.65.0-py2.py3-none-any.whl", hash = "sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63"}, + {file = "googleapis_common_protos-1.65.0.tar.gz", hash = "sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0"}, +] + +[package.dependencies] +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] + [[package]] name = "greenlet" version = "3.1.1" @@ -843,6 +1403,73 @@ files = [ docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] +[[package]] +name = "grpcio" +version = "1.66.2" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.8" +files = [ + {file = "grpcio-1.66.2-cp310-cp310-linux_armv7l.whl", hash = "sha256:fe96281713168a3270878255983d2cb1a97e034325c8c2c25169a69289d3ecfa"}, + {file = "grpcio-1.66.2-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:73fc8f8b9b5c4a03e802b3cd0c18b2b06b410d3c1dcbef989fdeb943bd44aff7"}, + {file = "grpcio-1.66.2-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:03b0b307ba26fae695e067b94cbb014e27390f8bc5ac7a3a39b7723fed085604"}, + {file = "grpcio-1.66.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d69ce1f324dc2d71e40c9261d3fdbe7d4c9d60f332069ff9b2a4d8a257c7b2b"}, + {file = "grpcio-1.66.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05bc2ceadc2529ab0b227b1310d249d95d9001cd106aa4d31e8871ad3c428d73"}, + {file = "grpcio-1.66.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8ac475e8da31484efa25abb774674d837b343afb78bb3bcdef10f81a93e3d6bf"}, + {file = "grpcio-1.66.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0be4e0490c28da5377283861bed2941d1d20ec017ca397a5df4394d1c31a9b50"}, + {file = "grpcio-1.66.2-cp310-cp310-win32.whl", hash = "sha256:4e504572433f4e72b12394977679161d495c4c9581ba34a88d843eaf0f2fbd39"}, + {file = "grpcio-1.66.2-cp310-cp310-win_amd64.whl", hash = "sha256:2018b053aa15782db2541ca01a7edb56a0bf18c77efed975392583725974b249"}, + {file = "grpcio-1.66.2-cp311-cp311-linux_armv7l.whl", hash = "sha256:2335c58560a9e92ac58ff2bc5649952f9b37d0735608242973c7a8b94a6437d8"}, + {file = "grpcio-1.66.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45a3d462826f4868b442a6b8fdbe8b87b45eb4f5b5308168c156b21eca43f61c"}, + {file = "grpcio-1.66.2-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:a9539f01cb04950fd4b5ab458e64a15f84c2acc273670072abe49a3f29bbad54"}, + {file = "grpcio-1.66.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce89f5876662f146d4c1f695dda29d4433a5d01c8681fbd2539afff535da14d4"}, + {file = "grpcio-1.66.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25a14af966438cddf498b2e338f88d1c9706f3493b1d73b93f695c99c5f0e2a"}, + {file = "grpcio-1.66.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6001e575b8bbd89eee11960bb640b6da6ae110cf08113a075f1e2051cc596cae"}, + {file = "grpcio-1.66.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4ea1d062c9230278793820146c95d038dc0f468cbdd172eec3363e42ff1c7d01"}, + {file = "grpcio-1.66.2-cp311-cp311-win32.whl", hash = "sha256:38b68498ff579a3b1ee8f93a05eb48dc2595795f2f62716e797dc24774c1aaa8"}, + {file = "grpcio-1.66.2-cp311-cp311-win_amd64.whl", hash = "sha256:6851de821249340bdb100df5eacfecfc4e6075fa85c6df7ee0eb213170ec8e5d"}, + {file = "grpcio-1.66.2-cp312-cp312-linux_armv7l.whl", hash = "sha256:802d84fd3d50614170649853d121baaaa305de7b65b3e01759247e768d691ddf"}, + {file = "grpcio-1.66.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:80fd702ba7e432994df208f27514280b4b5c6843e12a48759c9255679ad38db8"}, + {file = "grpcio-1.66.2-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:12fda97ffae55e6526825daf25ad0fa37483685952b5d0f910d6405c87e3adb6"}, + {file = "grpcio-1.66.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:950da58d7d80abd0ea68757769c9db0a95b31163e53e5bb60438d263f4bed7b7"}, + {file = "grpcio-1.66.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e636ce23273683b00410f1971d209bf3689238cf5538d960adc3cdfe80dd0dbd"}, + {file = "grpcio-1.66.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a917d26e0fe980b0ac7bfcc1a3c4ad6a9a4612c911d33efb55ed7833c749b0ee"}, + {file = "grpcio-1.66.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49f0ca7ae850f59f828a723a9064cadbed90f1ece179d375966546499b8a2c9c"}, + {file = "grpcio-1.66.2-cp312-cp312-win32.whl", hash = "sha256:31fd163105464797a72d901a06472860845ac157389e10f12631025b3e4d0453"}, + {file = "grpcio-1.66.2-cp312-cp312-win_amd64.whl", hash = "sha256:ff1f7882e56c40b0d33c4922c15dfa30612f05fb785074a012f7cda74d1c3679"}, + {file = "grpcio-1.66.2-cp313-cp313-linux_armv7l.whl", hash = "sha256:3b00efc473b20d8bf83e0e1ae661b98951ca56111feb9b9611df8efc4fe5d55d"}, + {file = "grpcio-1.66.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1caa38fb22a8578ab8393da99d4b8641e3a80abc8fd52646f1ecc92bcb8dee34"}, + {file = "grpcio-1.66.2-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:c408f5ef75cfffa113cacd8b0c0e3611cbfd47701ca3cdc090594109b9fcbaed"}, + {file = "grpcio-1.66.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c806852deaedee9ce8280fe98955c9103f62912a5b2d5ee7e3eaa284a6d8d8e7"}, + {file = "grpcio-1.66.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f145cc21836c332c67baa6fc81099d1d27e266401565bf481948010d6ea32d46"}, + {file = "grpcio-1.66.2-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:73e3b425c1e155730273f73e419de3074aa5c5e936771ee0e4af0814631fb30a"}, + {file = "grpcio-1.66.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:9c509a4f78114cbc5f0740eb3d7a74985fd2eff022971bc9bc31f8bc93e66a3b"}, + {file = "grpcio-1.66.2-cp313-cp313-win32.whl", hash = "sha256:20657d6b8cfed7db5e11b62ff7dfe2e12064ea78e93f1434d61888834bc86d75"}, + {file = "grpcio-1.66.2-cp313-cp313-win_amd64.whl", hash = "sha256:fb70487c95786e345af5e854ffec8cb8cc781bcc5df7930c4fbb7feaa72e1cdf"}, + {file = "grpcio-1.66.2-cp38-cp38-linux_armv7l.whl", hash = "sha256:a18e20d8321c6400185b4263e27982488cb5cdd62da69147087a76a24ef4e7e3"}, + {file = "grpcio-1.66.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:02697eb4a5cbe5a9639f57323b4c37bcb3ab2d48cec5da3dc2f13334d72790dd"}, + {file = "grpcio-1.66.2-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:99a641995a6bc4287a6315989ee591ff58507aa1cbe4c2e70d88411c4dcc0839"}, + {file = "grpcio-1.66.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ed71e81782966ffead60268bbda31ea3f725ebf8aa73634d5dda44f2cf3fb9c"}, + {file = "grpcio-1.66.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbd27c24a4cc5e195a7f56cfd9312e366d5d61b86e36d46bbe538457ea6eb8dd"}, + {file = "grpcio-1.66.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d9a9724a156c8ec6a379869b23ba3323b7ea3600851c91489b871e375f710bc8"}, + {file = "grpcio-1.66.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d8d4732cc5052e92cea2f78b233c2e2a52998ac40cd651f40e398893ad0d06ec"}, + {file = "grpcio-1.66.2-cp38-cp38-win32.whl", hash = "sha256:7b2c86457145ce14c38e5bf6bdc19ef88e66c5fee2c3d83285c5aef026ba93b3"}, + {file = "grpcio-1.66.2-cp38-cp38-win_amd64.whl", hash = "sha256:e88264caad6d8d00e7913996030bac8ad5f26b7411495848cc218bd3a9040b6c"}, + {file = "grpcio-1.66.2-cp39-cp39-linux_armv7l.whl", hash = "sha256:c400ba5675b67025c8a9f48aa846f12a39cf0c44df5cd060e23fda5b30e9359d"}, + {file = "grpcio-1.66.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:66a0cd8ba6512b401d7ed46bb03f4ee455839957f28b8d61e7708056a806ba6a"}, + {file = "grpcio-1.66.2-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:06de8ec0bd71be123eec15b0e0d457474931c2c407869b6c349bd9bed4adbac3"}, + {file = "grpcio-1.66.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb57870449dfcfac428afbb5a877829fcb0d6db9d9baa1148705739e9083880e"}, + {file = "grpcio-1.66.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b672abf90a964bfde2d0ecbce30f2329a47498ba75ce6f4da35a2f4532b7acbc"}, + {file = "grpcio-1.66.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad2efdbe90c73b0434cbe64ed372e12414ad03c06262279b104a029d1889d13e"}, + {file = "grpcio-1.66.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9c3a99c519f4638e700e9e3f83952e27e2ea10873eecd7935823dab0c1c9250e"}, + {file = "grpcio-1.66.2-cp39-cp39-win32.whl", hash = "sha256:78fa51ebc2d9242c0fc5db0feecc57a9943303b46664ad89921f5079e2e4ada7"}, + {file = "grpcio-1.66.2-cp39-cp39-win_amd64.whl", hash = "sha256:728bdf36a186e7f51da73be7f8d09457a03061be848718d0edf000e709418987"}, + {file = "grpcio-1.66.2.tar.gz", hash = "sha256:563588c587b75c34b928bc428548e5b00ea38c46972181a4d8b75ba7e3f24231"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.66.2)"] + [[package]] name = "h11" version = "0.14.0" @@ -875,6 +1502,61 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] trio = ["trio (>=0.22.0,<0.26.0)"] +[[package]] +name = "httptools" +version = "0.6.2" +description = "A collection of framework independent HTTP protocol utils." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "httptools-0.6.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0238f07780782c018e9801d8f5f5aea3a4680a1af132034b444f677718c6fe88"}, + {file = "httptools-0.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:10d28e5597d4349390c640232c9366ddc15568114f56724fe30a53de9686b6ab"}, + {file = "httptools-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ddaf99e362ae4169f6a8b3508f3487264e0a1b1e58c0b07b86407bc9ecee831"}, + {file = "httptools-0.6.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc9d039b6b8a36b182bc60774bb5d456b8ff9ec44cf97719f2f38bb1dcdd546"}, + {file = "httptools-0.6.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b57cb8a4a8a8ffdaf0395326ef3b9c1aba36e58a421438fc04c002a1f511db63"}, + {file = "httptools-0.6.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b73cda1326738eab5d60640ca0b87ac4e4db09a099423c41b59a5681917e8d1d"}, + {file = "httptools-0.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:352a496244360deb1c1d108391d76cd6f3dd9f53ccf975a082e74c6761af30c9"}, + {file = "httptools-0.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2e9d225b178a6cc700c23cf2f5daf85a10f93f1db7c34e9ee4ee0bbc29ad458a"}, + {file = "httptools-0.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d49b14fcc9b12a52da8667587efa124a18e1a3eb63bbbcabf9882f4008d171d6"}, + {file = "httptools-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d5c33d98b2311ddbe06e92b12b14de334dcfbe64ebcbb2c7a34b5c6036db512"}, + {file = "httptools-0.6.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53cd2d776700bf0ed0e6fb203d716b041712ea4906479031cc5ac5421ecaa7d2"}, + {file = "httptools-0.6.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7da016a0dab1fcced89dfff8537033c5dc200015e14023368f3f4a69e39b8716"}, + {file = "httptools-0.6.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4d6e0ba155a1b3159551ac6b4551eb20028617e2e4bb71f2c61efed0756e6825"}, + {file = "httptools-0.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:ad44569b0f508e046ffe85b4a547d5b68d1548fd90767df69449cc28021ee709"}, + {file = "httptools-0.6.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c92d2b7c1a914ab2f66454961eeaf904f4fe7529b93ff537619d22c18b82d070"}, + {file = "httptools-0.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78f920a75c1dbcb5a48a495f384d73ceb41e437a966c318eb7e56f1c1ad1df3e"}, + {file = "httptools-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56bcd9ba0adf16edb4e3e45b8b9346f5b3b2372402e953d54c84b345d0f691e0"}, + {file = "httptools-0.6.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e350a887adb38ac65c93c2f395b60cf482baca61fd396ed8d6fd313dbcce6fac"}, + {file = "httptools-0.6.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ddc328c2a2daf2cf4bdc7bbc8a458dc4c840637223d4b8e01bce2168cc79fd23"}, + {file = "httptools-0.6.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ddaf38943dbb32333a182c894b6092a68b56c5e36d0c54ba3761d28119b15447"}, + {file = "httptools-0.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:052f7f50e4a38f069478143878371ed17937f268349bcd68f6f7a9de9fcfce21"}, + {file = "httptools-0.6.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:406f7dc5d9db68cd9ac638d14c74d077085f76b45f704d3ec38d43b842b3cb44"}, + {file = "httptools-0.6.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:77e22c33123ce11231ff2773d8905e20b45d77a69459def7481283b72a583955"}, + {file = "httptools-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41965586b02715c3d83dd9153001f654e5b621de0c5255f5ef0635485212d0c0"}, + {file = "httptools-0.6.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93b1839d54b80a06a51a31b90d024a1770e250d00de57e7ae069bafba932f398"}, + {file = "httptools-0.6.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8fdb4634040d1dbde7e0b373e19668cdb61c0ee8690d3b4064ac748d85365bca"}, + {file = "httptools-0.6.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c30902f9b9da0d74668b6f71d7b57081a4879d9a5ea93d5922dbe15b15b3b24a"}, + {file = "httptools-0.6.2-cp313-cp313-win_amd64.whl", hash = "sha256:cf61238811a75335751b4b17f8b221a35f93f2d57489296742adf98412d2a568"}, + {file = "httptools-0.6.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8d80878cb40ebf88a48839ff7206ceb62e4b54327e0c2f9f15ee12edbd8b907e"}, + {file = "httptools-0.6.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5141ccc9dbd8cdc59d1e93e318d405477a940dc6ebadcb8d9f8da17d2812d353"}, + {file = "httptools-0.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bb67d47f045f56e9a5da4deccf710bdde21212e4b1f4776b7a542449f6a7682"}, + {file = "httptools-0.6.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76dcb8f5c866f1537ccbaad01ebb3611890d281ef8d25e050d1cc3d90fba6b3d"}, + {file = "httptools-0.6.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1b7bc59362143dc2d02896dde94004ef54ff1989ceedf4b389ad3b530f312364"}, + {file = "httptools-0.6.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c7a5715b1f46e9852442f496c0df2f8c393cc8f293f5396d2c8d95cac852fb51"}, + {file = "httptools-0.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:3f0246ca7f78fa8e3902ddb985b9f55509d417a862f4634a8fa63a7a496266c8"}, + {file = "httptools-0.6.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1099f73952e18c718ccaaf7a97ae58c94a91839c3d247c6184326f85a2eda7b4"}, + {file = "httptools-0.6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3e45d004531330030f7d07abe4865bc17963b9989bc1941cebbf7224010fb82"}, + {file = "httptools-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f2fea370361a90cb9330610a95303587eda9d1e69930dbbee9978eac1d5946"}, + {file = "httptools-0.6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0481154c91725f7e7b729a535190388be6c7cbae3bbf0e793343ca386282312"}, + {file = "httptools-0.6.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d25f8fdbc6cc6561353c7a384d76295e6a85a4945115b8bc347855db150e8c77"}, + {file = "httptools-0.6.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:054bdee08e4f7c15c186f6e7dbc8f0cf974b8dd1832b5f17f988faf8b12815c9"}, + {file = "httptools-0.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:4502620722b453c2c6306fad392c515dcb804dfa9c6d3b90d8926a07a7a01109"}, + {file = "httptools-0.6.2.tar.gz", hash = "sha256:ae694efefcb61317c79b2fa1caebc122060992408e389bb00889567e463a47f1"}, +] + +[package.extras] +test = ["Cython (>=0.29.24)"] + [[package]] name = "httpx" version = "0.27.2" @@ -900,6 +1582,65 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] zstd = ["zstandard (>=0.18.0)"] +[[package]] +name = "httpx-sse" +version = "0.4.0" +description = "Consume Server-Sent Event (SSE) messages with HTTPX." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721"}, + {file = "httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f"}, +] + +[[package]] +name = "huggingface-hub" +version = "0.25.2" +description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "huggingface_hub-0.25.2-py3-none-any.whl", hash = "sha256:1897caf88ce7f97fe0110603d8f66ac264e3ba6accdf30cd66cc0fed5282ad25"}, + {file = "huggingface_hub-0.25.2.tar.gz", hash = "sha256:a1014ea111a5f40ccd23f7f7ba8ac46e20fa3b658ced1f86a00c75c06ec6423c"}, +] + +[package.dependencies] +filelock = "*" +fsspec = ">=2023.5.0" +packaging = ">=20.9" +pyyaml = ">=5.1" +requests = "*" +tqdm = ">=4.42.1" +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +cli = ["InquirerPy (==0.3.4)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] +hf-transfer = ["hf-transfer (>=0.1.4)"] +inference = ["aiohttp", "minijinja (>=1.0)"] +quality = ["mypy (==1.5.1)", "ruff (>=0.5.0)"] +tensorflow = ["graphviz", "pydot", "tensorflow"] +tensorflow-testing = ["keras (<3.0)", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +torch = ["safetensors[torch]", "torch"] +typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] + +[[package]] +name = "humanfriendly" +version = "10.0" +description = "Human friendly output for text interfaces using Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] + +[package.dependencies] +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} + [[package]] name = "idna" version = "3.10" @@ -927,25 +1668,43 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.5.0" +version = "8.4.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, + {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, ] [package.dependencies] -zipp = ">=3.20" +zipp = ">=0.5" + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "importlib-resources" +version = "6.4.5" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, + {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] type = ["pytest-mypy"] [[package]] @@ -1018,6 +1777,41 @@ qtconsole = ["qtconsole"] test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"] test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"] +[[package]] +name = "ipywidgets" +version = "8.1.5" +description = "Jupyter interactive widgets" +optional = false +python-versions = ">=3.7" +files = [ + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, +] + +[package.dependencies] +comm = ">=0.1.3" +ipython = ">=6.1.0" +jupyterlab-widgets = ">=3.0.12,<3.1.0" +traitlets = ">=4.3.1" +widgetsnbextension = ">=4.0.12,<4.1.0" + +[package.extras] +test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "isoduration" +version = "20.11.0" +description = "Operations with ISO 8601 durations" +optional = false +python-versions = ">=3.7" +files = [ + {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, + {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, +] + +[package.dependencies] +arrow = ">=0.15.0" + [[package]] name = "jedi" version = "0.19.1" @@ -1124,6 +1918,17 @@ files = [ {file = "jiter-0.5.0.tar.gz", hash = "sha256:1d916ba875bcab5c5f7d927df998c4cb694d27dceddf3392e58beaf10563368a"}, ] +[[package]] +name = "json5" +version = "0.9.25" +description = "A Python implementation of the JSON5 data format." +optional = false +python-versions = ">=3.8" +files = [ + {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"}, + {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"}, +] + [[package]] name = "jsonpatch" version = "1.33" @@ -1149,6 +1954,68 @@ files = [ {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, ] +[[package]] +name = "jsonschema" +version = "4.23.0" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} +rpds-py = ">=0.7.1" +uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +webcolors = {version = ">=24.6.0", optional = true, markers = "extra == \"format-nongpl\""} + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] + +[[package]] +name = "jsonschema-specifications" +version = "2024.10.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.9" +files = [ + {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, + {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, +] + +[package.dependencies] +referencing = ">=0.31.0" + +[[package]] +name = "jupyter" +version = "1.1.1" +description = "Jupyter metapackage. Install all the Jupyter components in one go." +optional = false +python-versions = "*" +files = [ + {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"}, + {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"}, +] + +[package.dependencies] +ipykernel = "*" +ipywidgets = "*" +jupyter-console = "*" +jupyterlab = "*" +nbconvert = "*" +notebook = "*" + [[package]] name = "jupyter-client" version = "8.6.3" @@ -1172,6 +2039,30 @@ traitlets = ">=5.3" docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] +[[package]] +name = "jupyter-console" +version = "6.6.3" +description = "Jupyter terminal console" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, + {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, +] + +[package.dependencies] +ipykernel = ">=6.14" +ipython = "*" +jupyter-client = ">=7.0.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +prompt-toolkit = ">=3.0.30" +pygments = "*" +pyzmq = ">=17" +traitlets = ">=5.4" + +[package.extras] +test = ["flaky", "pexpect", "pytest"] + [[package]] name = "jupyter-core" version = "5.7.2" @@ -1192,9 +2083,214 @@ traitlets = ">=5.3" docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] +[[package]] +name = "jupyter-events" +version = "0.10.0" +description = "Jupyter Event System library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, + {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, +] + +[package.dependencies] +jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} +python-json-logger = ">=2.0.4" +pyyaml = ">=5.3" +referencing = "*" +rfc3339-validator = "*" +rfc3986-validator = ">=0.1.1" +traitlets = ">=5.3" + +[package.extras] +cli = ["click", "rich"] +docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] +test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"] + +[[package]] +name = "jupyter-lsp" +version = "2.2.5" +description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, + {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +jupyter-server = ">=1.1.2" + +[[package]] +name = "jupyter-server" +version = "2.14.2" +description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, + {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, +] + +[package.dependencies] +anyio = ">=3.1.0" +argon2-cffi = ">=21.1" +jinja2 = ">=3.0.3" +jupyter-client = ">=7.4.4" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-events = ">=0.9.0" +jupyter-server-terminals = ">=0.4.4" +nbconvert = ">=6.4.4" +nbformat = ">=5.3.0" +overrides = ">=5.0" +packaging = ">=22.0" +prometheus-client = ">=0.9" +pywinpty = {version = ">=2.0.1", markers = "os_name == \"nt\""} +pyzmq = ">=24" +send2trash = ">=1.8.2" +terminado = ">=0.8.3" +tornado = ">=6.2.0" +traitlets = ">=5.6.0" +websocket-client = ">=1.7" + +[package.extras] +docs = ["ipykernel", "jinja2", "jupyter-client", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] +test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +description = "A Jupyter Server Extension Providing Terminals." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, + {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, +] + +[package.dependencies] +pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} +terminado = ">=0.8.3" + +[package.extras] +docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] +test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] + +[[package]] +name = "jupyterlab" +version = "4.2.5" +description = "JupyterLab computational environment" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab-4.2.5-py3-none-any.whl", hash = "sha256:73b6e0775d41a9fee7ee756c80f58a6bed4040869ccc21411dc559818874d321"}, + {file = "jupyterlab-4.2.5.tar.gz", hash = "sha256:ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75"}, +] + +[package.dependencies] +async-lru = ">=1.0.0" +httpx = ">=0.25.0" +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +ipykernel = ">=6.5.0" +jinja2 = ">=3.0.3" +jupyter-core = "*" +jupyter-lsp = ">=2.0.0" +jupyter-server = ">=2.4.0,<3" +jupyterlab-server = ">=2.27.1,<3" +notebook-shim = ">=0.2" +packaging = "*" +setuptools = ">=40.1.0" +tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} +tornado = ">=6.2.0" +traitlets = "*" + +[package.extras] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.3.5)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"] +docs-screenshots = ["altair (==5.3.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.2)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.1.post2)", "matplotlib (==3.8.3)", "nbconvert (>=7.0.0)", "pandas (==2.2.1)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] +test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] +upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +description = "Pygments theme using JupyterLab CSS variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +description = "A set of server components for JupyterLab and JupyterLab like applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, + {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, +] + +[package.dependencies] +babel = ">=2.10" +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +jinja2 = ">=3.0.3" +json5 = ">=0.9.0" +jsonschema = ">=4.18.0" +jupyter-server = ">=1.21,<3" +packaging = ">=21.3" +requests = ">=2.31" + +[package.extras] +docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] +openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0,<8)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.13" +description = "Jupyter interactive widgets for JupyterLab" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, +] + +[[package]] +name = "kubernetes" +version = "31.0.0" +description = "Kubernetes python client" +optional = false +python-versions = ">=3.6" +files = [ + {file = "kubernetes-31.0.0-py2.py3-none-any.whl", hash = "sha256:bf141e2d380c8520eada8b351f4e319ffee9636328c137aa432bc486ca1200e1"}, + {file = "kubernetes-31.0.0.tar.gz", hash = "sha256:28945de906c8c259c1ebe62703b56a03b714049372196f854105afe4e6d014c0"}, +] + +[package.dependencies] +certifi = ">=14.05.14" +durationpy = ">=0.7" +google-auth = ">=1.0.1" +oauthlib = ">=3.2.2" +python-dateutil = ">=2.5.3" +pyyaml = ">=5.4.1" +requests = "*" +requests-oauthlib = "*" +six = ">=1.9.0" +urllib3 = ">=1.24.2" +websocket-client = ">=0.32.0,<0.40.0 || >0.40.0,<0.41.dev0 || >=0.43.dev0" + +[package.extras] +adal = ["adal (>=1.0.2)"] + [[package]] name = "langchain" -version = "0.3.1" +version = "0.3.3" description = "Building applications with LLMs through composability" optional = false python-versions = ">=3.9,<4.0" @@ -1204,7 +2300,7 @@ develop = true [package.dependencies] aiohttp = "^3.8.3" async-timeout = {version = "^4.0.0", markers = "python_version < \"3.11\""} -langchain-core = "^0.3.6" +langchain-core = "^0.3.10" langchain-text-splitters = "^0.3.0" langsmith = "^0.1.17" numpy = [ @@ -1215,15 +2311,54 @@ pydantic = "^2.7.4" PyYAML = ">=5.3" requests = "^2" SQLAlchemy = ">=1.4,<3" -tenacity = "^8.1.0,!=8.4.0" +tenacity = ">=8.1.0,!=8.4.0,<10" [package.source] type = "directory" url = "libs/langchain" +[[package]] +name = "langchain-anthropic" +version = "0.2.3" +description = "An integration package connecting AnthropicMessages and LangChain" +optional = false +python-versions = ">=3.9,<4.0" +files = [] +develop = true + +[package.dependencies] +anthropic = ">=0.30.0,<1" +langchain-core = "^0.3.9" +pydantic = "^2.7.4" + +[package.source] +type = "directory" +url = "libs/partners/anthropic" + +[[package]] +name = "langchain-chroma" +version = "0.1.5" +description = "An integration package connecting Chroma and LangChain" +optional = false +python-versions = ">=3.8.1,<4" +files = [] +develop = true + +[package.dependencies] +chromadb = ">=0.4.0,<0.6.0,!=0.5.4,!=0.5.5,!=0.5.7,!=0.5.9,!=0.5.10,!=0.5.11,!=0.5.12" +langchain-core = {version = ">=0.1.40,<0.4", markers = "python_version >= \"3.9\""} +numpy = [ + {version = ">=1,<2", markers = "python_version < \"3.12\""}, + {version = ">=1.26.0,<2.0.0", markers = "python_version >= \"3.12\""}, +] + +[package.source] +type = "directory" +url = "libs/partners/chroma" + [[package]] name = "langchain-community" -version = "0.3.1" +version = "0.3.2" description = "Community contributed LangChain integrations." optional = false python-versions = ">=3.9,<4.0" @@ -1233,8 +2368,8 @@ develop = true [package.dependencies] aiohttp = "^3.8.3" dataclasses-json = ">= 0.5.7, < 0.7" -langchain = "^0.3.1" -langchain-core = "^0.3.6" +langchain = "^0.3.3" +langchain-core = "^0.3.10" langsmith = "^0.1.125" numpy = [ {version = ">=1,<2", markers = "python_version < \"3.12\""}, @@ -1244,7 +2379,7 @@ pydantic-settings = "^2.4.0" PyYAML = ">=5.3" requests = "^2" SQLAlchemy = ">=1.4,<3" -tenacity = "^8.1.0,!=8.4.0" +tenacity = ">=8.1.0,!=8.4.0,<10" [package.source] type = "directory" @@ -1252,7 +2387,7 @@ url = "libs/community" [[package]] name = "langchain-core" -version = "0.3.6" +version = "0.3.10" description = "Building applications with LLMs through composability" optional = false python-versions = ">=3.9,<4.0" @@ -1268,16 +2403,56 @@ pydantic = [ {version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""}, ] PyYAML = ">=5.3" -tenacity = "^8.1.0,!=8.4.0" +tenacity = ">=8.1.0,!=8.4.0,<10.0.0" typing-extensions = ">=4.7" [package.source] type = "directory" url = "libs/core" +[[package]] +name = "langchain-experimental" +version = "0.3.2" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.9,<4.0" +files = [] +develop = false + +[package.dependencies] +langchain-community = "^0.3.0" +langchain-core = "^0.3.6" + +[package.source] +type = "git" +url = "https://github.com/langchain-ai/langchain-experimental.git" +reference = "HEAD" +resolved_reference = "6fdfdbe2d66325a2e81555890715e69946e7e26b" +subdirectory = "libs/experimental" + +[[package]] +name = "langchain-mistralai" +version = "0.2.0" +description = "An integration package connecting Mistral and LangChain" +optional = false +python-versions = ">=3.9,<4.0" +files = [] +develop = true + +[package.dependencies] +httpx = ">=0.25.2,<1" +httpx-sse = ">=0.3.1,<1" +langchain-core = "^0.3.0" +pydantic = ">=2,<3" +tokenizers = ">=0.15.1,<1" + +[package.source] +type = "directory" +url = "libs/partners/mistralai" + [[package]] name = "langchain-openai" -version = "0.2.1" +version = "0.2.2" description = "An integration package connecting OpenAI and LangChain" optional = false python-versions = ">=3.9,<4.0" @@ -1285,7 +2460,7 @@ files = [] develop = true [package.dependencies] -langchain-core = "^0.3" +langchain-core = "^0.3.9" openai = "^1.40.0" tiktoken = ">=0.7,<1" @@ -1309,6 +2484,58 @@ langchain-core = "^0.3.0" type = "directory" url = "libs/text-splitters" +[[package]] +name = "langgraph" +version = "0.2.36" +description = "Building stateful, multi-actor applications with LLMs" +optional = false +python-versions = ">=3.9.0,<4.0" +files = [] +develop = false + +[package.dependencies] +langchain-core = ">=0.2.39,<0.4" +langgraph-checkpoint = "^2.0.0" +langgraph-sdk = "^0.1.32" + +[package.source] +type = "git" +url = "https://github.com/langchain-ai/langgraph.git" +reference = "HEAD" +resolved_reference = "f2dc537696fcf9b86fb7723a7939d6e891e64136" +subdirectory = "libs/langgraph" + +[[package]] +name = "langgraph-checkpoint" +version = "2.0.1" +description = "Library with base interfaces for LangGraph checkpoint savers." +optional = false +python-versions = "<4.0.0,>=3.9.0" +files = [ + {file = "langgraph_checkpoint-2.0.1-py3-none-any.whl", hash = "sha256:760edb722f6c64f2a39f41c7fbd56aaee47524f3399cf7c4bb8f5563b590ee68"}, + {file = "langgraph_checkpoint-2.0.1.tar.gz", hash = "sha256:31c34952b11a93108d76e5ad05398bfc94d8aafda5b4da7d17c26a121acce8e0"}, +] + +[package.dependencies] +langchain-core = ">=0.2.38,<0.4" +msgpack = ">=1.1.0,<2.0.0" + +[[package]] +name = "langgraph-sdk" +version = "0.1.33" +description = "SDK for interacting with LangGraph API" +optional = false +python-versions = "<4.0.0,>=3.9.0" +files = [ + {file = "langgraph_sdk-0.1.33-py3-none-any.whl", hash = "sha256:fe2311ebfe231219a7ad06c3dad4860a9e2917e780aaa2f228d1a9f5653da686"}, + {file = "langgraph_sdk-0.1.33.tar.gz", hash = "sha256:addffc33554b690e81525c12fe9b2656cc7b740678e4724bc706d1ca13b3de93"}, +] + +[package.dependencies] +httpx = ">=0.25.2" +httpx-sse = ">=0.4.0" +orjson = ">=3.10.1" + [[package]] name = "langsmith" version = "0.1.128" @@ -1329,6 +2556,30 @@ pydantic = [ ] requests = ">=2,<3" +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" version = "2.1.5" @@ -1431,6 +2682,242 @@ files = [ [package.dependencies] traitlets = "*" +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "mistune" +version = "3.0.2" +description = "A sane and fast Markdown parser with useful plugins and renderers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, +] + +[[package]] +name = "mmh3" +version = "5.0.1" +description = "Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions." +optional = false +python-versions = ">=3.8" +files = [ + {file = "mmh3-5.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f0a4b4bf05778ed77d820d6e7d0e9bd6beb0c01af10e1ce9233f5d2f814fcafa"}, + {file = "mmh3-5.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac7a391039aeab95810c2d020b69a94eb6b4b37d4e2374831e92db3a0cdf71c6"}, + {file = "mmh3-5.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3a2583b5521ca49756d8d8bceba80627a9cc295f255dcab4e3df7ccc2f09679a"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:081a8423fe53c1ac94f87165f3e4c500125d343410c1a0c5f1703e898a3ef038"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8b4d72713799755dc8954a7d36d5c20a6c8de7b233c82404d122c7c7c1707cc"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:389a6fd51efc76d3182d36ec306448559c1244f11227d2bb771bdd0e6cc91321"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39f4128edaa074bff721b1d31a72508cba4d2887ee7867f22082e1fe9d4edea0"}, + {file = "mmh3-5.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d5d23a94d91aabba3386b3769048d5f4210fdfef80393fece2f34ba5a7b466c"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:16347d038361f8b8f24fd2b7ef378c9b68ddee9f7706e46269b6e0d322814713"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6e299408565af7d61f2d20a5ffdd77cf2ed902460fe4e6726839d59ba4b72316"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42050af21ddfc5445ee5a66e73a8fc758c71790305e3ee9e4a85a8e69e810f94"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2ae9b1f5ef27ec54659920f0404b7ceb39966e28867c461bfe83a05e8d18ddb0"}, + {file = "mmh3-5.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:50c2495a02045f3047d71d4ae9cdd7a15efc0bcbb7ff17a18346834a8e2d1d19"}, + {file = "mmh3-5.0.1-cp310-cp310-win32.whl", hash = "sha256:c028fa77cddf351ca13b4a56d43c1775652cde0764cadb39120b68f02a23ecf6"}, + {file = "mmh3-5.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:c5e741e421ec14400c4aae30890515c201f518403bdef29ae1e00d375bb4bbb5"}, + {file = "mmh3-5.0.1-cp310-cp310-win_arm64.whl", hash = "sha256:b17156d56fabc73dbf41bca677ceb6faed435cc8544f6566d72ea77d8a17e9d0"}, + {file = "mmh3-5.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a6d5a9b1b923f1643559ba1fc0bf7a5076c90cbb558878d3bf3641ce458f25d"}, + {file = "mmh3-5.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3349b968be555f7334bbcce839da98f50e1e80b1c615d8e2aa847ea4a964a012"}, + {file = "mmh3-5.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1bd3c94b110e55db02ab9b605029f48a2f7f677c6e58c09d44e42402d438b7e1"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47ba84d48608f79adbb10bb09986b6dc33eeda5c2d1bd75d00820081b73bde9"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c0217987a8b8525c8d9170f66d036dec4ab45cfbd53d47e8d76125791ceb155e"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2797063a34e78d1b61639a98b0edec1c856fa86ab80c7ec859f1796d10ba429"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8bba16340adcbd47853a2fbe5afdb397549e8f2e79324ff1dced69a3f8afe7c3"}, + {file = "mmh3-5.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:282797957c9f60b51b9d768a602c25f579420cc9af46feb77d457a27823d270a"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e4fb670c29e63f954f9e7a2cdcd57b36a854c2538f579ef62681ccbaa1de2b69"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ee7d85438dc6aff328e19ab052086a3c29e8a9b632998a49e5c4b0034e9e8d6"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b7fb5db231f3092444bc13901e6a8d299667126b00636ffbad4a7b45e1051e2f"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c100dd441703da5ec136b1d9003ed4a041d8a1136234c9acd887499796df6ad8"}, + {file = "mmh3-5.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71f3b765138260fd7a7a2dba0ea5727dabcd18c1f80323c9cfef97a7e86e01d0"}, + {file = "mmh3-5.0.1-cp311-cp311-win32.whl", hash = "sha256:9a76518336247fd17689ce3ae5b16883fd86a490947d46a0193d47fb913e26e3"}, + {file = "mmh3-5.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:336bc4df2e44271f1c302d289cc3d78bd52d3eed8d306c7e4bff8361a12bf148"}, + {file = "mmh3-5.0.1-cp311-cp311-win_arm64.whl", hash = "sha256:af6522722fbbc5999aa66f7244d0986767a46f1fb05accc5200f75b72428a508"}, + {file = "mmh3-5.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f2730bb263ed9c388e8860438b057a53e3cc701134a6ea140f90443c4c11aa40"}, + {file = "mmh3-5.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6246927bc293f6d56724536400b85fb85f5be26101fa77d5f97dd5e2a4c69bf2"}, + {file = "mmh3-5.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fbca322519a6e6e25b6abf43e940e1667cf8ea12510e07fb4919b48a0cd1c411"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eae8c19903ed8a1724ad9e67e86f15d198a7a1271a4f9be83d47e38f312ed672"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a09fd6cc72c07c0c07c3357714234b646d78052487c4a3bd5f7f6e08408cff60"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ff8551fee7ae3b11c5d986b6347ade0dccaadd4670ffdb2b944dee120ffcc84"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e39694c73a5a20c8bf36dfd8676ed351e5234d55751ba4f7562d85449b21ef3f"}, + {file = "mmh3-5.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eba6001989a92f72a89c7cf382fda831678bd780707a66b4f8ca90239fdf2123"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0771f90c9911811cc606a5c7b7b58f33501c9ee896ed68a6ac22c7d55878ecc0"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:09b31ed0c0c0920363e96641fac4efde65b1ab62b8df86293142f35a254e72b4"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5cf4a8deda0235312db12075331cb417c4ba163770edfe789bde71d08a24b692"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:41f7090a95185ef20ac018581a99337f0cbc84a2135171ee3290a9c0d9519585"}, + {file = "mmh3-5.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b97b5b368fb7ff22194ec5854f5b12d8de9ab67a0f304728c7f16e5d12135b76"}, + {file = "mmh3-5.0.1-cp312-cp312-win32.whl", hash = "sha256:842516acf04da546f94fad52db125ee619ccbdcada179da51c326a22c4578cb9"}, + {file = "mmh3-5.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:d963be0dbfd9fca209c17172f6110787ebf78934af25e3694fe2ba40e55c1e2b"}, + {file = "mmh3-5.0.1-cp312-cp312-win_arm64.whl", hash = "sha256:a5da292ceeed8ce8e32b68847261a462d30fd7b478c3f55daae841404f433c15"}, + {file = "mmh3-5.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:673e3f1c8d4231d6fb0271484ee34cb7146a6499fc0df80788adb56fd76842da"}, + {file = "mmh3-5.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f795a306bd16a52ad578b663462cc8e95500b3925d64118ae63453485d67282b"}, + {file = "mmh3-5.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5ed57a5e28e502a1d60436cc25c76c3a5ba57545f250f2969af231dc1221e0a5"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:632c28e7612e909dbb6cbe2fe496201ada4695b7715584005689c5dc038e59ad"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53fd6bd525a5985e391c43384672d9d6b317fcb36726447347c7fc75bfed34ec"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dceacf6b0b961a0e499836af3aa62d60633265607aef551b2a3e3c48cdaa5edd"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f0738d478fdfb5d920f6aff5452c78f2c35b0eff72caa2a97dfe38e82f93da2"}, + {file = "mmh3-5.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e70285e7391ab88b872e5bef632bad16b9d99a6d3ca0590656a4753d55988af"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:27e5fc6360aa6b828546a4318da1a7da6bf6e5474ccb053c3a6aa8ef19ff97bd"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7989530c3c1e2c17bf5a0ec2bba09fd19819078ba90beedabb1c3885f5040b0d"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:cdad7bee649950da7ecd3cbbbd12fb81f1161072ecbdb5acfa0018338c5cb9cf"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e143b8f184c1bb58cecd85ab4a4fd6dc65a2d71aee74157392c3fddac2a4a331"}, + {file = "mmh3-5.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5eb12e886f3646dd636f16b76eb23fc0c27e8ff3c1ae73d4391e50ef60b40f6"}, + {file = "mmh3-5.0.1-cp313-cp313-win32.whl", hash = "sha256:16e6dddfa98e1c2d021268e72c78951234186deb4df6630e984ac82df63d0a5d"}, + {file = "mmh3-5.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:d3ffb792d70b8c4a2382af3598dad6ae0c5bd9cee5b7ffcc99aa2f5fd2c1bf70"}, + {file = "mmh3-5.0.1-cp313-cp313-win_arm64.whl", hash = "sha256:122fa9ec148383f9124292962bda745f192b47bfd470b2af5fe7bb3982b17896"}, + {file = "mmh3-5.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b12bad8c75e6ff5d67319794fb6a5e8c713826c818d47f850ad08b4aa06960c6"}, + {file = "mmh3-5.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e5bbb066538c1048d542246fc347bb7994bdda29a3aea61c22f9f8b57111ce69"}, + {file = "mmh3-5.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eee6134273f64e2a106827cc8fd77e70cc7239a285006fc6ab4977d59b015af2"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d04d9aa19d48e4c7bbec9cabc2c4dccc6ff3b2402f856d5bf0de03e10f167b5b"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79f37da1eed034d06567a69a7988456345c7f29e49192831c3975b464493b16e"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:242f77666743337aa828a2bf2da71b6ba79623ee7f93edb11e009f69237c8561"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffd943fff690463945f6441a2465555b3146deaadf6a5e88f2590d14c655d71b"}, + {file = "mmh3-5.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:565b15f8d7df43acb791ff5a360795c20bfa68bca8b352509e0fbabd06cc48cd"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc6aafb867c2030df98ac7760ff76b500359252867985f357bd387739f3d5287"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:32898170644d45aa27c974ab0d067809c066205110f5c6d09f47d9ece6978bfe"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:42865567838d2193eb64e0ef571f678bf361a254fcdef0c5c8e73243217829bd"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5ff5c1f301c4a8b6916498969c0fcc7e3dbc56b4bfce5cfe3fe31f3f4609e5ae"}, + {file = "mmh3-5.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:be74c2dda8a6f44a504450aa2c3507f8067a159201586fc01dd41ab80efc350f"}, + {file = "mmh3-5.0.1-cp38-cp38-win32.whl", hash = "sha256:5610a842621ff76c04b20b29cf5f809b131f241a19d4937971ba77dc99a7f330"}, + {file = "mmh3-5.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:de15739ac50776fe8aa1ef13f1be46a6ee1fbd45f6d0651084097eb2be0a5aa4"}, + {file = "mmh3-5.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e84cf3cc7e8c41bc07de72299a73b92d9e3cde51d97851420055b1484995f7"}, + {file = "mmh3-5.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd9dc28c2d168c49928195c2e29b96f9582a5d07bd690a28aede4cc07b0e696"}, + {file = "mmh3-5.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2771a1c56a3d4bdad990309cff5d0a8051f29c8ec752d001f97d6392194ae880"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5ff2a8322ba40951a84411550352fba1073ce1c1d1213bb7530f09aed7f8caf"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a16bd3ec90682c9e0a343e6bd4c778c09947c8c5395cdb9e5d9b82b2559efbca"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d45733a78d68b5b05ff4a823aea51fa664df1d3bf4929b152ff4fd6dea2dd69b"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:904285e83cedebc8873b0838ed54c20f7344120be26e2ca5a907ab007a18a7a0"}, + {file = "mmh3-5.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac4aeb1784e43df728034d0ed72e4b2648db1a69fef48fa58e810e13230ae5ff"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cb3d4f751a0b8b4c8d06ef1c085216c8fddcc8b8c8d72445976b5167a40c6d1e"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:8021851935600e60c42122ed1176399d7692df338d606195cd599d228a04c1c6"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:6182d5924a5efc451900f864cbb021d7e8ad5d524816ca17304a0f663bc09bb5"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:5f30b834552a4f79c92e3d266336fb87fd92ce1d36dc6813d3e151035890abbd"}, + {file = "mmh3-5.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cd4383f35e915e06d077df27e04ffd3be7513ec6a9de2d31f430393f67e192a7"}, + {file = "mmh3-5.0.1-cp39-cp39-win32.whl", hash = "sha256:1455fb6b42665a97db8fc66e89a861e52b567bce27ed054c47877183f86ea6e3"}, + {file = "mmh3-5.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:9e26a0f4eb9855a143f5938a53592fa14c2d3b25801c2106886ab6c173982780"}, + {file = "mmh3-5.0.1-cp39-cp39-win_arm64.whl", hash = "sha256:0d0a35a69abdad7549c4030a714bb4ad07902edb3bbe61e1bbc403ded5d678be"}, + {file = "mmh3-5.0.1.tar.gz", hash = "sha256:7dab080061aeb31a6069a181f27c473a1f67933854e36a3464931f2716508896"}, +] + +[package.extras] +benchmark = ["pymmh3 (==0.0.5)", "pyperf (==2.7.0)", "xxhash (==3.5.0)"] +docs = ["myst-parser (==4.0.0)", "shibuya (==2024.8.30)", "sphinx (==8.0.2)", "sphinx-copybutton (==0.5.2)"] +lint = ["black (==24.8.0)", "clang-format (==18.1.8)", "isort (==5.13.2)", "pylint (==3.2.7)"] +plot = ["matplotlib (==3.9.2)", "pandas (==2.2.2)"] +test = ["pytest (==8.3.3)", "pytest-sugar (==1.0.0)"] +type = ["mypy (==1.11.2)"] + +[[package]] +name = "monotonic" +version = "1.6" +description = "An implementation of time.monotonic() for Python 2 & < 3.3" +optional = false +python-versions = "*" +files = [ + {file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, + {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = false +python-versions = "*" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] + +[[package]] +name = "msgpack" +version = "1.1.0" +description = "MessagePack serializer" +optional = false +python-versions = ">=3.8" +files = [ + {file = "msgpack-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b"}, + {file = "msgpack-1.1.0-cp310-cp310-win32.whl", hash = "sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044"}, + {file = "msgpack-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5"}, + {file = "msgpack-1.1.0-cp311-cp311-win32.whl", hash = "sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88"}, + {file = "msgpack-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b"}, + {file = "msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b"}, + {file = "msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c"}, + {file = "msgpack-1.1.0-cp313-cp313-win32.whl", hash = "sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc"}, + {file = "msgpack-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c40ffa9a15d74e05ba1fe2681ea33b9caffd886675412612d93ab17b58ea2fec"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1ba6136e650898082d9d5a5217d5906d1e138024f836ff48691784bbe1adf96"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0856a2b7e8dcb874be44fea031d22e5b3a19121be92a1e098f46068a11b0870"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:471e27a5787a2e3f974ba023f9e265a8c7cfd373632247deb225617e3100a3c7"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:646afc8102935a388ffc3914b336d22d1c2d6209c773f3eb5dd4d6d3b6f8c1cb"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:13599f8829cfbe0158f6456374e9eea9f44eee08076291771d8ae93eda56607f"}, + {file = "msgpack-1.1.0-cp38-cp38-win32.whl", hash = "sha256:8a84efb768fb968381e525eeeb3d92857e4985aacc39f3c47ffd00eb4509315b"}, + {file = "msgpack-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:879a7b7b0ad82481c52d3c7eb99bf6f0645dbdec5134a4bddbd16f3506947feb"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:53258eeb7a80fc46f62fd59c876957a2d0e15e6449a9e71842b6d24419d88ca1"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e7b853bbc44fb03fbdba34feb4bd414322180135e2cb5164f20ce1c9795ee48"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3e9b4936df53b970513eac1758f3882c88658a220b58dcc1e39606dccaaf01c"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46c34e99110762a76e3911fc923222472c9d681f1094096ac4102c18319e6468"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a706d1e74dd3dea05cb54580d9bd8b2880e9264856ce5068027eed09680aa74"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:534480ee5690ab3cbed89d4c8971a5c631b69a8c0883ecfea96c19118510c846"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8cf9e8c3a2153934a23ac160cc4cba0ec035f6867c8013cc6077a79823370346"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3180065ec2abbe13a4ad37688b61b99d7f9e012a535b930e0e683ad6bc30155b"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5a91481a3cc573ac8c0d9aace09345d989dc4a0202b7fcb312c88c26d4e71a8"}, + {file = "msgpack-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f80bc7d47f76089633763f952e67f8214cb7b3ee6bfa489b3cb6a84cfac114cd"}, + {file = "msgpack-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:4d1b7ff2d6146e16e8bd665ac726a89c74163ef8cd39fa8c1087d4e52d3a2325"}, + {file = "msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e"}, +] + [[package]] name = "multidict" version = "6.1.0" @@ -1546,6 +3033,87 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "nbclient" +version = "0.10.0" +description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, + {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, +] + +[package.dependencies] +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +nbformat = ">=5.1" +traitlets = ">=5.4" + +[package.extras] +dev = ["pre-commit"] +docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] +test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] + +[[package]] +name = "nbconvert" +version = "7.16.4" +description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, + {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, +] + +[package.dependencies] +beautifulsoup4 = "*" +bleach = "!=5.0.0" +defusedxml = "*" +importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} +jinja2 = ">=3.0" +jupyter-core = ">=4.7" +jupyterlab-pygments = "*" +markupsafe = ">=2.0" +mistune = ">=2.0.3,<4" +nbclient = ">=0.5.0" +nbformat = ">=5.7" +packaging = "*" +pandocfilters = ">=1.4.1" +pygments = ">=2.4.1" +tinycss2 = "*" +traitlets = ">=5.1" + +[package.extras] +all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"] +docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] +qtpdf = ["pyqtwebengine (>=5.15)"] +qtpng = ["pyqtwebengine (>=5.15)"] +serve = ["tornado (>=6.1)"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] +webpdf = ["playwright"] + +[[package]] +name = "nbformat" +version = "5.10.4" +description = "The Jupyter Notebook format" +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, + {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, +] + +[package.dependencies] +fastjsonschema = ">=2.15" +jsonschema = ">=2.6" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +traitlets = ">=5.1" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["pep440", "pre-commit", "pytest", "testpath"] + [[package]] name = "nest-asyncio" version = "1.6.0" @@ -1557,6 +3125,46 @@ files = [ {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, ] +[[package]] +name = "notebook" +version = "7.2.2" +description = "Jupyter Notebook - A web-based notebook environment for interactive computing" +optional = false +python-versions = ">=3.8" +files = [ + {file = "notebook-7.2.2-py3-none-any.whl", hash = "sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c"}, + {file = "notebook-7.2.2.tar.gz", hash = "sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e"}, +] + +[package.dependencies] +jupyter-server = ">=2.4.0,<3" +jupyterlab = ">=4.2.0,<4.3" +jupyterlab-server = ">=2.27.1,<3" +notebook-shim = ">=0.2,<0.3" +tornado = ">=6.2.0" + +[package.extras] +dev = ["hatch", "pre-commit"] +docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +description = "A shim layer for notebook traits and config" +optional = false +python-versions = ">=3.7" +files = [ + {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, + {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, +] + +[package.dependencies] +jupyter-server = ">=1.8,<3" + +[package.extras] +test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] + [[package]] name = "numpy" version = "1.26.4" @@ -1602,6 +3210,64 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "onnxruntime" +version = "1.19.2" +description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +optional = false +python-versions = "*" +files = [ + {file = "onnxruntime-1.19.2-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:84fa57369c06cadd3c2a538ae2a26d76d583e7c34bdecd5769d71ca5c0fc750e"}, + {file = "onnxruntime-1.19.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdc471a66df0c1cdef774accef69e9f2ca168c851ab5e4f2f3341512c7ef4666"}, + {file = "onnxruntime-1.19.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e3a4ce906105d99ebbe817f536d50a91ed8a4d1592553f49b3c23c4be2560ae6"}, + {file = "onnxruntime-1.19.2-cp310-cp310-win32.whl", hash = "sha256:4b3d723cc154c8ddeb9f6d0a8c0d6243774c6b5930847cc83170bfe4678fafb3"}, + {file = "onnxruntime-1.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:17ed7382d2c58d4b7354fb2b301ff30b9bf308a1c7eac9546449cd122d21cae5"}, + {file = "onnxruntime-1.19.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:d863e8acdc7232d705d49e41087e10b274c42f09e259016a46f32c34e06dc4fd"}, + {file = "onnxruntime-1.19.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c1dfe4f660a71b31caa81fc298a25f9612815215a47b286236e61d540350d7b6"}, + {file = "onnxruntime-1.19.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a36511dc07c5c964b916697e42e366fa43c48cdb3d3503578d78cef30417cb84"}, + {file = "onnxruntime-1.19.2-cp311-cp311-win32.whl", hash = "sha256:50cbb8dc69d6befad4746a69760e5b00cc3ff0a59c6c3fb27f8afa20e2cab7e7"}, + {file = "onnxruntime-1.19.2-cp311-cp311-win_amd64.whl", hash = "sha256:1c3e5d415b78337fa0b1b75291e9ea9fb2a4c1f148eb5811e7212fed02cfffa8"}, + {file = "onnxruntime-1.19.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:68e7051bef9cfefcbb858d2d2646536829894d72a4130c24019219442b1dd2ed"}, + {file = "onnxruntime-1.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d2d366fbcc205ce68a8a3bde2185fd15c604d9645888703785b61ef174265168"}, + {file = "onnxruntime-1.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:477b93df4db467e9cbf34051662a4b27c18e131fa1836e05974eae0d6e4cf29b"}, + {file = "onnxruntime-1.19.2-cp312-cp312-win32.whl", hash = "sha256:9a174073dc5608fad05f7cf7f320b52e8035e73d80b0a23c80f840e5a97c0147"}, + {file = "onnxruntime-1.19.2-cp312-cp312-win_amd64.whl", hash = "sha256:190103273ea4507638ffc31d66a980594b237874b65379e273125150eb044857"}, + {file = "onnxruntime-1.19.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:636bc1d4cc051d40bc52e1f9da87fbb9c57d9d47164695dfb1c41646ea51ea66"}, + {file = "onnxruntime-1.19.2-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5bd8b875757ea941cbcfe01582970cc299893d1b65bd56731e326a8333f638a3"}, + {file = "onnxruntime-1.19.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2046fc9560f97947bbc1acbe4c6d48585ef0f12742744307d3364b131ac5778"}, + {file = "onnxruntime-1.19.2-cp38-cp38-win32.whl", hash = "sha256:31c12840b1cde4ac1f7d27d540c44e13e34f2345cf3642762d2a3333621abb6a"}, + {file = "onnxruntime-1.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:016229660adea180e9a32ce218b95f8f84860a200f0f13b50070d7d90e92956c"}, + {file = "onnxruntime-1.19.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:006c8d326835c017a9e9f74c9c77ebb570a71174a1e89fe078b29a557d9c3848"}, + {file = "onnxruntime-1.19.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df2a94179a42d530b936f154615b54748239c2908ee44f0d722cb4df10670f68"}, + {file = "onnxruntime-1.19.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fae4b4de45894b9ce7ae418c5484cbf0341db6813effec01bb2216091c52f7fb"}, + {file = "onnxruntime-1.19.2-cp39-cp39-win32.whl", hash = "sha256:dc5430f473e8706fff837ae01323be9dcfddd3ea471c900a91fa7c9b807ec5d3"}, + {file = "onnxruntime-1.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:38475e29a95c5f6c62c2c603d69fc7d4c6ccbf4df602bd567b86ae1138881c49"}, +] + +[package.dependencies] +coloredlogs = "*" +flatbuffers = "*" +numpy = ">=1.21.6" +packaging = "*" +protobuf = "*" +sympy = "*" + [[package]] name = "openai" version = "1.48.0" @@ -1626,6 +3292,169 @@ typing-extensions = ">=4.11,<5" [package.extras] datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] +[[package]] +name = "opentelemetry-api" +version = "1.27.0" +description = "OpenTelemetry Python API" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_api-1.27.0-py3-none-any.whl", hash = "sha256:953d5871815e7c30c81b56d910c707588000fff7a3ca1c73e6531911d53065e7"}, + {file = "opentelemetry_api-1.27.0.tar.gz", hash = "sha256:ed673583eaa5f81b5ce5e86ef7cdaf622f88ef65f0b9aab40b843dcae5bef342"}, +] + +[package.dependencies] +deprecated = ">=1.2.6" +importlib-metadata = ">=6.0,<=8.4.0" + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.27.0" +description = "OpenTelemetry Protobuf encoding" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_exporter_otlp_proto_common-1.27.0-py3-none-any.whl", hash = "sha256:675db7fffcb60946f3a5c43e17d1168a3307a94a930ecf8d2ea1f286f3d4f79a"}, + {file = "opentelemetry_exporter_otlp_proto_common-1.27.0.tar.gz", hash = "sha256:159d27cf49f359e3798c4c3eb8da6ef4020e292571bd8c5604a2a573231dd5c8"}, +] + +[package.dependencies] +opentelemetry-proto = "1.27.0" + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.27.0" +description = "OpenTelemetry Collector Protobuf over gRPC Exporter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_exporter_otlp_proto_grpc-1.27.0-py3-none-any.whl", hash = "sha256:56b5bbd5d61aab05e300d9d62a6b3c134827bbd28d0b12f2649c2da368006c9e"}, + {file = "opentelemetry_exporter_otlp_proto_grpc-1.27.0.tar.gz", hash = "sha256:af6f72f76bcf425dfb5ad11c1a6d6eca2863b91e63575f89bb7b4b55099d968f"}, +] + +[package.dependencies] +deprecated = ">=1.2.6" +googleapis-common-protos = ">=1.52,<2.0" +grpcio = ">=1.0.0,<2.0.0" +opentelemetry-api = ">=1.15,<2.0" +opentelemetry-exporter-otlp-proto-common = "1.27.0" +opentelemetry-proto = "1.27.0" +opentelemetry-sdk = ">=1.27.0,<1.28.0" + +[[package]] +name = "opentelemetry-instrumentation" +version = "0.48b0" +description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_instrumentation-0.48b0-py3-none-any.whl", hash = "sha256:a69750dc4ba6a5c3eb67986a337185a25b739966d80479befe37b546fc870b44"}, + {file = "opentelemetry_instrumentation-0.48b0.tar.gz", hash = "sha256:94929685d906380743a71c3970f76b5f07476eea1834abd5dd9d17abfe23cc35"}, +] + +[package.dependencies] +opentelemetry-api = ">=1.4,<2.0" +setuptools = ">=16.0" +wrapt = ">=1.0.0,<2.0.0" + +[[package]] +name = "opentelemetry-instrumentation-asgi" +version = "0.48b0" +description = "ASGI instrumentation for OpenTelemetry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_instrumentation_asgi-0.48b0-py3-none-any.whl", hash = "sha256:ddb1b5fc800ae66e85a4e2eca4d9ecd66367a8c7b556169d9e7b57e10676e44d"}, + {file = "opentelemetry_instrumentation_asgi-0.48b0.tar.gz", hash = "sha256:04c32174b23c7fa72ddfe192dad874954968a6a924608079af9952964ecdf785"}, +] + +[package.dependencies] +asgiref = ">=3.0,<4.0" +opentelemetry-api = ">=1.12,<2.0" +opentelemetry-instrumentation = "0.48b0" +opentelemetry-semantic-conventions = "0.48b0" +opentelemetry-util-http = "0.48b0" + +[package.extras] +instruments = ["asgiref (>=3.0,<4.0)"] + +[[package]] +name = "opentelemetry-instrumentation-fastapi" +version = "0.48b0" +description = "OpenTelemetry FastAPI Instrumentation" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_instrumentation_fastapi-0.48b0-py3-none-any.whl", hash = "sha256:afeb820a59e139d3e5d96619600f11ce0187658b8ae9e3480857dd790bc024f2"}, + {file = "opentelemetry_instrumentation_fastapi-0.48b0.tar.gz", hash = "sha256:21a72563ea412c0b535815aeed75fc580240f1f02ebc72381cfab672648637a2"}, +] + +[package.dependencies] +opentelemetry-api = ">=1.12,<2.0" +opentelemetry-instrumentation = "0.48b0" +opentelemetry-instrumentation-asgi = "0.48b0" +opentelemetry-semantic-conventions = "0.48b0" +opentelemetry-util-http = "0.48b0" + +[package.extras] +instruments = ["fastapi (>=0.58,<1.0)"] + +[[package]] +name = "opentelemetry-proto" +version = "1.27.0" +description = "OpenTelemetry Python Proto" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_proto-1.27.0-py3-none-any.whl", hash = "sha256:b133873de5581a50063e1e4b29cdcf0c5e253a8c2d8dc1229add20a4c3830ace"}, + {file = "opentelemetry_proto-1.27.0.tar.gz", hash = "sha256:33c9345d91dafd8a74fc3d7576c5a38f18b7fdf8d02983ac67485386132aedd6"}, +] + +[package.dependencies] +protobuf = ">=3.19,<5.0" + +[[package]] +name = "opentelemetry-sdk" +version = "1.27.0" +description = "OpenTelemetry Python SDK" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_sdk-1.27.0-py3-none-any.whl", hash = "sha256:365f5e32f920faf0fd9e14fdfd92c086e317eaa5f860edba9cdc17a380d9197d"}, + {file = "opentelemetry_sdk-1.27.0.tar.gz", hash = "sha256:d525017dea0ccce9ba4e0245100ec46ecdc043f2d7b8315d56b19aff0904fa6f"}, +] + +[package.dependencies] +opentelemetry-api = "1.27.0" +opentelemetry-semantic-conventions = "0.48b0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.48b0" +description = "OpenTelemetry Semantic Conventions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_semantic_conventions-0.48b0-py3-none-any.whl", hash = "sha256:a0de9f45c413a8669788a38569c7e0a11ce6ce97861a628cca785deecdc32a1f"}, + {file = "opentelemetry_semantic_conventions-0.48b0.tar.gz", hash = "sha256:12d74983783b6878162208be57c9effcb89dc88691c64992d70bb89dc00daa1a"}, +] + +[package.dependencies] +deprecated = ">=1.2.6" +opentelemetry-api = "1.27.0" + +[[package]] +name = "opentelemetry-util-http" +version = "0.48b0" +description = "Web util for OpenTelemetry" +optional = false +python-versions = ">=3.8" +files = [ + {file = "opentelemetry_util_http-0.48b0-py3-none-any.whl", hash = "sha256:76f598af93aab50328d2a69c786beaedc8b6a7770f7a818cc307eb353debfffb"}, + {file = "opentelemetry_util_http-0.48b0.tar.gz", hash = "sha256:60312015153580cc20f322e5cdc3d3ecad80a71743235bdb77716e742814623c"}, +] + [[package]] name = "orjson" version = "3.10.7" @@ -1692,6 +3521,17 @@ files = [ {file = "orjson-3.10.7.tar.gz", hash = "sha256:75ef0640403f945f3a1f9f6400686560dbfb0fb5b16589ad62cd477043c4eee3"}, ] +[[package]] +name = "overrides" +version = "7.7.0" +description = "A decorator to automatically detect mismatch when overriding a method." +optional = false +python-versions = ">=3.6" +files = [ + {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, + {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, +] + [[package]] name = "packaging" version = "24.1" @@ -1703,6 +3543,17 @@ files = [ {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] +[[package]] +name = "pandocfilters" +version = "1.5.1" +description = "Utilities for writing pandoc filters in python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, +] + [[package]] name = "parso" version = "0.8.4" @@ -1748,6 +3599,43 @@ docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-a test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] type = ["mypy (>=1.11.2)"] +[[package]] +name = "posthog" +version = "3.7.0" +description = "Integrate PostHog into any python application." +optional = false +python-versions = "*" +files = [ + {file = "posthog-3.7.0-py2.py3-none-any.whl", hash = "sha256:3555161c3a9557b5666f96d8e1f17f410ea0f07db56e399e336a1656d4e5c722"}, + {file = "posthog-3.7.0.tar.gz", hash = "sha256:b095d4354ba23f8b346ab5daed8ecfc5108772f922006982dfe8b2d29ebc6e0e"}, +] + +[package.dependencies] +backoff = ">=1.10.0" +monotonic = ">=1.5" +python-dateutil = ">2.1" +requests = ">=2.7,<3.0" +six = ">=1.5" + +[package.extras] +dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] +sentry = ["django", "sentry-sdk"] +test = ["coverage", "django", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest", "pytest-timeout"] + +[[package]] +name = "prometheus-client" +version = "0.21.0" +description = "Python client for the Prometheus monitoring system." +optional = false +python-versions = ">=3.8" +files = [ + {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, + {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, +] + +[package.extras] +twisted = ["twisted"] + [[package]] name = "prompt-toolkit" version = "3.0.48" @@ -1762,6 +3650,26 @@ files = [ [package.dependencies] wcwidth = "*" +[[package]] +name = "protobuf" +version = "4.25.5" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, + {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, + {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, + {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, + {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, + {file = "protobuf-4.25.5-cp38-cp38-win32.whl", hash = "sha256:98d8d8aa50de6a2747efd9cceba361c9034050ecce3e09136f90de37ddba66e1"}, + {file = "protobuf-4.25.5-cp38-cp38-win_amd64.whl", hash = "sha256:b0234dd5a03049e4ddd94b93400b67803c823cfc405689688f59b34e0742381a"}, + {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, + {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, + {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, + {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, +] + [[package]] name = "psutil" version = "6.0.0" @@ -1816,6 +3724,31 @@ files = [ [package.extras] tests = ["pytest"] +[[package]] +name = "pyasn1" +version = "0.6.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, + {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, +] + +[[package]] +name = "pyasn1-modules" +version = "0.4.1" +description = "A collection of ASN.1-based protocols modules" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, +] + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.7.0" + [[package]] name = "pycparser" version = "2.22" @@ -2013,6 +3946,62 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pypdf" +version = "5.0.1" +description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pypdf-5.0.1-py3-none-any.whl", hash = "sha256:ff8a32da6c7a63fea9c32fa4dd837cdd0db7966adf6c14f043e3f12592e992db"}, + {file = "pypdf-5.0.1.tar.gz", hash = "sha256:a361c3c372b4a659f9c8dd438d5ce29a753c79c620dc6e1fd66977651f5547ea"}, +] + +[package.dependencies] +typing_extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} + +[package.extras] +crypto = ["PyCryptodome", "cryptography"] +dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "pytest-socket", "pytest-timeout", "pytest-xdist", "wheel"] +docs = ["myst_parser", "sphinx", "sphinx_rtd_theme"] +full = ["Pillow (>=8.0.0)", "PyCryptodome", "cryptography"] +image = ["Pillow (>=8.0.0)"] + +[[package]] +name = "pypika" +version = "0.48.9" +description = "A SQL query builder API for Python" +optional = false +python-versions = "*" +files = [ + {file = "PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378"}, +] + +[[package]] +name = "pyproject-hooks" +version = "1.2.0" +description = "Wrappers to call pyproject.toml-based build backend hooks." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913"}, + {file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"}, +] + +[[package]] +name = "pyreadline3" +version = "3.5.4" +description = "A python implementation of GNU readline." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6"}, + {file = "pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7"}, +] + +[package.extras] +dev = ["build", "flake8", "mypy", "pytest", "twine"] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -2041,6 +4030,17 @@ files = [ [package.extras] cli = ["click (>=5.0)"] +[[package]] +name = "python-json-logger" +version = "2.0.7" +description = "A python library adding a json log formatter" +optional = false +python-versions = ">=3.6" +files = [ + {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, + {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, +] + [[package]] name = "pywin32" version = "306" @@ -2064,6 +4064,21 @@ files = [ {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, ] +[[package]] +name = "pywinpty" +version = "2.0.13" +description = "Pseudo terminal support for Windows from Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pywinpty-2.0.13-cp310-none-win_amd64.whl", hash = "sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56"}, + {file = "pywinpty-2.0.13-cp311-none-win_amd64.whl", hash = "sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99"}, + {file = "pywinpty-2.0.13-cp312-none-win_amd64.whl", hash = "sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4"}, + {file = "pywinpty-2.0.13-cp38-none-win_amd64.whl", hash = "sha256:61d420c2116c0212808d31625611b51caf621fe67f8a6377e2e8b617ea1c1f7d"}, + {file = "pywinpty-2.0.13-cp39-none-win_amd64.whl", hash = "sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b"}, + {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"}, +] + [[package]] name = "pyyaml" version = "6.0.2" @@ -2247,6 +4262,21 @@ files = [ [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} +[[package]] +name = "referencing" +version = "0.35.1" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, + {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + [[package]] name = "regex" version = "2024.9.11" @@ -2371,6 +4401,194 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-oauthlib" +version = "2.0.0" +description = "OAuthlib authentication support for Requests." +optional = false +python-versions = ">=3.4" +files = [ + {file = "requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9"}, + {file = "requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36"}, +] + +[package.dependencies] +oauthlib = ">=3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib[signedtoken] (>=3.0.0)"] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +description = "Pure python rfc3986 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, + {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, +] + +[[package]] +name = "rich" +version = "13.9.2" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, + {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "rpds-py" +version = "0.20.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "rpds_py-0.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3ad0fda1635f8439cde85c700f964b23ed5fc2d28016b32b9ee5fe30da5c84e2"}, + {file = "rpds_py-0.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9bb4a0d90fdb03437c109a17eade42dfbf6190408f29b2744114d11586611d6f"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6377e647bbfd0a0b159fe557f2c6c602c159fc752fa316572f012fc0bf67150"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb851b7df9dda52dc1415ebee12362047ce771fc36914586b2e9fcbd7d293b3e"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e0f80b739e5a8f54837be5d5c924483996b603d5502bfff79bf33da06164ee2"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a8c94dad2e45324fc74dce25e1645d4d14df9a4e54a30fa0ae8bad9a63928e3"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e604fe73ba048c06085beaf51147eaec7df856824bfe7b98657cf436623daf"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df3de6b7726b52966edf29663e57306b23ef775faf0ac01a3e9f4012a24a4140"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf258ede5bc22a45c8e726b29835b9303c285ab46fc7c3a4cc770736b5304c9f"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:55fea87029cded5df854ca7e192ec7bdb7ecd1d9a3f63d5c4eb09148acf4a7ce"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ae94bd0b2f02c28e199e9bc51485d0c5601f58780636185660f86bf80c89af94"}, + {file = "rpds_py-0.20.0-cp310-none-win32.whl", hash = "sha256:28527c685f237c05445efec62426d285e47a58fb05ba0090a4340b73ecda6dee"}, + {file = "rpds_py-0.20.0-cp310-none-win_amd64.whl", hash = "sha256:238a2d5b1cad28cdc6ed15faf93a998336eb041c4e440dd7f902528b8891b399"}, + {file = "rpds_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac2f4f7a98934c2ed6505aead07b979e6f999389f16b714448fb39bbaa86a489"}, + {file = "rpds_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:220002c1b846db9afd83371d08d239fdc865e8f8c5795bbaec20916a76db3318"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d7919548df3f25374a1f5d01fbcd38dacab338ef5f33e044744b5c36729c8db"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:758406267907b3781beee0f0edfe4a179fbd97c0be2e9b1154d7f0a1279cf8e5"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d61339e9f84a3f0767b1995adfb171a0d00a1185192718a17af6e124728e0f5"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1259c7b3705ac0a0bd38197565a5d603218591d3f6cee6e614e380b6ba61c6f6"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c1dc0f53856b9cc9a0ccca0a7cc61d3d20a7088201c0937f3f4048c1718a209"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e60cb630f674a31f0368ed32b2a6b4331b8350d67de53c0359992444b116dd3"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbe982f38565bb50cb7fb061ebf762c2f254ca3d8c20d4006878766e84266272"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:514b3293b64187172bc77c8fb0cdae26981618021053b30d8371c3a902d4d5ad"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d0a26ffe9d4dd35e4dfdd1e71f46401cff0181c75ac174711ccff0459135fa58"}, + {file = "rpds_py-0.20.0-cp311-none-win32.whl", hash = "sha256:89c19a494bf3ad08c1da49445cc5d13d8fefc265f48ee7e7556839acdacf69d0"}, + {file = "rpds_py-0.20.0-cp311-none-win_amd64.whl", hash = "sha256:c638144ce971df84650d3ed0096e2ae7af8e62ecbbb7b201c8935c370df00a2c"}, + {file = "rpds_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a84ab91cbe7aab97f7446652d0ed37d35b68a465aeef8fc41932a9d7eee2c1a6"}, + {file = "rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2580b0c34583b85efec8c5c5ec9edf2dfe817330cc882ee972ae650e7b5ef739"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b80d4a7900cf6b66bb9cee5c352b2d708e29e5a37fe9bf784fa97fc11504bf6c"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50eccbf054e62a7b2209b28dc7a22d6254860209d6753e6b78cfaeb0075d7bee"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49a8063ea4296b3a7e81a5dfb8f7b2d73f0b1c20c2af401fb0cdf22e14711a96"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea438162a9fcbee3ecf36c23e6c68237479f89f962f82dae83dc15feeceb37e4"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18d7585c463087bddcfa74c2ba267339f14f2515158ac4db30b1f9cbdb62c8ef"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d4c7d1a051eeb39f5c9547e82ea27cbcc28338482242e3e0b7768033cb083821"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4df1e3b3bec320790f699890d41c59d250f6beda159ea3c44c3f5bac1976940"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2cf126d33a91ee6eedc7f3197b53e87a2acdac63602c0f03a02dd69e4b138174"}, + {file = "rpds_py-0.20.0-cp312-none-win32.whl", hash = "sha256:8bc7690f7caee50b04a79bf017a8d020c1f48c2a1077ffe172abec59870f1139"}, + {file = "rpds_py-0.20.0-cp312-none-win_amd64.whl", hash = "sha256:0e13e6952ef264c40587d510ad676a988df19adea20444c2b295e536457bc585"}, + {file = "rpds_py-0.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:aa9a0521aeca7d4941499a73ad7d4f8ffa3d1affc50b9ea11d992cd7eff18a29"}, + {file = "rpds_py-0.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1f1d51eccb7e6c32ae89243cb352389228ea62f89cd80823ea7dd1b98e0b91"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a86a9b96070674fc88b6f9f71a97d2c1d3e5165574615d1f9168ecba4cecb24"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c8ef2ebf76df43f5750b46851ed1cdf8f109d7787ca40035fe19fbdc1acc5a7"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b25f024b421d5859d156750ea9a65651793d51b76a2e9238c05c9d5f203a9"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57eb94a8c16ab08fef6404301c38318e2c5a32216bf5de453e2714c964c125c8"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1940dae14e715e2e02dfd5b0f64a52e8374a517a1e531ad9412319dc3ac7879"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d20277fd62e1b992a50c43f13fbe13277a31f8c9f70d59759c88f644d66c619f"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:06db23d43f26478303e954c34c75182356ca9aa7797d22c5345b16871ab9c45c"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b2a5db5397d82fa847e4c624b0c98fe59d2d9b7cf0ce6de09e4d2e80f8f5b3f2"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a35df9f5548fd79cb2f52d27182108c3e6641a4feb0f39067911bf2adaa3e57"}, + {file = "rpds_py-0.20.0-cp313-none-win32.whl", hash = "sha256:fd2d84f40633bc475ef2d5490b9c19543fbf18596dcb1b291e3a12ea5d722f7a"}, + {file = "rpds_py-0.20.0-cp313-none-win_amd64.whl", hash = "sha256:9bc2d153989e3216b0559251b0c260cfd168ec78b1fac33dd485750a228db5a2"}, + {file = "rpds_py-0.20.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:f2fbf7db2012d4876fb0d66b5b9ba6591197b0f165db8d99371d976546472a24"}, + {file = "rpds_py-0.20.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1e5f3cd7397c8f86c8cc72d5a791071431c108edd79872cdd96e00abd8497d29"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce9845054c13696f7af7f2b353e6b4f676dab1b4b215d7fe5e05c6f8bb06f965"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c3e130fd0ec56cb76eb49ef52faead8ff09d13f4527e9b0c400307ff72b408e1"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b16aa0107ecb512b568244ef461f27697164d9a68d8b35090e9b0c1c8b27752"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa7f429242aae2947246587d2964fad750b79e8c233a2367f71b554e9447949c"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0fc424a5842a11e28956e69395fbbeab2c97c42253169d87e90aac2886d751"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b8c00a3b1e70c1d3891f0db1b05292747f0dbcfb49c43f9244d04c70fbc40eb8"}, + {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:40ce74fc86ee4645d0a225498d091d8bc61f39b709ebef8204cb8b5a464d3c0e"}, + {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4fe84294c7019456e56d93e8ababdad5a329cd25975be749c3f5f558abb48253"}, + {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:338ca4539aad4ce70a656e5187a3a31c5204f261aef9f6ab50e50bcdffaf050a"}, + {file = "rpds_py-0.20.0-cp38-none-win32.whl", hash = "sha256:54b43a2b07db18314669092bb2de584524d1ef414588780261e31e85846c26a5"}, + {file = "rpds_py-0.20.0-cp38-none-win_amd64.whl", hash = "sha256:a1862d2d7ce1674cffa6d186d53ca95c6e17ed2b06b3f4c476173565c862d232"}, + {file = "rpds_py-0.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3fde368e9140312b6e8b6c09fb9f8c8c2f00999d1823403ae90cc00480221b22"}, + {file = "rpds_py-0.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9824fb430c9cf9af743cf7aaf6707bf14323fb51ee74425c380f4c846ea70789"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11ef6ce74616342888b69878d45e9f779b95d4bd48b382a229fe624a409b72c5"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c52d3f2f82b763a24ef52f5d24358553e8403ce05f893b5347098014f2d9eff2"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d35cef91e59ebbeaa45214861874bc6f19eb35de96db73e467a8358d701a96c"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d72278a30111e5b5525c1dd96120d9e958464316f55adb030433ea905866f4de"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c29cbbba378759ac5786730d1c3cb4ec6f8ababf5c42a9ce303dc4b3d08cda"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6632f2d04f15d1bd6fe0eedd3b86d9061b836ddca4c03d5cf5c7e9e6b7c14580"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d0b67d87bb45ed1cd020e8fbf2307d449b68abc45402fe1a4ac9e46c3c8b192b"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ec31a99ca63bf3cd7f1a5ac9fe95c5e2d060d3c768a09bc1d16e235840861420"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e6c9976e38f4d8c4a63bd8a8edac5307dffd3ee7e6026d97f3cc3a2dc02a0b"}, + {file = "rpds_py-0.20.0-cp39-none-win32.whl", hash = "sha256:569b3ea770c2717b730b61998b6c54996adee3cef69fc28d444f3e7920313cf7"}, + {file = "rpds_py-0.20.0-cp39-none-win_amd64.whl", hash = "sha256:e6900ecdd50ce0facf703f7a00df12374b74bbc8ad9fe0f6559947fb20f82364"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:617c7357272c67696fd052811e352ac54ed1d9b49ab370261a80d3b6ce385045"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9426133526f69fcaba6e42146b4e12d6bc6c839b8b555097020e2b78ce908dcc"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deb62214c42a261cb3eb04d474f7155279c1a8a8c30ac89b7dcb1721d92c3c02"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcaeb7b57f1a1e071ebd748984359fef83ecb026325b9d4ca847c95bc7311c92"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d454b8749b4bd70dd0a79f428731ee263fa6995f83ccb8bada706e8d1d3ff89d"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d807dc2051abe041b6649681dce568f8e10668e3c1c6543ebae58f2d7e617855"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3c20f0ddeb6e29126d45f89206b8291352b8c5b44384e78a6499d68b52ae511"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b7f19250ceef892adf27f0399b9e5afad019288e9be756d6919cb58892129f51"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4f1ed4749a08379555cebf4650453f14452eaa9c43d0a95c49db50c18b7da075"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:dcedf0b42bcb4cfff4101d7771a10532415a6106062f005ab97d1d0ab5681c60"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:39ed0d010457a78f54090fafb5d108501b5aa5604cc22408fc1c0c77eac14344"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bb273176be34a746bdac0b0d7e4e2c467323d13640b736c4c477881a3220a989"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f918a1a130a6dfe1d7fe0f105064141342e7dd1611f2e6a21cd2f5c8cb1cfb3e"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f60012a73aa396be721558caa3a6fd49b3dd0033d1675c6d59c4502e870fcf0c"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d2b1ad682a3dfda2a4e8ad8572f3100f95fad98cb99faf37ff0ddfe9cbf9d03"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:614fdafe9f5f19c63ea02817fa4861c606a59a604a77c8cdef5aa01d28b97921"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa518bcd7600c584bf42e6617ee8132869e877db2f76bcdc281ec6a4113a53ab"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0475242f447cc6cb8a9dd486d68b2ef7fbee84427124c232bff5f63b1fe11e5"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f90a4cd061914a60bd51c68bcb4357086991bd0bb93d8aa66a6da7701370708f"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:def7400461c3a3f26e49078302e1c1b38f6752342c77e3cf72ce91ca69fb1bc1"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:65794e4048ee837494aea3c21a28ad5fc080994dfba5b036cf84de37f7ad5074"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:faefcc78f53a88f3076b7f8be0a8f8d35133a3ecf7f3770895c25f8813460f08"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5b4f105deeffa28bbcdff6c49b34e74903139afa690e35d2d9e3c2c2fba18cec"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdfc3a892927458d98f3d55428ae46b921d1f7543b89382fdb483f5640daaec8"}, + {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, +] + +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] + +[package.dependencies] +pyasn1 = ">=0.1.3" + [[package]] name = "ruff" version = "0.5.7" @@ -2398,6 +4616,53 @@ files = [ {file = "ruff-0.5.7.tar.gz", hash = "sha256:8dfc0a458797f5d9fb622dd0efc52d796f23f0a1493a9527f4e49a550ae9a7e5"}, ] +[[package]] +name = "send2trash" +version = "1.8.3" +description = "Send file to trash natively under Mac OS X, Windows and Linux" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, + {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, +] + +[package.extras] +nativelib = ["pyobjc-framework-Cocoa", "pywin32"] +objc = ["pyobjc-framework-Cocoa"] +win32 = ["pywin32"] + +[[package]] +name = "setuptools" +version = "75.1.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2"}, + {file = "setuptools-75.1.0.tar.gz", hash = "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] + +[[package]] +name = "shellingham" +version = "1.5.4" +description = "Tool to Detect Surrounding Shell" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] + [[package]] name = "six" version = "1.16.0" @@ -2603,9 +4868,7 @@ python-versions = ">=3.7" files = [ {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67219632be22f14750f0d1c70e62f204ba69d28f62fd6432ba05ab295853de9b"}, {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4668bd8faf7e5b71c0319407b608f278f279668f358857dbfd10ef1954ac9f90"}, - {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb8bea573863762bbf45d1e13f87c2d2fd32cee2dbd50d050f83f87429c9e1ea"}, {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f552023710d4b93d8fb29a91fadf97de89c5926c6bd758897875435f2a939f33"}, - {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:016b2e665f778f13d3c438651dd4de244214b527a275e0acf1d44c05bc6026a9"}, {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7befc148de64b6060937231cbff8d01ccf0bfd75aa26383ffdf8d82b12ec04ff"}, {file = "SQLAlchemy-2.0.35-cp310-cp310-win32.whl", hash = "sha256:22b83aed390e3099584b839b93f80a0f4a95ee7f48270c97c90acd40ee646f0b"}, {file = "SQLAlchemy-2.0.35-cp310-cp310-win_amd64.whl", hash = "sha256:a29762cd3d116585278ffb2e5b8cc311fb095ea278b96feef28d0b423154858e"}, @@ -2626,29 +4889,22 @@ files = [ {file = "SQLAlchemy-2.0.35-cp312-cp312-win32.whl", hash = "sha256:0f9f3f9a3763b9c4deb8c5d09c4cc52ffe49f9876af41cc1b2ad0138878453cf"}, {file = "SQLAlchemy-2.0.35-cp312-cp312-win_amd64.whl", hash = "sha256:25b0f63e7fcc2a6290cb5f7f5b4fc4047843504983a28856ce9b35d8f7de03cc"}, {file = "SQLAlchemy-2.0.35-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f021d334f2ca692523aaf7bbf7592ceff70c8594fad853416a81d66b35e3abf9"}, - {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05c3f58cf91683102f2f0265c0db3bd3892e9eedabe059720492dbaa4f922da1"}, {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:032d979ce77a6c2432653322ba4cbeabf5a6837f704d16fa38b5a05d8e21fa00"}, - {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:2e795c2f7d7249b75bb5f479b432a51b59041580d20599d4e112b5f2046437a3"}, {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:cc32b2990fc34380ec2f6195f33a76b6cdaa9eecf09f0c9404b74fc120aef36f"}, {file = "SQLAlchemy-2.0.35-cp37-cp37m-win32.whl", hash = "sha256:9509c4123491d0e63fb5e16199e09f8e262066e58903e84615c301dde8fa2e87"}, {file = "SQLAlchemy-2.0.35-cp37-cp37m-win_amd64.whl", hash = "sha256:3655af10ebcc0f1e4e06c5900bb33e080d6a1fa4228f502121f28a3b1753cde5"}, {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4c31943b61ed8fdd63dfd12ccc919f2bf95eefca133767db6fbbd15da62078ec"}, {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a62dd5d7cc8626a3634208df458c5fe4f21200d96a74d122c83bc2015b333bc1"}, - {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0630774b0977804fba4b6bbea6852ab56c14965a2b0c7fc7282c5f7d90a1ae72"}, {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d625eddf7efeba2abfd9c014a22c0f6b3796e0ffb48f5d5ab106568ef01ff5a"}, - {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ada603db10bb865bbe591939de854faf2c60f43c9b763e90f653224138f910d9"}, {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c41411e192f8d3ea39ea70e0fae48762cd11a2244e03751a98bd3c0ca9a4e936"}, {file = "SQLAlchemy-2.0.35-cp38-cp38-win32.whl", hash = "sha256:d299797d75cd747e7797b1b41817111406b8b10a4f88b6e8fe5b5e59598b43b0"}, {file = "SQLAlchemy-2.0.35-cp38-cp38-win_amd64.whl", hash = "sha256:0375a141e1c0878103eb3d719eb6d5aa444b490c96f3fedab8471c7f6ffe70ee"}, {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccae5de2a0140d8be6838c331604f91d6fafd0735dbdcee1ac78fc8fbaba76b4"}, {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2a275a806f73e849e1c309ac11108ea1a14cd7058577aba962cd7190e27c9e3c"}, - {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:732e026240cdd1c1b2e3ac515c7a23820430ed94292ce33806a95869c46bd139"}, {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890da8cd1941fa3dab28c5bac3b9da8502e7e366f895b3b8e500896f12f94d11"}, - {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0d8326269dbf944b9201911b0d9f3dc524d64779a07518199a58384c3d37a44"}, {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b76d63495b0508ab9fc23f8152bac63205d2a704cd009a2b0722f4c8e0cba8e0"}, {file = "SQLAlchemy-2.0.35-cp39-cp39-win32.whl", hash = "sha256:69683e02e8a9de37f17985905a5eca18ad651bf592314b4d3d799029797d0eb3"}, {file = "SQLAlchemy-2.0.35-cp39-cp39-win_amd64.whl", hash = "sha256:aee110e4ef3c528f3abbc3c2018c121e708938adeeff9006428dd7c8555e9b3f"}, - {file = "SQLAlchemy-2.0.35-py3-none-any.whl", hash = "sha256:2ab3f0336c0387662ce6221ad30ab3a5e6499aab01b9790879b6578fd9b8faa1"}, {file = "sqlalchemy-2.0.35.tar.gz", hash = "sha256:e11d7ea4d24f0a262bccf9a7cd6284c976c5369dac21db237cff59586045ab9f"}, ] @@ -2718,6 +4974,23 @@ typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\"" [package.extras] full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] +[[package]] +name = "sympy" +version = "1.13.3" +description = "Computer algebra system (CAS) in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73"}, + {file = "sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9"}, +] + +[package.dependencies] +mpmath = ">=1.1.0,<1.4" + +[package.extras] +dev = ["hypothesis (>=6.70.0)", "pytest (>=7.1.0)"] + [[package]] name = "tenacity" version = "8.5.0" @@ -2733,6 +5006,27 @@ files = [ doc = ["reno", "sphinx"] test = ["pytest", "tornado (>=4.5)", "typeguard"] +[[package]] +name = "terminado" +version = "0.18.1" +description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, + {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, +] + +[package.dependencies] +ptyprocess = {version = "*", markers = "os_name != \"nt\""} +pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} +tornado = ">=6.1.0" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] +typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] + [[package]] name = "tiktoken" version = "0.7.0" @@ -2785,6 +5079,141 @@ requests = ">=2.26.0" [package.extras] blobfile = ["blobfile (>=2)"] +[[package]] +name = "tinycss2" +version = "1.3.0" +description = "A tiny CSS parser" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, + {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, +] + +[package.dependencies] +webencodings = ">=0.4" + +[package.extras] +doc = ["sphinx", "sphinx_rtd_theme"] +test = ["pytest", "ruff"] + +[[package]] +name = "tokenizers" +version = "0.20.1" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tokenizers-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:439261da7c0a5c88bda97acb284d49fbdaf67e9d3b623c0bfd107512d22787a9"}, + {file = "tokenizers-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03dae629d99068b1ea5416d50de0fea13008f04129cc79af77a2a6392792d93c"}, + {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b61f561f329ffe4b28367798b89d60c4abf3f815d37413b6352bc6412a359867"}, + {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ec870fce1ee5248a10be69f7a8408a234d6f2109f8ea827b4f7ecdbf08c9fd15"}, + {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d388d1ea8b7447da784e32e3b86a75cce55887e3b22b31c19d0b186b1c677800"}, + {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:299c85c1d21135bc01542237979bf25c32efa0d66595dd0069ae259b97fb2dbe"}, + {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e96f6c14c9752bb82145636b614d5a78e9cde95edfbe0a85dad0dd5ddd6ec95c"}, + {file = "tokenizers-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc9e95ad49c932b80abfbfeaf63b155761e695ad9f8a58c52a47d962d76e310f"}, + {file = "tokenizers-0.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f22dee205329a636148c325921c73cf3e412e87d31f4d9c3153b302a0200057b"}, + {file = "tokenizers-0.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2ffd9a8895575ac636d44500c66dffaef133823b6b25067604fa73bbc5ec09d"}, + {file = "tokenizers-0.20.1-cp310-none-win32.whl", hash = "sha256:2847843c53f445e0f19ea842a4e48b89dd0db4e62ba6e1e47a2749d6ec11f50d"}, + {file = "tokenizers-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:f9aa93eacd865f2798b9e62f7ce4533cfff4f5fbd50c02926a78e81c74e432cd"}, + {file = "tokenizers-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4a717dcb08f2dabbf27ae4b6b20cbbb2ad7ed78ce05a829fae100ff4b3c7ff15"}, + {file = "tokenizers-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f84dad1ff1863c648d80628b1b55353d16303431283e4efbb6ab1af56a75832"}, + {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:929c8f3afa16a5130a81ab5079c589226273ec618949cce79b46d96e59a84f61"}, + {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d10766473954397e2d370f215ebed1cc46dcf6fd3906a2a116aa1d6219bfedc3"}, + {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9300fac73ddc7e4b0330acbdda4efaabf74929a4a61e119a32a181f534a11b47"}, + {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ecaf7b0e39caeb1aa6dd6e0975c405716c82c1312b55ac4f716ef563a906969"}, + {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5170be9ec942f3d1d317817ced8d749b3e1202670865e4fd465e35d8c259de83"}, + {file = "tokenizers-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f1ae08fa9aea5891cbd69df29913e11d3841798e0bfb1ff78b78e4e7ea0a4"}, + {file = "tokenizers-0.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ee86d4095d3542d73579e953c2e5e07d9321af2ffea6ecc097d16d538a2dea16"}, + {file = "tokenizers-0.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:86dcd08da163912e17b27bbaba5efdc71b4fbffb841530fdb74c5707f3c49216"}, + {file = "tokenizers-0.20.1-cp311-none-win32.whl", hash = "sha256:9af2dc4ee97d037bc6b05fa4429ddc87532c706316c5e11ce2f0596dfcfa77af"}, + {file = "tokenizers-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:899152a78b095559c287b4c6d0099469573bb2055347bb8154db106651296f39"}, + {file = "tokenizers-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:407ab666b38e02228fa785e81f7cf79ef929f104bcccf68a64525a54a93ceac9"}, + {file = "tokenizers-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f13a2d16032ebc8bd812eb8099b035ac65887d8f0c207261472803b9633cf3e"}, + {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e98eee4dca22849fbb56a80acaa899eec5b72055d79637dd6aa15d5e4b8628c9"}, + {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47c1bcdd61e61136087459cb9e0b069ff23b5568b008265e5cbc927eae3387ce"}, + {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:128c1110e950534426e2274837fc06b118ab5f2fa61c3436e60e0aada0ccfd67"}, + {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2e2d47a819d2954f2c1cd0ad51bb58ffac6f53a872d5d82d65d79bf76b9896d"}, + {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bdd67a0e3503a9a7cf8bc5a4a49cdde5fa5bada09a51e4c7e1c73900297539bd"}, + {file = "tokenizers-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:689b93d2e26d04da337ac407acec8b5d081d8d135e3e5066a88edd5bdb5aff89"}, + {file = "tokenizers-0.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0c6a796ddcd9a19ad13cf146997cd5895a421fe6aec8fd970d69f9117bddb45c"}, + {file = "tokenizers-0.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3ea919687aa7001a8ff1ba36ac64f165c4e89035f57998fa6cedcfd877be619d"}, + {file = "tokenizers-0.20.1-cp312-none-win32.whl", hash = "sha256:6d3ac5c1f48358ffe20086bf065e843c0d0a9fce0d7f0f45d5f2f9fba3609ca5"}, + {file = "tokenizers-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:b0874481aea54a178f2bccc45aa2d0c99cd3f79143a0948af6a9a21dcc49173b"}, + {file = "tokenizers-0.20.1-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:96af92e833bd44760fb17f23f402e07a66339c1dcbe17d79a9b55bb0cc4f038e"}, + {file = "tokenizers-0.20.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:65f34e5b731a262dfa562820818533c38ce32a45864437f3d9c82f26c139ca7f"}, + {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17f98fccb5c12ab1ce1f471731a9cd86df5d4bd2cf2880c5a66b229802d96145"}, + {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b8c0fc3542cf9370bf92c932eb71bdeb33d2d4aeeb4126d9fd567b60bd04cb30"}, + {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b39356df4575d37f9b187bb623aab5abb7b62c8cb702867a1768002f814800c"}, + {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfdad27b0e50544f6b838895a373db6114b85112ba5c0cefadffa78d6daae563"}, + {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:094663dd0e85ee2e573126918747bdb40044a848fde388efb5b09d57bc74c680"}, + {file = "tokenizers-0.20.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e4cf033a2aa207d7ac790e91adca598b679999710a632c4a494aab0fc3a1b2"}, + {file = "tokenizers-0.20.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9310951c92c9fb91660de0c19a923c432f110dbfad1a2d429fbc44fa956bf64f"}, + {file = "tokenizers-0.20.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:05e41e302c315bd2ed86c02e917bf03a6cf7d2f652c9cee1a0eb0d0f1ca0d32c"}, + {file = "tokenizers-0.20.1-cp37-none-win32.whl", hash = "sha256:212231ab7dfcdc879baf4892ca87c726259fa7c887e1688e3f3cead384d8c305"}, + {file = "tokenizers-0.20.1-cp37-none-win_amd64.whl", hash = "sha256:896195eb9dfdc85c8c052e29947169c1fcbe75a254c4b5792cdbd451587bce85"}, + {file = "tokenizers-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:741fb22788482d09d68e73ece1495cfc6d9b29a06c37b3df90564a9cfa688e6d"}, + {file = "tokenizers-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:10be14ebd8082086a342d969e17fc2d6edc856c59dbdbddd25f158fa40eaf043"}, + {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:514cf279b22fa1ae0bc08e143458c74ad3b56cd078b319464959685a35c53d5e"}, + {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a647c5b7cb896d6430cf3e01b4e9a2d77f719c84cefcef825d404830c2071da2"}, + {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cdf379219e1e1dd432091058dab325a2e6235ebb23e0aec8d0508567c90cd01"}, + {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ba72260449e16c4c2f6f3252823b059fbf2d31b32617e582003f2b18b415c39"}, + {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:910b96ed87316e4277b23c7bcaf667ce849c7cc379a453fa179e7e09290eeb25"}, + {file = "tokenizers-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e53975a6694428a0586534cc1354b2408d4e010a3103117f617cbb550299797c"}, + {file = "tokenizers-0.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:07c4b7be58da142b0730cc4e5fd66bb7bf6f57f4986ddda73833cd39efef8a01"}, + {file = "tokenizers-0.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b605c540753e62199bf15cf69c333e934077ef2350262af2ccada46026f83d1c"}, + {file = "tokenizers-0.20.1-cp38-none-win32.whl", hash = "sha256:88b3bc76ab4db1ab95ead623d49c95205411e26302cf9f74203e762ac7e85685"}, + {file = "tokenizers-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:d412a74cf5b3f68a90c615611a5aa4478bb303d1c65961d22db45001df68afcb"}, + {file = "tokenizers-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a25dcb2f41a0a6aac31999e6c96a75e9152fa0127af8ece46c2f784f23b8197a"}, + {file = "tokenizers-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a12c3cebb8c92e9c35a23ab10d3852aee522f385c28d0b4fe48c0b7527d59762"}, + {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02e18da58cf115b7c40de973609c35bde95856012ba42a41ee919c77935af251"}, + {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f326a1ac51ae909b9760e34671c26cd0dfe15662f447302a9d5bb2d872bab8ab"}, + {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b4872647ea6f25224e2833b044b0b19084e39400e8ead3cfe751238b0802140"}, + {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce6238a3311bb8e4c15b12600927d35c267b92a52c881ef5717a900ca14793f7"}, + {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57b7a8880b208866508b06ce365dc631e7a2472a3faa24daa430d046fb56c885"}, + {file = "tokenizers-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a908c69c2897a68f412aa05ba38bfa87a02980df70f5a72fa8490479308b1f2d"}, + {file = "tokenizers-0.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:da1001aa46f4490099c82e2facc4fbc06a6a32bf7de3918ba798010954b775e0"}, + {file = "tokenizers-0.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:42c097390e2f0ed0a5c5d569e6669dd4e9fff7b31c6a5ce6e9c66a61687197de"}, + {file = "tokenizers-0.20.1-cp39-none-win32.whl", hash = "sha256:3d4d218573a3d8b121a1f8c801029d70444ffb6d8f129d4cca1c7b672ee4a24c"}, + {file = "tokenizers-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:37d1e6f616c84fceefa7c6484a01df05caf1e207669121c66213cb5b2911d653"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48689da7a395df41114f516208d6550e3e905e1239cc5ad386686d9358e9cef0"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:712f90ea33f9bd2586b4a90d697c26d56d0a22fd3c91104c5858c4b5b6489a79"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:359eceb6a620c965988fc559cebc0a98db26713758ec4df43fb76d41486a8ed5"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d3caf244ce89d24c87545aafc3448be15870096e796c703a0d68547187192e1"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03b03cf8b9a32254b1bf8a305fb95c6daf1baae0c1f93b27f2b08c9759f41dee"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:218e5a3561561ea0f0ef1559c6d95b825308dbec23fb55b70b92589e7ff2e1e8"}, + {file = "tokenizers-0.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f40df5e0294a95131cc5f0e0eb91fe86d88837abfbee46b9b3610b09860195a7"}, + {file = "tokenizers-0.20.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:08aaa0d72bb65058e8c4b0455f61b840b156c557e2aca57627056624c3a93976"}, + {file = "tokenizers-0.20.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:998700177b45f70afeb206ad22c08d9e5f3a80639dae1032bf41e8cbc4dada4b"}, + {file = "tokenizers-0.20.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62f7fbd3c2c38b179556d879edae442b45f68312019c3a6013e56c3947a4e648"}, + {file = "tokenizers-0.20.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31e87fca4f6bbf5cc67481b562147fe932f73d5602734de7dd18a8f2eee9c6dd"}, + {file = "tokenizers-0.20.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:956f21d359ae29dd51ca5726d2c9a44ffafa041c623f5aa33749da87cfa809b9"}, + {file = "tokenizers-0.20.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1fbbaf17a393c78d8aedb6a334097c91cb4119a9ced4764ab8cfdc8d254dc9f9"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ebe63e31f9c1a970c53866d814e35ec2ec26fda03097c486f82f3891cee60830"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:81970b80b8ac126910295f8aab2d7ef962009ea39e0d86d304769493f69aaa1e"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:130e35e76f9337ed6c31be386e75d4925ea807055acf18ca1a9b0eec03d8fe23"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd28a8614f5c82a54ab2463554e84ad79526c5184cf4573bbac2efbbbcead457"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9041ee665d0fa7f5c4ccf0f81f5e6b7087f797f85b143c094126fc2611fec9d0"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:62eb9daea2a2c06bcd8113a5824af8ef8ee7405d3a71123ba4d52c79bb3d9f1a"}, + {file = "tokenizers-0.20.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f861889707b54a9ab1204030b65fd6c22bdd4a95205deec7994dc22a8baa2ea4"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:89d5c337d74ea6e5e7dc8af124cf177be843bbb9ca6e58c01f75ea103c12c8a9"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:0b7f515c83397e73292accdbbbedc62264e070bae9682f06061e2ddce67cacaf"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e0305fc1ec6b1e5052d30d9c1d5c807081a7bd0cae46a33d03117082e91908c"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dc611e6ac0fa00a41de19c3bf6391a05ea201d2d22b757d63f5491ec0e67faa"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5ffe0d7f7bfcfa3b2585776ecf11da2e01c317027c8573c78ebcb8985279e23"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:e7edb8ec12c100d5458d15b1e47c0eb30ad606a05641f19af7563bc3d1608c14"}, + {file = "tokenizers-0.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:de291633fb9303555793cc544d4a86e858da529b7d0b752bcaf721ae1d74b2c9"}, + {file = "tokenizers-0.20.1.tar.gz", hash = "sha256:84edcc7cdeeee45ceedb65d518fffb77aec69311c9c8e30f77ad84da3025f002"}, +] + +[package.dependencies] +huggingface-hub = ">=0.16.4,<1.0" + +[package.extras] +dev = ["tokenizers[testing]"] +docs = ["setuptools-rust", "sphinx", "sphinx-rtd-theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests", "ruff"] + [[package]] name = "toml" version = "0.10.2" @@ -2862,6 +5291,34 @@ files = [ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] +[[package]] +name = "typer" +version = "0.12.5" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +optional = false +python-versions = ">=3.7" +files = [ + {file = "typer-0.12.5-py3-none-any.whl", hash = "sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b"}, + {file = "typer-0.12.5.tar.gz", hash = "sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722"}, +] + +[package.dependencies] +click = ">=8.0.0" +rich = ">=10.11.0" +shellingham = ">=1.3.0" +typing-extensions = ">=3.7.4.3" + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241003" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, + {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, +] + [[package]] name = "typing-extensions" version = "4.12.2" @@ -2888,6 +5345,36 @@ files = [ mypy-extensions = ">=0.3.0" typing-extensions = ">=3.7.4" +[[package]] +name = "uri-template" +version = "1.3.0" +description = "RFC 6570 URI Template Processor" +optional = false +python-versions = ">=3.7" +files = [ + {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, + {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, +] + +[package.extras] +dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] + +[[package]] +name = "urllib3" +version = "1.26.20" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, + {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, +] + +[package.extras] +brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + [[package]] name = "urllib3" version = "2.2.3" @@ -2918,12 +5405,86 @@ files = [ [package.dependencies] click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} h11 = ">=0.8" +httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} [package.extras] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] +[[package]] +name = "uvloop" +version = "0.20.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "uvloop-0.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9ebafa0b96c62881d5cafa02d9da2e44c23f9f0cd829f3a32a6aff771449c996"}, + {file = "uvloop-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:35968fc697b0527a06e134999eef859b4034b37aebca537daeb598b9d45a137b"}, + {file = "uvloop-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b16696f10e59d7580979b420eedf6650010a4a9c3bd8113f24a103dfdb770b10"}, + {file = "uvloop-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b04d96188d365151d1af41fa2d23257b674e7ead68cfd61c725a422764062ae"}, + {file = "uvloop-0.20.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94707205efbe809dfa3a0d09c08bef1352f5d3d6612a506f10a319933757c006"}, + {file = "uvloop-0.20.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:89e8d33bb88d7263f74dc57d69f0063e06b5a5ce50bb9a6b32f5fcbe655f9e73"}, + {file = "uvloop-0.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e50289c101495e0d1bb0bfcb4a60adde56e32f4449a67216a1ab2750aa84f037"}, + {file = "uvloop-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e237f9c1e8a00e7d9ddaa288e535dc337a39bcbf679f290aee9d26df9e72bce9"}, + {file = "uvloop-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:746242cd703dc2b37f9d8b9f173749c15e9a918ddb021575a0205ec29a38d31e"}, + {file = "uvloop-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82edbfd3df39fb3d108fc079ebc461330f7c2e33dbd002d146bf7c445ba6e756"}, + {file = "uvloop-0.20.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:80dc1b139516be2077b3e57ce1cb65bfed09149e1d175e0478e7a987863b68f0"}, + {file = "uvloop-0.20.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4f44af67bf39af25db4c1ac27e82e9665717f9c26af2369c404be865c8818dcf"}, + {file = "uvloop-0.20.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4b75f2950ddb6feed85336412b9a0c310a2edbcf4cf931aa5cfe29034829676d"}, + {file = "uvloop-0.20.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:77fbc69c287596880ecec2d4c7a62346bef08b6209749bf6ce8c22bbaca0239e"}, + {file = "uvloop-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6462c95f48e2d8d4c993a2950cd3d31ab061864d1c226bbf0ee2f1a8f36674b9"}, + {file = "uvloop-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:649c33034979273fa71aa25d0fe120ad1777c551d8c4cd2c0c9851d88fcb13ab"}, + {file = "uvloop-0.20.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a609780e942d43a275a617c0839d85f95c334bad29c4c0918252085113285b5"}, + {file = "uvloop-0.20.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aea15c78e0d9ad6555ed201344ae36db5c63d428818b4b2a42842b3870127c00"}, + {file = "uvloop-0.20.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0e94b221295b5e69de57a1bd4aeb0b3a29f61be6e1b478bb8a69a73377db7ba"}, + {file = "uvloop-0.20.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fee6044b64c965c425b65a4e17719953b96e065c5b7e09b599ff332bb2744bdf"}, + {file = "uvloop-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:265a99a2ff41a0fd56c19c3838b29bf54d1d177964c300dad388b27e84fd7847"}, + {file = "uvloop-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b10c2956efcecb981bf9cfb8184d27d5d64b9033f917115a960b83f11bfa0d6b"}, + {file = "uvloop-0.20.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e7d61fe8e8d9335fac1bf8d5d82820b4808dd7a43020c149b63a1ada953d48a6"}, + {file = "uvloop-0.20.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2beee18efd33fa6fdb0976e18475a4042cd31c7433c866e8a09ab604c7c22ff2"}, + {file = "uvloop-0.20.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8c36fdf3e02cec92aed2d44f63565ad1522a499c654f07935c8f9d04db69e95"}, + {file = "uvloop-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0fac7be202596c7126146660725157d4813aa29a4cc990fe51346f75ff8fde7"}, + {file = "uvloop-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d0fba61846f294bce41eb44d60d58136090ea2b5b99efd21cbdf4e21927c56a"}, + {file = "uvloop-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95720bae002ac357202e0d866128eb1ac82545bcf0b549b9abe91b5178d9b541"}, + {file = "uvloop-0.20.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:36c530d8fa03bfa7085af54a48f2ca16ab74df3ec7108a46ba82fd8b411a2315"}, + {file = "uvloop-0.20.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e97152983442b499d7a71e44f29baa75b3b02e65d9c44ba53b10338e98dedb66"}, + {file = "uvloop-0.20.0.tar.gz", hash = "sha256:4603ca714a754fc8d9b197e325db25b2ea045385e8a3ad05d3463de725fdf469"}, +] + +[package.extras] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] + +[[package]] +name = "vcrpy" +version = "6.0.2" +description = "Automatically mock your HTTP interactions to simplify and speed up testing" +optional = false +python-versions = ">=3.8" +files = [ + {file = "vcrpy-6.0.2-py2.py3-none-any.whl", hash = "sha256:40370223861181bc76a5e5d4b743a95058bb1ad516c3c08570316ab592f56cad"}, + {file = "vcrpy-6.0.2.tar.gz", hash = "sha256:88e13d9111846745898411dbc74a75ce85870af96dd320d75f1ee33158addc09"}, +] + +[package.dependencies] +PyYAML = "*" +urllib3 = [ + {version = "*", markers = "platform_python_implementation != \"PyPy\" and python_version >= \"3.10\""}, + {version = "<2", markers = "platform_python_implementation == \"PyPy\" or python_version < \"3.10\""}, +] +wrapt = "*" +yarl = "*" + +[package.extras] +tests = ["Werkzeug (==2.0.3)", "aiohttp", "boto3", "httplib2", "httpx", "pytest", "pytest-aiohttp", "pytest-asyncio", "pytest-cov", "pytest-httpbin", "requests (>=2.22.0)", "tornado", "urllib3"] + [[package]] name = "watchfiles" version = "0.24.0" @@ -3030,6 +5591,48 @@ files = [ {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] +[[package]] +name = "webcolors" +version = "24.8.0" +description = "A library for working with the color formats defined by HTML and CSS." +optional = false +python-versions = ">=3.8" +files = [ + {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, + {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, +] + +[package.extras] +docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] +tests = ["coverage[toml]"] + +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +optional = false +python-versions = "*" +files = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +description = "WebSocket client for Python with low level API options" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, + {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, +] + +[package.extras] +docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] +optional = ["python-socks", "wsaccel"] +test = ["websockets"] + [[package]] name = "websockets" version = "13.1" @@ -3125,6 +5728,96 @@ files = [ {file = "websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878"}, ] +[[package]] +name = "widgetsnbextension" +version = "4.0.13" +description = "Jupyter interactive widgets for Jupyter Notebook" +optional = false +python-versions = ">=3.7" +files = [ + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, +] + +[[package]] +name = "wrapt" +version = "1.16.0" +description = "Module for decorators, wrappers and monkey patching." +optional = false +python-versions = ">=3.6" +files = [ + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, +] + [[package]] name = "yarl" version = "1.12.1" @@ -3252,4 +5945,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<4.0" -content-hash = "4017dc40f5e58304aff484656ff103fc1fa0072af0c915f2aa2e598be3c7e983" +content-hash = "18d3fafdb2b5509b9f476aa2ed52de9aeac9ef1990ab7e85c91240c1caec0d9f" diff --git a/pyproject.toml b/pyproject.toml index 1afa0437c50..e63de41890d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,16 @@ numpy = [ ] [tool.poetry.group.test.dependencies] +langchain-experimental = { git = "https://github.com/langchain-ai/langchain-experimental.git", subdirectory = "libs/experimental" } +langchain-anthropic = { path = "libs/partners/anthropic", develop = true } +langchain-chroma = { path = "libs/partners/chroma", develop = true } +langchain-mistralai = { path = "libs/partners/mistralai", develop = true } +langgraph = { git = "https://github.com/langchain-ai/langgraph.git", subdirectory = "libs/langgraph" } +jupyter = "^1.1.1" +click = "^8.1.7" +faiss-cpu = "^1.7.4" +pypdf = "^5.0.0" +vcrpy = "^6.0.1" [tool.poetry.group.test_integration.dependencies]