fnllm

View on PyPIReverse Dependencies (2)

0.0.15 fnllm-0.0.15-py3-none-any.whl

Wheel Details

Project: fnllm
Version: 0.0.15
Filename: fnllm-0.0.15-py3-none-any.whl
Download: [link]
Size: 63038
MD5: dc8901ad5e41df42720d73ba4c734834
SHA256: ff1f04b585bfdcd86cf9e76f7e687e78eb54dfaaa9276af1735247e53a410b26
Uploaded: 2025-01-28 10:18:17 +0000

dist-info

METADATA

Metadata-Version: 2.4
Name: fnllm
Version: 0.0.15
Summary: A function-based LLM protocol and wrapper.
Author-Email: Chris Trevino <chtrevin[at]microsoft.com>, Rodrigo Racanicci <rracanicci[at]microsoft.com>
License: MIT License Copyright (c) Microsoft Corporation. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
Requires-Python: >=3.10
Requires-Dist: aiolimiter (>=1.1.0)
Requires-Dist: httpx (>=0.27.0)
Requires-Dist: json-repair (>=0.30.0)
Requires-Dist: pydantic (>=2.8.2)
Requires-Dist: tenacity (>=8.5.0)
Requires-Dist: azure-identity (>=1.17.1); extra == "azure"
Requires-Dist: azure-storage-blob (>=12.20.0); extra == "azure"
Requires-Dist: openai (>=1.35.12); extra == "openai"
Requires-Dist: tiktoken (>=0.7.0); extra == "openai"
Provides-Extra: azure
Provides-Extra: openai
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 190 characters]

WHEEL

Wheel-Version: 1.0
Generator: hatchling 1.27.0
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
fnllm/__init__.py sha256=94g5_NANY3WC31_3vJbi2BhCb0EyugTKYZuXCrgFd_4 662
fnllm/errors.py sha256=hoKERY4JCZ3IaAkdxL9o-VoVT4s2QHGV4IJhyG2w-io 588
fnllm/py.typed sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
fnllm/base/__init__.py sha256=Snc--oggyZD_hWH67pvG4agJCMnHMapht-I2c5cLuSE 119
fnllm/base/base.py sha256=OfX5GdMH9VU23lhw1i0pRkPS7yRg88uJAUltEGa2TLA 6626
fnllm/caching/__init__.py sha256=TJ6nq4fQMKyuCezO5lyln3aOIxCFJkq5O5CI8yT4WG4 160
fnllm/caching/base.py sha256=h4IXlHVl7lhW1MQRd62NI69vv2ecRQBFEvZH3He35Vo 1707
fnllm/caching/blob.py sha256=RmFoDGBpE3fSuW5pbonPjsNstK3S_DPPoVagM8YNRwo 8092
fnllm/caching/file.py sha256=vR3hGLe8rbpHnMQYKVTttYtH4JFTh0pP9M29MqSOyMs 3181
fnllm/config/__init__.py sha256=IDrI5QXfzDxh5gKLGtZiBuygGdbXdKI6r0iHMtBiWY0 185
fnllm/config/config.py sha256=dLjMPbeYGFrs2wTTEN-xS9aXzjGHqCJo9xnBo9QvZLc 1362
fnllm/config/json_strategy.py sha256=6s3LVi5B38qjbiLgCeA8atqhgvLngxHVr3LD-Aznx6E 664
fnllm/events/__init__.py sha256=bcnKehCyYf1ghIi4MrtX7YJ1vfUHu4C_gyLB7rAAqn8 333
fnllm/events/base.py sha256=M-YuYNEd8q3KTN_wpU6wx0msNa4O89L26-cB2r9b0Tw 2081
fnllm/events/composite.py sha256=RYylVgADPcLUkP9E-XmGec1YQReq6w5vONCro-3bt1A 3604
fnllm/events/logger.py sha256=Up9pc2gcrxVO8t3odlUT1hNH7424wYGZJYiXGkR3554 3790
fnllm/events/usage_tracker.py sha256=zevThlWzMJls51ZFVfHVYjWKaz9v9zZFevHoQO0mTCk 3468
fnllm/limiting/__init__.py sha256=sIpPio5nQyR0gCxu9wKxOfRlx6z0h5465ngHbUVB0z0 436
fnllm/limiting/base.py sha256=XAfqDUqCcyGJ8dY_QHzC9rGK_tgng2Oi0W9L-slRobw 1696
fnllm/limiting/composite.py sha256=nQGVR8z5UvmG28tM8iR77O_aQkOc_ga3LQzWWWP-m8k 1230
fnllm/limiting/concurrency.py sha256=jWQp6m7UUNwKyTsgSZsQRki7dfYs3IVA12W7XlPYAeY 967
fnllm/limiting/noop_llm.py sha256=-Wrfm-G4-SjyPdIJ1ICczasXYuyR79HQjBy03vNQEE8 398
fnllm/limiting/rpm.py sha256=6tKCATFhuOO82ykLINCcanqYtbEjQPZ7D4ff5pg0hrg 965
fnllm/limiting/tpm.py sha256=zpFhryTGLo4pIQp2OCoFIMiUazL3CLclDV8LLhLBYes 903
fnllm/openai/__init__.py sha256=Zu7YuizSgEsaE5ba0zisPRdTom4SoOsR5xPd-yggg9o 780
fnllm/openai/config.py sha256=2HhUNcGEIhL8V2maOO2UAvDTZBqEA0U-XGZcqKie60k 2852
fnllm/openai/roles.py sha256=ibJ3PgKQnLABETkYDWg14zD3emFjGFt5c3Dx3s4SFYQ 4631
fnllm/openai/factories/__init__.py sha256=HLO0ijSGmLURGOvHXfj0Vw6KUTSPRqTmr-mUxes4KU8 332
fnllm/openai/factories/chat.py sha256=V74aWuAuJrl3SSaH6HM4xDs8lDxqf0HUrsHwSqdOMjs 3615
fnllm/openai/factories/client.py sha256=Levw9rxM28EKtQqOcRZqe9d_AM7MNeMNU7NxofA7dcQ 1231
fnllm/openai/factories/create_azure_openai_client.py sha256=RftMO-K19Jt0dJ7bgczwDP-qg9NXfTv0hZ3quW4Kn5E 1354
fnllm/openai/factories/embeddings.py sha256=nPw2eAN_d1M4WGXuoRcYQ3yXCg_s4wffjXe7kalXpnI 1701
fnllm/openai/factories/utils.py sha256=IJfdSNRjUp6IkcY6wXnfrn3btyPq4fO4NMKOUwbkQuw 2245
fnllm/openai/llm/__init__.py sha256=E9aEOpsOE9pOvA6bfxxEjSSsLNJ75726FJHPiqbMcic 80
fnllm/openai/llm/chat.py sha256=OTOAPhXstoboLZOuknnptqzB399bSAD88H_eAhWOTdU 2595
fnllm/openai/llm/chat_streaming.py sha256=_OlvgHRNjtTm7K5uyhiXSZSy2iR_ibV5iTd-49QfFHU 6201
fnllm/openai/llm/chat_text.py sha256=MtfiPKiiqf_IrprdVa84gLsQ5uegr4PycZO7ngBvJrg 6205
fnllm/openai/llm/embeddings.py sha256=2l-tfv91EiaNmg7XQYTKzZ_sUihPWyTY-ogsWc5QPF8 5132
fnllm/openai/llm/utils.py sha256=qpCLl96BpdZkCi75b6NPbEKBvCeyHqwIO7-8cV088DY 3686
fnllm/openai/llm/features/__init__.py sha256=sJCAcGAV-QkQrBAbGyUIWbXsOicnAkYkpWGr4BuuVME 138
fnllm/openai/llm/features/tools_parsing.py sha256=L2eZz_EC_K9n2483HmLjOhlD6Grpu46izTFvJ4ASKLM 4110
fnllm/openai/llm/services/__init__.py sha256=sJCAcGAV-QkQrBAbGyUIWbXsOicnAkYkpWGr4BuuVME 138
fnllm/openai/llm/services/history_extractor.py sha256=c8ra8Kq3yinK2x0oL4zMTW-S60qisQSx06P7hEs4Xy8 1003
fnllm/openai/llm/services/json.py sha256=86qwQebPXl0rSU9qZgNWnPwPxGsc83BKKTVPcL3r7dQ 2899
fnllm/openai/llm/services/rate_limiter.py sha256=06e1ws1Q7eZ7eJanglWSmB28Q47bBB8uH5LgE7MG9DI 1719
fnllm/openai/llm/services/retryer.py sha256=6K-a8DMOMNf-BzcxKI8LuVrAr7ZA-GoKls8DrKeZiH4 2279
fnllm/openai/llm/services/usage_extractor.py sha256=2e_QFcaBbpJmhfLzGMpCX59-UGI1Sj4ftZQGXjedypQ 928
fnllm/openai/types/__init__.py sha256=Vly15Y1EjiMxwvNZahlr18YNFczUsY_npXis6wSTGgA 2922
fnllm/openai/types/aliases.py sha256=9x0mAjUajAUBJFzRni0pOPz-Rz-gYkTV9sS13e0kNhM 7263
fnllm/openai/types/client.py sha256=N0G0FFarNtlQ_I0fmew4CALlLKGzIJzuQhg0xCcOIjU 2391
fnllm/openai/types/chat/__init__.py sha256=votiNwh10gVGaPlLT1eFEyeVxqqymCCkQiKGk71EklY 70
fnllm/openai/types/chat/io.py sha256=pOuh4O4mTIajBZUPUl5w7Ea4-XzsHo2j5j_OIgdaoLA 1903
fnllm/openai/types/chat/parameters.py sha256=NRJVnhRz_25WTPYiw-j8Rn-1ABe4IuEpZZ60EGq4k9E 1757
fnllm/openai/types/embeddings/__init__.py sha256=xrTsBu3xgGUVNglsLsheNu2Rytk6i0jNyOS9xQ-5gsk 76
fnllm/openai/types/embeddings/io.py sha256=a9RZoNmqkgBEUZwnz3wi0T1L06VXjk2V8qPPP4q9Cjk 778
fnllm/openai/types/embeddings/parameters.py sha256=Cr1NdgNPCrOWLa7uewjYbGFl6ssm9SkR4iVBXL0shjg 486
fnllm/services/__init__.py sha256=wotLJk4z8BvoGoTCPzx_mWFs79UgiiH0GIbYZOQq_QI 65
fnllm/services/cache_interactor.py sha256=utpW7Nky_pp17CEaKfYQXoTNWDOtYhSZZuIum0T3ckE 2060
fnllm/services/decorator.py sha256=S6p-dQIGfz529AM1TucMa5JrJCSfn8mWyhSZsGi7Ulc 804
fnllm/services/errors.py sha256=7RA4m0dIiM1CCMVxWUls7gfLY1VqBhW6IsyJdTbCWlo 503
fnllm/services/history_extractor.py sha256=z4yRiavFKVeGWbAlfTg1Ib-3YP_W811udjbh7D99h0k 627
fnllm/services/json.py sha256=NLkzpk9Hjkg0E3uYwLeBFEuBfS_hhFdKsXRpGx3IK7k 10682
fnllm/services/rate_limiter.py sha256=ywk90_sdlhV9TZjnmZCWPNwGiBf2_RL9WiSSyCFYlyo 2649
fnllm/services/retryer.py sha256=IanXDun6Mi_4S9z9Rz16G_c7yyRHAMBHpp2iZDHwnYA 4229
fnllm/services/usage_extractor.py sha256=tdNIkV1R0HsRVtnrI6OaUBIIBsApPMpNumKSK7SgB8Y 543
fnllm/services/variable_injector.py sha256=XBEL77o41PxZS_qJczogRHBf5xWba3HPQVebhEie4ZU 704
fnllm/tools/__init__.py sha256=ZHzFJmVxezCj8TNFKv7BzUB1xsJQRZeyjqYROMe9CFQ 124
fnllm/tools/base.py sha256=XIuhGneMrJKxmaNdAzprRqD_mDbSYq8KvCWz9v3pw9A 2596
fnllm/tools/errors.py sha256=wxwIqlzDhM39S4lEM0WzqlnhKa8GEOw9tOUp4Tz-o28 1605
fnllm/types/__init__.py sha256=aqPxPwpKroPue2H9hO20CwGgx0NmEbx7JWxcvLVBIdQ 891
fnllm/types/generalized.py sha256=yhptWTY0eF2fqy8C3T7Wog7YtxxNL2bReDi3TbeYKZE 1340
fnllm/types/generics.py sha256=4wIC2bTE6bO7pztgrTS5ERVWTFy2P_xEeZHQM-3sEY0 896
fnllm/types/io.py sha256=hi-UY6ptthdH1IcdemarQUiOqMw64ceh2H3_AYUJBqE 2607
fnllm/types/metrics.py sha256=_ZYffuvHXqjDuEJ5KvWU6vpgZqf_LecRGJCEkrt1QH8 1438
fnllm/types/protocol.py sha256=0TT3isCQ3doaOPYl6c1Iv3SXMc1h-xRgflcfYARrNmY 901
fnllm/utils/__init__.py sha256=H4zj8aKCIazN9LA1pRDVGw5nEv-yqICypre5WYrKGGo 68
fnllm/utils/sliding_window.py sha256=alQULQ9tP854H8oUSe31P5x4lkmHfnAdOT0o_VpynaY 3326
fnllm-0.0.15.dist-info/METADATA sha256=XPXBYpf6qofn4CFIDO4bw_NmvXrNW-cnTF3OVinIY1M 2230
fnllm-0.0.15.dist-info/WHEEL sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ 87
fnllm-0.0.15.dist-info/licenses/LICENSE sha256=J-vanVHwpWt-KBzNgjCicjbctRwF9ksHhp7PbpZdaLA 1162
fnllm-0.0.15.dist-info/RECORD