From ec050e5d33bfb578a3bf92d026da60a9b3548c7d Mon Sep 17 00:00:00 2001 From: "Brandon Hancock (bhancock_ai)" <109994880+bhancockio@users.noreply.github.com> Date: Thu, 20 Feb 2025 12:35:39 -0500 Subject: [PATCH 1/7] drop prints (#2181) --- src/crewai/utilities/converter.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/crewai/utilities/converter.py b/src/crewai/utilities/converter.py index f63a53d95..991185f4a 100644 --- a/src/crewai/utilities/converter.py +++ b/src/crewai/utilities/converter.py @@ -216,7 +216,6 @@ def convert_with_instructions( def get_conversion_instructions(model: Type[BaseModel], llm: Any) -> str: instructions = "Please convert the following text into valid JSON." - print("Using function calling: ", llm.supports_function_calling()) if llm.supports_function_calling(): model_schema = PydanticSchemaParser(model=model).get_schema() instructions += ( @@ -225,7 +224,6 @@ def get_conversion_instructions(model: Type[BaseModel], llm: Any) -> str: ) else: model_description = generate_model_description(model) - print("Model description: ", model_description) instructions += ( f"\n\nOutput ONLY the valid JSON and nothing else.\n\n" f"The JSON must follow this format exactly:\n{model_description}" From 96a7e8038fa7c24e5510fdd64f37879a345374c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Moura?= Date: Thu, 20 Feb 2025 21:00:10 -0600 Subject: [PATCH 2/7] cassetes --- .gitignore | 3 +- .../test_converter_with_llama3_1_model.yaml | 1221 ++++++++++++++++- .../test_converter_with_llama3_2_model.yaml | 858 +++++++++++- 3 files changed, 2050 insertions(+), 32 deletions(-) diff --git a/.gitignore b/.gitignore index 947b99b7b..838419e3b 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,5 @@ crew_tasks_output.json .mypy_cache .ruff_cache .venv -agentops.log \ No newline at end of file +agentops.log +test_flow.html \ No newline at end of file diff --git a/tests/utilities/cassettes/test_converter_with_llama3_1_model.yaml b/tests/utilities/cassettes/test_converter_with_llama3_1_model.yaml index d0b4469c6..c63e006d9 100644 --- a/tests/utilities/cassettes/test_converter_with_llama3_1_model.yaml +++ b/tests/utilities/cassettes/test_converter_with_llama3_1_model.yaml @@ -1,36 +1,1225 @@ interactions: +- request: + body: '{"name": "llama3.2:3b"}' + headers: + accept: + - '*/*' + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '23' + content-type: + - application/json + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 + method: POST + uri: http://localhost:11434/api/show + response: + content: "{\"license\":\"LLAMA 3.2 COMMUNITY LICENSE AGREEMENT\\nLlama 3.2 Version + Release Date: September 25, 2024\\n\\n\u201CAgreement\u201D means the terms + and conditions for use, reproduction, distribution \\nand modification of the + Llama Materials set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, + manuals and documentation accompanying Llama 3.2\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are \\nentering into this Agreement on such person or entity\u2019s + behalf), of the age required under\\napplicable laws, rules or regulations to + provide legal consent and that has legal authority\\nto bind your employer or + such other person or entity if you are entering in this Agreement\\non their + behalf.\\n\\n\u201CLlama 3.2\u201D means the foundational large language models + and software and algorithms, including\\nmachine-learning model code, trained + model weights, inference-enabling code, training-enabling code,\\nfine-tuning + enabling code and other elements of the foregoing distributed by Meta at \\nhttps://www.llama.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.2 and Documentation + (and \\nany portion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, \\nif you are an entity, your principal place of business is in the EEA + or Switzerland) \\nand Meta Platforms, Inc. (if you are located outside of the + EEA or Switzerland). \\n\\n\\nBy clicking \u201CI Accept\u201D below or by using + or distributing any portion or element of the Llama Materials,\\nyou agree to + be bound by this Agreement.\\n\\n\\n1. License Rights and Redistribution.\\n\\n + \ a. Grant of Rights. You are granted a non-exclusive, worldwide, \\nnon-transferable + and royalty-free limited license under Meta\u2019s intellectual property or + other rights \\nowned by Meta embodied in the Llama Materials to use, reproduce, + distribute, copy, create derivative works \\nof, and make modifications to the + Llama Materials. \\n\\n b. Redistribution and Use. \\n\\n i. If + you distribute or make available the Llama Materials (or any derivative works + thereof), \\nor a product or service (including another AI model) that contains + any of them, you shall (A) provide\\na copy of this Agreement with any such + Llama Materials; and (B) prominently display \u201CBuilt with Llama\u201D\\non + a related website, user interface, blogpost, about page, or product documentation. + If you use the\\nLlama Materials or any outputs or results of the Llama Materials + to create, train, fine tune, or\\notherwise improve an AI model, which is distributed + or made available, you shall also include \u201CLlama\u201D\\nat the beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, + or any derivative works thereof, from a Licensee as part\\nof an integrated + end user product, then Section 2 of this Agreement will not apply to you. \\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the \\nfollowing attribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \\n\u201CLlama 3.2 is licensed under the Llama 3.2 + Community License, Copyright \xA9 Meta Platforms,\\nInc. All Rights Reserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws + and regulations\\n(including trade compliance laws and regulations) and adhere + to the Acceptable Use Policy for\\nthe Llama Materials (available at https://www.llama.com/llama3_2/use-policy), + which is hereby \\nincorporated by reference into this Agreement.\\n \\n2. + Additional Commercial Terms. If, on the Llama 3.2 version release date, the + monthly active users\\nof the products or services made available by or for + Licensee, or Licensee\u2019s affiliates, \\nis greater than 700 million monthly + active users in the preceding calendar month, you must request \\na license + from Meta, which Meta may grant to you in its sole discretion, and you are not + authorized to\\nexercise any of the rights under this Agreement unless or until + Meta otherwise expressly grants you such rights.\\n\\n3. Disclaimer of Warranty. + UNLESS REQUIRED BY APPLICABLE LAW, THE LLAMA MATERIALS AND ANY OUTPUT AND \\nRESULTS + THEREFROM ARE PROVIDED ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF + ANY KIND, AND META DISCLAIMS\\nALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES\\nOF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE\\nFOR + DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE LLAMA MATERIALS + AND ASSUME ANY RISKS ASSOCIATED\\nWITH YOUR USE OF THE LLAMA MATERIALS AND ANY + OUTPUT AND RESULTS.\\n\\n4. Limitation of Liability. IN NO EVENT WILL META OR + ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, \\nWHETHER IN CONTRACT, + TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, + \\nFOR ANY LOST PROFITS OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, + EXEMPLARY OR PUNITIVE DAMAGES, EVEN \\nIF META OR ITS AFFILIATES HAVE BEEN ADVISED + OF THE POSSIBILITY OF ANY OF THE FOREGOING.\\n\\n5. Intellectual Property.\\n\\n + \ a. No trademark licenses are granted under this Agreement, and in connection + with the Llama Materials, \\nneither Meta nor Licensee may use any name or mark + owned by or associated with the other or any of its affiliates, \\nexcept as + required for reasonable and customary use in describing and redistributing the + Llama Materials or as \\nset forth in this Section 5(a). Meta hereby grants + you a license to use \u201CLlama\u201D (the \u201CMark\u201D) solely as required + \\nto comply with the last sentence of Section 1.b.i. You will comply with Meta\u2019s + brand guidelines (currently accessible \\nat https://about.meta.com/brand/resources/meta/company-brand/). + All goodwill arising out of your use of the Mark \\nwill inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and + derivatives made by or for Meta, with respect to any\\n derivative works + and modifications of the Llama Materials that are made by you, as between you + and Meta,\\n you are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any + entity (including a cross-claim or\\n counterclaim in a lawsuit) alleging + that the Llama Materials or Llama 3.2 outputs or results, or any portion\\n + \ of any of the foregoing, constitutes infringement of intellectual property + or other rights owned or licensable\\n by you, then any licenses granted + to you under this Agreement shall terminate as of the date such litigation or\\n + \ claim is filed or instituted. You will indemnify and hold harmless Meta + from and against any claim by any third\\n party arising out of or related + to your use or distribution of the Llama Materials.\\n\\n6. Term and Termination. + The term of this Agreement will commence upon your acceptance of this Agreement + or access\\nto the Llama Materials and will continue in full force and effect + until terminated in accordance with the terms\\nand conditions herein. Meta + may terminate this Agreement if you are in breach of any term or condition of + this\\nAgreement. Upon termination of this Agreement, you shall delete and cease + use of the Llama Materials. Sections 3,\\n4 and 7 shall survive the termination + of this Agreement. \\n\\n7. Governing Law and Jurisdiction. This Agreement will + be governed and construed under the laws of the State of \\nCalifornia without + regard to choice of law principles, and the UN Convention on Contracts for the + International\\nSale of Goods does not apply to this Agreement. The courts of + California shall have exclusive jurisdiction of\\nany dispute arising out of + this Agreement.\\n**Llama 3.2** **Acceptable Use Policy**\\n\\nMeta is committed + to promoting safe and fair use of its tools and features, including Llama 3.2. + If you access or use Llama 3.2, you agree to this Acceptable Use Policy (\u201C**Policy**\u201D). + The most recent copy of this policy can be found at [https://www.llama.com/llama3_2/use-policy](https://www.llama.com/llama3_2/use-policy).\\n\\n**Prohibited + Uses**\\n\\nWe want everyone to use Llama 3.2 safely and responsibly. You agree + you will not use, or allow others to use, Llama 3.2 to:\\n\\n\\n\\n1. Violate + the law or others\u2019 rights, including to:\\n 1. Engage in, promote, generate, + contribute to, encourage, plan, incite, or further illegal or unlawful activity + or content, such as:\\n 1. Violence or terrorism\\n 2. Exploitation + or harm to children, including the solicitation, creation, acquisition, or dissemination + of child exploitative content or failure to report Child Sexual Abuse Material\\n + \ 3. Human trafficking, exploitation, and sexual violence\\n 4. + The illegal distribution of information or materials to minors, including obscene + materials, or failure to employ legally required age-gating in connection with + such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 1. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 2. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 3. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 4. Collect, process, disclose, generate, + or infer private or sensitive information about individuals, including information + about individuals\u2019 identity, health, or demographic information, unless + you have obtained the right to do so in accordance with applicable law\\n 5. + Engage in or facilitate any action or generate any content that infringes, misappropriates, + or otherwise violates any third-party rights, including the outputs or results + of any products or services using the Llama Materials\\n 6. Create, generate, + or facilitate the creation of malicious code, malware, computer viruses or do + anything else that could disable, overburden, interfere with or impair the proper + working, integrity, operation or appearance of a website or computer system\\n + \ 7. Engage in any action, or facilitate any action, to intentionally circumvent + or remove usage restrictions or other safety measures, or to enable functionality + disabled by Meta\\n2. Engage in, promote, incite, facilitate, or assist in the + planning or development of activities that present a risk of death or bodily + harm to individuals, including use of Llama 3.2 related to the following:\\n + \ 8. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State or to + the U.S. Biological Weapons Anti-Terrorism Act of 1989 or the Chemical Weapons + Convention Implementation Act of 1997\\n 9. Guns and illegal weapons (including + weapon development)\\n 10. Illegal drugs and regulated/controlled substances\\n + \ 11. Operation of critical infrastructure, transportation technologies, or + heavy machinery\\n 12. Self-harm or harm to others, including suicide, cutting, + and eating disorders\\n 13. Any content intended to incite or promote violence, + abuse, or any infliction of bodily harm to an individual\\n3. Intentionally + deceive or mislead others, including use of Llama 3.2 related to the following:\\n + \ 14. Generating, promoting, or furthering fraud or the creation or promotion + of disinformation\\n 15. Generating, promoting, or furthering defamatory + content, including the creation of defamatory statements, images, or other content\\n + \ 16. Generating, promoting, or further distributing spam\\n 17. Impersonating + another individual without consent, authorization, or legal right\\n 18. + Representing that the use of Llama 3.2 or outputs are human-generated\\n 19. + Generating or facilitating false online engagement, including fake reviews and + other means of fake online engagement\\n4. Fail to appropriately disclose to + end users any known dangers of your AI system\\n5. Interact with third party + tools, models, or software designed to generate unlawful content or engage in + unlawful or harmful conduct and/or represent that the outputs of such tools, + models, or software are associated with Meta or Llama 3.2\\n\\nWith respect + to any multimodal models included in Llama 3.2, the rights granted under Section + 1(a) of the Llama 3.2 Community License Agreement are not being granted to you + if you are an individual domiciled in, or a company with a principal place of + business in, the European Union. This restriction does not apply to end users + of a product or service that incorporates any such multimodal models.\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation of this Policy through one of the following means:\\n\\n\\n\\n* + Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://l.workplace.com/l.php?u=https%3A%2F%2Fgithub.com%2Fmeta-llama%2Fllama-models%2Fissues\\u0026h=AT0qV8W9BFT6NwihiOHRuKYQM_UnkzN_NmHMy91OT55gkLpgi4kQupHUl0ssR4dQsIQ8n3tfd0vtkobvsEvt1l4Ic6GXI2EeuHV8N08OG2WnbAmm0FL4ObkazC6G_256vN0lN9DsykCvCqGZ)\\n* + Reporting risky content generated by the model: [developers.facebook.com/llama_output_feedback](http://developers.facebook.com/llama_output_feedback)\\n* + Reporting bugs and security concerns: [facebook.com/whitehat/info](http://facebook.com/whitehat/info)\\n* + Reporting violations of the Acceptable Use Policy or unlicensed uses of Llama + 3.2: LlamaUseReport@meta.com\",\"modelfile\":\"# Modelfile generated by \\\"ollama + show\\\"\\n# To build a new Modelfile based on this, replace FROM with:\\n# + FROM llama3.2:3b\\n\\nFROM /Users/joaomoura/.ollama/models/blobs/sha256-dde5aa3fc5ffc17176b5e8bdc82f587b24b2678c6c66101bf7da77af9f7ccdff\\nTEMPLATE + \\\"\\\"\\\"\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n\\nCutting + Knowledge Date: December 2023\\n\\n{{ if .System }}{{ .System }}\\n{{- end }}\\n{{- + if .Tools }}When you receive a tool call response, use the output to format + an answer to the orginal user question.\\n\\nYou are a helpful assistant with + tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- range $i, + $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages $i)) 1 }}\\n{{- + if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\\\"\\\"\\\"\\nPARAMETER stop \\u003c|start_header_id|\\u003e\\nPARAMETER + stop \\u003c|end_header_id|\\u003e\\nPARAMETER stop \\u003c|eot_id|\\u003e\\nLICENSE + \\\"LLAMA 3.2 COMMUNITY LICENSE AGREEMENT\\nLlama 3.2 Version Release Date: + September 25, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions + for use, reproduction, distribution \\nand modification of the Llama Materials + set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.2\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are \\nentering into this Agreement on such person or entity\u2019s + behalf), of the age required under\\napplicable laws, rules or regulations to + provide legal consent and that has legal authority\\nto bind your employer or + such other person or entity if you are entering in this Agreement\\non their + behalf.\\n\\n\u201CLlama 3.2\u201D means the foundational large language models + and software and algorithms, including\\nmachine-learning model code, trained + model weights, inference-enabling code, training-enabling code,\\nfine-tuning + enabling code and other elements of the foregoing distributed by Meta at \\nhttps://www.llama.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.2 and Documentation + (and \\nany portion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, \\nif you are an entity, your principal place of business is in the EEA + or Switzerland) \\nand Meta Platforms, Inc. (if you are located outside of the + EEA or Switzerland). \\n\\n\\nBy clicking \u201CI Accept\u201D below or by using + or distributing any portion or element of the Llama Materials,\\nyou agree to + be bound by this Agreement.\\n\\n\\n1. License Rights and Redistribution.\\n\\n + \ a. Grant of Rights. You are granted a non-exclusive, worldwide, \\nnon-transferable + and royalty-free limited license under Meta\u2019s intellectual property or + other rights \\nowned by Meta embodied in the Llama Materials to use, reproduce, + distribute, copy, create derivative works \\nof, and make modifications to the + Llama Materials. \\n\\n b. Redistribution and Use. \\n\\n i. If + you distribute or make available the Llama Materials (or any derivative works + thereof), \\nor a product or service (including another AI model) that contains + any of them, you shall (A) provide\\na copy of this Agreement with any such + Llama Materials; and (B) prominently display \u201CBuilt with Llama\u201D\\non + a related website, user interface, blogpost, about page, or product documentation. + If you use the\\nLlama Materials or any outputs or results of the Llama Materials + to create, train, fine tune, or\\notherwise improve an AI model, which is distributed + or made available, you shall also include \u201CLlama\u201D\\nat the beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, + or any derivative works thereof, from a Licensee as part\\nof an integrated + end user product, then Section 2 of this Agreement will not apply to you. \\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the \\nfollowing attribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \\n\u201CLlama 3.2 is licensed under the Llama 3.2 + Community License, Copyright \xA9 Meta Platforms,\\nInc. All Rights Reserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws + and regulations\\n(including trade compliance laws and regulations) and adhere + to the Acceptable Use Policy for\\nthe Llama Materials (available at https://www.llama.com/llama3_2/use-policy), + which is hereby \\nincorporated by reference into this Agreement.\\n \\n2. + Additional Commercial Terms. If, on the Llama 3.2 version release date, the + monthly active users\\nof the products or services made available by or for + Licensee, or Licensee\u2019s affiliates, \\nis greater than 700 million monthly + active users in the preceding calendar month, you must request \\na license + from Meta, which Meta may grant to you in its sole discretion, and you are not + authorized to\\nexercise any of the rights under this Agreement unless or until + Meta otherwise expressly grants you such rights.\\n\\n3. Disclaimer of Warranty. + UNLESS REQUIRED BY APPLICABLE LAW, THE LLAMA MATERIALS AND ANY OUTPUT AND \\nRESULTS + THEREFROM ARE PROVIDED ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF + ANY KIND, AND META DISCLAIMS\\nALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES\\nOF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE\\nFOR + DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE LLAMA MATERIALS + AND ASSUME ANY RISKS ASSOCIATED\\nWITH YOUR USE OF THE LLAMA MATERIALS AND ANY + OUTPUT AND RESULTS.\\n\\n4. Limitation of Liability. IN NO EVENT WILL META OR + ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, \\nWHETHER IN CONTRACT, + TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, + \\nFOR ANY LOST PROFITS OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, + EXEMPLARY OR PUNITIVE DAMAGES, EVEN \\nIF META OR ITS AFFILIATES HAVE BEEN ADVISED + OF THE POSSIBILITY OF ANY OF THE FOREGOING.\\n\\n5. Intellectual Property.\\n\\n + \ a. No trademark licenses are granted under this Agreement, and in connection + with the Llama Materials, \\nneither Meta nor Licensee may use any name or mark + owned by or associated with the other or any of its affiliates, \\nexcept as + required for reasonable and customary use in describing and redistributing the + Llama Materials or as \\nset forth in this Section 5(a). Meta hereby grants + you a license to use \u201CLlama\u201D (the \u201CMark\u201D) solely as required + \\nto comply with the last sentence of Section 1.b.i. You will comply with Meta\u2019s + brand guidelines (currently accessible \\nat https://about.meta.com/brand/resources/meta/company-brand/). + All goodwill arising out of your use of the Mark \\nwill inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and + derivatives made by or for Meta, with respect to any\\n derivative works + and modifications of the Llama Materials that are made by you, as between you + and Meta,\\n you are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any + entity (including a cross-claim or\\n counterclaim in a lawsuit) alleging + that the Llama Materials or Llama 3.2 outputs or results, or any portion\\n + \ of any of the foregoing, constitutes infringement of intellectual property + or other rights owned or licensable\\n by you, then any licenses granted + to you under this Agreement shall terminate as of the date such litigation or\\n + \ claim is filed or instituted. You will indemnify and hold harmless Meta + from and against any claim by any third\\n party arising out of or related + to your use or distribution of the Llama Materials.\\n\\n6. Term and Termination. + The term of this Agreement will commence upon your acceptance of this Agreement + or access\\nto the Llama Materials and will continue in full force and effect + until terminated in accordance with the terms\\nand conditions herein. Meta + may terminate this Agreement if you are in breach of any term or condition of + this\\nAgreement. Upon termination of this Agreement, you shall delete and cease + use of the Llama Materials. Sections 3,\\n4 and 7 shall survive the termination + of this Agreement. \\n\\n7. Governing Law and Jurisdiction. This Agreement will + be governed and construed under the laws of the State of \\nCalifornia without + regard to choice of law principles, and the UN Convention on Contracts for the + International\\nSale of Goods does not apply to this Agreement. The courts of + California shall have exclusive jurisdiction of\\nany dispute arising out of + this Agreement.\\\"\\nLICENSE \\\"**Llama 3.2** **Acceptable Use Policy**\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.2. If you access or use Llama 3.2, you agree to this Acceptable Use + Policy (\u201C**Policy**\u201D). The most recent copy of this policy can be + found at [https://www.llama.com/llama3_2/use-policy](https://www.llama.com/llama3_2/use-policy).\\n\\n**Prohibited + Uses**\\n\\nWe want everyone to use Llama 3.2 safely and responsibly. You agree + you will not use, or allow others to use, Llama 3.2 to:\\n\\n\\n\\n1. Violate + the law or others\u2019 rights, including to:\\n 1. Engage in, promote, generate, + contribute to, encourage, plan, incite, or further illegal or unlawful activity + or content, such as:\\n 1. Violence or terrorism\\n 2. Exploitation + or harm to children, including the solicitation, creation, acquisition, or dissemination + of child exploitative content or failure to report Child Sexual Abuse Material\\n + \ 3. Human trafficking, exploitation, and sexual violence\\n 4. + The illegal distribution of information or materials to minors, including obscene + materials, or failure to employ legally required age-gating in connection with + such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 1. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 2. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 3. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 4. Collect, process, disclose, generate, + or infer private or sensitive information about individuals, including information + about individuals\u2019 identity, health, or demographic information, unless + you have obtained the right to do so in accordance with applicable law\\n 5. + Engage in or facilitate any action or generate any content that infringes, misappropriates, + or otherwise violates any third-party rights, including the outputs or results + of any products or services using the Llama Materials\\n 6. Create, generate, + or facilitate the creation of malicious code, malware, computer viruses or do + anything else that could disable, overburden, interfere with or impair the proper + working, integrity, operation or appearance of a website or computer system\\n + \ 7. Engage in any action, or facilitate any action, to intentionally circumvent + or remove usage restrictions or other safety measures, or to enable functionality + disabled by Meta\\n2. Engage in, promote, incite, facilitate, or assist in the + planning or development of activities that present a risk of death or bodily + harm to individuals, including use of Llama 3.2 related to the following:\\n + \ 8. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State or to + the U.S. Biological Weapons Anti-Terrorism Act of 1989 or the Chemical Weapons + Convention Implementation Act of 1997\\n 9. Guns and illegal weapons (including + weapon development)\\n 10. Illegal drugs and regulated/controlled substances\\n + \ 11. Operation of critical infrastructure, transportation technologies, or + heavy machinery\\n 12. Self-harm or harm to others, including suicide, cutting, + and eating disorders\\n 13. Any content intended to incite or promote violence, + abuse, or any infliction of bodily harm to an individual\\n3. Intentionally + deceive or mislead others, including use of Llama 3.2 related to the following:\\n + \ 14. Generating, promoting, or furthering fraud or the creation or promotion + of disinformation\\n 15. Generating, promoting, or furthering defamatory + content, including the creation of defamatory statements, images, or other content\\n + \ 16. Generating, promoting, or further distributing spam\\n 17. Impersonating + another individual without consent, authorization, or legal right\\n 18. + Representing that the use of Llama 3.2 or outputs are human-generated\\n 19. + Generating or facilitating false online engagement, including fake reviews and + other means of fake online engagement\\n4. Fail to appropriately disclose to + end users any known dangers of your AI system\\n5. Interact with third party + tools, models, or software designed to generate unlawful content or engage in + unlawful or harmful conduct and/or represent that the outputs of such tools, + models, or software are associated with Meta or Llama 3.2\\n\\nWith respect + to any multimodal models included in Llama 3.2, the rights granted under Section + 1(a) of the Llama 3.2 Community License Agreement are not being granted to you + if you are an individual domiciled in, or a company with a principal place of + business in, the European Union. This restriction does not apply to end users + of a product or service that incorporates any such multimodal models.\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation of this Policy through one of the following means:\\n\\n\\n\\n* + Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://l.workplace.com/l.php?u=https%3A%2F%2Fgithub.com%2Fmeta-llama%2Fllama-models%2Fissues\\u0026h=AT0qV8W9BFT6NwihiOHRuKYQM_UnkzN_NmHMy91OT55gkLpgi4kQupHUl0ssR4dQsIQ8n3tfd0vtkobvsEvt1l4Ic6GXI2EeuHV8N08OG2WnbAmm0FL4ObkazC6G_256vN0lN9DsykCvCqGZ)\\n* + Reporting risky content generated by the model: [developers.facebook.com/llama_output_feedback](http://developers.facebook.com/llama_output_feedback)\\n* + Reporting bugs and security concerns: [facebook.com/whitehat/info](http://facebook.com/whitehat/info)\\n* + Reporting violations of the Acceptable Use Policy or unlicensed uses of Llama + 3.2: LlamaUseReport@meta.com\\\"\\n\",\"parameters\":\"stop \\\"\\u003c|start_header_id|\\u003e\\\"\\nstop + \ \\\"\\u003c|end_header_id|\\u003e\\\"\\nstop \\\"\\u003c|eot_id|\\u003e\\\"\",\"template\":\"\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n\\nCutting + Knowledge Date: December 2023\\n\\n{{ if .System }}{{ .System }}\\n{{- end }}\\n{{- + if .Tools }}When you receive a tool call response, use the output to format + an answer to the orginal user question.\\n\\nYou are a helpful assistant with + tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- range $i, + $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages $i)) 1 }}\\n{{- + if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\",\"details\":{\"parent_model\":\"\",\"format\":\"gguf\",\"family\":\"llama\",\"families\":[\"llama\"],\"parameter_size\":\"3.2B\",\"quantization_level\":\"Q4_K_M\"},\"model_info\":{\"general.architecture\":\"llama\",\"general.basename\":\"Llama-3.2\",\"general.file_type\":15,\"general.finetune\":\"Instruct\",\"general.languages\":[\"en\",\"de\",\"fr\",\"it\",\"pt\",\"hi\",\"es\",\"th\"],\"general.parameter_count\":3212749888,\"general.quantization_version\":2,\"general.size_label\":\"3B\",\"general.tags\":[\"facebook\",\"meta\",\"pytorch\",\"llama\",\"llama-3\",\"text-generation\"],\"general.type\":\"model\",\"llama.attention.head_count\":24,\"llama.attention.head_count_kv\":8,\"llama.attention.key_length\":128,\"llama.attention.layer_norm_rms_epsilon\":0.00001,\"llama.attention.value_length\":128,\"llama.block_count\":28,\"llama.context_length\":131072,\"llama.embedding_length\":3072,\"llama.feed_forward_length\":8192,\"llama.rope.dimension_count\":128,\"llama.rope.freq_base\":500000,\"llama.vocab_size\":128256,\"tokenizer.ggml.bos_token_id\":128000,\"tokenizer.ggml.eos_token_id\":128009,\"tokenizer.ggml.merges\":null,\"tokenizer.ggml.model\":\"gpt2\",\"tokenizer.ggml.pre\":\"llama-bpe\",\"tokenizer.ggml.token_type\":null,\"tokenizer.ggml.tokens\":null},\"modified_at\":\"2025-02-20T18:55:09.150577031-08:00\"}" + headers: + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 21 Feb 2025 02:57:55 GMT + Transfer-Encoding: + - chunked + http_version: HTTP/1.1 + status_code: 200 - request: body: '{"model": "llama3.1", "prompt": "### System:\nPlease convert the following text into valid JSON.\n\nOutput ONLY the valid JSON and nothing else.\n\nThe JSON must follow this format exactly:\n{\n \"name\": str,\n \"age\": int\n}\n\n### User:\nName: Alice Llama, Age: 30\n\n", "options": {"stop": []}, "stream": false}' headers: - Accept: + accept: - '*/*' - Accept-Encoding: + accept-encoding: - gzip, deflate - Connection: + connection: - keep-alive - Content-Length: + content-length: - '318' - Content-Type: - - application/json - User-Agent: - - python-requests/2.32.2 + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 method: POST uri: http://localhost:11434/api/generate response: - body: - string: '{"model":"llama3.1","created_at":"2025-02-18T21:52:24.555211Z","response":"{\n \"name\": - \"Alice Llama\", \n \"age\": 30\n}","done":true,"done_reason":"stop","context":[128006,882,128007,271,14711,744,512,5618,5625,279,2768,1495,1139,2764,4823,382,5207,27785,279,2764,4823,323,4400,775,382,791,4823,2011,1833,420,3645,7041,512,517,220,330,609,794,610,345,220,330,425,794,528,198,633,14711,2724,512,678,25,30505,445,81101,11,13381,25,220,966,271,128009,128006,78191,128007,271,517,220,330,609,794,330,62786,445,81101,498,720,220,330,425,794,220,966,198,92],"total_duration":3449060375,"load_duration":806464375,"prompt_eval_count":67,"prompt_eval_duration":2065000000,"eval_count":20,"eval_duration":576000000}' + content: '{"model":"llama3.1","created_at":"2025-02-21T02:58:15.591873Z","response":"```\n{\n \"name\": + \"Alice Llama\",\n \"age\": 30\n}\n```","done":true,"done_reason":"stop","context":[128006,882,128007,271,14711,744,512,5618,5625,279,2768,1495,1139,2764,4823,382,5207,27785,279,2764,4823,323,4400,775,382,791,4823,2011,1833,420,3645,7041,512,517,220,330,609,794,610,345,220,330,425,794,528,198,633,14711,2724,512,678,25,30505,445,81101,11,13381,25,220,966,271,128009,128006,78191,128007,271,14196,4077,517,220,330,609,794,330,62786,445,81101,761,220,330,425,794,220,966,198,534,74694],"total_duration":20230916375,"load_duration":11878250500,"prompt_eval_count":67,"prompt_eval_duration":7472000000,"eval_count":22,"eval_duration":877000000}' headers: Content-Length: - - '711' + - '737' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 18 Feb 2025 21:52:24 GMT - status: - code: 200 - message: OK + - Fri, 21 Feb 2025 02:58:15 GMT + http_version: HTTP/1.1 + status_code: 200 +- request: + body: '{"name": "llama3.1"}' + headers: + accept: + - '*/*' + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '20' + content-type: + - application/json + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 + method: POST + uri: http://localhost:11434/api/show + response: + content: "{\"license\":\"LLAMA 3.1 COMMUNITY LICENSE AGREEMENT\\nLlama 3.1 Version + Release Date: July 23, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions + for use, reproduction, distribution and modification of the\\nLlama Materials + set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.1\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are entering into\\nthis Agreement on such person or entity\u2019s behalf), + of the age required under applicable laws, rules or\\nregulations to provide + legal consent and that has legal authority to bind your employer or such other\\nperson + or entity if you are entering in this Agreement on their behalf.\\n\\n\u201CLlama + 3.1\u201D means the foundational large language models and software and algorithms, + including\\nmachine-learning model code, trained model weights, inference-enabling + code, training-enabling code,\\nfine-tuning enabling code and other elements + of the foregoing distributed by Meta at\\nhttps://llama.meta.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.1 and Documentation + (and any\\nportion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, if you are an entity, your\\nprincipal place of business is in the EEA or + Switzerland) and Meta Platforms, Inc. (if you are located\\noutside of the EEA + or Switzerland).\\n\\nBy clicking \u201CI Accept\u201D below or by using or + distributing any portion or element of the Llama Materials,\\nyou agree to be + bound by this Agreement.\\n\\n1. License Rights and Redistribution.\\n\\n a. + Grant of Rights. You are granted a non-exclusive, worldwide, non-transferable + and royalty-free\\nlimited license under Meta\u2019s intellectual property or + other rights owned by Meta embodied in the Llama\\nMaterials to use, reproduce, + distribute, copy, create derivative works of, and make modifications to the\\nLlama + Materials.\\n\\n b. Redistribution and Use.\\n\\n i. If you distribute + or make available the Llama Materials (or any derivative works\\nthereof), or + a product or service (including another AI model) that contains any of them, + you shall (A)\\nprovide a copy of this Agreement with any such Llama Materials; + and (B) prominently display \u201CBuilt with\\nLlama\u201D on a related website, + user interface, blogpost, about page, or product documentation. If you use\\nthe + Llama Materials or any outputs or results of the Llama Materials to create, + train, fine tune, or\\notherwise improve an AI model, which is distributed or + made available, you shall also include \u201CLlama\u201D at\\nthe beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, or + any derivative works thereof, from a Licensee as part \\nof an integrated end + user product, then Section 2 of this Agreement will not apply to you.\\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the following\\nattribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \u201CLlama 3.1 is\\nlicensed under the Llama 3.1 + Community License, Copyright \xA9 Meta Platforms, Inc. All Rights\\nReserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws and + regulations\\n(including trade compliance laws and regulations) and adhere to + the Acceptable Use Policy for the Llama\\nMaterials (available at https://llama.meta.com/llama3_1/use-policy), + which is hereby incorporated by\\nreference into this Agreement.\\n\\n2. Additional + Commercial Terms. If, on the Llama 3.1 version release date, the monthly active + users\\nof the products or services made available by or for Licensee, or Licensee\u2019s + affiliates, is greater than 700\\nmillion monthly active users in the preceding + calendar month, you must request a license from Meta,\\nwhich Meta may grant + to you in its sole discretion, and you are not authorized to exercise any of + the\\nrights under this Agreement unless or until Meta otherwise expressly grants + you such rights.\\n\\n3. Disclaimer of Warranty. UNLESS REQUIRED BY APPLICABLE + LAW, THE LLAMA MATERIALS AND ANY\\nOUTPUT AND RESULTS THEREFROM ARE PROVIDED + ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF\\nANY KIND, AND META DISCLAIMS + ALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND IMPLIED,\\nINCLUDING, WITHOUT LIMITATION, + ANY WARRANTIES OF TITLE, NON-INFRINGEMENT,\\nMERCHANTABILITY, OR FITNESS FOR + A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR\\nDETERMINING THE APPROPRIATENESS + OF USING OR REDISTRIBUTING THE LLAMA MATERIALS AND\\nASSUME ANY RISKS ASSOCIATED + WITH YOUR USE OF THE LLAMA MATERIALS AND ANY OUTPUT AND\\nRESULTS.\\n\\n4. Limitation + of Liability. IN NO EVENT WILL META OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY + OF\\nLIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR + OTHERWISE, ARISING\\nOUT OF THIS AGREEMENT, FOR ANY LOST PROFITS OR ANY INDIRECT, + SPECIAL, CONSEQUENTIAL,\\nINCIDENTAL, EXEMPLARY OR PUNITIVE DAMAGES, EVEN IF + META OR ITS AFFILIATES HAVE BEEN ADVISED\\nOF THE POSSIBILITY OF ANY OF THE + FOREGOING.\\n\\n5. Intellectual Property.\\n\\n a. No trademark licenses are + granted under this Agreement, and in connection with the Llama\\nMaterials, + neither Meta nor Licensee may use any name or mark owned by or associated with + the other\\nor any of its affiliates, except as required for reasonable and + customary use in describing and\\nredistributing the Llama Materials or as set + forth in this Section 5(a). Meta hereby grants you a license to\\nuse \u201CLlama\u201D + (the \u201CMark\u201D) solely as required to comply with the last sentence of + Section 1.b.i. You will\\ncomply with Meta\u2019s brand guidelines (currently + accessible at\\nhttps://about.meta.com/brand/resources/meta/company-brand/ ). + All goodwill arising out of your use\\nof the Mark will inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and derivatives + made by or for Meta, with\\nrespect to any derivative works and modifications + of the Llama Materials that are made by you, as\\nbetween you and Meta, you + are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any entity + (including a\\ncross-claim or counterclaim in a lawsuit) alleging that the Llama + Materials or Llama 3.1 outputs or\\nresults, or any portion of any of the foregoing, + constitutes infringement of intellectual property or other\\nrights owned or + licensable by you, then any licenses granted to you under this Agreement shall\\nterminate + as of the date such litigation or claim is filed or instituted. You will indemnify + and hold\\nharmless Meta from and against any claim by any third party arising + out of or related to your use or\\ndistribution of the Llama Materials.\\n\\n6. + Term and Termination. The term of this Agreement will commence upon your acceptance + of this\\nAgreement or access to the Llama Materials and will continue in full + force and effect until terminated in\\naccordance with the terms and conditions + herein. Meta may terminate this Agreement if you are in\\nbreach of any term + or condition of this Agreement. Upon termination of this Agreement, you shall + delete\\nand cease use of the Llama Materials. Sections 3, 4 and 7 shall survive + the termination of this\\nAgreement.\\n\\n7. Governing Law and Jurisdiction. + This Agreement will be governed and construed under the laws of\\nthe State + of California without regard to choice of law principles, and the UN Convention + on Contracts\\nfor the International Sale of Goods does not apply to this Agreement. + The courts of California shall have\\nexclusive jurisdiction of any dispute + arising out of this Agreement.\\n\\n# Llama 3.1 Acceptable Use Policy\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.1. If you\\naccess or use Llama 3.1, you agree to this Acceptable Use + Policy (\u201CPolicy\u201D). The most recent copy of\\nthis policy can be found + at [https://llama.meta.com/llama3_1/use-policy](https://llama.meta.com/llama3_1/use-policy)\\n\\n## + Prohibited Uses\\n\\nWe want everyone to use Llama 3.1 safely and responsibly. + You agree you will not use, or allow\\nothers to use, Llama 3.1 to:\\n\\n1. + Violate the law or others\u2019 rights, including to:\\n 1. Engage in, promote, + generate, contribute to, encourage, plan, incite, or further illegal or unlawful + activity or content, such as:\\n 1. Violence or terrorism\\n 2. + Exploitation or harm to children, including the solicitation, creation, acquisition, + or dissemination of child exploitative content or failure to report Child Sexual + Abuse Material\\n 3. Human trafficking, exploitation, and sexual violence\\n + \ 4. The illegal distribution of information or materials to minors, including + obscene materials, or failure to employ legally required age-gating in connection + with such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 3. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 4. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 5. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 6. Collect, process, disclose, generate, + or infer health, demographic, or other sensitive personal or private information + about individuals without rights and consents required by applicable laws\\n + \ 7. Engage in or facilitate any action or generate any content that infringes, + misappropriates, or otherwise violates any third-party rights, including the + outputs or results of any products or services using the Llama Materials\\n + \ 8. Create, generate, or facilitate the creation of malicious code, malware, + computer viruses or do anything else that could disable, overburden, interfere + with or impair the proper working, integrity, operation or appearance of a website + or computer system\\n\\n2. Engage in, promote, incite, facilitate, or assist + in the planning or development of activities that present a risk of death or + bodily harm to individuals, including use of Llama 3.1 related to the following:\\n + \ 1. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State\\n 2. + Guns and illegal weapons (including weapon development)\\n 3. Illegal drugs + and regulated/controlled substances\\n 4. Operation of critical infrastructure, + transportation technologies, or heavy machinery\\n 5. Self-harm or harm to + others, including suicide, cutting, and eating disorders\\n 6. Any content + intended to incite or promote violence, abuse, or any infliction of bodily harm + to an individual\\n\\n3. Intentionally deceive or mislead others, including + use of Llama 3.1 related to the following:\\n 1. Generating, promoting, or + furthering fraud or the creation or promotion of disinformation\\n 2. Generating, + promoting, or furthering defamatory content, including the creation of defamatory + statements, images, or other content\\n 3. Generating, promoting, or further + distributing spam\\n 4. Impersonating another individual without consent, + authorization, or legal right\\n 5. Representing that the use of Llama 3.1 + or outputs are human-generated\\n 6. Generating or facilitating false online + engagement, including fake reviews and other means of fake online engagement\\n\\n4. + Fail to appropriately disclose to end users any known dangers of your AI system\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation\\nof this Policy through one of the following + means:\\n\\n* Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://github.com/meta-llama/llama-models/issues)\\n* + Reporting risky content generated by the model: developers.facebook.com/llama_output_feedback\\n* + Reporting bugs and security concerns: facebook.com/whitehat/info\\n* Reporting + violations of the Acceptable Use Policy or unlicensed uses of Llama 3.1: LlamaUseReport@meta.com\",\"modelfile\":\"# + Modelfile generated by \\\"ollama show\\\"\\n# To build a new Modelfile based + on this, replace FROM with:\\n# FROM llama3.1:latest\\n\\nFROM /Users/joaomoura/.ollama/models/blobs/sha256-667b0c1932bc6ffc593ed1d03f895bf2dc8dc6df21db3042284a6f4416b06a29\\nTEMPLATE + \\\"\\\"\\\"{{- if or .System .Tools }}\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n{{- + if .System }}\\n\\n{{ .System }}\\n{{- end }}\\n{{- if .Tools }}\\n\\nCutting + Knowledge Date: December 2023\\n\\nWhen you receive a tool call response, use + the output to format an answer to the orginal user question.\\n\\nYou are a + helpful assistant with tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- + end }}\\n{{- range $i, $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages + $i)) 1 }}\\n{{- if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\nQuestion: {{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\\\"\\\"\\\"\\nPARAMETER stop \\u003c|start_header_id|\\u003e\\nPARAMETER + stop \\u003c|end_header_id|\\u003e\\nPARAMETER stop \\u003c|eot_id|\\u003e\\nLICENSE + \\\"LLAMA 3.1 COMMUNITY LICENSE AGREEMENT\\nLlama 3.1 Version Release Date: + July 23, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions for + use, reproduction, distribution and modification of the\\nLlama Materials set + forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.1\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are entering into\\nthis Agreement on such person or entity\u2019s behalf), + of the age required under applicable laws, rules or\\nregulations to provide + legal consent and that has legal authority to bind your employer or such other\\nperson + or entity if you are entering in this Agreement on their behalf.\\n\\n\u201CLlama + 3.1\u201D means the foundational large language models and software and algorithms, + including\\nmachine-learning model code, trained model weights, inference-enabling + code, training-enabling code,\\nfine-tuning enabling code and other elements + of the foregoing distributed by Meta at\\nhttps://llama.meta.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.1 and Documentation + (and any\\nportion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, if you are an entity, your\\nprincipal place of business is in the EEA or + Switzerland) and Meta Platforms, Inc. (if you are located\\noutside of the EEA + or Switzerland).\\n\\nBy clicking \u201CI Accept\u201D below or by using or + distributing any portion or element of the Llama Materials,\\nyou agree to be + bound by this Agreement.\\n\\n1. License Rights and Redistribution.\\n\\n a. + Grant of Rights. You are granted a non-exclusive, worldwide, non-transferable + and royalty-free\\nlimited license under Meta\u2019s intellectual property or + other rights owned by Meta embodied in the Llama\\nMaterials to use, reproduce, + distribute, copy, create derivative works of, and make modifications to the\\nLlama + Materials.\\n\\n b. Redistribution and Use.\\n\\n i. If you distribute + or make available the Llama Materials (or any derivative works\\nthereof), or + a product or service (including another AI model) that contains any of them, + you shall (A)\\nprovide a copy of this Agreement with any such Llama Materials; + and (B) prominently display \u201CBuilt with\\nLlama\u201D on a related website, + user interface, blogpost, about page, or product documentation. If you use\\nthe + Llama Materials or any outputs or results of the Llama Materials to create, + train, fine tune, or\\notherwise improve an AI model, which is distributed or + made available, you shall also include \u201CLlama\u201D at\\nthe beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, or + any derivative works thereof, from a Licensee as part \\nof an integrated end + user product, then Section 2 of this Agreement will not apply to you.\\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the following\\nattribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \u201CLlama 3.1 is\\nlicensed under the Llama 3.1 + Community License, Copyright \xA9 Meta Platforms, Inc. All Rights\\nReserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws and + regulations\\n(including trade compliance laws and regulations) and adhere to + the Acceptable Use Policy for the Llama\\nMaterials (available at https://llama.meta.com/llama3_1/use-policy), + which is hereby incorporated by\\nreference into this Agreement.\\n\\n2. Additional + Commercial Terms. If, on the Llama 3.1 version release date, the monthly active + users\\nof the products or services made available by or for Licensee, or Licensee\u2019s + affiliates, is greater than 700\\nmillion monthly active users in the preceding + calendar month, you must request a license from Meta,\\nwhich Meta may grant + to you in its sole discretion, and you are not authorized to exercise any of + the\\nrights under this Agreement unless or until Meta otherwise expressly grants + you such rights.\\n\\n3. Disclaimer of Warranty. UNLESS REQUIRED BY APPLICABLE + LAW, THE LLAMA MATERIALS AND ANY\\nOUTPUT AND RESULTS THEREFROM ARE PROVIDED + ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF\\nANY KIND, AND META DISCLAIMS + ALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND IMPLIED,\\nINCLUDING, WITHOUT LIMITATION, + ANY WARRANTIES OF TITLE, NON-INFRINGEMENT,\\nMERCHANTABILITY, OR FITNESS FOR + A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR\\nDETERMINING THE APPROPRIATENESS + OF USING OR REDISTRIBUTING THE LLAMA MATERIALS AND\\nASSUME ANY RISKS ASSOCIATED + WITH YOUR USE OF THE LLAMA MATERIALS AND ANY OUTPUT AND\\nRESULTS.\\n\\n4. Limitation + of Liability. IN NO EVENT WILL META OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY + OF\\nLIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR + OTHERWISE, ARISING\\nOUT OF THIS AGREEMENT, FOR ANY LOST PROFITS OR ANY INDIRECT, + SPECIAL, CONSEQUENTIAL,\\nINCIDENTAL, EXEMPLARY OR PUNITIVE DAMAGES, EVEN IF + META OR ITS AFFILIATES HAVE BEEN ADVISED\\nOF THE POSSIBILITY OF ANY OF THE + FOREGOING.\\n\\n5. Intellectual Property.\\n\\n a. No trademark licenses are + granted under this Agreement, and in connection with the Llama\\nMaterials, + neither Meta nor Licensee may use any name or mark owned by or associated with + the other\\nor any of its affiliates, except as required for reasonable and + customary use in describing and\\nredistributing the Llama Materials or as set + forth in this Section 5(a). Meta hereby grants you a license to\\nuse \u201CLlama\u201D + (the \u201CMark\u201D) solely as required to comply with the last sentence of + Section 1.b.i. You will\\ncomply with Meta\u2019s brand guidelines (currently + accessible at\\nhttps://about.meta.com/brand/resources/meta/company-brand/ ). + All goodwill arising out of your use\\nof the Mark will inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and derivatives + made by or for Meta, with\\nrespect to any derivative works and modifications + of the Llama Materials that are made by you, as\\nbetween you and Meta, you + are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any entity + (including a\\ncross-claim or counterclaim in a lawsuit) alleging that the Llama + Materials or Llama 3.1 outputs or\\nresults, or any portion of any of the foregoing, + constitutes infringement of intellectual property or other\\nrights owned or + licensable by you, then any licenses granted to you under this Agreement shall\\nterminate + as of the date such litigation or claim is filed or instituted. You will indemnify + and hold\\nharmless Meta from and against any claim by any third party arising + out of or related to your use or\\ndistribution of the Llama Materials.\\n\\n6. + Term and Termination. The term of this Agreement will commence upon your acceptance + of this\\nAgreement or access to the Llama Materials and will continue in full + force and effect until terminated in\\naccordance with the terms and conditions + herein. Meta may terminate this Agreement if you are in\\nbreach of any term + or condition of this Agreement. Upon termination of this Agreement, you shall + delete\\nand cease use of the Llama Materials. Sections 3, 4 and 7 shall survive + the termination of this\\nAgreement.\\n\\n7. Governing Law and Jurisdiction. + This Agreement will be governed and construed under the laws of\\nthe State + of California without regard to choice of law principles, and the UN Convention + on Contracts\\nfor the International Sale of Goods does not apply to this Agreement. + The courts of California shall have\\nexclusive jurisdiction of any dispute + arising out of this Agreement.\\n\\n# Llama 3.1 Acceptable Use Policy\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.1. If you\\naccess or use Llama 3.1, you agree to this Acceptable Use + Policy (\u201CPolicy\u201D). The most recent copy of\\nthis policy can be found + at [https://llama.meta.com/llama3_1/use-policy](https://llama.meta.com/llama3_1/use-policy)\\n\\n## + Prohibited Uses\\n\\nWe want everyone to use Llama 3.1 safely and responsibly. + You agree you will not use, or allow\\nothers to use, Llama 3.1 to:\\n\\n1. + Violate the law or others\u2019 rights, including to:\\n 1. Engage in, promote, + generate, contribute to, encourage, plan, incite, or further illegal or unlawful + activity or content, such as:\\n 1. Violence or terrorism\\n 2. + Exploitation or harm to children, including the solicitation, creation, acquisition, + or dissemination of child exploitative content or failure to report Child Sexual + Abuse Material\\n 3. Human trafficking, exploitation, and sexual violence\\n + \ 4. The illegal distribution of information or materials to minors, including + obscene materials, or failure to employ legally required age-gating in connection + with such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 3. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 4. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 5. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 6. Collect, process, disclose, generate, + or infer health, demographic, or other sensitive personal or private information + about individuals without rights and consents required by applicable laws\\n + \ 7. Engage in or facilitate any action or generate any content that infringes, + misappropriates, or otherwise violates any third-party rights, including the + outputs or results of any products or services using the Llama Materials\\n + \ 8. Create, generate, or facilitate the creation of malicious code, malware, + computer viruses or do anything else that could disable, overburden, interfere + with or impair the proper working, integrity, operation or appearance of a website + or computer system\\n\\n2. Engage in, promote, incite, facilitate, or assist + in the planning or development of activities that present a risk of death or + bodily harm to individuals, including use of Llama 3.1 related to the following:\\n + \ 1. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State\\n 2. + Guns and illegal weapons (including weapon development)\\n 3. Illegal drugs + and regulated/controlled substances\\n 4. Operation of critical infrastructure, + transportation technologies, or heavy machinery\\n 5. Self-harm or harm to + others, including suicide, cutting, and eating disorders\\n 6. Any content + intended to incite or promote violence, abuse, or any infliction of bodily harm + to an individual\\n\\n3. Intentionally deceive or mislead others, including + use of Llama 3.1 related to the following:\\n 1. Generating, promoting, or + furthering fraud or the creation or promotion of disinformation\\n 2. Generating, + promoting, or furthering defamatory content, including the creation of defamatory + statements, images, or other content\\n 3. Generating, promoting, or further + distributing spam\\n 4. Impersonating another individual without consent, + authorization, or legal right\\n 5. Representing that the use of Llama 3.1 + or outputs are human-generated\\n 6. Generating or facilitating false online + engagement, including fake reviews and other means of fake online engagement\\n\\n4. + Fail to appropriately disclose to end users any known dangers of your AI system\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation\\nof this Policy through one of the following + means:\\n\\n* Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://github.com/meta-llama/llama-models/issues)\\n* + Reporting risky content generated by the model: developers.facebook.com/llama_output_feedback\\n* + Reporting bugs and security concerns: facebook.com/whitehat/info\\n* Reporting + violations of the Acceptable Use Policy or unlicensed uses of Llama 3.1: LlamaUseReport@meta.com\\\"\\n\",\"parameters\":\"stop + \ \\\"\\u003c|start_header_id|\\u003e\\\"\\nstop \\\"\\u003c|end_header_id|\\u003e\\\"\\nstop + \ \\\"\\u003c|eot_id|\\u003e\\\"\",\"template\":\"{{- + if or .System .Tools }}\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n{{- + if .System }}\\n\\n{{ .System }}\\n{{- end }}\\n{{- if .Tools }}\\n\\nCutting + Knowledge Date: December 2023\\n\\nWhen you receive a tool call response, use + the output to format an answer to the orginal user question.\\n\\nYou are a + helpful assistant with tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- + end }}\\n{{- range $i, $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages + $i)) 1 }}\\n{{- if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\nQuestion: {{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\",\"details\":{\"parent_model\":\"\",\"format\":\"gguf\",\"family\":\"llama\",\"families\":[\"llama\"],\"parameter_size\":\"8.0B\",\"quantization_level\":\"Q4_K_M\"},\"model_info\":{\"general.architecture\":\"llama\",\"general.basename\":\"Meta-Llama-3.1\",\"general.file_type\":15,\"general.finetune\":\"Instruct\",\"general.languages\":[\"en\",\"de\",\"fr\",\"it\",\"pt\",\"hi\",\"es\",\"th\"],\"general.license\":\"llama3.1\",\"general.parameter_count\":8030261312,\"general.quantization_version\":2,\"general.size_label\":\"8B\",\"general.tags\":[\"facebook\",\"meta\",\"pytorch\",\"llama\",\"llama-3\",\"text-generation\"],\"general.type\":\"model\",\"llama.attention.head_count\":32,\"llama.attention.head_count_kv\":8,\"llama.attention.layer_norm_rms_epsilon\":0.00001,\"llama.block_count\":32,\"llama.context_length\":131072,\"llama.embedding_length\":4096,\"llama.feed_forward_length\":14336,\"llama.rope.dimension_count\":128,\"llama.rope.freq_base\":500000,\"llama.vocab_size\":128256,\"tokenizer.ggml.bos_token_id\":128000,\"tokenizer.ggml.eos_token_id\":128009,\"tokenizer.ggml.merges\":null,\"tokenizer.ggml.model\":\"gpt2\",\"tokenizer.ggml.pre\":\"llama-bpe\",\"tokenizer.ggml.token_type\":null,\"tokenizer.ggml.tokens\":null},\"modified_at\":\"2025-02-20T18:56:54.293648887-08:00\"}" + headers: + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 21 Feb 2025 02:58:15 GMT + Transfer-Encoding: + - chunked + http_version: HTTP/1.1 + status_code: 200 +- request: + body: '{"name": "llama3.1"}' + headers: + accept: + - '*/*' + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '20' + content-type: + - application/json + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 + method: POST + uri: http://localhost:11434/api/show + response: + content: "{\"license\":\"LLAMA 3.1 COMMUNITY LICENSE AGREEMENT\\nLlama 3.1 Version + Release Date: July 23, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions + for use, reproduction, distribution and modification of the\\nLlama Materials + set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.1\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are entering into\\nthis Agreement on such person or entity\u2019s behalf), + of the age required under applicable laws, rules or\\nregulations to provide + legal consent and that has legal authority to bind your employer or such other\\nperson + or entity if you are entering in this Agreement on their behalf.\\n\\n\u201CLlama + 3.1\u201D means the foundational large language models and software and algorithms, + including\\nmachine-learning model code, trained model weights, inference-enabling + code, training-enabling code,\\nfine-tuning enabling code and other elements + of the foregoing distributed by Meta at\\nhttps://llama.meta.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.1 and Documentation + (and any\\nportion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, if you are an entity, your\\nprincipal place of business is in the EEA or + Switzerland) and Meta Platforms, Inc. (if you are located\\noutside of the EEA + or Switzerland).\\n\\nBy clicking \u201CI Accept\u201D below or by using or + distributing any portion or element of the Llama Materials,\\nyou agree to be + bound by this Agreement.\\n\\n1. License Rights and Redistribution.\\n\\n a. + Grant of Rights. You are granted a non-exclusive, worldwide, non-transferable + and royalty-free\\nlimited license under Meta\u2019s intellectual property or + other rights owned by Meta embodied in the Llama\\nMaterials to use, reproduce, + distribute, copy, create derivative works of, and make modifications to the\\nLlama + Materials.\\n\\n b. Redistribution and Use.\\n\\n i. If you distribute + or make available the Llama Materials (or any derivative works\\nthereof), or + a product or service (including another AI model) that contains any of them, + you shall (A)\\nprovide a copy of this Agreement with any such Llama Materials; + and (B) prominently display \u201CBuilt with\\nLlama\u201D on a related website, + user interface, blogpost, about page, or product documentation. If you use\\nthe + Llama Materials or any outputs or results of the Llama Materials to create, + train, fine tune, or\\notherwise improve an AI model, which is distributed or + made available, you shall also include \u201CLlama\u201D at\\nthe beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, or + any derivative works thereof, from a Licensee as part \\nof an integrated end + user product, then Section 2 of this Agreement will not apply to you.\\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the following\\nattribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \u201CLlama 3.1 is\\nlicensed under the Llama 3.1 + Community License, Copyright \xA9 Meta Platforms, Inc. All Rights\\nReserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws and + regulations\\n(including trade compliance laws and regulations) and adhere to + the Acceptable Use Policy for the Llama\\nMaterials (available at https://llama.meta.com/llama3_1/use-policy), + which is hereby incorporated by\\nreference into this Agreement.\\n\\n2. Additional + Commercial Terms. If, on the Llama 3.1 version release date, the monthly active + users\\nof the products or services made available by or for Licensee, or Licensee\u2019s + affiliates, is greater than 700\\nmillion monthly active users in the preceding + calendar month, you must request a license from Meta,\\nwhich Meta may grant + to you in its sole discretion, and you are not authorized to exercise any of + the\\nrights under this Agreement unless or until Meta otherwise expressly grants + you such rights.\\n\\n3. Disclaimer of Warranty. UNLESS REQUIRED BY APPLICABLE + LAW, THE LLAMA MATERIALS AND ANY\\nOUTPUT AND RESULTS THEREFROM ARE PROVIDED + ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF\\nANY KIND, AND META DISCLAIMS + ALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND IMPLIED,\\nINCLUDING, WITHOUT LIMITATION, + ANY WARRANTIES OF TITLE, NON-INFRINGEMENT,\\nMERCHANTABILITY, OR FITNESS FOR + A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR\\nDETERMINING THE APPROPRIATENESS + OF USING OR REDISTRIBUTING THE LLAMA MATERIALS AND\\nASSUME ANY RISKS ASSOCIATED + WITH YOUR USE OF THE LLAMA MATERIALS AND ANY OUTPUT AND\\nRESULTS.\\n\\n4. Limitation + of Liability. IN NO EVENT WILL META OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY + OF\\nLIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR + OTHERWISE, ARISING\\nOUT OF THIS AGREEMENT, FOR ANY LOST PROFITS OR ANY INDIRECT, + SPECIAL, CONSEQUENTIAL,\\nINCIDENTAL, EXEMPLARY OR PUNITIVE DAMAGES, EVEN IF + META OR ITS AFFILIATES HAVE BEEN ADVISED\\nOF THE POSSIBILITY OF ANY OF THE + FOREGOING.\\n\\n5. Intellectual Property.\\n\\n a. No trademark licenses are + granted under this Agreement, and in connection with the Llama\\nMaterials, + neither Meta nor Licensee may use any name or mark owned by or associated with + the other\\nor any of its affiliates, except as required for reasonable and + customary use in describing and\\nredistributing the Llama Materials or as set + forth in this Section 5(a). Meta hereby grants you a license to\\nuse \u201CLlama\u201D + (the \u201CMark\u201D) solely as required to comply with the last sentence of + Section 1.b.i. You will\\ncomply with Meta\u2019s brand guidelines (currently + accessible at\\nhttps://about.meta.com/brand/resources/meta/company-brand/ ). + All goodwill arising out of your use\\nof the Mark will inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and derivatives + made by or for Meta, with\\nrespect to any derivative works and modifications + of the Llama Materials that are made by you, as\\nbetween you and Meta, you + are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any entity + (including a\\ncross-claim or counterclaim in a lawsuit) alleging that the Llama + Materials or Llama 3.1 outputs or\\nresults, or any portion of any of the foregoing, + constitutes infringement of intellectual property or other\\nrights owned or + licensable by you, then any licenses granted to you under this Agreement shall\\nterminate + as of the date such litigation or claim is filed or instituted. You will indemnify + and hold\\nharmless Meta from and against any claim by any third party arising + out of or related to your use or\\ndistribution of the Llama Materials.\\n\\n6. + Term and Termination. The term of this Agreement will commence upon your acceptance + of this\\nAgreement or access to the Llama Materials and will continue in full + force and effect until terminated in\\naccordance with the terms and conditions + herein. Meta may terminate this Agreement if you are in\\nbreach of any term + or condition of this Agreement. Upon termination of this Agreement, you shall + delete\\nand cease use of the Llama Materials. Sections 3, 4 and 7 shall survive + the termination of this\\nAgreement.\\n\\n7. Governing Law and Jurisdiction. + This Agreement will be governed and construed under the laws of\\nthe State + of California without regard to choice of law principles, and the UN Convention + on Contracts\\nfor the International Sale of Goods does not apply to this Agreement. + The courts of California shall have\\nexclusive jurisdiction of any dispute + arising out of this Agreement.\\n\\n# Llama 3.1 Acceptable Use Policy\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.1. If you\\naccess or use Llama 3.1, you agree to this Acceptable Use + Policy (\u201CPolicy\u201D). The most recent copy of\\nthis policy can be found + at [https://llama.meta.com/llama3_1/use-policy](https://llama.meta.com/llama3_1/use-policy)\\n\\n## + Prohibited Uses\\n\\nWe want everyone to use Llama 3.1 safely and responsibly. + You agree you will not use, or allow\\nothers to use, Llama 3.1 to:\\n\\n1. + Violate the law or others\u2019 rights, including to:\\n 1. Engage in, promote, + generate, contribute to, encourage, plan, incite, or further illegal or unlawful + activity or content, such as:\\n 1. Violence or terrorism\\n 2. + Exploitation or harm to children, including the solicitation, creation, acquisition, + or dissemination of child exploitative content or failure to report Child Sexual + Abuse Material\\n 3. Human trafficking, exploitation, and sexual violence\\n + \ 4. The illegal distribution of information or materials to minors, including + obscene materials, or failure to employ legally required age-gating in connection + with such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 3. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 4. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 5. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 6. Collect, process, disclose, generate, + or infer health, demographic, or other sensitive personal or private information + about individuals without rights and consents required by applicable laws\\n + \ 7. Engage in or facilitate any action or generate any content that infringes, + misappropriates, or otherwise violates any third-party rights, including the + outputs or results of any products or services using the Llama Materials\\n + \ 8. Create, generate, or facilitate the creation of malicious code, malware, + computer viruses or do anything else that could disable, overburden, interfere + with or impair the proper working, integrity, operation or appearance of a website + or computer system\\n\\n2. Engage in, promote, incite, facilitate, or assist + in the planning or development of activities that present a risk of death or + bodily harm to individuals, including use of Llama 3.1 related to the following:\\n + \ 1. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State\\n 2. + Guns and illegal weapons (including weapon development)\\n 3. Illegal drugs + and regulated/controlled substances\\n 4. Operation of critical infrastructure, + transportation technologies, or heavy machinery\\n 5. Self-harm or harm to + others, including suicide, cutting, and eating disorders\\n 6. Any content + intended to incite or promote violence, abuse, or any infliction of bodily harm + to an individual\\n\\n3. Intentionally deceive or mislead others, including + use of Llama 3.1 related to the following:\\n 1. Generating, promoting, or + furthering fraud or the creation or promotion of disinformation\\n 2. Generating, + promoting, or furthering defamatory content, including the creation of defamatory + statements, images, or other content\\n 3. Generating, promoting, or further + distributing spam\\n 4. Impersonating another individual without consent, + authorization, or legal right\\n 5. Representing that the use of Llama 3.1 + or outputs are human-generated\\n 6. Generating or facilitating false online + engagement, including fake reviews and other means of fake online engagement\\n\\n4. + Fail to appropriately disclose to end users any known dangers of your AI system\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation\\nof this Policy through one of the following + means:\\n\\n* Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://github.com/meta-llama/llama-models/issues)\\n* + Reporting risky content generated by the model: developers.facebook.com/llama_output_feedback\\n* + Reporting bugs and security concerns: facebook.com/whitehat/info\\n* Reporting + violations of the Acceptable Use Policy or unlicensed uses of Llama 3.1: LlamaUseReport@meta.com\",\"modelfile\":\"# + Modelfile generated by \\\"ollama show\\\"\\n# To build a new Modelfile based + on this, replace FROM with:\\n# FROM llama3.1:latest\\n\\nFROM /Users/joaomoura/.ollama/models/blobs/sha256-667b0c1932bc6ffc593ed1d03f895bf2dc8dc6df21db3042284a6f4416b06a29\\nTEMPLATE + \\\"\\\"\\\"{{- if or .System .Tools }}\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n{{- + if .System }}\\n\\n{{ .System }}\\n{{- end }}\\n{{- if .Tools }}\\n\\nCutting + Knowledge Date: December 2023\\n\\nWhen you receive a tool call response, use + the output to format an answer to the orginal user question.\\n\\nYou are a + helpful assistant with tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- + end }}\\n{{- range $i, $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages + $i)) 1 }}\\n{{- if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\nQuestion: {{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\\\"\\\"\\\"\\nPARAMETER stop \\u003c|start_header_id|\\u003e\\nPARAMETER + stop \\u003c|end_header_id|\\u003e\\nPARAMETER stop \\u003c|eot_id|\\u003e\\nLICENSE + \\\"LLAMA 3.1 COMMUNITY LICENSE AGREEMENT\\nLlama 3.1 Version Release Date: + July 23, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions for + use, reproduction, distribution and modification of the\\nLlama Materials set + forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.1\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are entering into\\nthis Agreement on such person or entity\u2019s behalf), + of the age required under applicable laws, rules or\\nregulations to provide + legal consent and that has legal authority to bind your employer or such other\\nperson + or entity if you are entering in this Agreement on their behalf.\\n\\n\u201CLlama + 3.1\u201D means the foundational large language models and software and algorithms, + including\\nmachine-learning model code, trained model weights, inference-enabling + code, training-enabling code,\\nfine-tuning enabling code and other elements + of the foregoing distributed by Meta at\\nhttps://llama.meta.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.1 and Documentation + (and any\\nportion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, if you are an entity, your\\nprincipal place of business is in the EEA or + Switzerland) and Meta Platforms, Inc. (if you are located\\noutside of the EEA + or Switzerland).\\n\\nBy clicking \u201CI Accept\u201D below or by using or + distributing any portion or element of the Llama Materials,\\nyou agree to be + bound by this Agreement.\\n\\n1. License Rights and Redistribution.\\n\\n a. + Grant of Rights. You are granted a non-exclusive, worldwide, non-transferable + and royalty-free\\nlimited license under Meta\u2019s intellectual property or + other rights owned by Meta embodied in the Llama\\nMaterials to use, reproduce, + distribute, copy, create derivative works of, and make modifications to the\\nLlama + Materials.\\n\\n b. Redistribution and Use.\\n\\n i. If you distribute + or make available the Llama Materials (or any derivative works\\nthereof), or + a product or service (including another AI model) that contains any of them, + you shall (A)\\nprovide a copy of this Agreement with any such Llama Materials; + and (B) prominently display \u201CBuilt with\\nLlama\u201D on a related website, + user interface, blogpost, about page, or product documentation. If you use\\nthe + Llama Materials or any outputs or results of the Llama Materials to create, + train, fine tune, or\\notherwise improve an AI model, which is distributed or + made available, you shall also include \u201CLlama\u201D at\\nthe beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, or + any derivative works thereof, from a Licensee as part \\nof an integrated end + user product, then Section 2 of this Agreement will not apply to you.\\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the following\\nattribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \u201CLlama 3.1 is\\nlicensed under the Llama 3.1 + Community License, Copyright \xA9 Meta Platforms, Inc. All Rights\\nReserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws and + regulations\\n(including trade compliance laws and regulations) and adhere to + the Acceptable Use Policy for the Llama\\nMaterials (available at https://llama.meta.com/llama3_1/use-policy), + which is hereby incorporated by\\nreference into this Agreement.\\n\\n2. Additional + Commercial Terms. If, on the Llama 3.1 version release date, the monthly active + users\\nof the products or services made available by or for Licensee, or Licensee\u2019s + affiliates, is greater than 700\\nmillion monthly active users in the preceding + calendar month, you must request a license from Meta,\\nwhich Meta may grant + to you in its sole discretion, and you are not authorized to exercise any of + the\\nrights under this Agreement unless or until Meta otherwise expressly grants + you such rights.\\n\\n3. Disclaimer of Warranty. UNLESS REQUIRED BY APPLICABLE + LAW, THE LLAMA MATERIALS AND ANY\\nOUTPUT AND RESULTS THEREFROM ARE PROVIDED + ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF\\nANY KIND, AND META DISCLAIMS + ALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND IMPLIED,\\nINCLUDING, WITHOUT LIMITATION, + ANY WARRANTIES OF TITLE, NON-INFRINGEMENT,\\nMERCHANTABILITY, OR FITNESS FOR + A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR\\nDETERMINING THE APPROPRIATENESS + OF USING OR REDISTRIBUTING THE LLAMA MATERIALS AND\\nASSUME ANY RISKS ASSOCIATED + WITH YOUR USE OF THE LLAMA MATERIALS AND ANY OUTPUT AND\\nRESULTS.\\n\\n4. Limitation + of Liability. IN NO EVENT WILL META OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY + OF\\nLIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR + OTHERWISE, ARISING\\nOUT OF THIS AGREEMENT, FOR ANY LOST PROFITS OR ANY INDIRECT, + SPECIAL, CONSEQUENTIAL,\\nINCIDENTAL, EXEMPLARY OR PUNITIVE DAMAGES, EVEN IF + META OR ITS AFFILIATES HAVE BEEN ADVISED\\nOF THE POSSIBILITY OF ANY OF THE + FOREGOING.\\n\\n5. Intellectual Property.\\n\\n a. No trademark licenses are + granted under this Agreement, and in connection with the Llama\\nMaterials, + neither Meta nor Licensee may use any name or mark owned by or associated with + the other\\nor any of its affiliates, except as required for reasonable and + customary use in describing and\\nredistributing the Llama Materials or as set + forth in this Section 5(a). Meta hereby grants you a license to\\nuse \u201CLlama\u201D + (the \u201CMark\u201D) solely as required to comply with the last sentence of + Section 1.b.i. You will\\ncomply with Meta\u2019s brand guidelines (currently + accessible at\\nhttps://about.meta.com/brand/resources/meta/company-brand/ ). + All goodwill arising out of your use\\nof the Mark will inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and derivatives + made by or for Meta, with\\nrespect to any derivative works and modifications + of the Llama Materials that are made by you, as\\nbetween you and Meta, you + are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any entity + (including a\\ncross-claim or counterclaim in a lawsuit) alleging that the Llama + Materials or Llama 3.1 outputs or\\nresults, or any portion of any of the foregoing, + constitutes infringement of intellectual property or other\\nrights owned or + licensable by you, then any licenses granted to you under this Agreement shall\\nterminate + as of the date such litigation or claim is filed or instituted. You will indemnify + and hold\\nharmless Meta from and against any claim by any third party arising + out of or related to your use or\\ndistribution of the Llama Materials.\\n\\n6. + Term and Termination. The term of this Agreement will commence upon your acceptance + of this\\nAgreement or access to the Llama Materials and will continue in full + force and effect until terminated in\\naccordance with the terms and conditions + herein. Meta may terminate this Agreement if you are in\\nbreach of any term + or condition of this Agreement. Upon termination of this Agreement, you shall + delete\\nand cease use of the Llama Materials. Sections 3, 4 and 7 shall survive + the termination of this\\nAgreement.\\n\\n7. Governing Law and Jurisdiction. + This Agreement will be governed and construed under the laws of\\nthe State + of California without regard to choice of law principles, and the UN Convention + on Contracts\\nfor the International Sale of Goods does not apply to this Agreement. + The courts of California shall have\\nexclusive jurisdiction of any dispute + arising out of this Agreement.\\n\\n# Llama 3.1 Acceptable Use Policy\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.1. If you\\naccess or use Llama 3.1, you agree to this Acceptable Use + Policy (\u201CPolicy\u201D). The most recent copy of\\nthis policy can be found + at [https://llama.meta.com/llama3_1/use-policy](https://llama.meta.com/llama3_1/use-policy)\\n\\n## + Prohibited Uses\\n\\nWe want everyone to use Llama 3.1 safely and responsibly. + You agree you will not use, or allow\\nothers to use, Llama 3.1 to:\\n\\n1. + Violate the law or others\u2019 rights, including to:\\n 1. Engage in, promote, + generate, contribute to, encourage, plan, incite, or further illegal or unlawful + activity or content, such as:\\n 1. Violence or terrorism\\n 2. + Exploitation or harm to children, including the solicitation, creation, acquisition, + or dissemination of child exploitative content or failure to report Child Sexual + Abuse Material\\n 3. Human trafficking, exploitation, and sexual violence\\n + \ 4. The illegal distribution of information or materials to minors, including + obscene materials, or failure to employ legally required age-gating in connection + with such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 3. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 4. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 5. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 6. Collect, process, disclose, generate, + or infer health, demographic, or other sensitive personal or private information + about individuals without rights and consents required by applicable laws\\n + \ 7. Engage in or facilitate any action or generate any content that infringes, + misappropriates, or otherwise violates any third-party rights, including the + outputs or results of any products or services using the Llama Materials\\n + \ 8. Create, generate, or facilitate the creation of malicious code, malware, + computer viruses or do anything else that could disable, overburden, interfere + with or impair the proper working, integrity, operation or appearance of a website + or computer system\\n\\n2. Engage in, promote, incite, facilitate, or assist + in the planning or development of activities that present a risk of death or + bodily harm to individuals, including use of Llama 3.1 related to the following:\\n + \ 1. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State\\n 2. + Guns and illegal weapons (including weapon development)\\n 3. Illegal drugs + and regulated/controlled substances\\n 4. Operation of critical infrastructure, + transportation technologies, or heavy machinery\\n 5. Self-harm or harm to + others, including suicide, cutting, and eating disorders\\n 6. Any content + intended to incite or promote violence, abuse, or any infliction of bodily harm + to an individual\\n\\n3. Intentionally deceive or mislead others, including + use of Llama 3.1 related to the following:\\n 1. Generating, promoting, or + furthering fraud or the creation or promotion of disinformation\\n 2. Generating, + promoting, or furthering defamatory content, including the creation of defamatory + statements, images, or other content\\n 3. Generating, promoting, or further + distributing spam\\n 4. Impersonating another individual without consent, + authorization, or legal right\\n 5. Representing that the use of Llama 3.1 + or outputs are human-generated\\n 6. Generating or facilitating false online + engagement, including fake reviews and other means of fake online engagement\\n\\n4. + Fail to appropriately disclose to end users any known dangers of your AI system\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation\\nof this Policy through one of the following + means:\\n\\n* Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://github.com/meta-llama/llama-models/issues)\\n* + Reporting risky content generated by the model: developers.facebook.com/llama_output_feedback\\n* + Reporting bugs and security concerns: facebook.com/whitehat/info\\n* Reporting + violations of the Acceptable Use Policy or unlicensed uses of Llama 3.1: LlamaUseReport@meta.com\\\"\\n\",\"parameters\":\"stop + \ \\\"\\u003c|start_header_id|\\u003e\\\"\\nstop \\\"\\u003c|end_header_id|\\u003e\\\"\\nstop + \ \\\"\\u003c|eot_id|\\u003e\\\"\",\"template\":\"{{- + if or .System .Tools }}\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n{{- + if .System }}\\n\\n{{ .System }}\\n{{- end }}\\n{{- if .Tools }}\\n\\nCutting + Knowledge Date: December 2023\\n\\nWhen you receive a tool call response, use + the output to format an answer to the orginal user question.\\n\\nYou are a + helpful assistant with tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- + end }}\\n{{- range $i, $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages + $i)) 1 }}\\n{{- if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\nQuestion: {{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\",\"details\":{\"parent_model\":\"\",\"format\":\"gguf\",\"family\":\"llama\",\"families\":[\"llama\"],\"parameter_size\":\"8.0B\",\"quantization_level\":\"Q4_K_M\"},\"model_info\":{\"general.architecture\":\"llama\",\"general.basename\":\"Meta-Llama-3.1\",\"general.file_type\":15,\"general.finetune\":\"Instruct\",\"general.languages\":[\"en\",\"de\",\"fr\",\"it\",\"pt\",\"hi\",\"es\",\"th\"],\"general.license\":\"llama3.1\",\"general.parameter_count\":8030261312,\"general.quantization_version\":2,\"general.size_label\":\"8B\",\"general.tags\":[\"facebook\",\"meta\",\"pytorch\",\"llama\",\"llama-3\",\"text-generation\"],\"general.type\":\"model\",\"llama.attention.head_count\":32,\"llama.attention.head_count_kv\":8,\"llama.attention.layer_norm_rms_epsilon\":0.00001,\"llama.block_count\":32,\"llama.context_length\":131072,\"llama.embedding_length\":4096,\"llama.feed_forward_length\":14336,\"llama.rope.dimension_count\":128,\"llama.rope.freq_base\":500000,\"llama.vocab_size\":128256,\"tokenizer.ggml.bos_token_id\":128000,\"tokenizer.ggml.eos_token_id\":128009,\"tokenizer.ggml.merges\":null,\"tokenizer.ggml.model\":\"gpt2\",\"tokenizer.ggml.pre\":\"llama-bpe\",\"tokenizer.ggml.token_type\":null,\"tokenizer.ggml.tokens\":null},\"modified_at\":\"2025-02-20T18:56:54.293648887-08:00\"}" + headers: + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 21 Feb 2025 02:58:15 GMT + Transfer-Encoding: + - chunked + http_version: HTTP/1.1 + status_code: 200 version: 1 diff --git a/tests/utilities/cassettes/test_converter_with_llama3_2_model.yaml b/tests/utilities/cassettes/test_converter_with_llama3_2_model.yaml index 5fd4d37aa..d538308ca 100644 --- a/tests/utilities/cassettes/test_converter_with_llama3_2_model.yaml +++ b/tests/utilities/cassettes/test_converter_with_llama3_2_model.yaml @@ -5,32 +5,860 @@ interactions: JSON must follow this format exactly:\n{\n \"name\": str,\n \"age\": int\n}\n\n### User:\nName: Alice Llama, Age: 30\n\n", "options": {"stop": []}, "stream": false}' headers: - Accept: + accept: - '*/*' - Accept-Encoding: + accept-encoding: - gzip, deflate - Connection: + connection: - keep-alive - Content-Length: + content-length: - '321' - Content-Type: - - application/json - User-Agent: - - python-requests/2.32.2 + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 method: POST uri: http://localhost:11434/api/generate response: - body: - string: '{"model":"llama3.2:3b","created_at":"2025-02-18T21:52:20.737635Z","response":"{\"name\": - \"Alice Llama\", \"age\": 30}","done":true,"done_reason":"stop","context":[128006,9125,128007,271,38766,1303,33025,2696,25,6790,220,2366,18,271,128009,128006,882,128007,271,14711,744,512,5618,5625,279,2768,1495,1139,2764,4823,382,5207,27785,279,2764,4823,323,4400,775,382,791,4823,2011,1833,420,3645,7041,512,517,220,330,609,794,610,345,220,330,425,794,528,198,633,14711,2724,512,678,25,30505,445,81101,11,13381,25,220,966,271,128009,128006,78191,128007,271,5018,609,794,330,62786,445,81101,498,330,425,794,220,966,92],"total_duration":2438288750,"load_duration":819026959,"prompt_eval_count":82,"prompt_eval_duration":1368000000,"eval_count":15,"eval_duration":249000000}' + content: '{"model":"llama3.2:3b","created_at":"2025-02-21T02:57:55.059392Z","response":"{\"name\": + \"Alice Llama\", \"age\": 30}","done":true,"done_reason":"stop","context":[128006,9125,128007,271,38766,1303,33025,2696,25,6790,220,2366,18,271,128009,128006,882,128007,271,14711,744,512,5618,5625,279,2768,1495,1139,2764,4823,382,5207,27785,279,2764,4823,323,4400,775,382,791,4823,2011,1833,420,3645,7041,512,517,220,330,609,794,610,345,220,330,425,794,528,198,633,14711,2724,512,678,25,30505,445,81101,11,13381,25,220,966,271,128009,128006,78191,128007,271,5018,609,794,330,62786,445,81101,498,330,425,794,220,966,92],"total_duration":4675906000,"load_duration":836091458,"prompt_eval_count":82,"prompt_eval_duration":3561000000,"eval_count":15,"eval_duration":275000000}' headers: Content-Length: - '761' Content-Type: - application/json; charset=utf-8 Date: - - Tue, 18 Feb 2025 21:52:21 GMT - status: - code: 200 - message: OK + - Fri, 21 Feb 2025 02:57:55 GMT + http_version: HTTP/1.1 + status_code: 200 +- request: + body: '{"name": "llama3.2:3b"}' + headers: + accept: + - '*/*' + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '23' + content-type: + - application/json + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 + method: POST + uri: http://localhost:11434/api/show + response: + content: "{\"license\":\"LLAMA 3.2 COMMUNITY LICENSE AGREEMENT\\nLlama 3.2 Version + Release Date: September 25, 2024\\n\\n\u201CAgreement\u201D means the terms + and conditions for use, reproduction, distribution \\nand modification of the + Llama Materials set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, + manuals and documentation accompanying Llama 3.2\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are \\nentering into this Agreement on such person or entity\u2019s + behalf), of the age required under\\napplicable laws, rules or regulations to + provide legal consent and that has legal authority\\nto bind your employer or + such other person or entity if you are entering in this Agreement\\non their + behalf.\\n\\n\u201CLlama 3.2\u201D means the foundational large language models + and software and algorithms, including\\nmachine-learning model code, trained + model weights, inference-enabling code, training-enabling code,\\nfine-tuning + enabling code and other elements of the foregoing distributed by Meta at \\nhttps://www.llama.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.2 and Documentation + (and \\nany portion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, \\nif you are an entity, your principal place of business is in the EEA + or Switzerland) \\nand Meta Platforms, Inc. (if you are located outside of the + EEA or Switzerland). \\n\\n\\nBy clicking \u201CI Accept\u201D below or by using + or distributing any portion or element of the Llama Materials,\\nyou agree to + be bound by this Agreement.\\n\\n\\n1. License Rights and Redistribution.\\n\\n + \ a. Grant of Rights. You are granted a non-exclusive, worldwide, \\nnon-transferable + and royalty-free limited license under Meta\u2019s intellectual property or + other rights \\nowned by Meta embodied in the Llama Materials to use, reproduce, + distribute, copy, create derivative works \\nof, and make modifications to the + Llama Materials. \\n\\n b. Redistribution and Use. \\n\\n i. If + you distribute or make available the Llama Materials (or any derivative works + thereof), \\nor a product or service (including another AI model) that contains + any of them, you shall (A) provide\\na copy of this Agreement with any such + Llama Materials; and (B) prominently display \u201CBuilt with Llama\u201D\\non + a related website, user interface, blogpost, about page, or product documentation. + If you use the\\nLlama Materials or any outputs or results of the Llama Materials + to create, train, fine tune, or\\notherwise improve an AI model, which is distributed + or made available, you shall also include \u201CLlama\u201D\\nat the beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, + or any derivative works thereof, from a Licensee as part\\nof an integrated + end user product, then Section 2 of this Agreement will not apply to you. \\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the \\nfollowing attribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \\n\u201CLlama 3.2 is licensed under the Llama 3.2 + Community License, Copyright \xA9 Meta Platforms,\\nInc. All Rights Reserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws + and regulations\\n(including trade compliance laws and regulations) and adhere + to the Acceptable Use Policy for\\nthe Llama Materials (available at https://www.llama.com/llama3_2/use-policy), + which is hereby \\nincorporated by reference into this Agreement.\\n \\n2. + Additional Commercial Terms. If, on the Llama 3.2 version release date, the + monthly active users\\nof the products or services made available by or for + Licensee, or Licensee\u2019s affiliates, \\nis greater than 700 million monthly + active users in the preceding calendar month, you must request \\na license + from Meta, which Meta may grant to you in its sole discretion, and you are not + authorized to\\nexercise any of the rights under this Agreement unless or until + Meta otherwise expressly grants you such rights.\\n\\n3. Disclaimer of Warranty. + UNLESS REQUIRED BY APPLICABLE LAW, THE LLAMA MATERIALS AND ANY OUTPUT AND \\nRESULTS + THEREFROM ARE PROVIDED ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF + ANY KIND, AND META DISCLAIMS\\nALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES\\nOF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE\\nFOR + DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE LLAMA MATERIALS + AND ASSUME ANY RISKS ASSOCIATED\\nWITH YOUR USE OF THE LLAMA MATERIALS AND ANY + OUTPUT AND RESULTS.\\n\\n4. Limitation of Liability. IN NO EVENT WILL META OR + ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, \\nWHETHER IN CONTRACT, + TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, + \\nFOR ANY LOST PROFITS OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, + EXEMPLARY OR PUNITIVE DAMAGES, EVEN \\nIF META OR ITS AFFILIATES HAVE BEEN ADVISED + OF THE POSSIBILITY OF ANY OF THE FOREGOING.\\n\\n5. Intellectual Property.\\n\\n + \ a. No trademark licenses are granted under this Agreement, and in connection + with the Llama Materials, \\nneither Meta nor Licensee may use any name or mark + owned by or associated with the other or any of its affiliates, \\nexcept as + required for reasonable and customary use in describing and redistributing the + Llama Materials or as \\nset forth in this Section 5(a). Meta hereby grants + you a license to use \u201CLlama\u201D (the \u201CMark\u201D) solely as required + \\nto comply with the last sentence of Section 1.b.i. You will comply with Meta\u2019s + brand guidelines (currently accessible \\nat https://about.meta.com/brand/resources/meta/company-brand/). + All goodwill arising out of your use of the Mark \\nwill inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and + derivatives made by or for Meta, with respect to any\\n derivative works + and modifications of the Llama Materials that are made by you, as between you + and Meta,\\n you are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any + entity (including a cross-claim or\\n counterclaim in a lawsuit) alleging + that the Llama Materials or Llama 3.2 outputs or results, or any portion\\n + \ of any of the foregoing, constitutes infringement of intellectual property + or other rights owned or licensable\\n by you, then any licenses granted + to you under this Agreement shall terminate as of the date such litigation or\\n + \ claim is filed or instituted. You will indemnify and hold harmless Meta + from and against any claim by any third\\n party arising out of or related + to your use or distribution of the Llama Materials.\\n\\n6. Term and Termination. + The term of this Agreement will commence upon your acceptance of this Agreement + or access\\nto the Llama Materials and will continue in full force and effect + until terminated in accordance with the terms\\nand conditions herein. Meta + may terminate this Agreement if you are in breach of any term or condition of + this\\nAgreement. Upon termination of this Agreement, you shall delete and cease + use of the Llama Materials. Sections 3,\\n4 and 7 shall survive the termination + of this Agreement. \\n\\n7. Governing Law and Jurisdiction. This Agreement will + be governed and construed under the laws of the State of \\nCalifornia without + regard to choice of law principles, and the UN Convention on Contracts for the + International\\nSale of Goods does not apply to this Agreement. The courts of + California shall have exclusive jurisdiction of\\nany dispute arising out of + this Agreement.\\n**Llama 3.2** **Acceptable Use Policy**\\n\\nMeta is committed + to promoting safe and fair use of its tools and features, including Llama 3.2. + If you access or use Llama 3.2, you agree to this Acceptable Use Policy (\u201C**Policy**\u201D). + The most recent copy of this policy can be found at [https://www.llama.com/llama3_2/use-policy](https://www.llama.com/llama3_2/use-policy).\\n\\n**Prohibited + Uses**\\n\\nWe want everyone to use Llama 3.2 safely and responsibly. You agree + you will not use, or allow others to use, Llama 3.2 to:\\n\\n\\n\\n1. Violate + the law or others\u2019 rights, including to:\\n 1. Engage in, promote, generate, + contribute to, encourage, plan, incite, or further illegal or unlawful activity + or content, such as:\\n 1. Violence or terrorism\\n 2. Exploitation + or harm to children, including the solicitation, creation, acquisition, or dissemination + of child exploitative content or failure to report Child Sexual Abuse Material\\n + \ 3. Human trafficking, exploitation, and sexual violence\\n 4. + The illegal distribution of information or materials to minors, including obscene + materials, or failure to employ legally required age-gating in connection with + such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 1. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 2. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 3. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 4. Collect, process, disclose, generate, + or infer private or sensitive information about individuals, including information + about individuals\u2019 identity, health, or demographic information, unless + you have obtained the right to do so in accordance with applicable law\\n 5. + Engage in or facilitate any action or generate any content that infringes, misappropriates, + or otherwise violates any third-party rights, including the outputs or results + of any products or services using the Llama Materials\\n 6. Create, generate, + or facilitate the creation of malicious code, malware, computer viruses or do + anything else that could disable, overburden, interfere with or impair the proper + working, integrity, operation or appearance of a website or computer system\\n + \ 7. Engage in any action, or facilitate any action, to intentionally circumvent + or remove usage restrictions or other safety measures, or to enable functionality + disabled by Meta\\n2. Engage in, promote, incite, facilitate, or assist in the + planning or development of activities that present a risk of death or bodily + harm to individuals, including use of Llama 3.2 related to the following:\\n + \ 8. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State or to + the U.S. Biological Weapons Anti-Terrorism Act of 1989 or the Chemical Weapons + Convention Implementation Act of 1997\\n 9. Guns and illegal weapons (including + weapon development)\\n 10. Illegal drugs and regulated/controlled substances\\n + \ 11. Operation of critical infrastructure, transportation technologies, or + heavy machinery\\n 12. Self-harm or harm to others, including suicide, cutting, + and eating disorders\\n 13. Any content intended to incite or promote violence, + abuse, or any infliction of bodily harm to an individual\\n3. Intentionally + deceive or mislead others, including use of Llama 3.2 related to the following:\\n + \ 14. Generating, promoting, or furthering fraud or the creation or promotion + of disinformation\\n 15. Generating, promoting, or furthering defamatory + content, including the creation of defamatory statements, images, or other content\\n + \ 16. Generating, promoting, or further distributing spam\\n 17. Impersonating + another individual without consent, authorization, or legal right\\n 18. + Representing that the use of Llama 3.2 or outputs are human-generated\\n 19. + Generating or facilitating false online engagement, including fake reviews and + other means of fake online engagement\\n4. Fail to appropriately disclose to + end users any known dangers of your AI system\\n5. Interact with third party + tools, models, or software designed to generate unlawful content or engage in + unlawful or harmful conduct and/or represent that the outputs of such tools, + models, or software are associated with Meta or Llama 3.2\\n\\nWith respect + to any multimodal models included in Llama 3.2, the rights granted under Section + 1(a) of the Llama 3.2 Community License Agreement are not being granted to you + if you are an individual domiciled in, or a company with a principal place of + business in, the European Union. This restriction does not apply to end users + of a product or service that incorporates any such multimodal models.\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation of this Policy through one of the following means:\\n\\n\\n\\n* + Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://l.workplace.com/l.php?u=https%3A%2F%2Fgithub.com%2Fmeta-llama%2Fllama-models%2Fissues\\u0026h=AT0qV8W9BFT6NwihiOHRuKYQM_UnkzN_NmHMy91OT55gkLpgi4kQupHUl0ssR4dQsIQ8n3tfd0vtkobvsEvt1l4Ic6GXI2EeuHV8N08OG2WnbAmm0FL4ObkazC6G_256vN0lN9DsykCvCqGZ)\\n* + Reporting risky content generated by the model: [developers.facebook.com/llama_output_feedback](http://developers.facebook.com/llama_output_feedback)\\n* + Reporting bugs and security concerns: [facebook.com/whitehat/info](http://facebook.com/whitehat/info)\\n* + Reporting violations of the Acceptable Use Policy or unlicensed uses of Llama + 3.2: LlamaUseReport@meta.com\",\"modelfile\":\"# Modelfile generated by \\\"ollama + show\\\"\\n# To build a new Modelfile based on this, replace FROM with:\\n# + FROM llama3.2:3b\\n\\nFROM /Users/joaomoura/.ollama/models/blobs/sha256-dde5aa3fc5ffc17176b5e8bdc82f587b24b2678c6c66101bf7da77af9f7ccdff\\nTEMPLATE + \\\"\\\"\\\"\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n\\nCutting + Knowledge Date: December 2023\\n\\n{{ if .System }}{{ .System }}\\n{{- end }}\\n{{- + if .Tools }}When you receive a tool call response, use the output to format + an answer to the orginal user question.\\n\\nYou are a helpful assistant with + tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- range $i, + $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages $i)) 1 }}\\n{{- + if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\\\"\\\"\\\"\\nPARAMETER stop \\u003c|start_header_id|\\u003e\\nPARAMETER + stop \\u003c|end_header_id|\\u003e\\nPARAMETER stop \\u003c|eot_id|\\u003e\\nLICENSE + \\\"LLAMA 3.2 COMMUNITY LICENSE AGREEMENT\\nLlama 3.2 Version Release Date: + September 25, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions + for use, reproduction, distribution \\nand modification of the Llama Materials + set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.2\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are \\nentering into this Agreement on such person or entity\u2019s + behalf), of the age required under\\napplicable laws, rules or regulations to + provide legal consent and that has legal authority\\nto bind your employer or + such other person or entity if you are entering in this Agreement\\non their + behalf.\\n\\n\u201CLlama 3.2\u201D means the foundational large language models + and software and algorithms, including\\nmachine-learning model code, trained + model weights, inference-enabling code, training-enabling code,\\nfine-tuning + enabling code and other elements of the foregoing distributed by Meta at \\nhttps://www.llama.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.2 and Documentation + (and \\nany portion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, \\nif you are an entity, your principal place of business is in the EEA + or Switzerland) \\nand Meta Platforms, Inc. (if you are located outside of the + EEA or Switzerland). \\n\\n\\nBy clicking \u201CI Accept\u201D below or by using + or distributing any portion or element of the Llama Materials,\\nyou agree to + be bound by this Agreement.\\n\\n\\n1. License Rights and Redistribution.\\n\\n + \ a. Grant of Rights. You are granted a non-exclusive, worldwide, \\nnon-transferable + and royalty-free limited license under Meta\u2019s intellectual property or + other rights \\nowned by Meta embodied in the Llama Materials to use, reproduce, + distribute, copy, create derivative works \\nof, and make modifications to the + Llama Materials. \\n\\n b. Redistribution and Use. \\n\\n i. If + you distribute or make available the Llama Materials (or any derivative works + thereof), \\nor a product or service (including another AI model) that contains + any of them, you shall (A) provide\\na copy of this Agreement with any such + Llama Materials; and (B) prominently display \u201CBuilt with Llama\u201D\\non + a related website, user interface, blogpost, about page, or product documentation. + If you use the\\nLlama Materials or any outputs or results of the Llama Materials + to create, train, fine tune, or\\notherwise improve an AI model, which is distributed + or made available, you shall also include \u201CLlama\u201D\\nat the beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, + or any derivative works thereof, from a Licensee as part\\nof an integrated + end user product, then Section 2 of this Agreement will not apply to you. \\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the \\nfollowing attribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \\n\u201CLlama 3.2 is licensed under the Llama 3.2 + Community License, Copyright \xA9 Meta Platforms,\\nInc. All Rights Reserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws + and regulations\\n(including trade compliance laws and regulations) and adhere + to the Acceptable Use Policy for\\nthe Llama Materials (available at https://www.llama.com/llama3_2/use-policy), + which is hereby \\nincorporated by reference into this Agreement.\\n \\n2. + Additional Commercial Terms. If, on the Llama 3.2 version release date, the + monthly active users\\nof the products or services made available by or for + Licensee, or Licensee\u2019s affiliates, \\nis greater than 700 million monthly + active users in the preceding calendar month, you must request \\na license + from Meta, which Meta may grant to you in its sole discretion, and you are not + authorized to\\nexercise any of the rights under this Agreement unless or until + Meta otherwise expressly grants you such rights.\\n\\n3. Disclaimer of Warranty. + UNLESS REQUIRED BY APPLICABLE LAW, THE LLAMA MATERIALS AND ANY OUTPUT AND \\nRESULTS + THEREFROM ARE PROVIDED ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF + ANY KIND, AND META DISCLAIMS\\nALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES\\nOF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE\\nFOR + DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE LLAMA MATERIALS + AND ASSUME ANY RISKS ASSOCIATED\\nWITH YOUR USE OF THE LLAMA MATERIALS AND ANY + OUTPUT AND RESULTS.\\n\\n4. Limitation of Liability. IN NO EVENT WILL META OR + ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, \\nWHETHER IN CONTRACT, + TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, + \\nFOR ANY LOST PROFITS OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, + EXEMPLARY OR PUNITIVE DAMAGES, EVEN \\nIF META OR ITS AFFILIATES HAVE BEEN ADVISED + OF THE POSSIBILITY OF ANY OF THE FOREGOING.\\n\\n5. Intellectual Property.\\n\\n + \ a. No trademark licenses are granted under this Agreement, and in connection + with the Llama Materials, \\nneither Meta nor Licensee may use any name or mark + owned by or associated with the other or any of its affiliates, \\nexcept as + required for reasonable and customary use in describing and redistributing the + Llama Materials or as \\nset forth in this Section 5(a). Meta hereby grants + you a license to use \u201CLlama\u201D (the \u201CMark\u201D) solely as required + \\nto comply with the last sentence of Section 1.b.i. You will comply with Meta\u2019s + brand guidelines (currently accessible \\nat https://about.meta.com/brand/resources/meta/company-brand/). + All goodwill arising out of your use of the Mark \\nwill inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and + derivatives made by or for Meta, with respect to any\\n derivative works + and modifications of the Llama Materials that are made by you, as between you + and Meta,\\n you are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any + entity (including a cross-claim or\\n counterclaim in a lawsuit) alleging + that the Llama Materials or Llama 3.2 outputs or results, or any portion\\n + \ of any of the foregoing, constitutes infringement of intellectual property + or other rights owned or licensable\\n by you, then any licenses granted + to you under this Agreement shall terminate as of the date such litigation or\\n + \ claim is filed or instituted. You will indemnify and hold harmless Meta + from and against any claim by any third\\n party arising out of or related + to your use or distribution of the Llama Materials.\\n\\n6. Term and Termination. + The term of this Agreement will commence upon your acceptance of this Agreement + or access\\nto the Llama Materials and will continue in full force and effect + until terminated in accordance with the terms\\nand conditions herein. Meta + may terminate this Agreement if you are in breach of any term or condition of + this\\nAgreement. Upon termination of this Agreement, you shall delete and cease + use of the Llama Materials. Sections 3,\\n4 and 7 shall survive the termination + of this Agreement. \\n\\n7. Governing Law and Jurisdiction. This Agreement will + be governed and construed under the laws of the State of \\nCalifornia without + regard to choice of law principles, and the UN Convention on Contracts for the + International\\nSale of Goods does not apply to this Agreement. The courts of + California shall have exclusive jurisdiction of\\nany dispute arising out of + this Agreement.\\\"\\nLICENSE \\\"**Llama 3.2** **Acceptable Use Policy**\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.2. If you access or use Llama 3.2, you agree to this Acceptable Use + Policy (\u201C**Policy**\u201D). The most recent copy of this policy can be + found at [https://www.llama.com/llama3_2/use-policy](https://www.llama.com/llama3_2/use-policy).\\n\\n**Prohibited + Uses**\\n\\nWe want everyone to use Llama 3.2 safely and responsibly. You agree + you will not use, or allow others to use, Llama 3.2 to:\\n\\n\\n\\n1. Violate + the law or others\u2019 rights, including to:\\n 1. Engage in, promote, generate, + contribute to, encourage, plan, incite, or further illegal or unlawful activity + or content, such as:\\n 1. Violence or terrorism\\n 2. Exploitation + or harm to children, including the solicitation, creation, acquisition, or dissemination + of child exploitative content or failure to report Child Sexual Abuse Material\\n + \ 3. Human trafficking, exploitation, and sexual violence\\n 4. + The illegal distribution of information or materials to minors, including obscene + materials, or failure to employ legally required age-gating in connection with + such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 1. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 2. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 3. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 4. Collect, process, disclose, generate, + or infer private or sensitive information about individuals, including information + about individuals\u2019 identity, health, or demographic information, unless + you have obtained the right to do so in accordance with applicable law\\n 5. + Engage in or facilitate any action or generate any content that infringes, misappropriates, + or otherwise violates any third-party rights, including the outputs or results + of any products or services using the Llama Materials\\n 6. Create, generate, + or facilitate the creation of malicious code, malware, computer viruses or do + anything else that could disable, overburden, interfere with or impair the proper + working, integrity, operation or appearance of a website or computer system\\n + \ 7. Engage in any action, or facilitate any action, to intentionally circumvent + or remove usage restrictions or other safety measures, or to enable functionality + disabled by Meta\\n2. Engage in, promote, incite, facilitate, or assist in the + planning or development of activities that present a risk of death or bodily + harm to individuals, including use of Llama 3.2 related to the following:\\n + \ 8. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State or to + the U.S. Biological Weapons Anti-Terrorism Act of 1989 or the Chemical Weapons + Convention Implementation Act of 1997\\n 9. Guns and illegal weapons (including + weapon development)\\n 10. Illegal drugs and regulated/controlled substances\\n + \ 11. Operation of critical infrastructure, transportation technologies, or + heavy machinery\\n 12. Self-harm or harm to others, including suicide, cutting, + and eating disorders\\n 13. Any content intended to incite or promote violence, + abuse, or any infliction of bodily harm to an individual\\n3. Intentionally + deceive or mislead others, including use of Llama 3.2 related to the following:\\n + \ 14. Generating, promoting, or furthering fraud or the creation or promotion + of disinformation\\n 15. Generating, promoting, or furthering defamatory + content, including the creation of defamatory statements, images, or other content\\n + \ 16. Generating, promoting, or further distributing spam\\n 17. Impersonating + another individual without consent, authorization, or legal right\\n 18. + Representing that the use of Llama 3.2 or outputs are human-generated\\n 19. + Generating or facilitating false online engagement, including fake reviews and + other means of fake online engagement\\n4. Fail to appropriately disclose to + end users any known dangers of your AI system\\n5. Interact with third party + tools, models, or software designed to generate unlawful content or engage in + unlawful or harmful conduct and/or represent that the outputs of such tools, + models, or software are associated with Meta or Llama 3.2\\n\\nWith respect + to any multimodal models included in Llama 3.2, the rights granted under Section + 1(a) of the Llama 3.2 Community License Agreement are not being granted to you + if you are an individual domiciled in, or a company with a principal place of + business in, the European Union. This restriction does not apply to end users + of a product or service that incorporates any such multimodal models.\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation of this Policy through one of the following means:\\n\\n\\n\\n* + Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://l.workplace.com/l.php?u=https%3A%2F%2Fgithub.com%2Fmeta-llama%2Fllama-models%2Fissues\\u0026h=AT0qV8W9BFT6NwihiOHRuKYQM_UnkzN_NmHMy91OT55gkLpgi4kQupHUl0ssR4dQsIQ8n3tfd0vtkobvsEvt1l4Ic6GXI2EeuHV8N08OG2WnbAmm0FL4ObkazC6G_256vN0lN9DsykCvCqGZ)\\n* + Reporting risky content generated by the model: [developers.facebook.com/llama_output_feedback](http://developers.facebook.com/llama_output_feedback)\\n* + Reporting bugs and security concerns: [facebook.com/whitehat/info](http://facebook.com/whitehat/info)\\n* + Reporting violations of the Acceptable Use Policy or unlicensed uses of Llama + 3.2: LlamaUseReport@meta.com\\\"\\n\",\"parameters\":\"stop \\\"\\u003c|start_header_id|\\u003e\\\"\\nstop + \ \\\"\\u003c|end_header_id|\\u003e\\\"\\nstop \\\"\\u003c|eot_id|\\u003e\\\"\",\"template\":\"\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n\\nCutting + Knowledge Date: December 2023\\n\\n{{ if .System }}{{ .System }}\\n{{- end }}\\n{{- + if .Tools }}When you receive a tool call response, use the output to format + an answer to the orginal user question.\\n\\nYou are a helpful assistant with + tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- range $i, + $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages $i)) 1 }}\\n{{- + if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\",\"details\":{\"parent_model\":\"\",\"format\":\"gguf\",\"family\":\"llama\",\"families\":[\"llama\"],\"parameter_size\":\"3.2B\",\"quantization_level\":\"Q4_K_M\"},\"model_info\":{\"general.architecture\":\"llama\",\"general.basename\":\"Llama-3.2\",\"general.file_type\":15,\"general.finetune\":\"Instruct\",\"general.languages\":[\"en\",\"de\",\"fr\",\"it\",\"pt\",\"hi\",\"es\",\"th\"],\"general.parameter_count\":3212749888,\"general.quantization_version\":2,\"general.size_label\":\"3B\",\"general.tags\":[\"facebook\",\"meta\",\"pytorch\",\"llama\",\"llama-3\",\"text-generation\"],\"general.type\":\"model\",\"llama.attention.head_count\":24,\"llama.attention.head_count_kv\":8,\"llama.attention.key_length\":128,\"llama.attention.layer_norm_rms_epsilon\":0.00001,\"llama.attention.value_length\":128,\"llama.block_count\":28,\"llama.context_length\":131072,\"llama.embedding_length\":3072,\"llama.feed_forward_length\":8192,\"llama.rope.dimension_count\":128,\"llama.rope.freq_base\":500000,\"llama.vocab_size\":128256,\"tokenizer.ggml.bos_token_id\":128000,\"tokenizer.ggml.eos_token_id\":128009,\"tokenizer.ggml.merges\":null,\"tokenizer.ggml.model\":\"gpt2\",\"tokenizer.ggml.pre\":\"llama-bpe\",\"tokenizer.ggml.token_type\":null,\"tokenizer.ggml.tokens\":null},\"modified_at\":\"2025-02-20T18:55:09.150577031-08:00\"}" + headers: + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 21 Feb 2025 02:57:55 GMT + Transfer-Encoding: + - chunked + http_version: HTTP/1.1 + status_code: 200 +- request: + body: '{"name": "llama3.2:3b"}' + headers: + accept: + - '*/*' + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '23' + content-type: + - application/json + host: + - localhost:11434 + user-agent: + - litellm/1.60.2 + method: POST + uri: http://localhost:11434/api/show + response: + content: "{\"license\":\"LLAMA 3.2 COMMUNITY LICENSE AGREEMENT\\nLlama 3.2 Version + Release Date: September 25, 2024\\n\\n\u201CAgreement\u201D means the terms + and conditions for use, reproduction, distribution \\nand modification of the + Llama Materials set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, + manuals and documentation accompanying Llama 3.2\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are \\nentering into this Agreement on such person or entity\u2019s + behalf), of the age required under\\napplicable laws, rules or regulations to + provide legal consent and that has legal authority\\nto bind your employer or + such other person or entity if you are entering in this Agreement\\non their + behalf.\\n\\n\u201CLlama 3.2\u201D means the foundational large language models + and software and algorithms, including\\nmachine-learning model code, trained + model weights, inference-enabling code, training-enabling code,\\nfine-tuning + enabling code and other elements of the foregoing distributed by Meta at \\nhttps://www.llama.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.2 and Documentation + (and \\nany portion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, \\nif you are an entity, your principal place of business is in the EEA + or Switzerland) \\nand Meta Platforms, Inc. (if you are located outside of the + EEA or Switzerland). \\n\\n\\nBy clicking \u201CI Accept\u201D below or by using + or distributing any portion or element of the Llama Materials,\\nyou agree to + be bound by this Agreement.\\n\\n\\n1. License Rights and Redistribution.\\n\\n + \ a. Grant of Rights. You are granted a non-exclusive, worldwide, \\nnon-transferable + and royalty-free limited license under Meta\u2019s intellectual property or + other rights \\nowned by Meta embodied in the Llama Materials to use, reproduce, + distribute, copy, create derivative works \\nof, and make modifications to the + Llama Materials. \\n\\n b. Redistribution and Use. \\n\\n i. If + you distribute or make available the Llama Materials (or any derivative works + thereof), \\nor a product or service (including another AI model) that contains + any of them, you shall (A) provide\\na copy of this Agreement with any such + Llama Materials; and (B) prominently display \u201CBuilt with Llama\u201D\\non + a related website, user interface, blogpost, about page, or product documentation. + If you use the\\nLlama Materials or any outputs or results of the Llama Materials + to create, train, fine tune, or\\notherwise improve an AI model, which is distributed + or made available, you shall also include \u201CLlama\u201D\\nat the beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, + or any derivative works thereof, from a Licensee as part\\nof an integrated + end user product, then Section 2 of this Agreement will not apply to you. \\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the \\nfollowing attribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \\n\u201CLlama 3.2 is licensed under the Llama 3.2 + Community License, Copyright \xA9 Meta Platforms,\\nInc. All Rights Reserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws + and regulations\\n(including trade compliance laws and regulations) and adhere + to the Acceptable Use Policy for\\nthe Llama Materials (available at https://www.llama.com/llama3_2/use-policy), + which is hereby \\nincorporated by reference into this Agreement.\\n \\n2. + Additional Commercial Terms. If, on the Llama 3.2 version release date, the + monthly active users\\nof the products or services made available by or for + Licensee, or Licensee\u2019s affiliates, \\nis greater than 700 million monthly + active users in the preceding calendar month, you must request \\na license + from Meta, which Meta may grant to you in its sole discretion, and you are not + authorized to\\nexercise any of the rights under this Agreement unless or until + Meta otherwise expressly grants you such rights.\\n\\n3. Disclaimer of Warranty. + UNLESS REQUIRED BY APPLICABLE LAW, THE LLAMA MATERIALS AND ANY OUTPUT AND \\nRESULTS + THEREFROM ARE PROVIDED ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF + ANY KIND, AND META DISCLAIMS\\nALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES\\nOF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE\\nFOR + DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE LLAMA MATERIALS + AND ASSUME ANY RISKS ASSOCIATED\\nWITH YOUR USE OF THE LLAMA MATERIALS AND ANY + OUTPUT AND RESULTS.\\n\\n4. Limitation of Liability. IN NO EVENT WILL META OR + ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, \\nWHETHER IN CONTRACT, + TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, + \\nFOR ANY LOST PROFITS OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, + EXEMPLARY OR PUNITIVE DAMAGES, EVEN \\nIF META OR ITS AFFILIATES HAVE BEEN ADVISED + OF THE POSSIBILITY OF ANY OF THE FOREGOING.\\n\\n5. Intellectual Property.\\n\\n + \ a. No trademark licenses are granted under this Agreement, and in connection + with the Llama Materials, \\nneither Meta nor Licensee may use any name or mark + owned by or associated with the other or any of its affiliates, \\nexcept as + required for reasonable and customary use in describing and redistributing the + Llama Materials or as \\nset forth in this Section 5(a). Meta hereby grants + you a license to use \u201CLlama\u201D (the \u201CMark\u201D) solely as required + \\nto comply with the last sentence of Section 1.b.i. You will comply with Meta\u2019s + brand guidelines (currently accessible \\nat https://about.meta.com/brand/resources/meta/company-brand/). + All goodwill arising out of your use of the Mark \\nwill inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and + derivatives made by or for Meta, with respect to any\\n derivative works + and modifications of the Llama Materials that are made by you, as between you + and Meta,\\n you are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any + entity (including a cross-claim or\\n counterclaim in a lawsuit) alleging + that the Llama Materials or Llama 3.2 outputs or results, or any portion\\n + \ of any of the foregoing, constitutes infringement of intellectual property + or other rights owned or licensable\\n by you, then any licenses granted + to you under this Agreement shall terminate as of the date such litigation or\\n + \ claim is filed or instituted. You will indemnify and hold harmless Meta + from and against any claim by any third\\n party arising out of or related + to your use or distribution of the Llama Materials.\\n\\n6. Term and Termination. + The term of this Agreement will commence upon your acceptance of this Agreement + or access\\nto the Llama Materials and will continue in full force and effect + until terminated in accordance with the terms\\nand conditions herein. Meta + may terminate this Agreement if you are in breach of any term or condition of + this\\nAgreement. Upon termination of this Agreement, you shall delete and cease + use of the Llama Materials. Sections 3,\\n4 and 7 shall survive the termination + of this Agreement. \\n\\n7. Governing Law and Jurisdiction. This Agreement will + be governed and construed under the laws of the State of \\nCalifornia without + regard to choice of law principles, and the UN Convention on Contracts for the + International\\nSale of Goods does not apply to this Agreement. The courts of + California shall have exclusive jurisdiction of\\nany dispute arising out of + this Agreement.\\n**Llama 3.2** **Acceptable Use Policy**\\n\\nMeta is committed + to promoting safe and fair use of its tools and features, including Llama 3.2. + If you access or use Llama 3.2, you agree to this Acceptable Use Policy (\u201C**Policy**\u201D). + The most recent copy of this policy can be found at [https://www.llama.com/llama3_2/use-policy](https://www.llama.com/llama3_2/use-policy).\\n\\n**Prohibited + Uses**\\n\\nWe want everyone to use Llama 3.2 safely and responsibly. You agree + you will not use, or allow others to use, Llama 3.2 to:\\n\\n\\n\\n1. Violate + the law or others\u2019 rights, including to:\\n 1. Engage in, promote, generate, + contribute to, encourage, plan, incite, or further illegal or unlawful activity + or content, such as:\\n 1. Violence or terrorism\\n 2. Exploitation + or harm to children, including the solicitation, creation, acquisition, or dissemination + of child exploitative content or failure to report Child Sexual Abuse Material\\n + \ 3. Human trafficking, exploitation, and sexual violence\\n 4. + The illegal distribution of information or materials to minors, including obscene + materials, or failure to employ legally required age-gating in connection with + such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 1. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 2. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 3. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 4. Collect, process, disclose, generate, + or infer private or sensitive information about individuals, including information + about individuals\u2019 identity, health, or demographic information, unless + you have obtained the right to do so in accordance with applicable law\\n 5. + Engage in or facilitate any action or generate any content that infringes, misappropriates, + or otherwise violates any third-party rights, including the outputs or results + of any products or services using the Llama Materials\\n 6. Create, generate, + or facilitate the creation of malicious code, malware, computer viruses or do + anything else that could disable, overburden, interfere with or impair the proper + working, integrity, operation or appearance of a website or computer system\\n + \ 7. Engage in any action, or facilitate any action, to intentionally circumvent + or remove usage restrictions or other safety measures, or to enable functionality + disabled by Meta\\n2. Engage in, promote, incite, facilitate, or assist in the + planning or development of activities that present a risk of death or bodily + harm to individuals, including use of Llama 3.2 related to the following:\\n + \ 8. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State or to + the U.S. Biological Weapons Anti-Terrorism Act of 1989 or the Chemical Weapons + Convention Implementation Act of 1997\\n 9. Guns and illegal weapons (including + weapon development)\\n 10. Illegal drugs and regulated/controlled substances\\n + \ 11. Operation of critical infrastructure, transportation technologies, or + heavy machinery\\n 12. Self-harm or harm to others, including suicide, cutting, + and eating disorders\\n 13. Any content intended to incite or promote violence, + abuse, or any infliction of bodily harm to an individual\\n3. Intentionally + deceive or mislead others, including use of Llama 3.2 related to the following:\\n + \ 14. Generating, promoting, or furthering fraud or the creation or promotion + of disinformation\\n 15. Generating, promoting, or furthering defamatory + content, including the creation of defamatory statements, images, or other content\\n + \ 16. Generating, promoting, or further distributing spam\\n 17. Impersonating + another individual without consent, authorization, or legal right\\n 18. + Representing that the use of Llama 3.2 or outputs are human-generated\\n 19. + Generating or facilitating false online engagement, including fake reviews and + other means of fake online engagement\\n4. Fail to appropriately disclose to + end users any known dangers of your AI system\\n5. Interact with third party + tools, models, or software designed to generate unlawful content or engage in + unlawful or harmful conduct and/or represent that the outputs of such tools, + models, or software are associated with Meta or Llama 3.2\\n\\nWith respect + to any multimodal models included in Llama 3.2, the rights granted under Section + 1(a) of the Llama 3.2 Community License Agreement are not being granted to you + if you are an individual domiciled in, or a company with a principal place of + business in, the European Union. This restriction does not apply to end users + of a product or service that incorporates any such multimodal models.\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation of this Policy through one of the following means:\\n\\n\\n\\n* + Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://l.workplace.com/l.php?u=https%3A%2F%2Fgithub.com%2Fmeta-llama%2Fllama-models%2Fissues\\u0026h=AT0qV8W9BFT6NwihiOHRuKYQM_UnkzN_NmHMy91OT55gkLpgi4kQupHUl0ssR4dQsIQ8n3tfd0vtkobvsEvt1l4Ic6GXI2EeuHV8N08OG2WnbAmm0FL4ObkazC6G_256vN0lN9DsykCvCqGZ)\\n* + Reporting risky content generated by the model: [developers.facebook.com/llama_output_feedback](http://developers.facebook.com/llama_output_feedback)\\n* + Reporting bugs and security concerns: [facebook.com/whitehat/info](http://facebook.com/whitehat/info)\\n* + Reporting violations of the Acceptable Use Policy or unlicensed uses of Llama + 3.2: LlamaUseReport@meta.com\",\"modelfile\":\"# Modelfile generated by \\\"ollama + show\\\"\\n# To build a new Modelfile based on this, replace FROM with:\\n# + FROM llama3.2:3b\\n\\nFROM /Users/joaomoura/.ollama/models/blobs/sha256-dde5aa3fc5ffc17176b5e8bdc82f587b24b2678c6c66101bf7da77af9f7ccdff\\nTEMPLATE + \\\"\\\"\\\"\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n\\nCutting + Knowledge Date: December 2023\\n\\n{{ if .System }}{{ .System }}\\n{{- end }}\\n{{- + if .Tools }}When you receive a tool call response, use the output to format + an answer to the orginal user question.\\n\\nYou are a helpful assistant with + tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- range $i, + $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages $i)) 1 }}\\n{{- + if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\\\"\\\"\\\"\\nPARAMETER stop \\u003c|start_header_id|\\u003e\\nPARAMETER + stop \\u003c|end_header_id|\\u003e\\nPARAMETER stop \\u003c|eot_id|\\u003e\\nLICENSE + \\\"LLAMA 3.2 COMMUNITY LICENSE AGREEMENT\\nLlama 3.2 Version Release Date: + September 25, 2024\\n\\n\u201CAgreement\u201D means the terms and conditions + for use, reproduction, distribution \\nand modification of the Llama Materials + set forth herein.\\n\\n\u201CDocumentation\u201D means the specifications, manuals + and documentation accompanying Llama 3.2\\ndistributed by Meta at https://llama.meta.com/doc/overview.\\n\\n\u201CLicensee\u201D + or \u201Cyou\u201D means you, or your employer or any other person or entity + (if you are \\nentering into this Agreement on such person or entity\u2019s + behalf), of the age required under\\napplicable laws, rules or regulations to + provide legal consent and that has legal authority\\nto bind your employer or + such other person or entity if you are entering in this Agreement\\non their + behalf.\\n\\n\u201CLlama 3.2\u201D means the foundational large language models + and software and algorithms, including\\nmachine-learning model code, trained + model weights, inference-enabling code, training-enabling code,\\nfine-tuning + enabling code and other elements of the foregoing distributed by Meta at \\nhttps://www.llama.com/llama-downloads.\\n\\n\u201CLlama + Materials\u201D means, collectively, Meta\u2019s proprietary Llama 3.2 and Documentation + (and \\nany portion thereof) made available under this Agreement.\\n\\n\u201CMeta\u201D + or \u201Cwe\u201D means Meta Platforms Ireland Limited (if you are located in + or, \\nif you are an entity, your principal place of business is in the EEA + or Switzerland) \\nand Meta Platforms, Inc. (if you are located outside of the + EEA or Switzerland). \\n\\n\\nBy clicking \u201CI Accept\u201D below or by using + or distributing any portion or element of the Llama Materials,\\nyou agree to + be bound by this Agreement.\\n\\n\\n1. License Rights and Redistribution.\\n\\n + \ a. Grant of Rights. You are granted a non-exclusive, worldwide, \\nnon-transferable + and royalty-free limited license under Meta\u2019s intellectual property or + other rights \\nowned by Meta embodied in the Llama Materials to use, reproduce, + distribute, copy, create derivative works \\nof, and make modifications to the + Llama Materials. \\n\\n b. Redistribution and Use. \\n\\n i. If + you distribute or make available the Llama Materials (or any derivative works + thereof), \\nor a product or service (including another AI model) that contains + any of them, you shall (A) provide\\na copy of this Agreement with any such + Llama Materials; and (B) prominently display \u201CBuilt with Llama\u201D\\non + a related website, user interface, blogpost, about page, or product documentation. + If you use the\\nLlama Materials or any outputs or results of the Llama Materials + to create, train, fine tune, or\\notherwise improve an AI model, which is distributed + or made available, you shall also include \u201CLlama\u201D\\nat the beginning + of any such AI model name.\\n\\n ii. If you receive Llama Materials, + or any derivative works thereof, from a Licensee as part\\nof an integrated + end user product, then Section 2 of this Agreement will not apply to you. \\n\\n + \ iii. You must retain in all copies of the Llama Materials that you distribute + the \\nfollowing attribution notice within a \u201CNotice\u201D text file distributed + as a part of such copies: \\n\u201CLlama 3.2 is licensed under the Llama 3.2 + Community License, Copyright \xA9 Meta Platforms,\\nInc. All Rights Reserved.\u201D\\n\\n + \ iv. Your use of the Llama Materials must comply with applicable laws + and regulations\\n(including trade compliance laws and regulations) and adhere + to the Acceptable Use Policy for\\nthe Llama Materials (available at https://www.llama.com/llama3_2/use-policy), + which is hereby \\nincorporated by reference into this Agreement.\\n \\n2. + Additional Commercial Terms. If, on the Llama 3.2 version release date, the + monthly active users\\nof the products or services made available by or for + Licensee, or Licensee\u2019s affiliates, \\nis greater than 700 million monthly + active users in the preceding calendar month, you must request \\na license + from Meta, which Meta may grant to you in its sole discretion, and you are not + authorized to\\nexercise any of the rights under this Agreement unless or until + Meta otherwise expressly grants you such rights.\\n\\n3. Disclaimer of Warranty. + UNLESS REQUIRED BY APPLICABLE LAW, THE LLAMA MATERIALS AND ANY OUTPUT AND \\nRESULTS + THEREFROM ARE PROVIDED ON AN \u201CAS IS\u201D BASIS, WITHOUT WARRANTIES OF + ANY KIND, AND META DISCLAIMS\\nALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES\\nOF TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE\\nFOR + DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE LLAMA MATERIALS + AND ASSUME ANY RISKS ASSOCIATED\\nWITH YOUR USE OF THE LLAMA MATERIALS AND ANY + OUTPUT AND RESULTS.\\n\\n4. Limitation of Liability. IN NO EVENT WILL META OR + ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, \\nWHETHER IN CONTRACT, + TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, + \\nFOR ANY LOST PROFITS OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, + EXEMPLARY OR PUNITIVE DAMAGES, EVEN \\nIF META OR ITS AFFILIATES HAVE BEEN ADVISED + OF THE POSSIBILITY OF ANY OF THE FOREGOING.\\n\\n5. Intellectual Property.\\n\\n + \ a. No trademark licenses are granted under this Agreement, and in connection + with the Llama Materials, \\nneither Meta nor Licensee may use any name or mark + owned by or associated with the other or any of its affiliates, \\nexcept as + required for reasonable and customary use in describing and redistributing the + Llama Materials or as \\nset forth in this Section 5(a). Meta hereby grants + you a license to use \u201CLlama\u201D (the \u201CMark\u201D) solely as required + \\nto comply with the last sentence of Section 1.b.i. You will comply with Meta\u2019s + brand guidelines (currently accessible \\nat https://about.meta.com/brand/resources/meta/company-brand/). + All goodwill arising out of your use of the Mark \\nwill inure to the benefit + of Meta.\\n\\n b. Subject to Meta\u2019s ownership of Llama Materials and + derivatives made by or for Meta, with respect to any\\n derivative works + and modifications of the Llama Materials that are made by you, as between you + and Meta,\\n you are and will be the owner of such derivative works and modifications.\\n\\n + \ c. If you institute litigation or other proceedings against Meta or any + entity (including a cross-claim or\\n counterclaim in a lawsuit) alleging + that the Llama Materials or Llama 3.2 outputs or results, or any portion\\n + \ of any of the foregoing, constitutes infringement of intellectual property + or other rights owned or licensable\\n by you, then any licenses granted + to you under this Agreement shall terminate as of the date such litigation or\\n + \ claim is filed or instituted. You will indemnify and hold harmless Meta + from and against any claim by any third\\n party arising out of or related + to your use or distribution of the Llama Materials.\\n\\n6. Term and Termination. + The term of this Agreement will commence upon your acceptance of this Agreement + or access\\nto the Llama Materials and will continue in full force and effect + until terminated in accordance with the terms\\nand conditions herein. Meta + may terminate this Agreement if you are in breach of any term or condition of + this\\nAgreement. Upon termination of this Agreement, you shall delete and cease + use of the Llama Materials. Sections 3,\\n4 and 7 shall survive the termination + of this Agreement. \\n\\n7. Governing Law and Jurisdiction. This Agreement will + be governed and construed under the laws of the State of \\nCalifornia without + regard to choice of law principles, and the UN Convention on Contracts for the + International\\nSale of Goods does not apply to this Agreement. The courts of + California shall have exclusive jurisdiction of\\nany dispute arising out of + this Agreement.\\\"\\nLICENSE \\\"**Llama 3.2** **Acceptable Use Policy**\\n\\nMeta + is committed to promoting safe and fair use of its tools and features, including + Llama 3.2. If you access or use Llama 3.2, you agree to this Acceptable Use + Policy (\u201C**Policy**\u201D). The most recent copy of this policy can be + found at [https://www.llama.com/llama3_2/use-policy](https://www.llama.com/llama3_2/use-policy).\\n\\n**Prohibited + Uses**\\n\\nWe want everyone to use Llama 3.2 safely and responsibly. You agree + you will not use, or allow others to use, Llama 3.2 to:\\n\\n\\n\\n1. Violate + the law or others\u2019 rights, including to:\\n 1. Engage in, promote, generate, + contribute to, encourage, plan, incite, or further illegal or unlawful activity + or content, such as:\\n 1. Violence or terrorism\\n 2. Exploitation + or harm to children, including the solicitation, creation, acquisition, or dissemination + of child exploitative content or failure to report Child Sexual Abuse Material\\n + \ 3. Human trafficking, exploitation, and sexual violence\\n 4. + The illegal distribution of information or materials to minors, including obscene + materials, or failure to employ legally required age-gating in connection with + such information or materials.\\n 5. Sexual solicitation\\n 6. + Any other criminal activity\\n 1. Engage in, promote, incite, or facilitate + the harassment, abuse, threatening, or bullying of individuals or groups of + individuals\\n 2. Engage in, promote, incite, or facilitate discrimination + or other unlawful or harmful conduct in the provision of employment, employment + benefits, credit, housing, other economic benefits, or other essential goods + and services\\n 3. Engage in the unauthorized or unlicensed practice of any + profession including, but not limited to, financial, legal, medical/health, + or related professional practices\\n 4. Collect, process, disclose, generate, + or infer private or sensitive information about individuals, including information + about individuals\u2019 identity, health, or demographic information, unless + you have obtained the right to do so in accordance with applicable law\\n 5. + Engage in or facilitate any action or generate any content that infringes, misappropriates, + or otherwise violates any third-party rights, including the outputs or results + of any products or services using the Llama Materials\\n 6. Create, generate, + or facilitate the creation of malicious code, malware, computer viruses or do + anything else that could disable, overburden, interfere with or impair the proper + working, integrity, operation or appearance of a website or computer system\\n + \ 7. Engage in any action, or facilitate any action, to intentionally circumvent + or remove usage restrictions or other safety measures, or to enable functionality + disabled by Meta\\n2. Engage in, promote, incite, facilitate, or assist in the + planning or development of activities that present a risk of death or bodily + harm to individuals, including use of Llama 3.2 related to the following:\\n + \ 8. Military, warfare, nuclear industries or applications, espionage, use + for materials or activities that are subject to the International Traffic Arms + Regulations (ITAR) maintained by the United States Department of State or to + the U.S. Biological Weapons Anti-Terrorism Act of 1989 or the Chemical Weapons + Convention Implementation Act of 1997\\n 9. Guns and illegal weapons (including + weapon development)\\n 10. Illegal drugs and regulated/controlled substances\\n + \ 11. Operation of critical infrastructure, transportation technologies, or + heavy machinery\\n 12. Self-harm or harm to others, including suicide, cutting, + and eating disorders\\n 13. Any content intended to incite or promote violence, + abuse, or any infliction of bodily harm to an individual\\n3. Intentionally + deceive or mislead others, including use of Llama 3.2 related to the following:\\n + \ 14. Generating, promoting, or furthering fraud or the creation or promotion + of disinformation\\n 15. Generating, promoting, or furthering defamatory + content, including the creation of defamatory statements, images, or other content\\n + \ 16. Generating, promoting, or further distributing spam\\n 17. Impersonating + another individual without consent, authorization, or legal right\\n 18. + Representing that the use of Llama 3.2 or outputs are human-generated\\n 19. + Generating or facilitating false online engagement, including fake reviews and + other means of fake online engagement\\n4. Fail to appropriately disclose to + end users any known dangers of your AI system\\n5. Interact with third party + tools, models, or software designed to generate unlawful content or engage in + unlawful or harmful conduct and/or represent that the outputs of such tools, + models, or software are associated with Meta or Llama 3.2\\n\\nWith respect + to any multimodal models included in Llama 3.2, the rights granted under Section + 1(a) of the Llama 3.2 Community License Agreement are not being granted to you + if you are an individual domiciled in, or a company with a principal place of + business in, the European Union. This restriction does not apply to end users + of a product or service that incorporates any such multimodal models.\\n\\nPlease + report any violation of this Policy, software \u201Cbug,\u201D or other problems + that could lead to a violation of this Policy through one of the following means:\\n\\n\\n\\n* + Reporting issues with the model: [https://github.com/meta-llama/llama-models/issues](https://l.workplace.com/l.php?u=https%3A%2F%2Fgithub.com%2Fmeta-llama%2Fllama-models%2Fissues\\u0026h=AT0qV8W9BFT6NwihiOHRuKYQM_UnkzN_NmHMy91OT55gkLpgi4kQupHUl0ssR4dQsIQ8n3tfd0vtkobvsEvt1l4Ic6GXI2EeuHV8N08OG2WnbAmm0FL4ObkazC6G_256vN0lN9DsykCvCqGZ)\\n* + Reporting risky content generated by the model: [developers.facebook.com/llama_output_feedback](http://developers.facebook.com/llama_output_feedback)\\n* + Reporting bugs and security concerns: [facebook.com/whitehat/info](http://facebook.com/whitehat/info)\\n* + Reporting violations of the Acceptable Use Policy or unlicensed uses of Llama + 3.2: LlamaUseReport@meta.com\\\"\\n\",\"parameters\":\"stop \\\"\\u003c|start_header_id|\\u003e\\\"\\nstop + \ \\\"\\u003c|end_header_id|\\u003e\\\"\\nstop \\\"\\u003c|eot_id|\\u003e\\\"\",\"template\":\"\\u003c|start_header_id|\\u003esystem\\u003c|end_header_id|\\u003e\\n\\nCutting + Knowledge Date: December 2023\\n\\n{{ if .System }}{{ .System }}\\n{{- end }}\\n{{- + if .Tools }}When you receive a tool call response, use the output to format + an answer to the orginal user question.\\n\\nYou are a helpful assistant with + tool calling capabilities.\\n{{- end }}\\u003c|eot_id|\\u003e\\n{{- range $i, + $_ := .Messages }}\\n{{- $last := eq (len (slice $.Messages $i)) 1 }}\\n{{- + if eq .Role \\\"user\\\" }}\\u003c|start_header_id|\\u003euser\\u003c|end_header_id|\\u003e\\n{{- + if and $.Tools $last }}\\n\\nGiven the following functions, please respond with + a JSON for a function call with its proper arguments that best answers the given + prompt.\\n\\nRespond in the format {\\\"name\\\": function name, \\\"parameters\\\": + dictionary of argument name and its value}. Do not use variables.\\n\\n{{ range + $.Tools }}\\n{{- . }}\\n{{ end }}\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- + else }}\\n\\n{{ .Content }}\\u003c|eot_id|\\u003e\\n{{- end }}{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- else if eq .Role \\\"assistant\\\" }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n{{- + if .ToolCalls }}\\n{{ range .ToolCalls }}\\n{\\\"name\\\": \\\"{{ .Function.Name + }}\\\", \\\"parameters\\\": {{ .Function.Arguments }}}{{ end }}\\n{{- else }}\\n\\n{{ + .Content }}\\n{{- end }}{{ if not $last }}\\u003c|eot_id|\\u003e{{ end }}\\n{{- + else if eq .Role \\\"tool\\\" }}\\u003c|start_header_id|\\u003eipython\\u003c|end_header_id|\\u003e\\n\\n{{ + .Content }}\\u003c|eot_id|\\u003e{{ if $last }}\\u003c|start_header_id|\\u003eassistant\\u003c|end_header_id|\\u003e\\n\\n{{ + end }}\\n{{- end }}\\n{{- end }}\",\"details\":{\"parent_model\":\"\",\"format\":\"gguf\",\"family\":\"llama\",\"families\":[\"llama\"],\"parameter_size\":\"3.2B\",\"quantization_level\":\"Q4_K_M\"},\"model_info\":{\"general.architecture\":\"llama\",\"general.basename\":\"Llama-3.2\",\"general.file_type\":15,\"general.finetune\":\"Instruct\",\"general.languages\":[\"en\",\"de\",\"fr\",\"it\",\"pt\",\"hi\",\"es\",\"th\"],\"general.parameter_count\":3212749888,\"general.quantization_version\":2,\"general.size_label\":\"3B\",\"general.tags\":[\"facebook\",\"meta\",\"pytorch\",\"llama\",\"llama-3\",\"text-generation\"],\"general.type\":\"model\",\"llama.attention.head_count\":24,\"llama.attention.head_count_kv\":8,\"llama.attention.key_length\":128,\"llama.attention.layer_norm_rms_epsilon\":0.00001,\"llama.attention.value_length\":128,\"llama.block_count\":28,\"llama.context_length\":131072,\"llama.embedding_length\":3072,\"llama.feed_forward_length\":8192,\"llama.rope.dimension_count\":128,\"llama.rope.freq_base\":500000,\"llama.vocab_size\":128256,\"tokenizer.ggml.bos_token_id\":128000,\"tokenizer.ggml.eos_token_id\":128009,\"tokenizer.ggml.merges\":null,\"tokenizer.ggml.model\":\"gpt2\",\"tokenizer.ggml.pre\":\"llama-bpe\",\"tokenizer.ggml.token_type\":null,\"tokenizer.ggml.tokens\":null},\"modified_at\":\"2025-02-20T18:55:09.150577031-08:00\"}" + headers: + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 21 Feb 2025 02:57:55 GMT + Transfer-Encoding: + - chunked + http_version: HTTP/1.1 + status_code: 200 version: 1 From b50772a38b8f352888dfdfdac7eba58999bdfcf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannik=20Maierh=C3=B6fer?= <48529566+jannikmaierhoefer@users.noreply.github.com> Date: Fri, 21 Feb 2025 16:11:55 +0100 Subject: [PATCH 3/7] docs: add header image to langfuse guide (#2128) Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com> --- docs/how-to/langfuse-observability.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/how-to/langfuse-observability.mdx b/docs/how-to/langfuse-observability.mdx index c0feb6d87..2fd2f2935 100644 --- a/docs/how-to/langfuse-observability.mdx +++ b/docs/how-to/langfuse-observability.mdx @@ -10,6 +10,8 @@ This notebook demonstrates how to integrate **Langfuse** with **CrewAI** using O > **What is Langfuse?** [Langfuse](https://langfuse.com) is an open-source LLM engineering platform. It provides tracing and monitoring capabilities for LLM applications, helping developers debug, analyze, and optimize their AI systems. Langfuse integrates with various tools and frameworks via native integrations, OpenTelemetry, and APIs/SDKs. +[![Langfuse Overview Video](https://github.com/user-attachments/assets/3926b288-ff61-4b95-8aa1-45d041c70866)](https://langfuse.com/watch-demo) + ## Get Started We'll walk through a simple example of using CrewAI and integrating it with Langfuse via OpenTelemetry using OpenLit. From 8a7584798b3e1ddbfcf58a15d899837dcb20832f Mon Sep 17 00:00:00 2001 From: "Brandon Hancock (bhancock_ai)" <109994880+bhancockio@users.noreply.github.com> Date: Mon, 24 Feb 2025 10:25:30 -0500 Subject: [PATCH 4/7] Better support async flows (#2193) * Better support async * Drop coroutine --- src/crewai/flow/flow.py | 75 ++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/src/crewai/flow/flow.py b/src/crewai/flow/flow.py index 2babbe57c..5f17c4b84 100644 --- a/src/crewai/flow/flow.py +++ b/src/crewai/flow/flow.py @@ -713,16 +713,35 @@ class Flow(Generic[T], metaclass=FlowMeta): raise TypeError(f"State must be dict or BaseModel, got {type(self._state)}") def kickoff(self, inputs: Optional[Dict[str, Any]] = None) -> Any: - """Start the flow execution. + """ + Start the flow execution in a synchronous context. + + This method wraps kickoff_async so that all state initialization and event + emission is handled in the asynchronous method. + """ + + async def run_flow(): + return await self.kickoff_async(inputs) + + return asyncio.run(run_flow()) + + @init_flow_main_trace + async def kickoff_async(self, inputs: Optional[Dict[str, Any]] = None) -> Any: + """ + Start the flow execution asynchronously. + + This method performs state restoration (if an 'id' is provided and persistence is available) + and updates the flow state with any additional inputs. It then emits the FlowStartedEvent, + logs the flow startup, and executes all start methods. Once completed, it emits the + FlowFinishedEvent and returns the final output. Args: - inputs: Optional dictionary containing input values and potentially a state ID to restore - """ - # Handle state restoration if ID is provided in inputs - if inputs and "id" in inputs and self._persistence is not None: - restore_uuid = inputs["id"] - stored_state = self._persistence.load_state(restore_uuid) + inputs: Optional dictionary containing input values and/or a state ID for restoration. + Returns: + The final output from the flow, which is the result of the last executed method. + """ + if inputs: # Override the id in the state if it exists in inputs if "id" in inputs: if isinstance(self._state, dict): @@ -730,24 +749,27 @@ class Flow(Generic[T], metaclass=FlowMeta): elif isinstance(self._state, BaseModel): setattr(self._state, "id", inputs["id"]) - if stored_state: - self._log_flow_event( - f"Loading flow state from memory for UUID: {restore_uuid}", - color="yellow", - ) - # Restore the state - self._restore_state(stored_state) - else: - self._log_flow_event( - f"No flow state found for UUID: {restore_uuid}", color="red" - ) + # If persistence is enabled, attempt to restore the stored state using the provided id. + if "id" in inputs and self._persistence is not None: + restore_uuid = inputs["id"] + stored_state = self._persistence.load_state(restore_uuid) + if stored_state: + self._log_flow_event( + f"Loading flow state from memory for UUID: {restore_uuid}", + color="yellow", + ) + self._restore_state(stored_state) + else: + self._log_flow_event( + f"No flow state found for UUID: {restore_uuid}", color="red" + ) - # Apply any additional inputs after restoration + # Update state with any additional inputs (ignoring the 'id' key) filtered_inputs = {k: v for k, v in inputs.items() if k != "id"} if filtered_inputs: self._initialize_state(filtered_inputs) - # Start flow execution + # Emit FlowStartedEvent and log the start of the flow. crewai_event_bus.emit( self, FlowStartedEvent( @@ -760,27 +782,18 @@ class Flow(Generic[T], metaclass=FlowMeta): f"Flow started with ID: {self.flow_id}", color="bold_magenta" ) - if inputs is not None and "id" not in inputs: - self._initialize_state(inputs) - - async def run_flow(): - return await self.kickoff_async() - - return asyncio.run(run_flow()) - - @init_flow_main_trace - async def kickoff_async(self, inputs: Optional[Dict[str, Any]] = None) -> Any: if not self._start_methods: raise ValueError("No start method defined") + # Execute all start methods concurrently. tasks = [ self._execute_start_method(start_method) for start_method in self._start_methods ] await asyncio.gather(*tasks) - final_output = self._method_outputs[-1] if self._method_outputs else None + # Emit FlowFinishedEvent after all processing is complete. crewai_event_bus.emit( self, FlowFinishedEvent( From 78797c64b09273b3da0e8c89fe40f85b83c79e74 Mon Sep 17 00:00:00 2001 From: "Brandon Hancock (bhancock_ai)" <109994880+bhancockio@users.noreply.github.com> Date: Mon, 24 Feb 2025 14:51:58 -0500 Subject: [PATCH 5/7] fix reset memory issue (#2182) Co-authored-by: Lorenze Jay <63378463+lorenzejay@users.noreply.github.com> --- src/crewai/crew.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 31678ae88..b15bbc126 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -1278,11 +1278,11 @@ class Crew(BaseModel): def _reset_all_memories(self) -> None: """Reset all available memory systems.""" memory_systems = [ - ("short term", self._short_term_memory), - ("entity", self._entity_memory), - ("long term", self._long_term_memory), - ("task output", self._task_output_handler), - ("knowledge", self.knowledge), + ("short term", getattr(self, "_short_term_memory", None)), + ("entity", getattr(self, "_entity_memory", None)), + ("long term", getattr(self, "_long_term_memory", None)), + ("task output", getattr(self, "_task_output_handler", None)), + ("knowledge", getattr(self, "knowledge", None)), ] for name, system in memory_systems: From c62fb615b14669b7f6c47197e06025b35fc0995e Mon Sep 17 00:00:00 2001 From: Lorenze Jay <63378463+lorenzejay@users.noreply.github.com> Date: Mon, 24 Feb 2025 12:17:44 -0800 Subject: [PATCH 6/7] feat: Add LLM call events for improved observability (#2214) * feat: Add LLM call events for improved observability - Introduce new LLM call events: LLMCallStartedEvent, LLMCallCompletedEvent, and LLMCallFailedEvent - Emit events for LLM calls and tool calls to provide better tracking and debugging - Add event handling in the LLM class to track call lifecycle - Update event bus to support new LLM-related events - Add test cases to validate LLM event emissions * feat: Add event handling for LLM call lifecycle events - Implement event listeners for LLM call events in EventListener - Add logging for LLM call start, completion, and failure events - Import and register new LLM-specific event types * less log * refactor: Update LLM event response type to support Any * refactor: Simplify LLM call completed event emission Remove unnecessary LLMCallType conversion when emitting LLMCallCompletedEvent * refactor: Update LLM event docstrings for clarity Improve docstrings for LLM call events to more accurately describe their purpose and lifecycle * feat: Add LLMCallFailedEvent emission for tool execution errors Enhance error handling by emitting a specific event when tool execution fails during LLM calls --- src/crewai/llm.py | 41 ++++++- src/crewai/utilities/events/__init__.py | 1 + src/crewai/utilities/events/event_listener.py | 28 +++++ src/crewai/utilities/events/llm_events.py | 36 ++++++ src/crewai/utilities/events/task_events.py | 2 +- .../test_llm_emits_call_failed_event.yaml | 103 +++++++++++++++++ .../test_llm_emits_call_started_event.yaml | 108 ++++++++++++++++++ tests/utilities/test_events.py | 50 +++++++- 8 files changed, 365 insertions(+), 4 deletions(-) create mode 100644 src/crewai/utilities/events/llm_events.py create mode 100644 tests/utilities/cassettes/test_llm_emits_call_failed_event.yaml create mode 100644 tests/utilities/cassettes/test_llm_emits_call_started_event.yaml diff --git a/src/crewai/llm.py b/src/crewai/llm.py index aac1af3b7..a0378cd2d 100644 --- a/src/crewai/llm.py +++ b/src/crewai/llm.py @@ -21,6 +21,12 @@ from typing import ( from dotenv import load_dotenv from pydantic import BaseModel +from crewai.utilities.events.llm_events import ( + LLMCallCompletedEvent, + LLMCallFailedEvent, + LLMCallStartedEvent, + LLMCallType, +) from crewai.utilities.events.tool_usage_events import ToolExecutionErrorEvent with warnings.catch_warnings(): @@ -259,6 +265,15 @@ class LLM: >>> print(response) "The capital of France is Paris." """ + crewai_event_bus.emit( + self, + event=LLMCallStartedEvent( + messages=messages, + tools=tools, + callbacks=callbacks, + available_functions=available_functions, + ), + ) # Validate parameters before proceeding with the call. self._validate_call_params() @@ -333,12 +348,13 @@ class LLM: # --- 4) If no tool calls, return the text response if not tool_calls or not available_functions: + self._handle_emit_call_events(text_response, LLMCallType.LLM_CALL) return text_response # --- 5) Handle the tool call tool_call = tool_calls[0] function_name = tool_call.function.name - print("function_name", function_name) + if function_name in available_functions: try: function_args = json.loads(tool_call.function.arguments) @@ -350,6 +366,7 @@ class LLM: try: # Call the actual tool function result = fn(**function_args) + self._handle_emit_call_events(result, LLMCallType.TOOL_CALL) return result except Exception as e: @@ -365,6 +382,12 @@ class LLM: error=str(e), ), ) + crewai_event_bus.emit( + self, + event=LLMCallFailedEvent( + error=f"Tool execution error: {str(e)}" + ), + ) return text_response else: @@ -374,12 +397,28 @@ class LLM: return text_response except Exception as e: + crewai_event_bus.emit( + self, + event=LLMCallFailedEvent(error=str(e)), + ) if not LLMContextLengthExceededException( str(e) )._is_context_limit_error(str(e)): logging.error(f"LiteLLM call failed: {str(e)}") raise + def _handle_emit_call_events(self, response: Any, call_type: LLMCallType): + """Handle the events for the LLM call. + + Args: + response (str): The response from the LLM call. + call_type (str): The type of call, either "tool_call" or "llm_call". + """ + crewai_event_bus.emit( + self, + event=LLMCallCompletedEvent(response=response, call_type=call_type), + ) + def _format_messages_for_provider( self, messages: List[Dict[str, str]] ) -> List[Dict[str, str]]: diff --git a/src/crewai/utilities/events/__init__.py b/src/crewai/utilities/events/__init__.py index 7f3442360..aa4a24ac5 100644 --- a/src/crewai/utilities/events/__init__.py +++ b/src/crewai/utilities/events/__init__.py @@ -34,6 +34,7 @@ from .tool_usage_events import ( ToolUsageEvent, ToolValidateInputErrorEvent, ) +from .llm_events import LLMCallCompletedEvent, LLMCallFailedEvent, LLMCallStartedEvent # events from .event_listener import EventListener diff --git a/src/crewai/utilities/events/event_listener.py b/src/crewai/utilities/events/event_listener.py index 0dcefcd3d..793528240 100644 --- a/src/crewai/utilities/events/event_listener.py +++ b/src/crewai/utilities/events/event_listener.py @@ -4,6 +4,11 @@ from crewai.telemetry.telemetry import Telemetry from crewai.utilities import Logger from crewai.utilities.constants import EMITTER_COLOR from crewai.utilities.events.base_event_listener import BaseEventListener +from crewai.utilities.events.llm_events import ( + LLMCallCompletedEvent, + LLMCallFailedEvent, + LLMCallStartedEvent, +) from .agent_events import AgentExecutionCompletedEvent, AgentExecutionStartedEvent from .crew_events import ( @@ -253,5 +258,28 @@ class EventListener(BaseEventListener): # ) + # ----------- LLM EVENTS ----------- + + @crewai_event_bus.on(LLMCallStartedEvent) + def on_llm_call_started(source, event: LLMCallStartedEvent): + self.logger.log( + f"🤖 LLM Call Started", + event.timestamp, + ) + + @crewai_event_bus.on(LLMCallCompletedEvent) + def on_llm_call_completed(source, event: LLMCallCompletedEvent): + self.logger.log( + f"✅ LLM Call Completed", + event.timestamp, + ) + + @crewai_event_bus.on(LLMCallFailedEvent) + def on_llm_call_failed(source, event: LLMCallFailedEvent): + self.logger.log( + f"❌ LLM Call Failed: '{event.error}'", + event.timestamp, + ) + event_listener = EventListener() diff --git a/src/crewai/utilities/events/llm_events.py b/src/crewai/utilities/events/llm_events.py new file mode 100644 index 000000000..8c2554a21 --- /dev/null +++ b/src/crewai/utilities/events/llm_events.py @@ -0,0 +1,36 @@ +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from crewai.utilities.events.base_events import CrewEvent + + +class LLMCallType(Enum): + """Type of LLM call being made""" + + TOOL_CALL = "tool_call" + LLM_CALL = "llm_call" + + +class LLMCallStartedEvent(CrewEvent): + """Event emitted when a LLM call starts""" + + type: str = "llm_call_started" + messages: Union[str, List[Dict[str, str]]] + tools: Optional[List[dict]] = None + callbacks: Optional[List[Any]] = None + available_functions: Optional[Dict[str, Any]] = None + + +class LLMCallCompletedEvent(CrewEvent): + """Event emitted when a LLM call completes""" + + type: str = "llm_call_completed" + response: Any + call_type: LLMCallType + + +class LLMCallFailedEvent(CrewEvent): + """Event emitted when a LLM call fails""" + + error: str + type: str = "llm_call_failed" diff --git a/src/crewai/utilities/events/task_events.py b/src/crewai/utilities/events/task_events.py index f69e77d6a..d81b7ce2d 100644 --- a/src/crewai/utilities/events/task_events.py +++ b/src/crewai/utilities/events/task_events.py @@ -1,4 +1,4 @@ -from typing import Any, Optional +from typing import Optional from crewai.tasks.task_output import TaskOutput from crewai.utilities.events.base_events import CrewEvent diff --git a/tests/utilities/cassettes/test_llm_emits_call_failed_event.yaml b/tests/utilities/cassettes/test_llm_emits_call_failed_event.yaml new file mode 100644 index 000000000..2222ad933 --- /dev/null +++ b/tests/utilities/cassettes/test_llm_emits_call_failed_event.yaml @@ -0,0 +1,103 @@ +interactions: +- request: + body: '{"messages": [{"role": "user", "content": "Hello, how are you?"}], "model": + "gpt-4o-mini", "stop": []}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '102' + content-type: + - application/json + cookie: + - _cfuvid=IY8ppO70AMHr2skDSUsGh71zqHHdCQCZ3OvkPi26NBc-1740424913267-0.0.1.1-604800000; + __cf_bm=fU6K5KZoDmgcEuF8_yWAYKUO5fKHh6q5.wDPnna393g-1740424913-1.0.1.1-2iOaq3JVGWs439V0HxJee0IC9HdJm7dPkeJorD.AGw0YwkngRPM8rrTzn_7ht1BkbOauEezj.wPKcBz18gIYUg + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.61.0 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.61.0 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.8 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-B4YLA2SrC2rwdVQ3U87G5a0P5lsLw\",\n \"object\": + \"chat.completion\",\n \"created\": 1740425016,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"Hello! I'm just a computer program, so + I don't have feelings, but I'm here and ready to help you. How can I assist + you today?\",\n \"refusal\": null\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 13,\n \"completion_tokens\": 30,\n \"total_tokens\": 43,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": + \"default\",\n \"system_fingerprint\": \"fp_709714d124\"\n}\n" + headers: + CF-RAY: + - 9171d4c0ed44236e-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2025 19:23:38 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '1954' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999978' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_ea2703502b8827e4297cd2a7bae9d9c8 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/utilities/cassettes/test_llm_emits_call_started_event.yaml b/tests/utilities/cassettes/test_llm_emits_call_started_event.yaml new file mode 100644 index 000000000..0120aa1b3 --- /dev/null +++ b/tests/utilities/cassettes/test_llm_emits_call_started_event.yaml @@ -0,0 +1,108 @@ +interactions: +- request: + body: '{"messages": [{"role": "user", "content": "Hello, how are you?"}], "model": + "gpt-4o-mini", "stop": []}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '102' + content-type: + - application/json + cookie: + - _cfuvid=GefCcEtb_Gem93E4a9Hvt3Xyof1YQZVJAXBb9I6pEUs-1739398417375-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.61.0 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.61.0 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.8 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-B4YJU8IWKGyBQtAyPDRd3SFI2flYR\",\n \"object\": + \"chat.completion\",\n \"created\": 1740424912,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"Hello! I'm just a computer program, so + I don't have feelings, but I'm here and ready to help you. How can I assist + you today?\",\n \"refusal\": null\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 13,\n \"completion_tokens\": 30,\n \"total_tokens\": 43,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": + \"default\",\n \"system_fingerprint\": \"fp_7fcd609668\"\n}\n" + headers: + CF-RAY: + - 9171d230d8ed7ae0-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2025 19:21:53 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=fU6K5KZoDmgcEuF8_yWAYKUO5fKHh6q5.wDPnna393g-1740424913-1.0.1.1-2iOaq3JVGWs439V0HxJee0IC9HdJm7dPkeJorD.AGw0YwkngRPM8rrTzn_7ht1BkbOauEezj.wPKcBz18gIYUg; + path=/; expires=Mon, 24-Feb-25 19:51:53 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=IY8ppO70AMHr2skDSUsGh71zqHHdCQCZ3OvkPi26NBc-1740424913267-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '993' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999978' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_d9c4d49185e97b1797061efc1e55d811 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/utilities/test_events.py b/tests/utilities/test_events.py index 68bda7bec..aa65d82b2 100644 --- a/tests/utilities/test_events.py +++ b/tests/utilities/test_events.py @@ -1,6 +1,5 @@ -import json from datetime import datetime -from unittest.mock import MagicMock, patch +from unittest.mock import patch import pytest from pydantic import Field @@ -9,6 +8,7 @@ from crewai.agent import Agent from crewai.agents.crew_agent_executor import CrewAgentExecutor from crewai.crew import Crew from crewai.flow.flow import Flow, listen, start +from crewai.llm import LLM from crewai.task import Task from crewai.tools.base_tool import BaseTool from crewai.tools.tool_usage import ToolUsage @@ -31,6 +31,12 @@ from crewai.utilities.events.flow_events import ( MethodExecutionFailedEvent, MethodExecutionStartedEvent, ) +from crewai.utilities.events.llm_events import ( + LLMCallCompletedEvent, + LLMCallFailedEvent, + LLMCallStartedEvent, + LLMCallType, +) from crewai.utilities.events.task_events import ( TaskCompletedEvent, TaskFailedEvent, @@ -495,3 +501,43 @@ def test_flow_emits_method_execution_failed_event(): assert received_events[0].flow_name == "TestFlow" assert received_events[0].type == "method_execution_failed" assert received_events[0].error == error + + +@pytest.mark.vcr(filter_headers=["authorization"]) +def test_llm_emits_call_started_event(): + received_events = [] + + @crewai_event_bus.on(LLMCallStartedEvent) + def handle_llm_call_started(source, event): + received_events.append(event) + + @crewai_event_bus.on(LLMCallCompletedEvent) + def handle_llm_call_completed(source, event): + received_events.append(event) + + llm = LLM(model="gpt-4o-mini") + llm.call("Hello, how are you?") + + assert len(received_events) == 2 + assert received_events[0].type == "llm_call_started" + assert received_events[1].type == "llm_call_completed" + + +@pytest.mark.vcr(filter_headers=["authorization"]) +def test_llm_emits_call_failed_event(): + received_events = [] + + @crewai_event_bus.on(LLMCallFailedEvent) + def handle_llm_call_failed(source, event): + received_events.append(event) + + error_message = "Simulated LLM call failure" + with patch.object(LLM, "_call_llm", side_effect=Exception(error_message)): + llm = LLM(model="gpt-4o-mini") + with pytest.raises(Exception) as exc_info: + llm.call("Hello, how are you?") + + assert str(exc_info.value) == error_message + assert len(received_events) == 1 + assert received_events[0].type == "llm_call_failed" + assert received_events[0].error == error_message From 5235442a5b786e2b57d621bedb27884659bbeb96 Mon Sep 17 00:00:00 2001 From: Lorenze Jay <63378463+lorenzejay@users.noreply.github.com> Date: Mon, 24 Feb 2025 12:24:35 -0800 Subject: [PATCH 7/7] Decoupling telemetry and ensure tests (#2212) * feat: Enhance event listener and telemetry tracking - Update event listener to improve telemetry span handling - Add execution_span field to Task for better tracing - Modify event handling in EventListener to use new span tracking - Remove debug print statements - Improve test coverage for crew and flow events - Update cassettes to reflect new event tracking behavior * Remove telemetry references from Crew class - Remove Telemetry import and initialization from Crew class - Delete _telemetry attribute from class configuration - Clean up unused telemetry-related code * test: Improve crew verbose output test with event log filtering - Filter out event listener logs in verbose output test - Ensure no output when verbose is set to False - Enhance test coverage for crew logging behavior * dropped comment * refactor: Improve telemetry span tracking in EventListener - Remove `execution_span` from Task class - Add `execution_spans` dictionary to EventListener to track spans - Update task event handlers to use new span tracking mechanism - Simplify span management across task lifecycle events * lint --- src/crewai/crew.py | 4 - src/crewai/utilities/events/event_listener.py | 51 +- tests/crew_test.py | 28 +- .../test_crew_emits_end_task_event.yaml | 1658 ++++++++++++++--- ...st_crew_emits_test_kickoff_type_event.yaml | 236 +++ tests/utilities/test_events.py | 130 +- 6 files changed, 1798 insertions(+), 309 deletions(-) create mode 100644 tests/utilities/cassettes/test_crew_emits_test_kickoff_type_event.yaml diff --git a/src/crewai/crew.py b/src/crewai/crew.py index b15bbc126..92a8cbb4d 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -35,7 +35,6 @@ from crewai.process import Process from crewai.task import Task from crewai.tasks.conditional_task import ConditionalTask from crewai.tasks.task_output import TaskOutput -from crewai.telemetry import Telemetry from crewai.tools.agent_tools.agent_tools import AgentTools from crewai.tools.base_tool import Tool from crewai.traces.unified_trace_controller import init_crew_main_trace @@ -258,8 +257,6 @@ class Crew(BaseModel): if self.function_calling_llm and not isinstance(self.function_calling_llm, LLM): self.function_calling_llm = create_llm(self.function_calling_llm) - self._telemetry = Telemetry() - self._telemetry.set_tracer() return self @model_validator(mode="after") @@ -1115,7 +1112,6 @@ class Crew(BaseModel): "_short_term_memory", "_long_term_memory", "_entity_memory", - "_telemetry", "agents", "tasks", "knowledge_sources", diff --git a/src/crewai/utilities/events/event_listener.py b/src/crewai/utilities/events/event_listener.py index 793528240..d853a5f7c 100644 --- a/src/crewai/utilities/events/event_listener.py +++ b/src/crewai/utilities/events/event_listener.py @@ -1,5 +1,8 @@ -from pydantic import PrivateAttr +from typing import Any, Dict +from pydantic import Field, PrivateAttr + +from crewai.task import Task from crewai.telemetry.telemetry import Telemetry from crewai.utilities import Logger from crewai.utilities.constants import EMITTER_COLOR @@ -42,6 +45,7 @@ class EventListener(BaseEventListener): _instance = None _telemetry: Telemetry = PrivateAttr(default_factory=lambda: Telemetry()) logger = Logger(verbose=True, default_color=EMITTER_COLOR) + execution_spans: Dict[Task, Any] = Field(default_factory=dict) def __new__(cls): if cls._instance is None: @@ -54,6 +58,7 @@ class EventListener(BaseEventListener): super().__init__() self._telemetry = Telemetry() self._telemetry.set_tracer() + self.execution_spans = {} self._initialized = True # ----------- CREW EVENTS ----------- @@ -62,7 +67,7 @@ class EventListener(BaseEventListener): @crewai_event_bus.on(CrewKickoffStartedEvent) def on_crew_started(source, event: CrewKickoffStartedEvent): self.logger.log( - f"🚀 Crew '{event.crew_name}' started", + f"🚀 Crew '{event.crew_name}' started, {source.id}", event.timestamp, ) self._telemetry.crew_execution_span(source, event.inputs) @@ -72,28 +77,28 @@ class EventListener(BaseEventListener): final_string_output = event.output.raw self._telemetry.end_crew(source, final_string_output) self.logger.log( - f"✅ Crew '{event.crew_name}' completed", + f"✅ Crew '{event.crew_name}' completed, {source.id}", event.timestamp, ) @crewai_event_bus.on(CrewKickoffFailedEvent) def on_crew_failed(source, event: CrewKickoffFailedEvent): self.logger.log( - f"❌ Crew '{event.crew_name}' failed", + f"❌ Crew '{event.crew_name}' failed, {source.id}", event.timestamp, ) @crewai_event_bus.on(CrewTestStartedEvent) def on_crew_test_started(source, event: CrewTestStartedEvent): cloned_crew = source.copy() - cloned_crew._telemetry.test_execution_span( + self._telemetry.test_execution_span( cloned_crew, event.n_iterations, event.inputs, - event.eval_llm, + event.eval_llm or "", ) self.logger.log( - f"🚀 Crew '{event.crew_name}' started test", + f"🚀 Crew '{event.crew_name}' started test, {source.id}", event.timestamp, ) @@ -136,9 +141,9 @@ class EventListener(BaseEventListener): @crewai_event_bus.on(TaskStartedEvent) def on_task_started(source, event: TaskStartedEvent): - source._execution_span = self._telemetry.task_started( - crew=source.agent.crew, task=source - ) + span = self._telemetry.task_started(crew=source.agent.crew, task=source) + self.execution_spans[source] = span + self.logger.log( f"📋 Task started: {source.description}", event.timestamp, @@ -146,24 +151,22 @@ class EventListener(BaseEventListener): @crewai_event_bus.on(TaskCompletedEvent) def on_task_completed(source, event: TaskCompletedEvent): - if source._execution_span: - self._telemetry.task_ended( - source._execution_span, source, source.agent.crew - ) + span = self.execution_spans.get(source) + if span: + self._telemetry.task_ended(span, source, source.agent.crew) self.logger.log( f"✅ Task completed: {source.description}", event.timestamp, ) - source._execution_span = None + self.execution_spans[source] = None @crewai_event_bus.on(TaskFailedEvent) def on_task_failed(source, event: TaskFailedEvent): - if source._execution_span: + span = self.execution_spans.get(source) + if span: if source.agent and source.agent.crew: - self._telemetry.task_ended( - source._execution_span, source, source.agent.crew - ) - source._execution_span = None + self._telemetry.task_ended(span, source, source.agent.crew) + self.execution_spans[source] = None self.logger.log( f"❌ Task failed: {source.description}", event.timestamp, @@ -189,7 +192,7 @@ class EventListener(BaseEventListener): @crewai_event_bus.on(FlowCreatedEvent) def on_flow_created(source, event: FlowCreatedEvent): - self._telemetry.flow_creation_span(self.__class__.__name__) + self._telemetry.flow_creation_span(event.flow_name) self.logger.log( f"🌊 Flow Created: '{event.flow_name}'", event.timestamp, @@ -198,17 +201,17 @@ class EventListener(BaseEventListener): @crewai_event_bus.on(FlowStartedEvent) def on_flow_started(source, event: FlowStartedEvent): self._telemetry.flow_execution_span( - source.__class__.__name__, list(source._methods.keys()) + event.flow_name, list(source._methods.keys()) ) self.logger.log( - f"🤖 Flow Started: '{event.flow_name}'", + f"🤖 Flow Started: '{event.flow_name}', {source.flow_id}", event.timestamp, ) @crewai_event_bus.on(FlowFinishedEvent) def on_flow_finished(source, event: FlowFinishedEvent): self.logger.log( - f"👍 Flow Finished: '{event.flow_name}'", + f"👍 Flow Finished: '{event.flow_name}', {source.flow_id}", event.timestamp, ) diff --git a/tests/crew_test.py b/tests/crew_test.py index 6cd0370ae..8f9f69deb 100644 --- a/tests/crew_test.py +++ b/tests/crew_test.py @@ -833,6 +833,12 @@ def test_crew_verbose_output(capsys): crew.kickoff() captured = capsys.readouterr() + + # Filter out event listener logs (lines starting with '[') + filtered_output = "\n".join( + line for line in captured.out.split("\n") if not line.startswith("[") + ) + expected_strings = [ "\x1b[1m\x1b[95m# Agent:\x1b[00m \x1b[1m\x1b[92mResearcher", "\x1b[00m\n\x1b[95m## Task:\x1b[00m \x1b[92mResearch AI advancements.", @@ -845,27 +851,19 @@ def test_crew_verbose_output(capsys): ] for expected_string in expected_strings: - assert expected_string in captured.out + assert expected_string in filtered_output # Now test with verbose set to False crew.verbose = False crew._logger = Logger(verbose=False) crew.kickoff() - expected_listener_logs = [ - "[🚀 CREW 'CREW' STARTED]", - "[📋 TASK STARTED: RESEARCH AI ADVANCEMENTS.]", - "[🤖 AGENT 'RESEARCHER' STARTED TASK]", - "[✅ AGENT 'RESEARCHER' COMPLETED TASK]", - "[✅ TASK COMPLETED: RESEARCH AI ADVANCEMENTS.]", - "[📋 TASK STARTED: WRITE ABOUT AI IN HEALTHCARE.]", - "[🤖 AGENT 'SENIOR WRITER' STARTED TASK]", - "[✅ AGENT 'SENIOR WRITER' COMPLETED TASK]", - "[✅ TASK COMPLETED: WRITE ABOUT AI IN HEALTHCARE.]", - "[✅ CREW 'CREW' COMPLETED]", - ] captured = capsys.readouterr() - for log in expected_listener_logs: - assert log in captured.out + filtered_output = "\n".join( + line + for line in captured.out.split("\n") + if not line.startswith("[") and line.strip() and not line.startswith("\x1b") + ) + assert filtered_output == "" @pytest.mark.vcr(filter_headers=["authorization"]) diff --git a/tests/utilities/cassettes/test_crew_emits_end_task_event.yaml b/tests/utilities/cassettes/test_crew_emits_end_task_event.yaml index 09cb318d2..2ebd93ac7 100644 --- a/tests/utilities/cassettes/test_crew_emits_end_task_event.yaml +++ b/tests/utilities/cassettes/test_crew_emits_end_task_event.yaml @@ -1,201 +1,602 @@ interactions: - request: - body: '{"messages": [{"role": "system", "content": "You are base_agent. You are - a helpful assistant that just says hi\nYour personal goal is: Just say hi\nTo - give my best complete final answer to the task respond using the exact following - format:\n\nThought: I now can give a great answer\nFinal Answer: Your final - answer must be the great and the most complete as possible, it must be outcome - described.\n\nI MUST use these formats, my job depends on it!"}, {"role": "user", - "content": "\nCurrent Task: Just say hi\n\nThis is the expect criteria for your - final answer: hi\nyou MUST return the actual complete content as the final answer, - not a summary.\n\nBegin! This is VERY important to you, use the tools available - and give your best Final Answer, your job depends on it!\n\nThought:"}], "model": - "gpt-4o-mini", "stop": ["\nObservation:"]}' + body: null headers: - accept: - - application/json - accept-encoding: + Accept: + - '*/*' + Accept-Encoding: - gzip, deflate - connection: - - keep-alive - content-length: - - '836' - content-type: - - application/json - cookie: - - __cf_bm=nedOdWE1YnKQYt1kSbrcA.zhwa3bZDzmZqTOjZYER0c-1738700521-1.0.1.1-xQk9iXOvqvyXNhkIOgc8Ws2WYcT1mJFkDCvCC8xA5joFD8QfNrBIAr_Qs6sIxt2EzXyeFwBA6gA8ZgWApCHx0Q; - _cfuvid=Cl48aI8.jSRja0Pqr6Jrh3mAnigd4rDn6lhGicyjMPY-1738698987673-0.0.1.1-604800000 - host: - - api.openai.com - user-agent: - - OpenAI/Python 1.61.0 - x-stainless-arch: - - arm64 - x-stainless-async: - - 'false' - x-stainless-lang: - - python - x-stainless-os: - - MacOS - x-stainless-package-version: - - 1.61.0 - x-stainless-raw-response: - - 'true' - x-stainless-retry-count: - - '0' - x-stainless-runtime: - - CPython - x-stainless-runtime-version: - - 3.12.8 - method: POST - uri: https://api.openai.com/v1/chat/completions - response: - content: "{\n \"id\": \"chatcmpl-AxJlK2np8dMxYgsDIuyz2TSKKELWh\",\n \"object\": - \"chat.completion\",\n \"created\": 1738700682,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal - Answer: hi\",\n \"refusal\": null\n },\n \"logprobs\": null,\n - \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 161,\n \"completion_tokens\": 12,\n \"total_tokens\": 173,\n \"prompt_tokens_details\": - {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": - {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": - 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_72ed7ab54c\"\n}\n" - headers: - CF-RAY: - - 90cd62c1fdb0fa6a-SJC Connection: - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json + User-Agent: + - python-requests/2.32.3 + method: GET + uri: https://pypi.org/pypi/agentops/json + response: + body: + string: "{\"info\":{\"author\":null,\"author_email\":\"Alex Reibman , + Shawn Qiu , Braelyn Boynton , Howard + Gil , Constantin Teodorescu , Pratyush + Shukla \",\"bugtrack_url\":null,\"classifiers\":[\"License + :: OSI Approved :: MIT License\",\"Operating System :: OS Independent\",\"Programming + Language :: Python :: 3\",\"Programming Language :: Python :: 3.10\",\"Programming + Language :: Python :: 3.11\",\"Programming Language :: Python :: 3.12\",\"Programming + Language :: Python :: 3.13\",\"Programming Language :: Python :: 3.9\"],\"description\":\"\\n\\n
\\n Observability and + DevTool platform for AI Agents\\n
\\n\\n
\\n\\n
\\n + \ \\n \\\"Downloads\\\"\\n \\n \\n + \ \\\"git\\n \\n \\\"PyPI\\n \\n + \ \\\"License:\\n \\n
\\n\\n

\\n + \ \\n \\\"Twitter\\\"\\n \\n \\n + \ \\\"Discord\\\"\\n \\n \\n + \ \\\"Dashboard\\\"\\n \\n \\n + \ \\\"Documentation\\\"\\n \\n \\n + \ \\\"Chat\\n \\n

\\n\\n\\n\\n
\\n \\\"Dashboard\\n
\\n\\n
\\n\\n\\nAgentOps helps developers + build, evaluate, and monitor AI agents. From prototype to production.\\n\\n| + \ | |\\n| + ------------------------------------- | ------------------------------------------------------------- + |\\n| \U0001F4CA **Replay Analytics and Debugging** | Step-by-step agent execution + graphs |\\n| \U0001F4B8 **LLM Cost Management** + \ | Track spend with LLM foundation model providers |\\n| + \U0001F9EA **Agent Benchmarking** | Test your agents against 1,000+ + evals |\\n| \U0001F510 **Compliance and Security** + \ | Detect common prompt injection and data exfiltration exploits |\\n| + \U0001F91D **Framework Integrations** | Native Integrations with CrewAI, + AG2(AutoGen), Camel AI, & LangChain |\\n\\n## Quick Start \u2328\uFE0F\\n\\n```bash\\npip + install agentops\\n```\\n\\n\\n#### Session replays in 2 lines of code\\n\\nInitialize + the AgentOps client and automatically get analytics on all your LLM calls.\\n\\n[Get + an API key](https://app.agentops.ai/settings/projects)\\n\\n```python\\nimport + agentops\\n\\n# Beginning of your program (i.e. main.py, __init__.py)\\nagentops.init( + < INSERT YOUR API KEY HERE >)\\n\\n...\\n\\n# End of program\\nagentops.end_session('Success')\\n```\\n\\nAll + your sessions can be viewed on the [AgentOps dashboard](https://app.agentops.ai?ref=gh)\\n
\\n\\n
\\n + \ Agent Debugging\\n \\n + \ \\\"Agent\\n \\n \\n + \ \\\"Chat\\n \\n \\n + \ \\\"Event\\n \\n
\\n\\n
\\n + \ Session Replays\\n \\n + \ \\\"Session\\n \\n
\\n\\n
\\n Summary Analytics\\n \\n + \ \\\"Summary\\n \\n \\n + \ \\\"Summary\\n \\n
\\n\\n\\n### + First class Developer Experience\\nAdd powerful observability to your agents, + tools, and functions with as little code as possible: one line at a time.\\n
\\nRefer + to our [documentation](http://docs.agentops.ai)\\n\\n```python\\n# Automatically + associate all Events with the agent that originated them\\nfrom agentops import + track_agent\\n\\n@track_agent(name='SomeCustomName')\\nclass MyAgent:\\n ...\\n```\\n\\n```python\\n# + Automatically create ToolEvents for tools that agents will use\\nfrom agentops + import record_tool\\n\\n@record_tool('SampleToolName')\\ndef sample_tool(...):\\n + \ ...\\n```\\n\\n```python\\n# Automatically create ActionEvents for other + functions.\\nfrom agentops import record_action\\n\\n@agentops.record_action('sample + function being record')\\ndef sample_function(...):\\n ...\\n```\\n\\n```python\\n# + Manually record any other Events\\nfrom agentops import record, ActionEvent\\n\\nrecord(ActionEvent(\\\"received_user_input\\\"))\\n```\\n\\n## + Integrations \U0001F9BE\\n\\n### CrewAI \U0001F6F6\\n\\nBuild Crew agents + with observability with only 2 lines of code. Simply set an `AGENTOPS_API_KEY` + in your environment, and your crews will get automatic monitoring on the AgentOps + dashboard.\\n\\n```bash\\npip install 'crewai[agentops]'\\n```\\n\\n- [AgentOps + integration example](https://docs.agentops.ai/v1/integrations/crewai)\\n- + [Official CrewAI documentation](https://docs.crewai.com/how-to/AgentOps-Observability)\\n\\n### + AG2 \U0001F916\\nWith only two lines of code, add full observability and monitoring + to AG2 (formerly AutoGen) agents. Set an `AGENTOPS_API_KEY` in your environment + and call `agentops.init()`\\n\\n- [AG2 Observability Example](https://docs.ag2.ai/notebooks/agentchat_agentops)\\n- + [AG2 - AgentOps Documentation](https://docs.ag2.ai/docs/ecosystem/agentops)\\n\\n### + Camel AI \U0001F42A\\n\\nTrack and analyze CAMEL agents with full observability. + Set an `AGENTOPS_API_KEY` in your environment and initialize AgentOps to get + started.\\n\\n- [Camel AI](https://www.camel-ai.org/) - Advanced agent communication + framework\\n- [AgentOps integration example](https://docs.agentops.ai/v1/integrations/camel)\\n- + [Official Camel AI documentation](https://docs.camel-ai.org/cookbooks/agents_tracking.html)\\n\\n
\\n + \ Installation\\n\\n```bash\\npip install \\\"camel-ai[all]==0.2.11\\\"\\npip + install agentops\\n```\\n\\n```python\\nimport os\\nimport agentops\\nfrom + camel.agents import ChatAgent\\nfrom camel.messages import BaseMessage\\nfrom + camel.models import ModelFactory\\nfrom camel.types import ModelPlatformType, + ModelType\\n\\n# Initialize AgentOps\\nagentops.init(os.getenv(\\\"AGENTOPS_API_KEY\\\"), + default_tags=[\\\"CAMEL Example\\\"])\\n\\n# Import toolkits after AgentOps + init for tracking\\nfrom camel.toolkits import SearchToolkit\\n\\n# Set up + the agent with search tools\\nsys_msg = BaseMessage.make_assistant_message(\\n + \ role_name='Tools calling operator',\\n content='You are a helpful assistant'\\n)\\n\\n# + Configure tools and model\\ntools = [*SearchToolkit().get_tools()]\\nmodel + = ModelFactory.create(\\n model_platform=ModelPlatformType.OPENAI,\\n model_type=ModelType.GPT_4O_MINI,\\n)\\n\\n# + Create and run the agent\\ncamel_agent = ChatAgent(\\n system_message=sys_msg,\\n + \ model=model,\\n tools=tools,\\n)\\n\\nresponse = camel_agent.step(\\\"What + is AgentOps?\\\")\\nprint(response)\\n\\nagentops.end_session(\\\"Success\\\")\\n```\\n\\nCheck + out our [Camel integration guide](https://docs.agentops.ai/v1/integrations/camel) + for more examples including multi-agent scenarios.\\n
\\n\\n### Langchain + \U0001F99C\U0001F517\\n\\nAgentOps works seamlessly with applications built + using Langchain. To use the handler, install Langchain as an optional dependency:\\n\\n
\\n + \ Installation\\n \\n```shell\\npip install agentops[langchain]\\n```\\n\\nTo + use the handler, import and set\\n\\n```python\\nimport os\\nfrom langchain.chat_models + import ChatOpenAI\\nfrom langchain.agents import initialize_agent, AgentType\\nfrom + agentops.partners.langchain_callback_handler import LangchainCallbackHandler\\n\\nAGENTOPS_API_KEY + = os.environ['AGENTOPS_API_KEY']\\nhandler = LangchainCallbackHandler(api_key=AGENTOPS_API_KEY, + tags=['Langchain Example'])\\n\\nllm = ChatOpenAI(openai_api_key=OPENAI_API_KEY,\\n + \ callbacks=[handler],\\n model='gpt-3.5-turbo')\\n\\nagent + = initialize_agent(tools,\\n llm,\\n agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION,\\n + \ verbose=True,\\n callbacks=[handler], + # You must pass in a callback handler to record your agent\\n handle_parsing_errors=True)\\n```\\n\\nCheck + out the [Langchain Examples Notebook](./examples/langchain_examples.ipynb) + for more details including Async handlers.\\n\\n
\\n\\n### Cohere + \u2328\uFE0F\\n\\nFirst class support for Cohere(>=5.4.0). This is a living + integration, should you need any added functionality please message us on + Discord!\\n\\n- [AgentOps integration example](https://docs.agentops.ai/v1/integrations/cohere)\\n- + [Official Cohere documentation](https://docs.cohere.com/reference/about)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install cohere\\n```\\n\\n```python + python\\nimport cohere\\nimport agentops\\n\\n# Beginning of program's code + (i.e. main.py, __init__.py)\\nagentops.init()\\nco + = cohere.Client()\\n\\nchat = co.chat(\\n message=\\\"Is it pronounced + ceaux-hear or co-hehray?\\\"\\n)\\n\\nprint(chat)\\n\\nagentops.end_session('Success')\\n```\\n\\n```python + python\\nimport cohere\\nimport agentops\\n\\n# Beginning of program's code + (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nco + = cohere.Client()\\n\\nstream = co.chat_stream(\\n message=\\\"Write me + a haiku about the synergies between Cohere and AgentOps\\\"\\n)\\n\\nfor event + in stream:\\n if event.event_type == \\\"text-generation\\\":\\n print(event.text, + end='')\\n\\nagentops.end_session('Success')\\n```\\n
\\n\\n\\n### + Anthropic \uFE68\\n\\nTrack agents built with the Anthropic Python SDK (>=0.32.0).\\n\\n- + [AgentOps integration guide](https://docs.agentops.ai/v1/integrations/anthropic)\\n- + [Official Anthropic documentation](https://docs.anthropic.com/en/docs/welcome)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install anthropic\\n```\\n\\n```python + python\\nimport anthropic\\nimport agentops\\n\\n# Beginning of program's + code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient + = anthropic.Anthropic(\\n # This is the default and can be omitted\\n api_key=os.environ.get(\\\"ANTHROPIC_API_KEY\\\"),\\n)\\n\\nmessage + = client.messages.create(\\n max_tokens=1024,\\n messages=[\\n + \ {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me a cool fact about AgentOps\\\",\\n }\\n ],\\n + \ model=\\\"claude-3-opus-20240229\\\",\\n )\\nprint(message.content)\\n\\nagentops.end_session('Success')\\n```\\n\\nStreaming\\n```python + python\\nimport anthropic\\nimport agentops\\n\\n# Beginning of program's + code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient + = anthropic.Anthropic(\\n # This is the default and can be omitted\\n api_key=os.environ.get(\\\"ANTHROPIC_API_KEY\\\"),\\n)\\n\\nstream + = client.messages.create(\\n max_tokens=1024,\\n model=\\\"claude-3-opus-20240229\\\",\\n + \ messages=[\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me something cool about streaming agents\\\",\\n }\\n ],\\n + \ stream=True,\\n)\\n\\nresponse = \\\"\\\"\\nfor event in stream:\\n if + event.type == \\\"content_block_delta\\\":\\n response += event.delta.text\\n + \ elif event.type == \\\"message_stop\\\":\\n print(\\\"\\\\n\\\")\\n + \ print(response)\\n print(\\\"\\\\n\\\")\\n```\\n\\nAsync\\n\\n```python + python\\nimport asyncio\\nfrom anthropic import AsyncAnthropic\\n\\nclient + = AsyncAnthropic(\\n # This is the default and can be omitted\\n api_key=os.environ.get(\\\"ANTHROPIC_API_KEY\\\"),\\n)\\n\\n\\nasync + def main() -> None:\\n message = await client.messages.create(\\n max_tokens=1024,\\n + \ messages=[\\n {\\n \\\"role\\\": \\\"user\\\",\\n + \ \\\"content\\\": \\\"Tell me something interesting about async + agents\\\",\\n }\\n ],\\n model=\\\"claude-3-opus-20240229\\\",\\n + \ )\\n print(message.content)\\n\\n\\nawait main()\\n```\\n
\\n\\n### + Mistral \u303D\uFE0F\\n\\nTrack agents built with the Anthropic Python SDK + (>=0.32.0).\\n\\n- [AgentOps integration example](./examples/mistral//mistral_example.ipynb)\\n- + [Official Mistral documentation](https://docs.mistral.ai)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install mistralai\\n```\\n\\nSync\\n\\n```python + python\\nfrom mistralai import Mistral\\nimport agentops\\n\\n# Beginning + of program's code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient = Mistral(\\n # This is the default and can + be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\nmessage + = client.chat.complete(\\n messages=[\\n {\\n \\\"role\\\": + \\\"user\\\",\\n \\\"content\\\": \\\"Tell me a cool fact about + AgentOps\\\",\\n }\\n ],\\n model=\\\"open-mistral-nemo\\\",\\n + \ )\\nprint(message.choices[0].message.content)\\n\\nagentops.end_session('Success')\\n```\\n\\nStreaming\\n\\n```python + python\\nfrom mistralai import Mistral\\nimport agentops\\n\\n# Beginning + of program's code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient = Mistral(\\n # This is the default and can + be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\nmessage + = client.chat.stream(\\n messages=[\\n {\\n \\\"role\\\": + \\\"user\\\",\\n \\\"content\\\": \\\"Tell me something cool + about streaming agents\\\",\\n }\\n ],\\n model=\\\"open-mistral-nemo\\\",\\n + \ )\\n\\nresponse = \\\"\\\"\\nfor event in message:\\n if event.data.choices[0].finish_reason + == \\\"stop\\\":\\n print(\\\"\\\\n\\\")\\n print(response)\\n + \ print(\\\"\\\\n\\\")\\n else:\\n response += event.text\\n\\nagentops.end_session('Success')\\n```\\n\\nAsync\\n\\n```python + python\\nimport asyncio\\nfrom mistralai import Mistral\\n\\nclient = Mistral(\\n + \ # This is the default and can be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\n\\nasync + def main() -> None:\\n message = await client.chat.complete_async(\\n messages=[\\n + \ {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me something interesting about async agents\\\",\\n }\\n + \ ],\\n model=\\\"open-mistral-nemo\\\",\\n )\\n print(message.choices[0].message.content)\\n\\n\\nawait + main()\\n```\\n\\nAsync Streaming\\n\\n```python python\\nimport asyncio\\nfrom + mistralai import Mistral\\n\\nclient = Mistral(\\n # This is the default + and can be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\n\\nasync + def main() -> None:\\n message = await client.chat.stream_async(\\n messages=[\\n + \ {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me something interesting about async streaming agents\\\",\\n }\\n + \ ],\\n model=\\\"open-mistral-nemo\\\",\\n )\\n\\n response + = \\\"\\\"\\n async for event in message:\\n if event.data.choices[0].finish_reason + == \\\"stop\\\":\\n print(\\\"\\\\n\\\")\\n print(response)\\n + \ print(\\\"\\\\n\\\")\\n else:\\n response += + event.text\\n\\n\\nawait main()\\n```\\n
\\n\\n\\n\\n### CamelAI + \uFE68\\n\\nTrack agents built with the CamelAI Python SDK (>=0.32.0).\\n\\n- + [CamelAI integration guide](https://docs.camel-ai.org/cookbooks/agents_tracking.html#)\\n- + [Official CamelAI documentation](https://docs.camel-ai.org/index.html)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install camel-ai[all]\\npip + install agentops\\n```\\n\\n```python python\\n#Import Dependencies\\nimport + agentops\\nimport os\\nfrom getpass import getpass\\nfrom dotenv import load_dotenv\\n\\n#Set + Keys\\nload_dotenv()\\nopenai_api_key = os.getenv(\\\"OPENAI_API_KEY\\\") + or \\\"\\\"\\nagentops_api_key = os.getenv(\\\"AGENTOPS_API_KEY\\\") + or \\\"\\\"\\n\\n\\n\\n```\\n
\\n\\n[You + can find usage examples here!](examples/camelai_examples/README.md).\\n\\n\\n\\n### + LiteLLM \U0001F685\\n\\nAgentOps provides support for LiteLLM(>=1.3.1), allowing + you to call 100+ LLMs using the same Input/Output Format. \\n\\n- [AgentOps + integration example](https://docs.agentops.ai/v1/integrations/litellm)\\n- + [Official LiteLLM documentation](https://docs.litellm.ai/docs/providers)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install litellm\\n```\\n\\n```python + python\\n# Do not use LiteLLM like this\\n# from litellm import completion\\n# + ...\\n# response = completion(model=\\\"claude-3\\\", messages=messages)\\n\\n# + Use LiteLLM like this\\nimport litellm\\n...\\nresponse = litellm.completion(model=\\\"claude-3\\\", + messages=messages)\\n# or\\nresponse = await litellm.acompletion(model=\\\"claude-3\\\", + messages=messages)\\n```\\n
\\n\\n### LlamaIndex \U0001F999\\n\\n\\nAgentOps + works seamlessly with applications built using LlamaIndex, a framework for + building context-augmented generative AI applications with LLMs.\\n\\n
\\n + \ Installation\\n \\n```shell\\npip install llama-index-instrumentation-agentops\\n```\\n\\nTo + use the handler, import and set\\n\\n```python\\nfrom llama_index.core import + set_global_handler\\n\\n# NOTE: Feel free to set your AgentOps environment + variables (e.g., 'AGENTOPS_API_KEY')\\n# as outlined in the AgentOps documentation, + or pass the equivalent keyword arguments\\n# anticipated by AgentOps' AOClient + as **eval_params in set_global_handler.\\n\\nset_global_handler(\\\"agentops\\\")\\n```\\n\\nCheck + out the [LlamaIndex docs](https://docs.llamaindex.ai/en/stable/module_guides/observability/?h=agentops#agentops) + for more details.\\n\\n
\\n\\n### Llama Stack \U0001F999\U0001F95E\\n\\nAgentOps + provides support for Llama Stack Python Client(>=0.0.53), allowing you to + monitor your Agentic applications. \\n\\n- [AgentOps integration example 1](https://github.com/AgentOps-AI/agentops/pull/530/files/65a5ab4fdcf310326f191d4b870d4f553591e3ea#diff-fdddf65549f3714f8f007ce7dfd1cde720329fe54155d54389dd50fbd81813cb)\\n- + [AgentOps integration example 2](https://github.com/AgentOps-AI/agentops/pull/530/files/65a5ab4fdcf310326f191d4b870d4f553591e3ea#diff-6688ff4fb7ab1ce7b1cc9b8362ca27264a3060c16737fb1d850305787a6e3699)\\n- + [Official Llama Stack Python Client](https://github.com/meta-llama/llama-stack-client-python)\\n\\n### + SwarmZero AI \U0001F41D\\n\\nTrack and analyze SwarmZero agents with full + observability. Set an `AGENTOPS_API_KEY` in your environment and initialize + AgentOps to get started.\\n\\n- [SwarmZero](https://swarmzero.ai) - Advanced + multi-agent framework\\n- [AgentOps integration example](https://docs.agentops.ai/v1/integrations/swarmzero)\\n- + [SwarmZero AI integration example](https://docs.swarmzero.ai/examples/ai-agents/build-and-monitor-a-web-search-agent)\\n- + [SwarmZero AI - AgentOps documentation](https://docs.swarmzero.ai/sdk/observability/agentops)\\n- + [Official SwarmZero Python SDK](https://github.com/swarmzero/swarmzero)\\n\\n
\\n + \ Installation\\n\\n```bash\\npip install swarmzero\\npip + install agentops\\n```\\n\\n```python\\nfrom dotenv import load_dotenv\\nload_dotenv()\\n\\nimport + agentops\\nagentops.init()\\n\\nfrom swarmzero import + Agent, Swarm\\n# ...\\n```\\n
\\n\\n## Time travel debugging \U0001F52E\\n\\n
\\n \\\"Time\\n
\\n\\n
\\n\\n[Try it out!](https://app.agentops.ai/timetravel)\\n\\n## + Agent Arena \U0001F94A\\n\\n(coming soon!)\\n\\n## Evaluations Roadmap \U0001F9ED\\n\\n| + Platform | + Dashboard | Evals |\\n| + ---------------------------------------------------------------------------- + | ------------------------------------------ | -------------------------------------- + |\\n| \u2705 Python SDK | + \u2705 Multi-session and Cross-session metrics | \u2705 Custom eval metrics + \ |\\n| \U0001F6A7 Evaluation builder API | + \u2705 Custom event tag tracking\_ | \U0001F51C Agent scorecards + \ |\\n| \u2705 [Javascript/Typescript SDK](https://github.com/AgentOps-AI/agentops-node) + | \u2705 Session replays | \U0001F51C Evaluation playground + + leaderboard |\\n\\n## Debugging Roadmap \U0001F9ED\\n\\n| Performance testing + \ | Environments | + LLM Testing | Reasoning and execution testing + \ |\\n| ----------------------------------------- | ----------------------------------------------------------------------------------- + | ------------------------------------------- | ------------------------------------------------- + |\\n| \u2705 Event latency analysis | \U0001F51C Non-stationary + environment testing | \U0001F51C + LLM non-deterministic function detection | \U0001F6A7 Infinite loops and recursive + thought detection |\\n| \u2705 Agent workflow execution pricing | \U0001F51C + Multi-modal environments | + \U0001F6A7 Token limit overflow flags | \U0001F51C Faulty reasoning + detection |\\n| \U0001F6A7 Success validators (external) + \ | \U0001F51C Execution containers | + \U0001F51C Context limit overflow flags | \U0001F51C Generative + code validators |\\n| \U0001F51C Agent controllers/skill + tests | \u2705 Honeypot and prompt injection detection ([PromptArmor](https://promptarmor.com)) + | \U0001F51C API bill tracking | \U0001F51C Error breakpoint + analysis |\\n| \U0001F51C Information context constraint + testing | \U0001F51C Anti-agent roadblocks (i.e. Captchas) | + \U0001F51C CI/CD integration checks | |\\n| + \U0001F51C Regression testing | \U0001F51C Multi-agent + framework visualization | | + \ |\\n\\n### Why AgentOps? + \U0001F914\\n\\nWithout the right tools, AI agents are slow, expensive, and + unreliable. Our mission is to bring your agent from prototype to production. + Here's why AgentOps stands out:\\n\\n- **Comprehensive Observability**: Track + your AI agents' performance, user interactions, and API usage.\\n- **Real-Time + Monitoring**: Get instant insights with session replays, metrics, and live + monitoring tools.\\n- **Cost Control**: Monitor and manage your spend on LLM + and API calls.\\n- **Failure Detection**: Quickly identify and respond to + agent failures and multi-agent interaction issues.\\n- **Tool Usage Statistics**: + Understand how your agents utilize external tools with detailed analytics.\\n- + **Session-Wide Metrics**: Gain a holistic view of your agents' sessions with + comprehensive statistics.\\n\\nAgentOps is designed to make agent observability, + testing, and monitoring easy.\\n\\n\\n## Star History\\n\\nCheck out our growth + in the community:\\n\\n\\\"Logo\\\"\\n\\n## + Popular projects using AgentOps\\n\\n\\n| Repository | Stars |\\n| :-------- + \ | -----: |\\n|\\\"\\\"   [geekan](https://github.com/geekan) + / [MetaGPT](https://github.com/geekan/MetaGPT) | 42787 |\\n|\\\"\\\"   [run-llama](https://github.com/run-llama) + / [llama_index](https://github.com/run-llama/llama_index) | 34446 |\\n|\\\"\\\"   [crewAIInc](https://github.com/crewAIInc) + / [crewAI](https://github.com/crewAIInc/crewAI) | 18287 |\\n|\\\"\\\"   [camel-ai](https://github.com/camel-ai) + / [camel](https://github.com/camel-ai/camel) | 5166 |\\n|\\\"\\\"   [superagent-ai](https://github.com/superagent-ai) + / [superagent](https://github.com/superagent-ai/superagent) | 5050 |\\n|\\\"\\\"   [iyaja](https://github.com/iyaja) + / [llama-fs](https://github.com/iyaja/llama-fs) | 4713 |\\n|\\\"\\\"   [BasedHardware](https://github.com/BasedHardware) + / [Omi](https://github.com/BasedHardware/Omi) | 2723 |\\n|\\\"\\\"   [MervinPraison](https://github.com/MervinPraison) + / [PraisonAI](https://github.com/MervinPraison/PraisonAI) | 2007 |\\n|\\\"\\\"   [AgentOps-AI](https://github.com/AgentOps-AI) + / [Jaiqu](https://github.com/AgentOps-AI/Jaiqu) | 272 |\\n|\\\"\\\"   [swarmzero](https://github.com/swarmzero) + / [swarmzero](https://github.com/swarmzero/swarmzero) | 195 |\\n|\\\"\\\"   [strnad](https://github.com/strnad) + / [CrewAI-Studio](https://github.com/strnad/CrewAI-Studio) | 134 |\\n|\\\"\\\"   [alejandro-ao](https://github.com/alejandro-ao) + / [exa-crewai](https://github.com/alejandro-ao/exa-crewai) | 55 |\\n|\\\"\\\"   [tonykipkemboi](https://github.com/tonykipkemboi) + / [youtube_yapper_trapper](https://github.com/tonykipkemboi/youtube_yapper_trapper) + | 47 |\\n|\\\"\\\"   [sethcoast](https://github.com/sethcoast) + / [cover-letter-builder](https://github.com/sethcoast/cover-letter-builder) + | 27 |\\n|\\\"\\\"   [bhancockio](https://github.com/bhancockio) + / [chatgpt4o-analysis](https://github.com/bhancockio/chatgpt4o-analysis) | + 19 |\\n|\\\"\\\"   [breakstring](https://github.com/breakstring) + / [Agentic_Story_Book_Workflow](https://github.com/breakstring/Agentic_Story_Book_Workflow) + | 14 |\\n|\\\"\\\"   [MULTI-ON](https://github.com/MULTI-ON) + / [multion-python](https://github.com/MULTI-ON/multion-python) | 13 |\\n\\n\\n_Generated + using [github-dependents-info](https://github.com/nvuillam/github-dependents-info), + by [Nicolas Vuillamy](https://github.com/nvuillam)_\\n\",\"description_content_type\":\"text/markdown\",\"docs_url\":null,\"download_url\":null,\"downloads\":{\"last_day\":-1,\"last_month\":-1,\"last_week\":-1},\"dynamic\":null,\"home_page\":null,\"keywords\":null,\"license\":null,\"license_expression\":null,\"license_files\":[\"LICENSE\"],\"maintainer\":null,\"maintainer_email\":null,\"name\":\"agentops\",\"package_url\":\"https://pypi.org/project/agentops/\",\"platform\":null,\"project_url\":\"https://pypi.org/project/agentops/\",\"project_urls\":{\"Homepage\":\"https://github.com/AgentOps-AI/agentops\",\"Issues\":\"https://github.com/AgentOps-AI/agentops/issues\"},\"provides_extra\":null,\"release_url\":\"https://pypi.org/project/agentops/0.3.26/\",\"requires_dist\":[\"opentelemetry-api==1.22.0; + python_version < \\\"3.10\\\"\",\"opentelemetry-api>=1.27.0; python_version + >= \\\"3.10\\\"\",\"opentelemetry-exporter-otlp-proto-http==1.22.0; python_version + < \\\"3.10\\\"\",\"opentelemetry-exporter-otlp-proto-http>=1.27.0; python_version + >= \\\"3.10\\\"\",\"opentelemetry-sdk==1.22.0; python_version < \\\"3.10\\\"\",\"opentelemetry-sdk>=1.27.0; + python_version >= \\\"3.10\\\"\",\"packaging<25.0,>=21.0\",\"psutil<6.1.0,>=5.9.8\",\"pyyaml<7.0,>=5.3\",\"requests<3.0.0,>=2.0.0\",\"termcolor<2.5.0,>=2.3.0\"],\"requires_python\":\"<3.14,>=3.9\",\"summary\":\"Observability + and DevTool Platform for AI Agents\",\"version\":\"0.3.26\",\"yanked\":false,\"yanked_reason\":null},\"last_serial\":27123795,\"releases\":{\"0.0.1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9b4641d084346e88671acc02e3a0049d3e0925fe99edd88c8b82700dc3c04d01\",\"md5\":\"2b491f3b3dd01edd4ee37c361087bb46\",\"sha256\":\"f2cb9d59a0413e7977a44a23dbd6a9d89cda5309b63ed08f5c346c7488acf645\"},\"downloads\":-1,\"filename\":\"agentops-0.0.1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"2b491f3b3dd01edd4ee37c361087bb46\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":10328,\"upload_time\":\"2023-08-21T18:33:47\",\"upload_time_iso_8601\":\"2023-08-21T18:33:47.827866Z\",\"url\":\"https://files.pythonhosted.org/packages/9b/46/41d084346e88671acc02e3a0049d3e0925fe99edd88c8b82700dc3c04d01/agentops-0.0.1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b280bf609d98778499bd42df723100a8e910d9b9827cbd00b804cf0b13bb3c87\",\"md5\":\"ff218fc16d45cf72f73d50ee9a0afe82\",\"sha256\":\"5c3d4311b9dde0c71cb475ec99d2963a71604c78d468b333f55e81364f4fe79e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ff218fc16d45cf72f73d50ee9a0afe82\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":11452,\"upload_time\":\"2023-08-21T18:33:49\",\"upload_time_iso_8601\":\"2023-08-21T18:33:49.613830Z\",\"url\":\"https://files.pythonhosted.org/packages/b2/80/bf609d98778499bd42df723100a8e910d9b9827cbd00b804cf0b13bb3c87/agentops-0.0.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"92933862af53105332cb524db237138d3284b5d6abcc7df5fd4406e382372d94\",\"md5\":\"8bdea319b5579775eb88efac72e70cd6\",\"sha256\":\"e8a333567458c1df35538d626bc596f3ba7b8fa2aac5015bc378f3f7f8850669\"},\"downloads\":-1,\"filename\":\"agentops-0.0.10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8bdea319b5579775eb88efac72e70cd6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14752,\"upload_time\":\"2023-12-16T01:40:40\",\"upload_time_iso_8601\":\"2023-12-16T01:40:40.867657Z\",\"url\":\"https://files.pythonhosted.org/packages/92/93/3862af53105332cb524db237138d3284b5d6abcc7df5fd4406e382372d94/agentops-0.0.10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c63136b1f2e508b67f92ddb5f51f2acf5abdf2bf4b32d5b355d8018b368dc854\",\"md5\":\"87bdcd4d7469d22ce922234d4f0b2b98\",\"sha256\":\"5fbc567bece7b218fc35ce70d208e88e89bb399a9dbf84ab7ad59a2aa559648c\"},\"downloads\":-1,\"filename\":\"agentops-0.0.10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"87bdcd4d7469d22ce922234d4f0b2b98\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":15099,\"upload_time\":\"2023-12-16T01:40:42\",\"upload_time_iso_8601\":\"2023-12-16T01:40:42.281826Z\",\"url\":\"https://files.pythonhosted.org/packages/c6/31/36b1f2e508b67f92ddb5f51f2acf5abdf2bf4b32d5b355d8018b368dc854/agentops-0.0.10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7125ed114f918332cda824092f620b1002fd76ab6b538dd83711b31c93907139\",\"md5\":\"83ba7e621f01412144aa38306fc1e04c\",\"sha256\":\"cb80823e065d17dc26bdc8fe951ea7e04b23677ef2b4da939669c6fe1b2502bf\"},\"downloads\":-1,\"filename\":\"agentops-0.0.11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"83ba7e621f01412144aa38306fc1e04c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":16627,\"upload_time\":\"2023-12-21T19:50:28\",\"upload_time_iso_8601\":\"2023-12-21T19:50:28.595886Z\",\"url\":\"https://files.pythonhosted.org/packages/71/25/ed114f918332cda824092f620b1002fd76ab6b538dd83711b31c93907139/agentops-0.0.11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9e037750b04398cda2548bbf3d84ce554c4009592095c060c4904e773f3a43da\",\"md5\":\"5bbb120cc9a5f5ff6fb5dd45691ba279\",\"sha256\":\"cbf0f39768d47e32be448a3ff3ded665fce64ff8a90c0e10692fd7a3ab4790ee\"},\"downloads\":-1,\"filename\":\"agentops-0.0.11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"5bbb120cc9a5f5ff6fb5dd45691ba279\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":16794,\"upload_time\":\"2023-12-21T19:50:29\",\"upload_time_iso_8601\":\"2023-12-21T19:50:29.881561Z\",\"url\":\"https://files.pythonhosted.org/packages/9e/03/7750b04398cda2548bbf3d84ce554c4009592095c060c4904e773f3a43da/agentops-0.0.11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"adf5cc3e93b2328532ea80b8b36450b8b48a8199ebbe1f75ebb490e57a926b88\",\"md5\":\"694ba49ca8841532039bdf8dc0250b85\",\"sha256\":\"9a2c773efbe3353f60d1b86da12333951dad288ba54839615a53b57e5965bea8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"694ba49ca8841532039bdf8dc0250b85\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18602,\"upload_time\":\"2024-01-03T03:47:07\",\"upload_time_iso_8601\":\"2024-01-03T03:47:07.184203Z\",\"url\":\"https://files.pythonhosted.org/packages/ad/f5/cc3e93b2328532ea80b8b36450b8b48a8199ebbe1f75ebb490e57a926b88/agentops-0.0.12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7eb0633ecd30c74a0613c7330ececf0303286622ce429f08ce0daa9ee8cc4ecf\",\"md5\":\"025daef9622472882a1fa58b6c1fddb5\",\"sha256\":\"fbb4c38711a7dff3ab08004591451b5a5c33bea5e496fa71fac668c7284513d2\"},\"downloads\":-1,\"filename\":\"agentops-0.0.12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"025daef9622472882a1fa58b6c1fddb5\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19826,\"upload_time\":\"2024-01-03T03:47:08\",\"upload_time_iso_8601\":\"2024-01-03T03:47:08.942790Z\",\"url\":\"https://files.pythonhosted.org/packages/7e/b0/633ecd30c74a0613c7330ececf0303286622ce429f08ce0daa9ee8cc4ecf/agentops-0.0.12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.13\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3a0f9c1500adb4191531374db4d7920c51aba92c5472d13d172108e881c36948\",\"md5\":\"f0a3b78c15af3ab467778f94fb50bf4a\",\"sha256\":\"3379a231f37a375bda421114a5626643263e84ce951503d0bdff8411149946e0\"},\"downloads\":-1,\"filename\":\"agentops-0.0.13-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"f0a3b78c15af3ab467778f94fb50bf4a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18709,\"upload_time\":\"2024-01-07T08:57:57\",\"upload_time_iso_8601\":\"2024-01-07T08:57:57.456769Z\",\"url\":\"https://files.pythonhosted.org/packages/3a/0f/9c1500adb4191531374db4d7920c51aba92c5472d13d172108e881c36948/agentops-0.0.13-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cbf9a3824bd30d7107aaca8d409165c0a3574a879efd7ca0fea755e903623b61\",\"md5\":\"0ebceb6aad82c0622adcd4c2633fc677\",\"sha256\":\"5e6adf68c2a533496648ea3fabb6e791f39ce810d18dbc1354d118b195fd8556\"},\"downloads\":-1,\"filename\":\"agentops-0.0.13.tar.gz\",\"has_sig\":false,\"md5_digest\":\"0ebceb6aad82c0622adcd4c2633fc677\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19933,\"upload_time\":\"2024-01-07T08:57:59\",\"upload_time_iso_8601\":\"2024-01-07T08:57:59.146933Z\",\"url\":\"https://files.pythonhosted.org/packages/cb/f9/a3824bd30d7107aaca8d409165c0a3574a879efd7ca0fea755e903623b61/agentops-0.0.13.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.14\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"252b1d8ee3b4ab02215eb1a52865a9f2c209d6d4cbf4a3444fb7faf23b02ca66\",\"md5\":\"a8ba77b0ec0d25072b2e0535a135cc40\",\"sha256\":\"d5bb4661642daf8fc63a257ef0f04ccc5c79a73e73d57ea04190e74d9a3e6df9\"},\"downloads\":-1,\"filename\":\"agentops-0.0.14-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a8ba77b0ec0d25072b2e0535a135cc40\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18710,\"upload_time\":\"2024-01-08T21:52:28\",\"upload_time_iso_8601\":\"2024-01-08T21:52:28.340899Z\",\"url\":\"https://files.pythonhosted.org/packages/25/2b/1d8ee3b4ab02215eb1a52865a9f2c209d6d4cbf4a3444fb7faf23b02ca66/agentops-0.0.14-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"bf3a1fdf85563c47c2fc6571a1406aecb772f644d53a2adabf4981012971587a\",\"md5\":\"1ecf7177ab57738c6663384de20887e5\",\"sha256\":\"c54cee1c9ed1b5b7829fd80d5d01278b1efb50e977e5a890627f4688d0f2afb2\"},\"downloads\":-1,\"filename\":\"agentops-0.0.14.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1ecf7177ab57738c6663384de20887e5\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19932,\"upload_time\":\"2024-01-08T21:52:29\",\"upload_time_iso_8601\":\"2024-01-08T21:52:29.988596Z\",\"url\":\"https://files.pythonhosted.org/packages/bf/3a/1fdf85563c47c2fc6571a1406aecb772f644d53a2adabf4981012971587a/agentops-0.0.14.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.15\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0c5374cbe5c78db9faa7c939d1a91eff111c4d3f13f4d8d18920ddd48f89f335\",\"md5\":\"c4528a66151e76c7b1abdcac3c3eaf52\",\"sha256\":\"aa8034dc9a0e9e56014a06fac521fc2a63a968d34f73e4d4c9bef4b0e87f8241\"},\"downloads\":-1,\"filename\":\"agentops-0.0.15-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c4528a66151e76c7b1abdcac3c3eaf52\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18734,\"upload_time\":\"2024-01-23T08:43:24\",\"upload_time_iso_8601\":\"2024-01-23T08:43:24.651479Z\",\"url\":\"https://files.pythonhosted.org/packages/0c/53/74cbe5c78db9faa7c939d1a91eff111c4d3f13f4d8d18920ddd48f89f335/agentops-0.0.15-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"da56c7d8189f4accc182be6729bc44a8006d981173e721ff4751ab784bbadfb3\",\"md5\":\"cd27bff6c943c6fcbed33ed8280ab5ea\",\"sha256\":\"71b0e048d2f1b86744105509436cbb6fa51e6b418a50a8253849dc6cdeda6cca\"},\"downloads\":-1,\"filename\":\"agentops-0.0.15.tar.gz\",\"has_sig\":false,\"md5_digest\":\"cd27bff6c943c6fcbed33ed8280ab5ea\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19985,\"upload_time\":\"2024-01-23T08:43:26\",\"upload_time_iso_8601\":\"2024-01-23T08:43:26.316265Z\",\"url\":\"https://files.pythonhosted.org/packages/da/56/c7d8189f4accc182be6729bc44a8006d981173e721ff4751ab784bbadfb3/agentops-0.0.15.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.16\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b694d78d43f49688829cab72b7326db1d9e3f436f71eed113f26d402fefa6856\",\"md5\":\"657c2cad11b3c8b97469524bff19b916\",\"sha256\":\"e9633dcbc419a47db8de13bd0dc4f5d55f0a50ef3434ffe8e1f8a3468561bd60\"},\"downloads\":-1,\"filename\":\"agentops-0.0.16-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"657c2cad11b3c8b97469524bff19b916\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18736,\"upload_time\":\"2024-01-23T09:03:05\",\"upload_time_iso_8601\":\"2024-01-23T09:03:05.799496Z\",\"url\":\"https://files.pythonhosted.org/packages/b6/94/d78d43f49688829cab72b7326db1d9e3f436f71eed113f26d402fefa6856/agentops-0.0.16-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ec353005c98c1e2642d61510a9977c2118d3baa72f50e3c45ef6a341bfd9a3b0\",\"md5\":\"2f9b28dd0953fdd2da606e19b9131006\",\"sha256\":\"469588d72734fc6e90c66cf9658613baf2a0b94c933a23cab16820435576c61f\"},\"downloads\":-1,\"filename\":\"agentops-0.0.16.tar.gz\",\"has_sig\":false,\"md5_digest\":\"2f9b28dd0953fdd2da606e19b9131006\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19986,\"upload_time\":\"2024-01-23T09:03:07\",\"upload_time_iso_8601\":\"2024-01-23T09:03:07.645949Z\",\"url\":\"https://files.pythonhosted.org/packages/ec/35/3005c98c1e2642d61510a9977c2118d3baa72f50e3c45ef6a341bfd9a3b0/agentops-0.0.16.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.17\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f3b2eff27fc5373097fc4f4d3d90f4d0fad1c3be7b923a6213750fe1cb022e6e\",\"md5\":\"20325afd9b9d9633b120b63967d4ae85\",\"sha256\":\"1a7c8d8fc8821e2e7eedbbe2683e076bfaca3434401b0d1ca6b830bf3230e61e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.17-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"20325afd9b9d9633b120b63967d4ae85\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18827,\"upload_time\":\"2024-01-23T17:12:19\",\"upload_time_iso_8601\":\"2024-01-23T17:12:19.300806Z\",\"url\":\"https://files.pythonhosted.org/packages/f3/b2/eff27fc5373097fc4f4d3d90f4d0fad1c3be7b923a6213750fe1cb022e6e/agentops-0.0.17-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ac2a2cb7548cce5b009bee9e6f9b46b26df1cca777830231e2d1603b83740053\",\"md5\":\"4ac65e38fa45946f1d382ce290b904e9\",\"sha256\":\"cc1e7f796a84c66a29b271d8f0faa4999c152c80195911b817502da002a3ae02\"},\"downloads\":-1,\"filename\":\"agentops-0.0.17.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4ac65e38fa45946f1d382ce290b904e9\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":20063,\"upload_time\":\"2024-01-23T17:12:20\",\"upload_time_iso_8601\":\"2024-01-23T17:12:20.558647Z\",\"url\":\"https://files.pythonhosted.org/packages/ac/2a/2cb7548cce5b009bee9e6f9b46b26df1cca777830231e2d1603b83740053/agentops-0.0.17.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.18\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"321102c865df2245ab8cfaeb48a72ef7011a7bbbe1553a43791d68295ff7c20d\",\"md5\":\"ad10ec2bf28bf434d3d2f11500f5a396\",\"sha256\":\"df241f6a62368aa645d1599bb6885688fba0d49dcc26f97f7f65ab29a6af1a2a\"},\"downloads\":-1,\"filename\":\"agentops-0.0.18-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ad10ec2bf28bf434d3d2f11500f5a396\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18860,\"upload_time\":\"2024-01-24T04:39:06\",\"upload_time_iso_8601\":\"2024-01-24T04:39:06.952175Z\",\"url\":\"https://files.pythonhosted.org/packages/32/11/02c865df2245ab8cfaeb48a72ef7011a7bbbe1553a43791d68295ff7c20d/agentops-0.0.18-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7831bd4249dcf9a0cdcad5451ca62aa83187295bb9c16fd1b3034999bff7ceaf\",\"md5\":\"76dc30c0a2e68f09c0411c23dd5e3a36\",\"sha256\":\"47e071424247dbbb1b9aaf07ff60a7e376ae01666478d0305d62a9068d61c1c1\"},\"downloads\":-1,\"filename\":\"agentops-0.0.18.tar.gz\",\"has_sig\":false,\"md5_digest\":\"76dc30c0a2e68f09c0411c23dd5e3a36\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":20094,\"upload_time\":\"2024-01-24T04:39:09\",\"upload_time_iso_8601\":\"2024-01-24T04:39:09.795862Z\",\"url\":\"https://files.pythonhosted.org/packages/78/31/bd4249dcf9a0cdcad5451ca62aa83187295bb9c16fd1b3034999bff7ceaf/agentops-0.0.18.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.19\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9d48292d743b748eddc01b51747e1dac4b62dea0eb5f240877bae821c0049572\",\"md5\":\"a26178cdf9d5fc5b466a30e5990c16a1\",\"sha256\":\"0e663e26aad41bf0288d250685e88130430dd087d03ffc69aa7f43e587921b59\"},\"downloads\":-1,\"filename\":\"agentops-0.0.19-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a26178cdf9d5fc5b466a30e5990c16a1\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18380,\"upload_time\":\"2024-01-24T07:58:38\",\"upload_time_iso_8601\":\"2024-01-24T07:58:38.440021Z\",\"url\":\"https://files.pythonhosted.org/packages/9d/48/292d743b748eddc01b51747e1dac4b62dea0eb5f240877bae821c0049572/agentops-0.0.19-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"dfe6f3b3fc53b050ec70de947e27227d0ea1e7a75037d082fc5f4d914178d12f\",\"md5\":\"c62a69951acd19121b059215cf0ddb8b\",\"sha256\":\"3d46faabf2dad44bd4705279569c76240ab5c71f03f511ba9d363dfd033d453e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.19.tar.gz\",\"has_sig\":false,\"md5_digest\":\"c62a69951acd19121b059215cf0ddb8b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19728,\"upload_time\":\"2024-01-24T07:58:41\",\"upload_time_iso_8601\":\"2024-01-24T07:58:41.352463Z\",\"url\":\"https://files.pythonhosted.org/packages/df/e6/f3b3fc53b050ec70de947e27227d0ea1e7a75037d082fc5f4d914178d12f/agentops-0.0.19.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e593e3863d3c61a75e43a347d423f754bc57559989773af6a9c7bc696ff1d6b4\",\"md5\":\"8ff77b84c32a4e846ce50c6844664b49\",\"sha256\":\"3bea2bdd8a26c190675aaf2775d97bc2e3c52d7da05c04ae8ec46fed959e0c6e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8ff77b84c32a4e846ce50c6844664b49\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":10452,\"upload_time\":\"2023-08-28T23:14:23\",\"upload_time_iso_8601\":\"2023-08-28T23:14:23.488523Z\",\"url\":\"https://files.pythonhosted.org/packages/e5/93/e3863d3c61a75e43a347d423f754bc57559989773af6a9c7bc696ff1d6b4/agentops-0.0.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"82dbea7088c3ba71d9882a8d09d896d8529100f3103d1fe58ff4b890f9d616f1\",\"md5\":\"02c4fed5ca014de524e5c1dfe3ec2dd2\",\"sha256\":\"dc183d28965a9514cb33d916b29b3159189f5be64c4a7d943be0cad1a00379f9\"},\"downloads\":-1,\"filename\":\"agentops-0.0.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"02c4fed5ca014de524e5c1dfe3ec2dd2\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":11510,\"upload_time\":\"2023-08-28T23:14:24\",\"upload_time_iso_8601\":\"2023-08-28T23:14:24.882664Z\",\"url\":\"https://files.pythonhosted.org/packages/82/db/ea7088c3ba71d9882a8d09d896d8529100f3103d1fe58ff4b890f9d616f1/agentops-0.0.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.20\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ad68d8cc6d631618e04ec6988d0c3f4462a74b0b5849719b8373c2470cf9d533\",\"md5\":\"09b2866043abc3e5cb5dfc17b80068cb\",\"sha256\":\"ba20fc48902434858f28e3c4a7febe56d275a28bd33378868e7fcde2f53f2430\"},\"downloads\":-1,\"filename\":\"agentops-0.0.20-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"09b2866043abc3e5cb5dfc17b80068cb\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18367,\"upload_time\":\"2024-01-25T07:12:48\",\"upload_time_iso_8601\":\"2024-01-25T07:12:48.514177Z\",\"url\":\"https://files.pythonhosted.org/packages/ad/68/d8cc6d631618e04ec6988d0c3f4462a74b0b5849719b8373c2470cf9d533/agentops-0.0.20-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0ba37435a8ce7125c7d75b931a373a188acf1c9e793be28db1b5c5e5a57d7a10\",\"md5\":\"fb700178ad44a4697b696ecbd28d115c\",\"sha256\":\"d50623b03b410c8c88718c29ea271304681e1305b5c05ba824edb92d18aab4f8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.20.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fb700178ad44a4697b696ecbd28d115c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19707,\"upload_time\":\"2024-01-25T07:12:49\",\"upload_time_iso_8601\":\"2024-01-25T07:12:49.915462Z\",\"url\":\"https://files.pythonhosted.org/packages/0b/a3/7435a8ce7125c7d75b931a373a188acf1c9e793be28db1b5c5e5a57d7a10/agentops-0.0.20.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.21\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9182ceb8c12e05c0e56ea6c5ba7395c57764ffc5a8134fd045b247793873c172\",\"md5\":\"ce428cf01a0c1066d3f1f3c8ca6b4f9b\",\"sha256\":\"fdefe50d945ad669b33c90bf526f9af0e7dc4792b4443aeb907b0a36de2be186\"},\"downloads\":-1,\"filename\":\"agentops-0.0.21-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ce428cf01a0c1066d3f1f3c8ca6b4f9b\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18483,\"upload_time\":\"2024-02-22T03:07:14\",\"upload_time_iso_8601\":\"2024-02-22T03:07:14.032143Z\",\"url\":\"https://files.pythonhosted.org/packages/91/82/ceb8c12e05c0e56ea6c5ba7395c57764ffc5a8134fd045b247793873c172/agentops-0.0.21-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"acbb361e3d7ed85fc4207ffbbe44ddfa7ee3b8f96b76c3712d4153d63ebb45e2\",\"md5\":\"360f00d330fa37ad10f687906e31e219\",\"sha256\":\"ec10f8e64c553a1c400f1d5c792c3daef383cd718747cabb8e5abc9ef685f25d\"},\"downloads\":-1,\"filename\":\"agentops-0.0.21.tar.gz\",\"has_sig\":false,\"md5_digest\":\"360f00d330fa37ad10f687906e31e219\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19787,\"upload_time\":\"2024-02-22T03:07:15\",\"upload_time_iso_8601\":\"2024-02-22T03:07:15.546312Z\",\"url\":\"https://files.pythonhosted.org/packages/ac/bb/361e3d7ed85fc4207ffbbe44ddfa7ee3b8f96b76c3712d4153d63ebb45e2/agentops-0.0.21.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.22\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b9da29a808d5bd3045f80b5652737e94695056b4a7cf7830ed7de037b1fe941c\",\"md5\":\"d9e04a68f0b143432b9e34341e4f0a17\",\"sha256\":\"fbcd962ff08a2e216637341c36c558be74368fbfda0b2408e55388e4c96474ca\"},\"downloads\":-1,\"filename\":\"agentops-0.0.22-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9e04a68f0b143432b9e34341e4f0a17\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18485,\"upload_time\":\"2024-02-29T21:16:00\",\"upload_time_iso_8601\":\"2024-02-29T21:16:00.124986Z\",\"url\":\"https://files.pythonhosted.org/packages/b9/da/29a808d5bd3045f80b5652737e94695056b4a7cf7830ed7de037b1fe941c/agentops-0.0.22-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4d842d1c5d80c69e6c9b8f3fd925c2f2fd084ad6eb29d93fdeadbdeca79e5eda\",\"md5\":\"8f3b286fd01c2c43f7f7b1e4aebe3594\",\"sha256\":\"397544ce90474fee59f1e8561c92f4923e9034842be593f1ac41437c5fca5841\"},\"downloads\":-1,\"filename\":\"agentops-0.0.22.tar.gz\",\"has_sig\":false,\"md5_digest\":\"8f3b286fd01c2c43f7f7b1e4aebe3594\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19784,\"upload_time\":\"2024-02-29T21:16:01\",\"upload_time_iso_8601\":\"2024-02-29T21:16:01.909583Z\",\"url\":\"https://files.pythonhosted.org/packages/4d/84/2d1c5d80c69e6c9b8f3fd925c2f2fd084ad6eb29d93fdeadbdeca79e5eda/agentops-0.0.22.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"324eda261865c2042eeb5da9827a350760e435896855d5480b8f3136212c3f65\",\"md5\":\"07a9f9f479a14e65b82054a145514e8d\",\"sha256\":\"35351701e3caab900243771bda19d6613bdcb84cc9ef2e1adde431a775c09af8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"07a9f9f479a14e65b82054a145514e8d\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":11872,\"upload_time\":\"2023-09-13T23:03:34\",\"upload_time_iso_8601\":\"2023-09-13T23:03:34.300564Z\",\"url\":\"https://files.pythonhosted.org/packages/32/4e/da261865c2042eeb5da9827a350760e435896855d5480b8f3136212c3f65/agentops-0.0.3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"643485e455d4f411b56bef2a99c40e32f35f456c93deda0a3915231f1da92e56\",\"md5\":\"c637ee3cfa358b65ed14cfc20d5f803f\",\"sha256\":\"45a57492e4072f3f27b5e851f6e501b54c796f6ace5f65ecf70e51dbe18ca1a8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"c637ee3cfa358b65ed14cfc20d5f803f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":12455,\"upload_time\":\"2023-09-13T23:03:35\",\"upload_time_iso_8601\":\"2023-09-13T23:03:35.513682Z\",\"url\":\"https://files.pythonhosted.org/packages/64/34/85e455d4f411b56bef2a99c40e32f35f456c93deda0a3915231f1da92e56/agentops-0.0.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"20cc12cf2391854ed588eaf6cdc87f60048f84e8dc7d15792850b7e90a0406b8\",\"md5\":\"7a3c11004517e22dc7cde83cf6d8d5e8\",\"sha256\":\"5a5cdcbe6e32c59237521182b83768e650b4519416b42f4e13929a115a0f20ee\"},\"downloads\":-1,\"filename\":\"agentops-0.0.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7a3c11004517e22dc7cde83cf6d8d5e8\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":13520,\"upload_time\":\"2023-09-22T09:23:52\",\"upload_time_iso_8601\":\"2023-09-22T09:23:52.896099Z\",\"url\":\"https://files.pythonhosted.org/packages/20/cc/12cf2391854ed588eaf6cdc87f60048f84e8dc7d15792850b7e90a0406b8/agentops-0.0.4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"98d2d9f9932d17711dd5d98af674c868686bdbdd9aaae9b8d69e9eecfd4c68f4\",\"md5\":\"712d3bc3b28703963f8f398845b1d17a\",\"sha256\":\"97743c6420bc5ba2655ac690041d5f5732fb950130cf61ab25ef6d44be6ecfb2\"},\"downloads\":-1,\"filename\":\"agentops-0.0.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"712d3bc3b28703963f8f398845b1d17a\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14050,\"upload_time\":\"2023-09-22T09:23:54\",\"upload_time_iso_8601\":\"2023-09-22T09:23:54.315467Z\",\"url\":\"https://files.pythonhosted.org/packages/98/d2/d9f9932d17711dd5d98af674c868686bdbdd9aaae9b8d69e9eecfd4c68f4/agentops-0.0.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e900cd903074a01932ded9a05dac7849a16c5850ed20c027b954b1eccfba54c1\",\"md5\":\"1bd4fd6cca14dac4947ecc6c4e3fe0a1\",\"sha256\":\"e39e1051ba8c58f222f3495196eb939ccc53f04bd279372ae01e694973dd25d6\"},\"downloads\":-1,\"filename\":\"agentops-0.0.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"1bd4fd6cca14dac4947ecc6c4e3fe0a1\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14107,\"upload_time\":\"2023-10-07T00:22:48\",\"upload_time_iso_8601\":\"2023-10-07T00:22:48.714074Z\",\"url\":\"https://files.pythonhosted.org/packages/e9/00/cd903074a01932ded9a05dac7849a16c5850ed20c027b954b1eccfba54c1/agentops-0.0.5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"08d5c29068ce4df9c85865b45e1cdb7be1df06e54fce087fad18ec390a7aea54\",\"md5\":\"4d8fc5553e3199fe24d6118337884a2b\",\"sha256\":\"8f3662e600ba57e9a102c6bf86a6a1e16c0e53e1f38a84fa1b9c01cc07ca4990\"},\"downloads\":-1,\"filename\":\"agentops-0.0.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4d8fc5553e3199fe24d6118337884a2b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14724,\"upload_time\":\"2023-10-07T00:22:50\",\"upload_time_iso_8601\":\"2023-10-07T00:22:50.304226Z\",\"url\":\"https://files.pythonhosted.org/packages/08/d5/c29068ce4df9c85865b45e1cdb7be1df06e54fce087fad18ec390a7aea54/agentops-0.0.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2f5b5f3bd8a5b2d96b6417fd4a3fc72ed484e3a4ffacac49035f17bb8df1dd5b\",\"md5\":\"b7e701ff7953ecca01ceec3a6b9374b2\",\"sha256\":\"05dea1d06f8f8d06a8f460d18d302febe91f4dad2e3fc0088d05b7017765f3b6\"},\"downloads\":-1,\"filename\":\"agentops-0.0.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"b7e701ff7953ecca01ceec3a6b9374b2\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14236,\"upload_time\":\"2023-10-27T06:56:14\",\"upload_time_iso_8601\":\"2023-10-27T06:56:14.029277Z\",\"url\":\"https://files.pythonhosted.org/packages/2f/5b/5f3bd8a5b2d96b6417fd4a3fc72ed484e3a4ffacac49035f17bb8df1dd5b/agentops-0.0.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4af43743bf40518545c8906687038e5717b1bd33db7ba300a084ec4f6c9c59e0\",\"md5\":\"0a78dcafcbc6292cf0823181cdc226a7\",\"sha256\":\"0057cb5d6dc0dd2c444f3371faef40c844a1510700b31824a4fccf5302713361\"},\"downloads\":-1,\"filename\":\"agentops-0.0.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"0a78dcafcbc6292cf0823181cdc226a7\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14785,\"upload_time\":\"2023-10-27T06:56:15\",\"upload_time_iso_8601\":\"2023-10-27T06:56:15.069192Z\",\"url\":\"https://files.pythonhosted.org/packages/4a/f4/3743bf40518545c8906687038e5717b1bd33db7ba300a084ec4f6c9c59e0/agentops-0.0.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3cb1d15c39bbc95f66c64d01cca304f9b4b0c3503509ad92ef29f926c9163599\",\"md5\":\"f494f6c256899103a80666be68d136ad\",\"sha256\":\"6984429ca1a9013fd4386105516cb36a46dd7078f7ac81e0a4701f1700bd25b5\"},\"downloads\":-1,\"filename\":\"agentops-0.0.7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"f494f6c256899103a80666be68d136ad\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14370,\"upload_time\":\"2023-11-02T06:37:36\",\"upload_time_iso_8601\":\"2023-11-02T06:37:36.480189Z\",\"url\":\"https://files.pythonhosted.org/packages/3c/b1/d15c39bbc95f66c64d01cca304f9b4b0c3503509ad92ef29f926c9163599/agentops-0.0.7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ba709ae02fc635cab51b237dcc3657ec69aac61ee67ea5f903cfae07de19abc8\",\"md5\":\"b163eaaf9cbafbbd19ec3f91b2b56969\",\"sha256\":\"a6f36d94a82d8e481b406f040790cefd4d939f07108737c696327d97c0ccdaf4\"},\"downloads\":-1,\"filename\":\"agentops-0.0.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b163eaaf9cbafbbd19ec3f91b2b56969\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14895,\"upload_time\":\"2023-11-02T06:37:37\",\"upload_time_iso_8601\":\"2023-11-02T06:37:37.698159Z\",\"url\":\"https://files.pythonhosted.org/packages/ba/70/9ae02fc635cab51b237dcc3657ec69aac61ee67ea5f903cfae07de19abc8/agentops-0.0.7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.8\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8147fa3ee8807ad961aa50a773b6567e3a624000936d3cc1a578af72d83e02e7\",\"md5\":\"20cffb5534b4545fa1e8b24a6a24b1da\",\"sha256\":\"5d50b2ab18a203dbb4555a2cd482dae8df5bf2aa3e771a9758ee28b540330da3\"},\"downloads\":-1,\"filename\":\"agentops-0.0.8-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"20cffb5534b4545fa1e8b24a6a24b1da\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14391,\"upload_time\":\"2023-11-23T06:17:56\",\"upload_time_iso_8601\":\"2023-11-23T06:17:56.154712Z\",\"url\":\"https://files.pythonhosted.org/packages/81/47/fa3ee8807ad961aa50a773b6567e3a624000936d3cc1a578af72d83e02e7/agentops-0.0.8-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"707473dc640a3fecfbe84ab7da230f7c862f72f231514a2a488b43a896146ed6\",\"md5\":\"bba7e74b58849f15d50f4e1270cbd23f\",\"sha256\":\"3a625d2acc922d99563ce71c5032b0b3b0db57d1c6fade319cf1bb636608eca0\"},\"downloads\":-1,\"filename\":\"agentops-0.0.8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"bba7e74b58849f15d50f4e1270cbd23f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14775,\"upload_time\":\"2023-11-23T06:17:58\",\"upload_time_iso_8601\":\"2023-11-23T06:17:58.768877Z\",\"url\":\"https://files.pythonhosted.org/packages/70/74/73dc640a3fecfbe84ab7da230f7c862f72f231514a2a488b43a896146ed6/agentops-0.0.8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c2a41dc8456edc9bccc0c560967cfdce23a4d7ab8162946be288b54391d80f7c\",\"md5\":\"5fb09f82b7eeb270c6644dcd3656953f\",\"sha256\":\"b480fd51fbffc76ae13bb885c2adb1236a7d3b0095b4dafb4a992f6e25647433\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"5fb09f82b7eeb270c6644dcd3656953f\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25045,\"upload_time\":\"2024-04-03T02:01:56\",\"upload_time_iso_8601\":\"2024-04-03T02:01:56.936873Z\",\"url\":\"https://files.pythonhosted.org/packages/c2/a4/1dc8456edc9bccc0c560967cfdce23a4d7ab8162946be288b54391d80f7c/agentops-0.1.0-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a81756443f28de774cb7c863a2856e1b07658a9a772ba86dfb1cfbb19bc08fe3\",\"md5\":\"b93c602c1d1da5d8f7a2dcdaa70f8e21\",\"sha256\":\"22d3dc87dedf93b3b78a0dfdef8c685b2f3bff9fbab32016360e298a24d311dc\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b93c602c1d1da5d8f7a2dcdaa70f8e21\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24685,\"upload_time\":\"2024-04-03T02:01:58\",\"upload_time_iso_8601\":\"2024-04-03T02:01:58.623055Z\",\"url\":\"https://files.pythonhosted.org/packages/a8/17/56443f28de774cb7c863a2856e1b07658a9a772ba86dfb1cfbb19bc08fe3/agentops-0.1.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c03a329c59f001f50701e9e541775c79304a5ce4ffe34d717b1d2af555362e9e\",\"md5\":\"7c7e84b3b4448580bf5a7e9c08012477\",\"sha256\":\"825ab57ac5f7840f5a7f8ac195f4af75ec07a9c0972b17d1a57a595420d06208\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7c7e84b3b4448580bf5a7e9c08012477\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23258,\"upload_time\":\"2024-03-18T18:51:08\",\"upload_time_iso_8601\":\"2024-03-18T18:51:08.693772Z\",\"url\":\"https://files.pythonhosted.org/packages/c0/3a/329c59f001f50701e9e541775c79304a5ce4ffe34d717b1d2af555362e9e/agentops-0.1.0b1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"026ee44f1d5a49924867475f7d101abe40170c0674b4b395f28ce88552c1ba71\",\"md5\":\"9cf6699fe45f13f1893c8992405e7261\",\"sha256\":\"f5ce4b34999fe4b21a4ce3643980253d30f8ea9c55f01d96cd35631355fc7ac3\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9cf6699fe45f13f1893c8992405e7261\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23842,\"upload_time\":\"2024-03-18T18:51:10\",\"upload_time_iso_8601\":\"2024-03-18T18:51:10.250127Z\",\"url\":\"https://files.pythonhosted.org/packages/02/6e/e44f1d5a49924867475f7d101abe40170c0674b4b395f28ce88552c1ba71/agentops-0.1.0b1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6a25e9282f81c3f2615ef6543a0b5ca49dd14b03f311fc5a108ad1aff4f0b720\",\"md5\":\"1d3e736ef44c0ad8829c50f036ac807b\",\"sha256\":\"485362b9a68d2327da250f0681b30a9296f0b41e058672b023ae2a8ed924b4d3\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"1d3e736ef44c0ad8829c50f036ac807b\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23477,\"upload_time\":\"2024-03-21T23:31:20\",\"upload_time_iso_8601\":\"2024-03-21T23:31:20.022797Z\",\"url\":\"https://files.pythonhosted.org/packages/6a/25/e9282f81c3f2615ef6543a0b5ca49dd14b03f311fc5a108ad1aff4f0b720/agentops-0.1.0b2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3165f702684da6e01f8df74a4291be2914c382ec4cb6f8ed2c3dc6d5a9f177ff\",\"md5\":\"0d51a6f6bf7cb0d3651574404c9c703c\",\"sha256\":\"cf9a8b54cc4f76592b6380729c03ec7adfe2256e6b200876d7595e50015f5d62\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"0d51a6f6bf7cb0d3651574404c9c703c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23659,\"upload_time\":\"2024-03-21T23:31:21\",\"upload_time_iso_8601\":\"2024-03-21T23:31:21.330837Z\",\"url\":\"https://files.pythonhosted.org/packages/31/65/f702684da6e01f8df74a4291be2914c382ec4cb6f8ed2c3dc6d5a9f177ff/agentops-0.1.0b2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2e64bfe82911b8981ce57f86154915d53b45fffa83ccb9cd6cf4cc71af3f796b\",\"md5\":\"470bc56525c114dddd908628dcb4f267\",\"sha256\":\"45b5aaa9f38989cfbfcc4f64e3041050df6d417177874316839225085e60d18d\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"470bc56525c114dddd908628dcb4f267\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23522,\"upload_time\":\"2024-03-25T19:34:58\",\"upload_time_iso_8601\":\"2024-03-25T19:34:58.102867Z\",\"url\":\"https://files.pythonhosted.org/packages/2e/64/bfe82911b8981ce57f86154915d53b45fffa83ccb9cd6cf4cc71af3f796b/agentops-0.1.0b3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0858e4b718e30a6bbe27d32b7128398cb3884f83f89b4121e36cbb7f979466ca\",\"md5\":\"8ddb13824d3636d841739479e02a12e6\",\"sha256\":\"9020daab306fe8c7ed0a98a9edcad9772eb1df0eacce7f936a5ed6bf0f7d2af1\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"8ddb13824d3636d841739479e02a12e6\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23641,\"upload_time\":\"2024-03-25T19:35:01\",\"upload_time_iso_8601\":\"2024-03-25T19:35:01.119334Z\",\"url\":\"https://files.pythonhosted.org/packages/08/58/e4b718e30a6bbe27d32b7128398cb3884f83f89b4121e36cbb7f979466ca/agentops-0.1.0b3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"67f860440d18b674b06c5a9f4f334bf1f1656dca9f6763d5dd3a2be9e5d2c256\",\"md5\":\"b11f47108926fb46964bbf28675c3e35\",\"sha256\":\"93a1f241c3fd7880c3d29ab64baa0661d9ba84e2071092aecb3e4fc574037900\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"b11f47108926fb46964bbf28675c3e35\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23512,\"upload_time\":\"2024-03-26T01:14:54\",\"upload_time_iso_8601\":\"2024-03-26T01:14:54.986869Z\",\"url\":\"https://files.pythonhosted.org/packages/67/f8/60440d18b674b06c5a9f4f334bf1f1656dca9f6763d5dd3a2be9e5d2c256/agentops-0.1.0b4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"10feabb836b04b7eae44383f5616ed1c4c6e9aee9beecc3df4617f69f7e3adc5\",\"md5\":\"fa4512f74baf9909544ebab021862740\",\"sha256\":\"4716b4e2a627d7a3846ddee3d334c8f5e8a1a2d231ec5286379c0f22920a2a9d\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fa4512f74baf9909544ebab021862740\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23668,\"upload_time\":\"2024-03-26T01:14:56\",\"upload_time_iso_8601\":\"2024-03-26T01:14:56.921017Z\",\"url\":\"https://files.pythonhosted.org/packages/10/fe/abb836b04b7eae44383f5616ed1c4c6e9aee9beecc3df4617f69f7e3adc5/agentops-0.1.0b4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3ac591c14d08000def551f70ccc1da9ab8b37f57561d24cf7fdf6cd3547610ee\",\"md5\":\"52a2212b79870ee48f0dbdad852dbb90\",\"sha256\":\"ed050e51137baa4f46769c77595e1cbe212bb86243f27a29b50218782a0d8242\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"52a2212b79870ee48f0dbdad852dbb90\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":24597,\"upload_time\":\"2024-04-02T00:56:17\",\"upload_time_iso_8601\":\"2024-04-02T00:56:17.570921Z\",\"url\":\"https://files.pythonhosted.org/packages/3a/c5/91c14d08000def551f70ccc1da9ab8b37f57561d24cf7fdf6cd3547610ee/agentops-0.1.0b5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"84d6f0bbe5883b86e749f2f02896d94054ebd84b4d66524e4b7004263ae21a6f\",\"md5\":\"89c6aa7864f45c17f42a38bb6fae904b\",\"sha256\":\"6ebe6a94f0898fd47521755b6c8083c5f6c0c8bb30d43441200b9ef67998ed01\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"89c6aa7864f45c17f42a38bb6fae904b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24624,\"upload_time\":\"2024-04-02T00:56:18\",\"upload_time_iso_8601\":\"2024-04-02T00:56:18.703411Z\",\"url\":\"https://files.pythonhosted.org/packages/84/d6/f0bbe5883b86e749f2f02896d94054ebd84b4d66524e4b7004263ae21a6f/agentops-0.1.0b5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3cc4ebdb56f0ff88ad20ddba765093aa6c1fc655a8f2bbafbcb2057f998d814f\",\"md5\":\"d117591df22735d1dedbdc034c93bff6\",\"sha256\":\"0d4fdb036836dddcce770cffcb2d564b0011a3307224d9a4675fc9bf80ffa5d2\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d117591df22735d1dedbdc034c93bff6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":24592,\"upload_time\":\"2024-04-02T03:20:11\",\"upload_time_iso_8601\":\"2024-04-02T03:20:11.132539Z\",\"url\":\"https://files.pythonhosted.org/packages/3c/c4/ebdb56f0ff88ad20ddba765093aa6c1fc655a8f2bbafbcb2057f998d814f/agentops-0.1.0b7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cbf0c32014a8ee12df4596ec4d90428e73e0cc5277d1b9bd2b53f815a7f0ea1f\",\"md5\":\"20364eb7d493e6f9b46666f36be8fb2f\",\"sha256\":\"938b29cd894ff38c7b1dee02f6422458702ccf8f3b69b69bc0e4220e42a33629\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"20364eb7d493e6f9b46666f36be8fb2f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24611,\"upload_time\":\"2024-04-02T03:20:12\",\"upload_time_iso_8601\":\"2024-04-02T03:20:12.490524Z\",\"url\":\"https://files.pythonhosted.org/packages/cb/f0/c32014a8ee12df4596ec4d90428e73e0cc5277d1b9bd2b53f815a7f0ea1f/agentops-0.1.0b7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ba13ff18b4ff72805bcbe7437aa445cde854a44b4b358564ed2b044678e270b9\",\"md5\":\"d4f77de8dd58468c6c307e735c1cfaa9\",\"sha256\":\"8afc0b7871d17f8cbe9996cab5ca10a8a3ed33a3406e1ddc257fadc214daa79a\"},\"downloads\":-1,\"filename\":\"agentops-0.1.1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d4f77de8dd58468c6c307e735c1cfaa9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25189,\"upload_time\":\"2024-04-05T22:41:01\",\"upload_time_iso_8601\":\"2024-04-05T22:41:01.867983Z\",\"url\":\"https://files.pythonhosted.org/packages/ba/13/ff18b4ff72805bcbe7437aa445cde854a44b4b358564ed2b044678e270b9/agentops-0.1.1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1dec1d2af6e33dd097feaf1e41a4d34c66d4e4e59ce35c5efac85c18614b9d4b\",\"md5\":\"f072d8700d4e22fc25eae8bb29a54d1f\",\"sha256\":\"001582703d5e6ffe67a51f9d67a303b5344e4ef8ca315f24aa43e0dd3d19f53b\"},\"downloads\":-1,\"filename\":\"agentops-0.1.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f072d8700d4e22fc25eae8bb29a54d1f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24831,\"upload_time\":\"2024-04-05T22:41:03\",\"upload_time_iso_8601\":\"2024-04-05T22:41:03.677234Z\",\"url\":\"https://files.pythonhosted.org/packages/1d/ec/1d2af6e33dd097feaf1e41a4d34c66d4e4e59ce35c5efac85c18614b9d4b/agentops-0.1.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cdf9a295ed62701dd4e56d5b57e45e0425db2bcea992c687534c9a2dd1e001f1\",\"md5\":\"8d82b9cb794b4b4a1e91ddece5447bcf\",\"sha256\":\"8b80800d4fa5a7a6c85c79f2bf39a50fb446ab8b209519bd51f44dee3b38517e\"},\"downloads\":-1,\"filename\":\"agentops-0.1.10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8d82b9cb794b4b4a1e91ddece5447bcf\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":29769,\"upload_time\":\"2024-05-10T20:13:39\",\"upload_time_iso_8601\":\"2024-05-10T20:13:39.477237Z\",\"url\":\"https://files.pythonhosted.org/packages/cd/f9/a295ed62701dd4e56d5b57e45e0425db2bcea992c687534c9a2dd1e001f1/agentops-0.1.10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f3788e027be4aa50f677a46bba1e0132f021e90d299c6eae093181a91679e378\",\"md5\":\"4dd3d1fd8c08efb1a08ae212ed9211d7\",\"sha256\":\"73fbd36cd5f3052d22e64dbea1fa9d70fb02658a901a600101801daa73f359f9\"},\"downloads\":-1,\"filename\":\"agentops-0.1.10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4dd3d1fd8c08efb1a08ae212ed9211d7\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":30268,\"upload_time\":\"2024-05-10T20:14:25\",\"upload_time_iso_8601\":\"2024-05-10T20:14:25.258530Z\",\"url\":\"https://files.pythonhosted.org/packages/f3/78/8e027be4aa50f677a46bba1e0132f021e90d299c6eae093181a91679e378/agentops-0.1.10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1ebfaaa31babe3bf687312592f99fe900e3808058658577bd1367b7df0332a08\",\"md5\":\"73c0b028248665a7927688fb8baa7680\",\"sha256\":\"e9411981a5d0b1190b93e3e1124db3ac6f17015c65a84b92a793f34d79b694c9\"},\"downloads\":-1,\"filename\":\"agentops-0.1.11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"73c0b028248665a7927688fb8baa7680\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":30952,\"upload_time\":\"2024-05-17T00:32:49\",\"upload_time_iso_8601\":\"2024-05-17T00:32:49.202597Z\",\"url\":\"https://files.pythonhosted.org/packages/1e/bf/aaa31babe3bf687312592f99fe900e3808058658577bd1367b7df0332a08/agentops-0.1.11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6ee43f71a7d1d63595058cd6945e7b9e2de1b06ace04176a6723b7bfb37bf880\",\"md5\":\"36092e907e4f15a6bafd6788383df112\",\"sha256\":\"4a365ee56303b5b80d9de21fc13ccb7a3fe44544a6c165327bbfd9213bfe0191\"},\"downloads\":-1,\"filename\":\"agentops-0.1.11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"36092e907e4f15a6bafd6788383df112\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":31256,\"upload_time\":\"2024-05-17T00:32:50\",\"upload_time_iso_8601\":\"2024-05-17T00:32:50.919974Z\",\"url\":\"https://files.pythonhosted.org/packages/6e/e4/3f71a7d1d63595058cd6945e7b9e2de1b06ace04176a6723b7bfb37bf880/agentops-0.1.11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"67f5227dffbebeffd3b404db0dd71805f00814e458c0d081faf7a4e70c7e984f\",\"md5\":\"2591924de6f2e5580e4733b0e8336e2c\",\"sha256\":\"b4b47c990638b74810cc1c38624ada162094b46e3fdd63883642a16bc5258386\"},\"downloads\":-1,\"filename\":\"agentops-0.1.12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"2591924de6f2e5580e4733b0e8336e2c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":35605,\"upload_time\":\"2024-05-24T20:11:52\",\"upload_time_iso_8601\":\"2024-05-24T20:11:52.863109Z\",\"url\":\"https://files.pythonhosted.org/packages/67/f5/227dffbebeffd3b404db0dd71805f00814e458c0d081faf7a4e70c7e984f/agentops-0.1.12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9f9ae6dc42ad8d40ad47c6116629b2cbda443d314327ab4d33e1044cb75ba88b\",\"md5\":\"4c2e76e7b6d4799ef4b464dee29e7255\",\"sha256\":\"c4f762482fb240fc3503907f52498f2d8d9e4f80236ee4a12bf039317a85fcd7\"},\"downloads\":-1,\"filename\":\"agentops-0.1.12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4c2e76e7b6d4799ef4b464dee29e7255\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":35103,\"upload_time\":\"2024-05-24T20:11:54\",\"upload_time_iso_8601\":\"2024-05-24T20:11:54.846567Z\",\"url\":\"https://files.pythonhosted.org/packages/9f/9a/e6dc42ad8d40ad47c6116629b2cbda443d314327ab4d33e1044cb75ba88b/agentops-0.1.12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e709193dfe68c2d23de2c60dd0af2af336cbf81d3a3f0c175705783b4c1da580\",\"md5\":\"588d9877b9767546606d3d6d76d247fc\",\"sha256\":\"ec79e56889eadd2bab04dfe2f6a899a1b90dc347a66cc80488297368386105b4\"},\"downloads\":-1,\"filename\":\"agentops-0.1.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"588d9877b9767546606d3d6d76d247fc\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25359,\"upload_time\":\"2024-04-09T23:00:51\",\"upload_time_iso_8601\":\"2024-04-09T23:00:51.897995Z\",\"url\":\"https://files.pythonhosted.org/packages/e7/09/193dfe68c2d23de2c60dd0af2af336cbf81d3a3f0c175705783b4c1da580/agentops-0.1.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8acc872aba374093481bb40ed6b7531b1500b00138baf6bfb9ca7c20fb889d58\",\"md5\":\"80f8f7c56b1e1a6ff4c48877fe12dd12\",\"sha256\":\"d213e1037d2d319743889c2bdbc10dc068b0591e2c6c156f69019302490336d5\"},\"downloads\":-1,\"filename\":\"agentops-0.1.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"80f8f7c56b1e1a6ff4c48877fe12dd12\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24968,\"upload_time\":\"2024-04-09T23:00:53\",\"upload_time_iso_8601\":\"2024-04-09T23:00:53.227389Z\",\"url\":\"https://files.pythonhosted.org/packages/8a/cc/872aba374093481bb40ed6b7531b1500b00138baf6bfb9ca7c20fb889d58/agentops-0.1.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9701aad65170506dcf29606e9e619d2c0caaee565e5e8b14a791c3e0e86c6356\",\"md5\":\"4dc967275c884e2a5a1de8df448ae1c6\",\"sha256\":\"f1ca0f2c5156d826381e9ebd634555215c67e1cb344683abddb382e594f483e4\"},\"downloads\":-1,\"filename\":\"agentops-0.1.3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"4dc967275c884e2a5a1de8df448ae1c6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25393,\"upload_time\":\"2024-04-09T23:24:20\",\"upload_time_iso_8601\":\"2024-04-09T23:24:20.821465Z\",\"url\":\"https://files.pythonhosted.org/packages/97/01/aad65170506dcf29606e9e619d2c0caaee565e5e8b14a791c3e0e86c6356/agentops-0.1.3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"5e22afde273bcf52cfc6581fba804b44eeebea6ff2ae774f0e5917fa1dd3ee09\",\"md5\":\"624c9b63dbe56c8b1dd535e1b20ada81\",\"sha256\":\"dd65e80ec70accfac0692171199b6ecfa37a7d109a3c25f2191c0934b5004114\"},\"downloads\":-1,\"filename\":\"agentops-0.1.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"624c9b63dbe56c8b1dd535e1b20ada81\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24994,\"upload_time\":\"2024-04-09T23:24:22\",\"upload_time_iso_8601\":\"2024-04-09T23:24:22.610198Z\",\"url\":\"https://files.pythonhosted.org/packages/5e/22/afde273bcf52cfc6581fba804b44eeebea6ff2ae774f0e5917fa1dd3ee09/agentops-0.1.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"50313e20afb169e707941cc3342cecb88060aa8746e95d72a202fd90ac4096b6\",\"md5\":\"3f64b736522ea40c35db6d2a609fc54f\",\"sha256\":\"476a5e795a6cc87858a0885be61b1e05eed21e4c6ab47f20348c48717c2ac454\"},\"downloads\":-1,\"filename\":\"agentops-0.1.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"3f64b736522ea40c35db6d2a609fc54f\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25558,\"upload_time\":\"2024-04-11T19:26:01\",\"upload_time_iso_8601\":\"2024-04-11T19:26:01.162829Z\",\"url\":\"https://files.pythonhosted.org/packages/50/31/3e20afb169e707941cc3342cecb88060aa8746e95d72a202fd90ac4096b6/agentops-0.1.4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e0688b1a21f72b85c9bdd56da4223c991bdfb5d0c2accd9ddd326616bf952795\",\"md5\":\"6f4601047f3e2080b4f7363ff84f15f3\",\"sha256\":\"d55e64953f84654d44557b496a3b3744a20449b854af84fa83a15be75b362b3d\"},\"downloads\":-1,\"filename\":\"agentops-0.1.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"6f4601047f3e2080b4f7363ff84f15f3\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":25390,\"upload_time\":\"2024-04-11T19:26:02\",\"upload_time_iso_8601\":\"2024-04-11T19:26:02.991657Z\",\"url\":\"https://files.pythonhosted.org/packages/e0/68/8b1a21f72b85c9bdd56da4223c991bdfb5d0c2accd9ddd326616bf952795/agentops-0.1.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"641c742793fa77c803e5667830ccd34b8d313d11f361a105fe92ce68d871cc5f\",\"md5\":\"964421a604c67c07b5c72b70ceee6ce8\",\"sha256\":\"bc65dd4cd85d1ffcba195f2490b5a4380d0b565dd0f4a71ecc64ed96a7fe1eee\"},\"downloads\":-1,\"filename\":\"agentops-0.1.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"964421a604c67c07b5c72b70ceee6ce8\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25793,\"upload_time\":\"2024-04-20T01:56:23\",\"upload_time_iso_8601\":\"2024-04-20T01:56:23.089343Z\",\"url\":\"https://files.pythonhosted.org/packages/64/1c/742793fa77c803e5667830ccd34b8d313d11f361a105fe92ce68d871cc5f/agentops-0.1.5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"62beabcb235daf34d4740961c4ad295b8dfb8a053ac6a1e341394e36f722ea89\",\"md5\":\"3ff7fa3135bc5c4254aaa99e3cc00dc8\",\"sha256\":\"17f0a573362d9c4770846874a4091662304d6889e21ca6a7dd747be48b9c8597\"},\"downloads\":-1,\"filename\":\"agentops-0.1.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"3ff7fa3135bc5c4254aaa99e3cc00dc8\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":25664,\"upload_time\":\"2024-04-20T01:56:24\",\"upload_time_iso_8601\":\"2024-04-20T01:56:24.303013Z\",\"url\":\"https://files.pythonhosted.org/packages/62/be/abcb235daf34d4740961c4ad295b8dfb8a053ac6a1e341394e36f722ea89/agentops-0.1.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"430b9f3fcfc2f9778dbbfc1fd68b223e9a91938505ef987e17b93a631bb6b2e4\",\"md5\":\"28ce2e6aa7a4598fa1e764d9762fd030\",\"sha256\":\"9dff841ef71f5fad2d897012a00f50011a706970e0e5eaae9d7b0540a637b128\"},\"downloads\":-1,\"filename\":\"agentops-0.1.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"28ce2e6aa7a4598fa1e764d9762fd030\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":26154,\"upload_time\":\"2024-04-20T03:48:58\",\"upload_time_iso_8601\":\"2024-04-20T03:48:58.494391Z\",\"url\":\"https://files.pythonhosted.org/packages/43/0b/9f3fcfc2f9778dbbfc1fd68b223e9a91938505ef987e17b93a631bb6b2e4/agentops-0.1.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a6c2b437246ce28bad9c2bbad9a9371f7008f76a979fb19699588212f653daf9\",\"md5\":\"fc81fd641ad630a17191d4a9cf77193b\",\"sha256\":\"48ddb49fc01eb83ce151d3f08ae670b3d603c454aa35b4ea145f2dc15e081b36\"},\"downloads\":-1,\"filename\":\"agentops-0.1.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fc81fd641ad630a17191d4a9cf77193b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":25792,\"upload_time\":\"2024-04-20T03:48:59\",\"upload_time_iso_8601\":\"2024-04-20T03:48:59.957150Z\",\"url\":\"https://files.pythonhosted.org/packages/a6/c2/b437246ce28bad9c2bbad9a9371f7008f76a979fb19699588212f653daf9/agentops-0.1.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1ca529570477f62973c6b835e09dc5bbda7498c1a26ba7a428cdb08a71ae86ca\",\"md5\":\"a1962d1bb72c6fd00e67e83fe56a3692\",\"sha256\":\"ce7a9e89dcf17507ee6db85017bef8f87fc4e8a23745f3f73e1fbda5489fb6f9\"},\"downloads\":-1,\"filename\":\"agentops-0.1.7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a1962d1bb72c6fd00e67e83fe56a3692\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.10\",\"size\":27891,\"upload_time\":\"2024-05-03T19:21:38\",\"upload_time_iso_8601\":\"2024-05-03T19:21:38.018602Z\",\"url\":\"https://files.pythonhosted.org/packages/1c/a5/29570477f62973c6b835e09dc5bbda7498c1a26ba7a428cdb08a71ae86ca/agentops-0.1.7-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Introduced + breaking bug\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b2447ce75e71fcc9605a609b41adc52d517eba4356d15f7ca77d46f683ca07f1\",\"md5\":\"9a9bb22af4b30c454d46b9a01e8701a0\",\"sha256\":\"70d22e9a71ea13af6e6ad9c1cffe63c98f9dbccf91bda199825609379b2babaf\"},\"downloads\":-1,\"filename\":\"agentops-0.1.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9a9bb22af4b30c454d46b9a01e8701a0\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.10\",\"size\":28122,\"upload_time\":\"2024-05-03T19:21:39\",\"upload_time_iso_8601\":\"2024-05-03T19:21:39.415523Z\",\"url\":\"https://files.pythonhosted.org/packages/b2/44/7ce75e71fcc9605a609b41adc52d517eba4356d15f7ca77d46f683ca07f1/agentops-0.1.7.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Introduced + breaking bug\"}],\"0.1.8\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"38c63d0d19eeae4c3c9e3ff5957b10c3c16a4a9fd2be6673fbfc965f8bb4fd08\",\"md5\":\"e12d3d92f51f5b2fed11a01742e5b5b5\",\"sha256\":\"d49d113028a891d50900bb4fae253218cc49519f7fe39f9ea15f8f2b29d6d7ef\"},\"downloads\":-1,\"filename\":\"agentops-0.1.8-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"e12d3d92f51f5b2fed11a01742e5b5b5\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.10\",\"size\":27977,\"upload_time\":\"2024-05-04T03:01:53\",\"upload_time_iso_8601\":\"2024-05-04T03:01:53.905081Z\",\"url\":\"https://files.pythonhosted.org/packages/38/c6/3d0d19eeae4c3c9e3ff5957b10c3c16a4a9fd2be6673fbfc965f8bb4fd08/agentops-0.1.8-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9269e51fa1714f169f692e4fad0a42ebeb77c7a27c48f62b751c869ad6441c69\",\"md5\":\"07dbdb45f9ec086b1bc314d6a8264423\",\"sha256\":\"5762137a84e2309e1b6ca9a0fd72c8b72c90f6f73ba49549980722221960cac8\"},\"downloads\":-1,\"filename\":\"agentops-0.1.8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"07dbdb45f9ec086b1bc314d6a8264423\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.10\",\"size\":28189,\"upload_time\":\"2024-05-04T03:01:55\",\"upload_time_iso_8601\":\"2024-05-04T03:01:55.328668Z\",\"url\":\"https://files.pythonhosted.org/packages/92/69/e51fa1714f169f692e4fad0a42ebeb77c7a27c48f62b751c869ad6441c69/agentops-0.1.8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.9\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"eb5a920e71729bd1f06b002ee146b38b0d1862357a1f484628e6b20a7d3dcca1\",\"md5\":\"6ae4929d91c4bb8025edc86b5322630c\",\"sha256\":\"af7983ba4929b04a34714dd97d7e82c11384ebbe9d7d8bc7b673e1263c4c79a1\"},\"downloads\":-1,\"filename\":\"agentops-0.1.9-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"6ae4929d91c4bb8025edc86b5322630c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":28458,\"upload_time\":\"2024-05-07T07:07:30\",\"upload_time_iso_8601\":\"2024-05-07T07:07:30.798380Z\",\"url\":\"https://files.pythonhosted.org/packages/eb/5a/920e71729bd1f06b002ee146b38b0d1862357a1f484628e6b20a7d3dcca1/agentops-0.1.9-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"df2b8fc76d629d8a83b0796612a27b966426550114c930eee5d730654fcd9fe9\",\"md5\":\"43090632f87cd398ed77b57daa8c28d6\",\"sha256\":\"7f428bfda2db57a994029b1c9f72b63ca7660616635c9c671b2b729d112a833e\"},\"downloads\":-1,\"filename\":\"agentops-0.1.9.tar.gz\",\"has_sig\":false,\"md5_digest\":\"43090632f87cd398ed77b57daa8c28d6\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":28596,\"upload_time\":\"2024-05-07T07:07:35\",\"upload_time_iso_8601\":\"2024-05-07T07:07:35.242350Z\",\"url\":\"https://files.pythonhosted.org/packages/df/2b/8fc76d629d8a83b0796612a27b966426550114c930eee5d730654fcd9fe9/agentops-0.1.9.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.0\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"483560ec38a81a7e9588d32730ed4f581621169216f968771d5f611388f68a9b\",\"md5\":\"bdda5480977cccd55628e117e8c8da04\",\"sha256\":\"bee84bf046c9b4346c5f0f50e2087a992e8d2eae80b3fe9f01c456b49c299bcc\"},\"downloads\":-1,\"filename\":\"agentops-0.2.0-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"bdda5480977cccd55628e117e8c8da04\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":35921,\"upload_time\":\"2024-05-28T22:04:14\",\"upload_time_iso_8601\":\"2024-05-28T22:04:14.813154Z\",\"url\":\"https://files.pythonhosted.org/packages/48/35/60ec38a81a7e9588d32730ed4f581621169216f968771d5f611388f68a9b/agentops-0.2.0-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8d7591c79141d31da4e56d6c6a00737b50dcc2f1ce8a711c1293d2a1d70478fc\",\"md5\":\"71e3c3b9fe0286c9b58d81ba1c12a42d\",\"sha256\":\"ca340136abff6a3727729c3eda87f0768e5ba2b672ce03320cb52ad138b05598\"},\"downloads\":-1,\"filename\":\"agentops-0.2.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"71e3c3b9fe0286c9b58d81ba1c12a42d\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":35498,\"upload_time\":\"2024-05-28T22:04:16\",\"upload_time_iso_8601\":\"2024-05-28T22:04:16.598374Z\",\"url\":\"https://files.pythonhosted.org/packages/8d/75/91c79141d31da4e56d6c6a00737b50dcc2f1ce8a711c1293d2a1d70478fc/agentops-0.2.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"fa3b84032b7dca3d7315b329db6681bbfe0872c2a46d62ca992a05f2d6a078e1\",\"md5\":\"ce3fc46711fa8225a3d6a9566f95f875\",\"sha256\":\"7dde95db92c8306c0a17e193bfb5ee20e71e16630ccc629db685e148b3aca3f6\"},\"downloads\":-1,\"filename\":\"agentops-0.2.1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ce3fc46711fa8225a3d6a9566f95f875\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":36375,\"upload_time\":\"2024-06-03T18:40:02\",\"upload_time_iso_8601\":\"2024-06-03T18:40:02.820700Z\",\"url\":\"https://files.pythonhosted.org/packages/fa/3b/84032b7dca3d7315b329db6681bbfe0872c2a46d62ca992a05f2d6a078e1/agentops-0.2.1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d6286ad330da5736588a54575fde95502006da58c3e9f4f15933f5876c1e1482\",\"md5\":\"faa972c26a3e59fb6ca04f253165da22\",\"sha256\":\"9f18a36a79c04e9c06f6e96aefe75f0fb1d08e562873315d6cb945488306e515\"},\"downloads\":-1,\"filename\":\"agentops-0.2.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"faa972c26a3e59fb6ca04f253165da22\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":35784,\"upload_time\":\"2024-06-03T18:40:05\",\"upload_time_iso_8601\":\"2024-06-03T18:40:05.431174Z\",\"url\":\"https://files.pythonhosted.org/packages/d6/28/6ad330da5736588a54575fde95502006da58c3e9f4f15933f5876c1e1482/agentops-0.2.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"fbe73a57dd30e354b7bcc5a86908fc92aa16378035c69eb225ce254387940b5d\",\"md5\":\"c24e4656bb6de14ffb9d810fe7872829\",\"sha256\":\"57aab8a5d76a0dd7b1f0b14e90e778c42444eeaf5c48f2f387719735d7d840ee\"},\"downloads\":-1,\"filename\":\"agentops-0.2.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c24e4656bb6de14ffb9d810fe7872829\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":36588,\"upload_time\":\"2024-06-05T19:30:29\",\"upload_time_iso_8601\":\"2024-06-05T19:30:29.208415Z\",\"url\":\"https://files.pythonhosted.org/packages/fb/e7/3a57dd30e354b7bcc5a86908fc92aa16378035c69eb225ce254387940b5d/agentops-0.2.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"89c51cbd038b9d2898b7f1b05943c338aa4aa9654d7e7763d8fa8d73a25fbfb6\",\"md5\":\"401bfce001638cc26d7975f6534b5bab\",\"sha256\":\"d4135c96ad7ec39c81015b3e33dfa977d2d846a685aba0d1922d2d6e3dca7fff\"},\"downloads\":-1,\"filename\":\"agentops-0.2.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"401bfce001638cc26d7975f6534b5bab\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":36012,\"upload_time\":\"2024-06-05T19:30:31\",\"upload_time_iso_8601\":\"2024-06-05T19:30:31.173781Z\",\"url\":\"https://files.pythonhosted.org/packages/89/c5/1cbd038b9d2898b7f1b05943c338aa4aa9654d7e7763d8fa8d73a25fbfb6/agentops-0.2.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b66fb36e2bb7158f45b6c496ce3cec50ef861e130cfa3ec8c62e709d63fa9e94\",\"md5\":\"b3f6a8d97cc0129a9e4730b7810509c6\",\"sha256\":\"a1829a21301223c26464cbc9da5bfba2f3750e21238912ee1d2f3097c358859a\"},\"downloads\":-1,\"filename\":\"agentops-0.2.3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"b3f6a8d97cc0129a9e4730b7810509c6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":36986,\"upload_time\":\"2024-06-13T19:56:33\",\"upload_time_iso_8601\":\"2024-06-13T19:56:33.675807Z\",\"url\":\"https://files.pythonhosted.org/packages/b6/6f/b36e2bb7158f45b6c496ce3cec50ef861e130cfa3ec8c62e709d63fa9e94/agentops-0.2.3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f4d34aed81a4ec4251131b94fb8ed4edf0823922bfda66ba0e4c43d9452111d2\",\"md5\":\"466abe04d466a950d4bcebbe9c3ccc27\",\"sha256\":\"b502b83bb4954386a28c4304028ba8cd2b45303f7e1f84720477b521267a3b4e\"},\"downloads\":-1,\"filename\":\"agentops-0.2.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"466abe04d466a950d4bcebbe9c3ccc27\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37024,\"upload_time\":\"2024-06-13T19:56:35\",\"upload_time_iso_8601\":\"2024-06-13T19:56:35.481794Z\",\"url\":\"https://files.pythonhosted.org/packages/f4/d3/4aed81a4ec4251131b94fb8ed4edf0823922bfda66ba0e4c43d9452111d2/agentops-0.2.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a4d4e91fb66bc2eb7effb53f7d9481da04e60809d10240306452a8307aca7985\",\"md5\":\"f1ba1befb6bd854d5fd6f670937dcb55\",\"sha256\":\"96162c28cc0391011c04e654273e5a96ec4dcf015e27a7ac12a1ea4077d38950\"},\"downloads\":-1,\"filename\":\"agentops-0.2.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"f1ba1befb6bd854d5fd6f670937dcb55\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":37518,\"upload_time\":\"2024-06-24T19:31:58\",\"upload_time_iso_8601\":\"2024-06-24T19:31:58.838680Z\",\"url\":\"https://files.pythonhosted.org/packages/a4/d4/e91fb66bc2eb7effb53f7d9481da04e60809d10240306452a8307aca7985/agentops-0.2.4-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Potential + breaking change\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8e4b920629e08c956cdc74a31ab466d005eb13d86c2d58fa2d2bd261cf36c37b\",\"md5\":\"527c82f21f01f13b879a1fca90ddb209\",\"sha256\":\"d263de21eb40e15eb17adc31821fc0dee4ff4ca4501a9feb7ed376d473063208\"},\"downloads\":-1,\"filename\":\"agentops-0.2.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"527c82f21f01f13b879a1fca90ddb209\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37656,\"upload_time\":\"2024-06-24T19:32:01\",\"upload_time_iso_8601\":\"2024-06-24T19:32:01.155014Z\",\"url\":\"https://files.pythonhosted.org/packages/8e/4b/920629e08c956cdc74a31ab466d005eb13d86c2d58fa2d2bd261cf36c37b/agentops-0.2.4.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Potential + breaking change\"}],\"0.2.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"47c73ab9d7d971b664a9bdff6e6464afb6c1de8eb0f845d8de93eb036d5dcc60\",\"md5\":\"bed576cc1591da4783777920fb223761\",\"sha256\":\"ff87b82d1efaf50b10624e00c6e9334f4c16ffe08ec7f9889b4417c231c31471\"},\"downloads\":-1,\"filename\":\"agentops-0.2.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"bed576cc1591da4783777920fb223761\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":37529,\"upload_time\":\"2024-06-26T22:57:15\",\"upload_time_iso_8601\":\"2024-06-26T22:57:15.646328Z\",\"url\":\"https://files.pythonhosted.org/packages/47/c7/3ab9d7d971b664a9bdff6e6464afb6c1de8eb0f845d8de93eb036d5dcc60/agentops-0.2.5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"31c48f2af30ae75dbdb4697506f80f76ce786f79014deb8c6679fa62962fdd6f\",\"md5\":\"42def99798edfaf201fa6f62846e77c5\",\"sha256\":\"6bad7aca37af6174307769550a53ec00824049a57e97b8868a9a213b2272adb4\"},\"downloads\":-1,\"filename\":\"agentops-0.2.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"42def99798edfaf201fa6f62846e77c5\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37703,\"upload_time\":\"2024-06-26T22:57:17\",\"upload_time_iso_8601\":\"2024-06-26T22:57:17.337904Z\",\"url\":\"https://files.pythonhosted.org/packages/31/c4/8f2af30ae75dbdb4697506f80f76ce786f79014deb8c6679fa62962fdd6f/agentops-0.2.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"5af2f90538b00d887c04a5570e8a3af4aef27a600a67c058a0ee6befafd60748\",\"md5\":\"8ef3ed13ed582346b71648ca9df30f7c\",\"sha256\":\"59e88000a9f108931fd68056f22def7a7f4b3015906de5791e777c23ba7dee52\"},\"downloads\":-1,\"filename\":\"agentops-0.2.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8ef3ed13ed582346b71648ca9df30f7c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":37534,\"upload_time\":\"2024-06-28T21:41:56\",\"upload_time_iso_8601\":\"2024-06-28T21:41:56.933334Z\",\"url\":\"https://files.pythonhosted.org/packages/5a/f2/f90538b00d887c04a5570e8a3af4aef27a600a67c058a0ee6befafd60748/agentops-0.2.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"bcf412c388dccc301ad54a501843ba5b5dd359575dcef9ac24c18a619a32214d\",\"md5\":\"89a6b04f12801682b53ee0133593ce74\",\"sha256\":\"7906a08c9154355484deb173b82631f9acddec3775b2d5e8ca946abdee27183b\"},\"downloads\":-1,\"filename\":\"agentops-0.2.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"89a6b04f12801682b53ee0133593ce74\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37874,\"upload_time\":\"2024-06-28T21:41:59\",\"upload_time_iso_8601\":\"2024-06-28T21:41:59.143953Z\",\"url\":\"https://files.pythonhosted.org/packages/bc/f4/12c388dccc301ad54a501843ba5b5dd359575dcef9ac24c18a619a32214d/agentops-0.2.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.0\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b8e996f12ac457f46c370c6f70f344e975d534f2c92853703ee29802f0127024\",\"md5\":\"d9c6995a843b49ac7eb6f500fa1f3c2a\",\"sha256\":\"22aeb3355e66b32a2b2a9f676048b81979b2488feddb088f9266034b3ed50539\"},\"downloads\":-1,\"filename\":\"agentops-0.3.0-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9c6995a843b49ac7eb6f500fa1f3c2a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39430,\"upload_time\":\"2024-07-17T18:38:24\",\"upload_time_iso_8601\":\"2024-07-17T18:38:24.763919Z\",\"url\":\"https://files.pythonhosted.org/packages/b8/e9/96f12ac457f46c370c6f70f344e975d534f2c92853703ee29802f0127024/agentops-0.3.0-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7e2d6fda9613562c0394d7ef3dd8f0cb9fc4ebaa8d413862fce33940c73564d6\",\"md5\":\"8fa67ca01ca726e3bfcd66898313f33f\",\"sha256\":\"6c0c08a57410fa5e826a7bafa1deeba9f7b3524709427d9e1abbd0964caaf76b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"8fa67ca01ca726e3bfcd66898313f33f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":41734,\"upload_time\":\"2024-07-17T18:38:26\",\"upload_time_iso_8601\":\"2024-07-17T18:38:26.447237Z\",\"url\":\"https://files.pythonhosted.org/packages/7e/2d/6fda9613562c0394d7ef3dd8f0cb9fc4ebaa8d413862fce33940c73564d6/agentops-0.3.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"eb5e3ac36b33d3e95747d64effd509f66a9b3b76b47216b16f492e27d8d90b0c\",\"md5\":\"6fade0b81fc65b2c79a869b5f240590b\",\"sha256\":\"b304d366691281e08c1f02307aabdd551ae4f68b0de82bbbb4cf6f651af2dd16\"},\"downloads\":-1,\"filename\":\"agentops-0.3.10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"6fade0b81fc65b2c79a869b5f240590b\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":41201,\"upload_time\":\"2024-08-19T20:51:49\",\"upload_time_iso_8601\":\"2024-08-19T20:51:49.487947Z\",\"url\":\"https://files.pythonhosted.org/packages/eb/5e/3ac36b33d3e95747d64effd509f66a9b3b76b47216b16f492e27d8d90b0c/agentops-0.3.10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8367ca0cb01df6b529f0127d23ec661e92c95ff68faf544439d86ec2331f3a52\",\"md5\":\"639da9c2a3381cb3f62812bfe48a5e57\",\"sha256\":\"40f895019f29bc5a6c023110cbec32870e5edb3e3926f8100974db8d3e299e2a\"},\"downloads\":-1,\"filename\":\"agentops-0.3.10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"639da9c2a3381cb3f62812bfe48a5e57\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":45332,\"upload_time\":\"2024-08-19T20:51:50\",\"upload_time_iso_8601\":\"2024-08-19T20:51:50.714217Z\",\"url\":\"https://files.pythonhosted.org/packages/83/67/ca0cb01df6b529f0127d23ec661e92c95ff68faf544439d86ec2331f3a52/agentops-0.3.10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0b078e6a74f084463def9d79d2c84d79475adc0229bbfb2e57401b0616ba6d6a\",\"md5\":\"e760d867d9431d1bc13798024237ab99\",\"sha256\":\"75fe10b8fc86c7f5c2633139ac1c06959611f22434fc1aaa8688c3c223fde8b5\"},\"downloads\":-1,\"filename\":\"agentops-0.3.11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"e760d867d9431d1bc13798024237ab99\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50252,\"upload_time\":\"2024-09-17T21:57:23\",\"upload_time_iso_8601\":\"2024-09-17T21:57:23.085964Z\",\"url\":\"https://files.pythonhosted.org/packages/0b/07/8e6a74f084463def9d79d2c84d79475adc0229bbfb2e57401b0616ba6d6a/agentops-0.3.11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3746057c552ea7ded5c954bdcbaf8a7dca07b6109633e040bf33de5f97a1289b\",\"md5\":\"3b661fb76d343ec3bdef5b70fc9e5cc3\",\"sha256\":\"38a2ffeeac1d722cb72c32d70e1c840424902b57934c647ef10de15478fe8f27\"},\"downloads\":-1,\"filename\":\"agentops-0.3.11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"3b661fb76d343ec3bdef5b70fc9e5cc3\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48018,\"upload_time\":\"2024-09-17T21:57:24\",\"upload_time_iso_8601\":\"2024-09-17T21:57:24.699442Z\",\"url\":\"https://files.pythonhosted.org/packages/37/46/057c552ea7ded5c954bdcbaf8a7dca07b6109633e040bf33de5f97a1289b/agentops-0.3.11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ac0a9004d7a8c2865ed804ddd6968095ef100ac554bc51ada7a2f3c0b4e9142b\",\"md5\":\"be18cdad4333c6013d9584b84b4c7875\",\"sha256\":\"4767def30de5dd97397728efcb50398a4f6d6823c1b534846f0a9b0cb85a6d45\"},\"downloads\":-1,\"filename\":\"agentops-0.3.12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"be18cdad4333c6013d9584b84b4c7875\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50794,\"upload_time\":\"2024-09-23T19:30:49\",\"upload_time_iso_8601\":\"2024-09-23T19:30:49.050650Z\",\"url\":\"https://files.pythonhosted.org/packages/ac/0a/9004d7a8c2865ed804ddd6968095ef100ac554bc51ada7a2f3c0b4e9142b/agentops-0.3.12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2c6d4f640d9fadd22f8cd7cb9857eed1f56d422f11b130ba226b947454eb0f0b\",\"md5\":\"91aa981d4199ac73b4d7407547667e2f\",\"sha256\":\"11ce3048656b5d146d02a4890dd50c8d2801ca5ad5caccab17d573cd8eea6e83\"},\"downloads\":-1,\"filename\":\"agentops-0.3.12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"91aa981d4199ac73b4d7407547667e2f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48525,\"upload_time\":\"2024-09-23T19:30:50\",\"upload_time_iso_8601\":\"2024-09-23T19:30:50.568151Z\",\"url\":\"https://files.pythonhosted.org/packages/2c/6d/4f640d9fadd22f8cd7cb9857eed1f56d422f11b130ba226b947454eb0f0b/agentops-0.3.12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.13\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"68efa3b8adc0de2e7daa1e6e2734af9a0e37c90e3346b8a804e3fdc322c82b6c\",\"md5\":\"948e9278dfc02e1a6ba2ec563296779a\",\"sha256\":\"81bfdfedd990fbc3064ee42a67422ddbee07b6cd96c5fca7e124eb8c1e0cebdc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.13-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"948e9278dfc02e1a6ba2ec563296779a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50813,\"upload_time\":\"2024-10-02T18:32:59\",\"upload_time_iso_8601\":\"2024-10-02T18:32:59.208892Z\",\"url\":\"https://files.pythonhosted.org/packages/68/ef/a3b8adc0de2e7daa1e6e2734af9a0e37c90e3346b8a804e3fdc322c82b6c/agentops-0.3.13-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3511fb06b4cee96285a5f745809d0f4efddef70d2a82112a633ed53834d6fc64\",\"md5\":\"27a923eaceb4ae35abe2cf1aed1b8241\",\"sha256\":\"319b7325fb79004ce996191aa21f0982489be22cc1acc2f3f6d02cdff1db2429\"},\"downloads\":-1,\"filename\":\"agentops-0.3.13.tar.gz\",\"has_sig\":false,\"md5_digest\":\"27a923eaceb4ae35abe2cf1aed1b8241\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48559,\"upload_time\":\"2024-10-02T18:33:00\",\"upload_time_iso_8601\":\"2024-10-02T18:33:00.614409Z\",\"url\":\"https://files.pythonhosted.org/packages/35/11/fb06b4cee96285a5f745809d0f4efddef70d2a82112a633ed53834d6fc64/agentops-0.3.13.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.14\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1c2775ab5bf99341a6a02775e3858f54a18cbcda0f35b5c6c0f114a829d62b8e\",\"md5\":\"ad2d676d293c4baa1f9afecc61654e50\",\"sha256\":\"f4a2fcf1a7caf1d5383bfb66d8a9d567f3cb88fc7495cfd81ade167b0c06a4ea\"},\"downloads\":-1,\"filename\":\"agentops-0.3.14-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ad2d676d293c4baa1f9afecc61654e50\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50825,\"upload_time\":\"2024-10-14T23:53:48\",\"upload_time_iso_8601\":\"2024-10-14T23:53:48.464714Z\",\"url\":\"https://files.pythonhosted.org/packages/1c/27/75ab5bf99341a6a02775e3858f54a18cbcda0f35b5c6c0f114a829d62b8e/agentops-0.3.14-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"46cb183fdaf40ae97ac1806ba91f6f23d55dc0a1a5cdf0881a5c834c8ca7175a\",\"md5\":\"b90053253770c8e1c385b18e7172d58f\",\"sha256\":\"fcb515e5743d73efee851b687692bed74797dc88e29a8327b2bbfb21d73a7447\"},\"downloads\":-1,\"filename\":\"agentops-0.3.14.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b90053253770c8e1c385b18e7172d58f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48548,\"upload_time\":\"2024-10-14T23:53:50\",\"upload_time_iso_8601\":\"2024-10-14T23:53:50.306080Z\",\"url\":\"https://files.pythonhosted.org/packages/46/cb/183fdaf40ae97ac1806ba91f6f23d55dc0a1a5cdf0881a5c834c8ca7175a/agentops-0.3.14.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.15\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"eadebed95f173bd304abe219b2b0a6f4e1f8e38b6733b19f2444a30fe2e731e1\",\"md5\":\"7a46ccd127ffcd52eff26edaf5721bd9\",\"sha256\":\"d5617108bbd9871a4250415f4e536ba33c2a6a2d2bec9342046303fb9e839f9d\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7a46ccd127ffcd52eff26edaf5721bd9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":55349,\"upload_time\":\"2024-11-09T01:18:40\",\"upload_time_iso_8601\":\"2024-11-09T01:18:40.622134Z\",\"url\":\"https://files.pythonhosted.org/packages/ea/de/bed95f173bd304abe219b2b0a6f4e1f8e38b6733b19f2444a30fe2e731e1/agentops-0.3.15-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"33a40ef511dc3f23bba2d345b464223b1e7acc3c2a29230a93abb8fbcb6faebf\",\"md5\":\"7af7abcf01e8d3ef64ac287e9300528f\",\"sha256\":\"4358f85929d55929002cae589323d36b68fc4d12d0ea5010a80bfc4c7addc0ec\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15.tar.gz\",\"has_sig\":false,\"md5_digest\":\"7af7abcf01e8d3ef64ac287e9300528f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":51296,\"upload_time\":\"2024-11-09T01:18:42\",\"upload_time_iso_8601\":\"2024-11-09T01:18:42.358185Z\",\"url\":\"https://files.pythonhosted.org/packages/33/a4/0ef511dc3f23bba2d345b464223b1e7acc3c2a29230a93abb8fbcb6faebf/agentops-0.3.15.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.15rc1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0978ac2f89ccb7b3a31742f5b70434953faff168da6cab67c0836f432919c762\",\"md5\":\"7f805adf76594ac4bc169b1a111817f4\",\"sha256\":\"86069387a265bc6c5fa00ffbb3f8a131254a51ee3a9b8b35af4aca823dee76f1\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15rc1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7f805adf76594ac4bc169b1a111817f4\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50798,\"upload_time\":\"2024-10-31T04:36:11\",\"upload_time_iso_8601\":\"2024-10-31T04:36:11.059082Z\",\"url\":\"https://files.pythonhosted.org/packages/09/78/ac2f89ccb7b3a31742f5b70434953faff168da6cab67c0836f432919c762/agentops-0.3.15rc1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4317d6950ad32c33317509ea05a64d01ab661515165ffbd4e120148826b69ffb\",\"md5\":\"5f131294c10c9b60b33ec93edc106f4f\",\"sha256\":\"897ab94ae4fca8f1711216f9317dbf6f14e5d018c866086ef0b8831dc125e4ad\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15rc1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"5f131294c10c9b60b33ec93edc106f4f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48739,\"upload_time\":\"2024-10-31T04:36:12\",\"upload_time_iso_8601\":\"2024-10-31T04:36:12.630857Z\",\"url\":\"https://files.pythonhosted.org/packages/43/17/d6950ad32c33317509ea05a64d01ab661515165ffbd4e120148826b69ffb/agentops-0.3.15rc1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.16\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b876e1c933480ec9ad093a841321e5c9f7f16a0af59f339ba2c840851b1af01d\",\"md5\":\"d57593bb32704fae1163656f03355a71\",\"sha256\":\"7763e65efe053fa81cea2a2e16f015c7603365280972e0c0709eec32c3c8569e\"},\"downloads\":-1,\"filename\":\"agentops-0.3.16-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d57593bb32704fae1163656f03355a71\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":55351,\"upload_time\":\"2024-11-09T18:44:21\",\"upload_time_iso_8601\":\"2024-11-09T18:44:21.626158Z\",\"url\":\"https://files.pythonhosted.org/packages/b8/76/e1c933480ec9ad093a841321e5c9f7f16a0af59f339ba2c840851b1af01d/agentops-0.3.16-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"aa748e77e654b37a5e0c977eca4f7e92740c1e24be39c827815e7bd8da429003\",\"md5\":\"23078e1dc78ef459a667feeb904345c1\",\"sha256\":\"564163eb048939d64e848c7e6caf25d6c0aee31200623ef97efe492f090f8939\"},\"downloads\":-1,\"filename\":\"agentops-0.3.16.tar.gz\",\"has_sig\":false,\"md5_digest\":\"23078e1dc78ef459a667feeb904345c1\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":51308,\"upload_time\":\"2024-11-09T18:44:23\",\"upload_time_iso_8601\":\"2024-11-09T18:44:23.037514Z\",\"url\":\"https://files.pythonhosted.org/packages/aa/74/8e77e654b37a5e0c977eca4f7e92740c1e24be39c827815e7bd8da429003/agentops-0.3.16.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.17\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6c3038a659671eec20fcae759bd69655ec45b08c4e875627b33e3b05bd46f299\",\"md5\":\"93bbe3bd4ee492e7e73780c07897b017\",\"sha256\":\"0d24dd082270a76c98ad0391101d5b5c3d01e389c5032389ecd551285e4b0662\"},\"downloads\":-1,\"filename\":\"agentops-0.3.17-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"93bbe3bd4ee492e7e73780c07897b017\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":55503,\"upload_time\":\"2024-11-10T02:39:28\",\"upload_time_iso_8601\":\"2024-11-10T02:39:28.884052Z\",\"url\":\"https://files.pythonhosted.org/packages/6c/30/38a659671eec20fcae759bd69655ec45b08c4e875627b33e3b05bd46f299/agentops-0.3.17-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2131d9a3747df04b7915ee1cffaa4a5636f8ed0e1385e5236b0da085ccce936a\",\"md5\":\"49e8cf186203cadaa39301c4ce5fda42\",\"sha256\":\"a893cc7c37eda720ab59e8facaa2774cc23d125648aa00539ae485ff592e8b77\"},\"downloads\":-1,\"filename\":\"agentops-0.3.17.tar.gz\",\"has_sig\":false,\"md5_digest\":\"49e8cf186203cadaa39301c4ce5fda42\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":51469,\"upload_time\":\"2024-11-10T02:39:30\",\"upload_time_iso_8601\":\"2024-11-10T02:39:30.636907Z\",\"url\":\"https://files.pythonhosted.org/packages/21/31/d9a3747df04b7915ee1cffaa4a5636f8ed0e1385e5236b0da085ccce936a/agentops-0.3.17.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.18\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"978dbd4cad95dad722dc2d3e4179feab1058ef846828c0e15e51e8bfaea373ee\",\"md5\":\"d9afc3636cb969c286738ce02ed12196\",\"sha256\":\"8b48d8a1662f276653430fd541c77fa4f9a15a43e881b518ff88ea56925afcf7\"},\"downloads\":-1,\"filename\":\"agentops-0.3.18-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9afc3636cb969c286738ce02ed12196\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":58032,\"upload_time\":\"2024-11-19T19:06:19\",\"upload_time_iso_8601\":\"2024-11-19T19:06:19.068511Z\",\"url\":\"https://files.pythonhosted.org/packages/97/8d/bd4cad95dad722dc2d3e4179feab1058ef846828c0e15e51e8bfaea373ee/agentops-0.3.18-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c55246bb2f29b9e5f2e1d8b124296b7794934a9048de635d9e7d6a95e791ad7b\",\"md5\":\"02a4fc081499360aac58485a94a6ca33\",\"sha256\":\"4d509754df7be52579597cc9f53939c5218131a0379463e0ff6f6f40cde9fcc4\"},\"downloads\":-1,\"filename\":\"agentops-0.3.18.tar.gz\",\"has_sig\":false,\"md5_digest\":\"02a4fc081499360aac58485a94a6ca33\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":55394,\"upload_time\":\"2024-11-19T19:06:21\",\"upload_time_iso_8601\":\"2024-11-19T19:06:21.306448Z\",\"url\":\"https://files.pythonhosted.org/packages/c5/52/46bb2f29b9e5f2e1d8b124296b7794934a9048de635d9e7d6a95e791ad7b/agentops-0.3.18.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.19\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"fc1e48616d2db40717d560a561e13521009655d447388f944f12f2b3811e6d7d\",\"md5\":\"a9e23f1d31821585017e97633b058233\",\"sha256\":\"1888a47dd3d9b92c5f246cdeeab333def5acbd26833d3148c63e8793457405b3\"},\"downloads\":-1,\"filename\":\"agentops-0.3.19-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a9e23f1d31821585017e97633b058233\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38648,\"upload_time\":\"2024-12-04T00:54:00\",\"upload_time_iso_8601\":\"2024-12-04T00:54:00.173948Z\",\"url\":\"https://files.pythonhosted.org/packages/fc/1e/48616d2db40717d560a561e13521009655d447388f944f12f2b3811e6d7d/agentops-0.3.19-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency, please install 0.3.18\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b319bb0e9895cb6da29f764f8d7b95b10ac8fde400bc17028f9bd486e9574dbe\",\"md5\":\"f6424c41464d438007e9628748a0bea6\",\"sha256\":\"ca0d4ba35ae699169ae20f74f72ca6a5780a8768ba2a2c32589fc5292ed81674\"},\"downloads\":-1,\"filename\":\"agentops-0.3.19.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f6424c41464d438007e9628748a0bea6\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48360,\"upload_time\":\"2024-12-04T00:54:01\",\"upload_time_iso_8601\":\"2024-12-04T00:54:01.418776Z\",\"url\":\"https://files.pythonhosted.org/packages/b3/19/bb0e9895cb6da29f764f8d7b95b10ac8fde400bc17028f9bd486e9574dbe/agentops-0.3.19.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency, please install 0.3.18\"}],\"0.3.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9d2c23b745a61d48df788b8020e5ea37e94f9da59b322a17accafe18d8cb4006\",\"md5\":\"62d576d9518a627fe4232709c0721eff\",\"sha256\":\"b35988e04378624204572bb3d7a454094f879ea573f05b57d4e75ab0bfbb82af\"},\"downloads\":-1,\"filename\":\"agentops-0.3.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"62d576d9518a627fe4232709c0721eff\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39527,\"upload_time\":\"2024-07-21T03:09:56\",\"upload_time_iso_8601\":\"2024-07-21T03:09:56.844372Z\",\"url\":\"https://files.pythonhosted.org/packages/9d/2c/23b745a61d48df788b8020e5ea37e94f9da59b322a17accafe18d8cb4006/agentops-0.3.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d2a1cc21406646c065e83435fe30fa205b99b2204d8074eca31926a5f8ef4381\",\"md5\":\"30b247bcae25b181485a89213518241c\",\"sha256\":\"55559ac4a43634831dfa8937c2597c28e332809dc7c6bb3bc3c8b233442e224c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"30b247bcae25b181485a89213518241c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":41894,\"upload_time\":\"2024-07-21T03:09:58\",\"upload_time_iso_8601\":\"2024-07-21T03:09:58.409826Z\",\"url\":\"https://files.pythonhosted.org/packages/d2/a1/cc21406646c065e83435fe30fa205b99b2204d8074eca31926a5f8ef4381/agentops-0.3.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a854ae9147a490dd9bd03ab7bfc5af47f40ff675840a9aa143896b385a8f8d3a\",\"md5\":\"a13af8737ddff8a0c7c0f05cee70085f\",\"sha256\":\"b5396e11b0bfef46b85604e8e36ab17668057711edd56f1edb0a067b8676fdcc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a13af8737ddff8a0c7c0f05cee70085f\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38674,\"upload_time\":\"2024-12-07T00:06:31\",\"upload_time_iso_8601\":\"2024-12-07T00:06:31.901162Z\",\"url\":\"https://files.pythonhosted.org/packages/a8/54/ae9147a490dd9bd03ab7bfc5af47f40ff675840a9aa143896b385a8f8d3a/agentops-0.3.20-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Wrong + release\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c1eb19d04c801854ba75e235eb87c51a6a9c5b1a89e8579cb745c83f8bf84e08\",\"md5\":\"11754497191d8340eda7a831720d9b74\",\"sha256\":\"c71406294804a82795310a4afc492064a8884b1ba47e12607230975bc1291ce3\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20.tar.gz\",\"has_sig\":false,\"md5_digest\":\"11754497191d8340eda7a831720d9b74\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48332,\"upload_time\":\"2024-12-07T00:06:33\",\"upload_time_iso_8601\":\"2024-12-07T00:06:33.568362Z\",\"url\":\"https://files.pythonhosted.org/packages/c1/eb/19d04c801854ba75e235eb87c51a6a9c5b1a89e8579cb745c83f8bf84e08/agentops-0.3.20.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Wrong + release\"}],\"0.3.20rc1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"073de7eba58e2a60c0136eee2760b20f99607001d372de26505feee891e0976b\",\"md5\":\"73c6ac515ee9d555e27a7ba7e26e3a46\",\"sha256\":\"079ea8138938e27a3e1319a235a6f4cf98c0d6846731d854aa83b8422d570bda\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"73c6ac515ee9d555e27a7ba7e26e3a46\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38718,\"upload_time\":\"2024-12-07T00:10:18\",\"upload_time_iso_8601\":\"2024-12-07T00:10:18.796963Z\",\"url\":\"https://files.pythonhosted.org/packages/07/3d/e7eba58e2a60c0136eee2760b20f99607001d372de26505feee891e0976b/agentops-0.3.20rc1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"02ff111d618c21aad946caedb666030f1f374a0d558228b9061ea2b46acb6bcd\",\"md5\":\"17062e985b931dc85b4855922d7842ce\",\"sha256\":\"ef48447e07a3eded246b2f7e10bba74422a34563ffdc667ac16b2d3383475a3f\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"17062e985b931dc85b4855922d7842ce\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48329,\"upload_time\":\"2024-12-07T00:10:20\",\"upload_time_iso_8601\":\"2024-12-07T00:10:20.510407Z\",\"url\":\"https://files.pythonhosted.org/packages/02/ff/111d618c21aad946caedb666030f1f374a0d558228b9061ea2b46acb6bcd/agentops-0.3.20rc1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a7274706d8d9c8f4abecc1dda2b9b02cd02ffe895220bd39f58322a46ccc7254\",\"md5\":\"2c66a93c691c6b8cac2f2dc8fab9efae\",\"sha256\":\"3c10d77f2fe88b61d97ad007820c1ba968c62f692986ea2b2cbfd8b22ec9e5bc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"2c66a93c691c6b8cac2f2dc8fab9efae\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":57423,\"upload_time\":\"2024-12-10T03:41:04\",\"upload_time_iso_8601\":\"2024-12-10T03:41:04.579814Z\",\"url\":\"https://files.pythonhosted.org/packages/a7/27/4706d8d9c8f4abecc1dda2b9b02cd02ffe895220bd39f58322a46ccc7254/agentops-0.3.20rc10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"efe9e304f465945f57e4c6d35cd35fff53dc2a2e36b9b32793fa57017467b0c2\",\"md5\":\"9882d32866b94d925ba36ac376c30bea\",\"sha256\":\"f0c72c20e7fe41054c22c6257420314863549dd91428a892ac9b47b81cdfcc8c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9882d32866b94d925ba36ac376c30bea\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":57564,\"upload_time\":\"2024-12-10T03:41:06\",\"upload_time_iso_8601\":\"2024-12-10T03:41:06.899043Z\",\"url\":\"https://files.pythonhosted.org/packages/ef/e9/e304f465945f57e4c6d35cd35fff53dc2a2e36b9b32793fa57017467b0c2/agentops-0.3.20rc10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8dbf598ec2532b713a228f4041c9b2c10358cd43e6aecf6128d0988a0b5f103e\",\"md5\":\"d9ab67a850aefcb5bf9467b48f74675d\",\"sha256\":\"3e5d4c19de6c58ae684693f47a2f03db35eaf4cd6d8aafc1e804a134462c2b55\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9ab67a850aefcb5bf9467b48f74675d\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":60280,\"upload_time\":\"2024-12-10T22:45:05\",\"upload_time_iso_8601\":\"2024-12-10T22:45:05.280119Z\",\"url\":\"https://files.pythonhosted.org/packages/8d/bf/598ec2532b713a228f4041c9b2c10358cd43e6aecf6128d0988a0b5f103e/agentops-0.3.20rc11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"210642e51fff6a4537fb811a15bc22d00343145285c6246dc069433d61436e1b\",\"md5\":\"ca5279f4cb6ad82e06ef542a2d08d06e\",\"sha256\":\"9211489c6a01bc9cda4061826f8b80d0989cfcd7fbabe1dd2ed5a5cb76b3d6f0\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ca5279f4cb6ad82e06ef542a2d08d06e\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":59718,\"upload_time\":\"2024-12-10T22:45:09\",\"upload_time_iso_8601\":\"2024-12-10T22:45:09.616947Z\",\"url\":\"https://files.pythonhosted.org/packages/21/06/42e51fff6a4537fb811a15bc22d00343145285c6246dc069433d61436e1b/agentops-0.3.20rc11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"dc281db6f49f10ac849683de1d7f5b5ef492be2a996325302167b8388f375d51\",\"md5\":\"8b2611d2510f0d4fac7ab824d7658ff7\",\"sha256\":\"9237652d28db89315c49c0705829b291c17280e07d41272f909e2609acec650b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8b2611d2510f0d4fac7ab824d7658ff7\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":60282,\"upload_time\":\"2024-12-10T23:10:54\",\"upload_time_iso_8601\":\"2024-12-10T23:10:54.516317Z\",\"url\":\"https://files.pythonhosted.org/packages/dc/28/1db6f49f10ac849683de1d7f5b5ef492be2a996325302167b8388f375d51/agentops-0.3.20rc12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"10c073cb9a55592f55bb44c9206f50f41d7b7a8a8d6fd67d42f40c8f9f184b0e\",\"md5\":\"02b3a68f3491564af2e29f0f216eea1e\",\"sha256\":\"d4d3a73ac34b2a00edb6e6b5b220cbb031bb76ff58d85e2096b536be24aee4fe\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"02b3a68f3491564af2e29f0f216eea1e\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":59731,\"upload_time\":\"2024-12-10T23:10:56\",\"upload_time_iso_8601\":\"2024-12-10T23:10:56.822803Z\",\"url\":\"https://files.pythonhosted.org/packages/10/c0/73cb9a55592f55bb44c9206f50f41d7b7a8a8d6fd67d42f40c8f9f184b0e/agentops-0.3.20rc12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc13\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4ed48a97563074235f266281167c70ab90833c195e2b704087e414509ae3ec32\",\"md5\":\"c86fe22044483f94bc044a3bf7b054b7\",\"sha256\":\"2fbb3b55701d9aea64f622e7e29aa417772e897e2414f74ed3954d99009d224f\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc13-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c86fe22044483f94bc044a3bf7b054b7\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":64724,\"upload_time\":\"2024-12-10T23:27:50\",\"upload_time_iso_8601\":\"2024-12-10T23:27:50.895316Z\",\"url\":\"https://files.pythonhosted.org/packages/4e/d4/8a97563074235f266281167c70ab90833c195e2b704087e414509ae3ec32/agentops-0.3.20rc13-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"767e59c6f34e9a067d9152021de7e3146e5c0f69f36434dcb3026ff03f382489\",\"md5\":\"152a70647d5ff28fe851e4cc406d8fb4\",\"sha256\":\"b7a6d1d7f603bbb2605cc747762ae866bdee53941c4c76087c9f0f0a5efad03b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc13.tar.gz\",\"has_sig\":false,\"md5_digest\":\"152a70647d5ff28fe851e4cc406d8fb4\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":63242,\"upload_time\":\"2024-12-10T23:27:53\",\"upload_time_iso_8601\":\"2024-12-10T23:27:53.657606Z\",\"url\":\"https://files.pythonhosted.org/packages/76/7e/59c6f34e9a067d9152021de7e3146e5c0f69f36434dcb3026ff03f382489/agentops-0.3.20rc13.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cebbbca58531e21f4c1c92cbe6ba15d0f308ff8f3b27083cd0ce6358c7d1d117\",\"md5\":\"5a9fcd99e0b6e3b24e721b22c3ee5907\",\"sha256\":\"ada95d42e82abef16c1e83443dc42d02bb470ee48b1fa8f2d58a20703511a7be\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"5a9fcd99e0b6e3b24e721b22c3ee5907\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38716,\"upload_time\":\"2024-12-07T00:20:01\",\"upload_time_iso_8601\":\"2024-12-07T00:20:01.561074Z\",\"url\":\"https://files.pythonhosted.org/packages/ce/bb/bca58531e21f4c1c92cbe6ba15d0f308ff8f3b27083cd0ce6358c7d1d117/agentops-0.3.20rc2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"124aec14492566949b7383ae321cb40c1edc18940712b277c08d32392566f7a8\",\"md5\":\"ff8db0075584474e35784b080fb9b6b1\",\"sha256\":\"60462b82390e78fd21312c5db45f0f48dfcc9c9ab354e6bf232db557ccf57c13\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ff8db0075584474e35784b080fb9b6b1\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48341,\"upload_time\":\"2024-12-07T00:20:02\",\"upload_time_iso_8601\":\"2024-12-07T00:20:02.519240Z\",\"url\":\"https://files.pythonhosted.org/packages/12/4a/ec14492566949b7383ae321cb40c1edc18940712b277c08d32392566f7a8/agentops-0.3.20rc2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a1551125b2b3823fcb3f3afa3c6b9621541799ac329622ee21038babbfbedf39\",\"md5\":\"a82f1b73347d3a2fe33f31cec01ca376\",\"sha256\":\"72253950b46a11b5b1163b13bbb9d5b769e6cdb7b102acf46efac8cf02f7eaac\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a82f1b73347d3a2fe33f31cec01ca376\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38719,\"upload_time\":\"2024-12-07T00:53:45\",\"upload_time_iso_8601\":\"2024-12-07T00:53:45.212239Z\",\"url\":\"https://files.pythonhosted.org/packages/a1/55/1125b2b3823fcb3f3afa3c6b9621541799ac329622ee21038babbfbedf39/agentops-0.3.20rc4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a180420ef26926052b12d1c2010360b4037f6765321055ce7e09c6bfaeac3480\",\"md5\":\"1a314ff81d87a774e5e1cf338151a353\",\"sha256\":\"4218fcfa42644dd86ee50ac7806d08783e4629db30b127bc8011c9c3523eeb5c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1a314ff81d87a774e5e1cf338151a353\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48332,\"upload_time\":\"2024-12-07T00:53:47\",\"upload_time_iso_8601\":\"2024-12-07T00:53:47.581677Z\",\"url\":\"https://files.pythonhosted.org/packages/a1/80/420ef26926052b12d1c2010360b4037f6765321055ce7e09c6bfaeac3480/agentops-0.3.20rc4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7747e61c5387124f53a3095261427888ab88e192828e3bb8be92660bf4e008d0\",\"md5\":\"fd7343ddf99f077d1a159b87d84ed79c\",\"sha256\":\"97df38116ec7fe337fc04b800e423aa8b5e69681565c02dc4af3e9c60764827e\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"fd7343ddf99f077d1a159b87d84ed79c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":44545,\"upload_time\":\"2024-12-07T01:38:17\",\"upload_time_iso_8601\":\"2024-12-07T01:38:17.177125Z\",\"url\":\"https://files.pythonhosted.org/packages/77/47/e61c5387124f53a3095261427888ab88e192828e3bb8be92660bf4e008d0/agentops-0.3.20rc5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"145fa0bf5ee5b56dacf63b9712ac62169c585c6222efe043cc77f3148f709965\",\"md5\":\"20a32d514b5d51851dbcbdfb2c189491\",\"sha256\":\"48111083dab1fc30f0545e0812c4aab00fc9e9d48de42de95d254699396992a8\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"20a32d514b5d51851dbcbdfb2c189491\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":53243,\"upload_time\":\"2024-12-07T01:38:18\",\"upload_time_iso_8601\":\"2024-12-07T01:38:18.772880Z\",\"url\":\"https://files.pythonhosted.org/packages/14/5f/a0bf5ee5b56dacf63b9712ac62169c585c6222efe043cc77f3148f709965/agentops-0.3.20rc5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"85f3a5ae3d8d47aa5160a5c805551d75077cad61bff9626abe44079d29d1c299\",\"md5\":\"30f87c628c530e82e27b8bc2d2a46d8a\",\"sha256\":\"d03f16832b3a5670d9c3273b95c9d9def772c203b2cd4ac52ae0e7f6d3b1b9e4\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"30f87c628c530e82e27b8bc2d2a46d8a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":61844,\"upload_time\":\"2024-12-07T01:49:11\",\"upload_time_iso_8601\":\"2024-12-07T01:49:11.801219Z\",\"url\":\"https://files.pythonhosted.org/packages/85/f3/a5ae3d8d47aa5160a5c805551d75077cad61bff9626abe44079d29d1c299/agentops-0.3.20rc6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"060e24f42ed1de3d892355f3ba90f0b7f659855fafd18851e59aa7174fa30615\",\"md5\":\"384c60ee11b827b8bad31cef20a35a17\",\"sha256\":\"45aa4797269214d41858537d95050964f330651da5c7412b2895e714a81f30f5\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"384c60ee11b827b8bad31cef20a35a17\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":61004,\"upload_time\":\"2024-12-07T01:49:13\",\"upload_time_iso_8601\":\"2024-12-07T01:49:13.917920Z\",\"url\":\"https://files.pythonhosted.org/packages/06/0e/24f42ed1de3d892355f3ba90f0b7f659855fafd18851e59aa7174fa30615/agentops-0.3.20rc6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d502edf7ba8aff1a994176da4c95688c9ba0428ac3bd9a0db2392fe5009162a9\",\"md5\":\"9b43c5e2df12abac01ffc5262e991825\",\"sha256\":\"95972115c5c753ceee477834de902afaf0664107048e44eee2c65e74e05656a2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"9b43c5e2df12abac01ffc5262e991825\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":40117,\"upload_time\":\"2024-12-07T02:12:48\",\"upload_time_iso_8601\":\"2024-12-07T02:12:48.512036Z\",\"url\":\"https://files.pythonhosted.org/packages/d5/02/edf7ba8aff1a994176da4c95688c9ba0428ac3bd9a0db2392fe5009162a9/agentops-0.3.20rc7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"5d7029d8d02fcf6db627c6b20ceab974c455e23a25fc0e991c0a8d0eaebda523\",\"md5\":\"9de760856bed3f7adbd1d0ab7ba0a63a\",\"sha256\":\"7c793b7b199a61ca61366ddb8fd94986fac262ef6514918c3baaa08184b86669\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9de760856bed3f7adbd1d0ab7ba0a63a\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":49661,\"upload_time\":\"2024-12-07T02:12:50\",\"upload_time_iso_8601\":\"2024-12-07T02:12:50.120388Z\",\"url\":\"https://files.pythonhosted.org/packages/5d/70/29d8d02fcf6db627c6b20ceab974c455e23a25fc0e991c0a8d0eaebda523/agentops-0.3.20rc7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc8\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6d0f66418c0b20f40fe11de50f29481abdb266ff641ac6166eab9eac3d7364d2\",\"md5\":\"52a2cea48e48d1818169c07507a6c7a9\",\"sha256\":\"8cf2e9fe6400a4fb4367a039cacc5d76339a8fd2749a44243389547e928e545c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc8-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"52a2cea48e48d1818169c07507a6c7a9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":57414,\"upload_time\":\"2024-12-07T02:17:51\",\"upload_time_iso_8601\":\"2024-12-07T02:17:51.404804Z\",\"url\":\"https://files.pythonhosted.org/packages/6d/0f/66418c0b20f40fe11de50f29481abdb266ff641ac6166eab9eac3d7364d2/agentops-0.3.20rc8-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4d18250b066f23ccbb22f2bba8df101361abd5724ddcef59a4d63d4539c7cd82\",\"md5\":\"f7887176e88d4434e38e237850363b80\",\"sha256\":\"a06e7939dd4d59c9880ded1b129fd4548b34be5530a46cf043326740bdfeca56\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f7887176e88d4434e38e237850363b80\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":57521,\"upload_time\":\"2024-12-07T02:17:53\",\"upload_time_iso_8601\":\"2024-12-07T02:17:53.055737Z\",\"url\":\"https://files.pythonhosted.org/packages/4d/18/250b066f23ccbb22f2bba8df101361abd5724ddcef59a4d63d4539c7cd82/agentops-0.3.20rc8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.21\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c4cb3b6cc5a08d11d9e56501f980222da0fa41814b7d6948a7f6354f31739af6\",\"md5\":\"c7592f9e7993dbe307fbffd7e4da1e51\",\"sha256\":\"4f98beecdce4c7cbee80ec26658a9657ba307a1fb2910b589f85325d3259b75b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.21-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c7592f9e7993dbe307fbffd7e4da1e51\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":64701,\"upload_time\":\"2024-12-11T12:24:00\",\"upload_time_iso_8601\":\"2024-12-11T12:24:00.934724Z\",\"url\":\"https://files.pythonhosted.org/packages/c4/cb/3b6cc5a08d11d9e56501f980222da0fa41814b7d6948a7f6354f31739af6/agentops-0.3.21-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"83f6bfd27fa4b948c353eaff579dafdf4eb54833f5c526e00c6f2faee4b467a8\",\"md5\":\"83d7666511cccf3b0d4354cebd99b110\",\"sha256\":\"d8e8d1f6d154554dba64ec5b139905bf76c68f21575af9fa2ca1697277fe36f2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.21.tar.gz\",\"has_sig\":false,\"md5_digest\":\"83d7666511cccf3b0d4354cebd99b110\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":63185,\"upload_time\":\"2024-12-11T12:24:02\",\"upload_time_iso_8601\":\"2024-12-11T12:24:02.068404Z\",\"url\":\"https://files.pythonhosted.org/packages/83/f6/bfd27fa4b948c353eaff579dafdf4eb54833f5c526e00c6f2faee4b467a8/agentops-0.3.21.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.22\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"11e721b42168ecfd0a9fff9dea51201646b6e62c4f52c8cd9c2a6400125d7234\",\"md5\":\"26061ab467e358b63251f9547275bbbd\",\"sha256\":\"992f4f31d80e8b0b2098abf58ae2707c60538e4b66e5aec8cf49fb269d5a2adc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.22-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"26061ab467e358b63251f9547275bbbd\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":39539,\"upload_time\":\"2025-01-11T03:21:39\",\"upload_time_iso_8601\":\"2025-01-11T03:21:39.093169Z\",\"url\":\"https://files.pythonhosted.org/packages/11/e7/21b42168ecfd0a9fff9dea51201646b6e62c4f52c8cd9c2a6400125d7234/agentops-0.3.22-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e067e61aa4c2e329da10b5e95d325091e599d8a00a28843a54bdcefa7a2eef8d\",\"md5\":\"bcf45b6c4c56884ed2409f835571af62\",\"sha256\":\"705d772b6994f8bab0cd163b24602009353f7906c72d9db008af11683f6e9341\"},\"downloads\":-1,\"filename\":\"agentops-0.3.22.tar.gz\",\"has_sig\":false,\"md5_digest\":\"bcf45b6c4c56884ed2409f835571af62\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":52845,\"upload_time\":\"2025-01-11T03:21:41\",\"upload_time_iso_8601\":\"2025-01-11T03:21:41.762282Z\",\"url\":\"https://files.pythonhosted.org/packages/e0/67/e61aa4c2e329da10b5e95d325091e599d8a00a28843a54bdcefa7a2eef8d/agentops-0.3.22.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency\"}],\"0.3.23\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"e67de1434765cf0a3d62372b74f47919aa17c0b01909823f7d3ee705edf821a9\",\"md5\":\"1f0f02509b8ba713db72e57a072f01a6\",\"sha256\":\"ecfff77d8f9006361ef2a2e8593271e97eb54b7b504abfb8abd6504006baca56\"},\"downloads\":-1,\"filename\":\"agentops-0.3.23-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"1f0f02509b8ba713db72e57a072f01a6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":70098,\"upload_time\":\"2025-01-12T02:11:56\",\"upload_time_iso_8601\":\"2025-01-12T02:11:56.319763Z\",\"url\":\"https://files.pythonhosted.org/packages/e6/7d/e1434765cf0a3d62372b74f47919aa17c0b01909823f7d3ee705edf821a9/agentops-0.3.23-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"5c7fa4fd91f8fd819e1ecfdc608d1c7ade83de0f9dddd868e2c2c139a2fdae25\",\"md5\":\"b7922399f81fb26517eb69fc7fef97c9\",\"sha256\":\"4e4de49caeaf567b8746082f84a8cdd65afe2c698720f6f40251bbc4fdffe4c9\"},\"downloads\":-1,\"filename\":\"agentops-0.3.23.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b7922399f81fb26517eb69fc7fef97c9\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":64225,\"upload_time\":\"2025-01-12T02:11:59\",\"upload_time_iso_8601\":\"2025-01-12T02:11:59.360077Z\",\"url\":\"https://files.pythonhosted.org/packages/5c/7f/a4fd91f8fd819e1ecfdc608d1c7ade83de0f9dddd868e2c2c139a2fdae25/agentops-0.3.23.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.24\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"254ea7d131802bac2ece5302ebf78dcef1ba1ba2f8b3a51fbe44c7f52bae6a53\",\"md5\":\"39c39d8a7f1285add0fec21830a89a4a\",\"sha256\":\"c5dfc8098b0dd49ddd819aa55280d07f8bfbf2f8fa088fc51ff5849b65062b10\"},\"downloads\":-1,\"filename\":\"agentops-0.3.24-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"39c39d8a7f1285add0fec21830a89a4a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":71957,\"upload_time\":\"2025-01-18T19:08:02\",\"upload_time_iso_8601\":\"2025-01-18T19:08:02.053316Z\",\"url\":\"https://files.pythonhosted.org/packages/25/4e/a7d131802bac2ece5302ebf78dcef1ba1ba2f8b3a51fbe44c7f52bae6a53/agentops-0.3.24-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"71fee96e22c4bf762f34cd5ba435880470dad4576ab357ee61742fe053752322\",\"md5\":\"3e1b7e0a31197936e099a7509128f794\",\"sha256\":\"c97a3af959b728bcfbfb1ac2494cef82d8804defc9dac858648b39a9ecdcd2e4\"},\"downloads\":-1,\"filename\":\"agentops-0.3.24.tar.gz\",\"has_sig\":false,\"md5_digest\":\"3e1b7e0a31197936e099a7509128f794\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":233974,\"upload_time\":\"2025-01-18T19:08:04\",\"upload_time_iso_8601\":\"2025-01-18T19:08:04.121618Z\",\"url\":\"https://files.pythonhosted.org/packages/71/fe/e96e22c4bf762f34cd5ba435880470dad4576ab357ee61742fe053752322/agentops-0.3.24.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.25\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"e6e39cff4ed65c5deac34f427ed60cd7af3604ec7ed8a999c351f6411e190d3b\",\"md5\":\"328dedc417be02fc28f8a4c7ed7b52e9\",\"sha256\":\"4faebf73a62aa0bcac8578428277ca5b9af5e828f49f2cb03a9695b8426e6b9d\"},\"downloads\":-1,\"filename\":\"agentops-0.3.25-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"328dedc417be02fc28f8a4c7ed7b52e9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":71971,\"upload_time\":\"2025-01-22T10:43:16\",\"upload_time_iso_8601\":\"2025-01-22T10:43:16.070593Z\",\"url\":\"https://files.pythonhosted.org/packages/e6/e3/9cff4ed65c5deac34f427ed60cd7af3604ec7ed8a999c351f6411e190d3b/agentops-0.3.25-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"2fdfeb00eaabebb51feae0724a5928f25df4d71d1c8392204f4f849351fd748c\",\"md5\":\"a40bc7037baf6dbba92d63331f561a28\",\"sha256\":\"868d855b6531d1fa2d1047db2cb03ddb1121062fd51c44b564dc626f15cc1e40\"},\"downloads\":-1,\"filename\":\"agentops-0.3.25.tar.gz\",\"has_sig\":false,\"md5_digest\":\"a40bc7037baf6dbba92d63331f561a28\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":234024,\"upload_time\":\"2025-01-22T10:43:17\",\"upload_time_iso_8601\":\"2025-01-22T10:43:17.986230Z\",\"url\":\"https://files.pythonhosted.org/packages/2f/df/eb00eaabebb51feae0724a5928f25df4d71d1c8392204f4f849351fd748c/agentops-0.3.25.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.26\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"f521671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b\",\"md5\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"sha256\":\"20948f52e3ffb4ba1d52301c3a82e59490182c4dad22774ad831dce0181eb5c2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":72090,\"upload_time\":\"2025-01-24T23:44:06\",\"upload_time_iso_8601\":\"2025-01-24T23:44:06.828461Z\",\"url\":\"https://files.pythonhosted.org/packages/f5/21/671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b/agentops-0.3.26-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"76a1b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d\",\"md5\":\"ba4d0f2411ec72828677b38a395465cc\",\"sha256\":\"bc824bf8727332f59bf803cf84440d13e9e398406222ab29f45909ac1e39f815\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ba4d0f2411ec72828677b38a395465cc\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":234235,\"upload_time\":\"2025-01-24T23:44:08\",\"upload_time_iso_8601\":\"2025-01-24T23:44:08.541961Z\",\"url\":\"https://files.pythonhosted.org/packages/76/a1/b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d/agentops-0.3.26.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"52f32bd714234ec345153c0fcbc9e4896c306c347f3fb66a3aa6d6fc109a7243\",\"md5\":\"c7a975a86900f7dbe6861a21fdd3c2d8\",\"sha256\":\"126f7aed4ba43c1399b5488d67a03d10cb4c531e619c650776f826ca00c1aa24\"},\"downloads\":-1,\"filename\":\"agentops-0.3.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c7a975a86900f7dbe6861a21fdd3c2d8\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39915,\"upload_time\":\"2024-07-24T23:15:03\",\"upload_time_iso_8601\":\"2024-07-24T23:15:03.892439Z\",\"url\":\"https://files.pythonhosted.org/packages/52/f3/2bd714234ec345153c0fcbc9e4896c306c347f3fb66a3aa6d6fc109a7243/agentops-0.3.4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d28b88a2c9c2df655de806adbb5deebb12c64d19d6aa3cfa759da642953525e0\",\"md5\":\"f48a2ab7fcaf9cf11a25805ac5300e26\",\"sha256\":\"a92c9cb7c511197f0ecb8cb5aca15d35022c15a3d2fd2aaaa34cd7e5dc59393f\"},\"downloads\":-1,\"filename\":\"agentops-0.3.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f48a2ab7fcaf9cf11a25805ac5300e26\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":42063,\"upload_time\":\"2024-07-24T23:15:05\",\"upload_time_iso_8601\":\"2024-07-24T23:15:05.586475Z\",\"url\":\"https://files.pythonhosted.org/packages/d2/8b/88a2c9c2df655de806adbb5deebb12c64d19d6aa3cfa759da642953525e0/agentops-0.3.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f253f9672c6aa3c79b6a5b64321e93d2316f126add867ceb2e3e95ea8b4bf1b0\",\"md5\":\"bd45dc8100fd3974dff11014d12424ff\",\"sha256\":\"687cb938ecf9d1bf7650afc910e2b2e1b8b6d9e969215aeb49e57f1555a2a756\"},\"downloads\":-1,\"filename\":\"agentops-0.3.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"bd45dc8100fd3974dff11014d12424ff\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39177,\"upload_time\":\"2024-08-01T19:32:19\",\"upload_time_iso_8601\":\"2024-08-01T19:32:19.765946Z\",\"url\":\"https://files.pythonhosted.org/packages/f2/53/f9672c6aa3c79b6a5b64321e93d2316f126add867ceb2e3e95ea8b4bf1b0/agentops-0.3.5-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Introduces + FileNotFoundError impacting OpenAI and LiteLLM integrations\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"235508ce5915f1ceb86ea6f7a6e8c8dc025b34981408a1b638316b5140fad525\",\"md5\":\"53ef2f5230de09260f4ead09633dde62\",\"sha256\":\"ae98540355ce9b892a630e61a7224a9175657cad1b7e799269238748ca7bc0ea\"},\"downloads\":-1,\"filename\":\"agentops-0.3.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"53ef2f5230de09260f4ead09633dde62\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":42699,\"upload_time\":\"2024-08-01T19:32:21\",\"upload_time_iso_8601\":\"2024-08-01T19:32:21.259555Z\",\"url\":\"https://files.pythonhosted.org/packages/23/55/08ce5915f1ceb86ea6f7a6e8c8dc025b34981408a1b638316b5140fad525/agentops-0.3.5.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Introduces + FileNotFoundError impacting OpenAI and LiteLLM integrations\"}],\"0.3.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"be89412afc864df3715d377cff9fe15deadaccdc0902b0a242f742f286e6d84b\",\"md5\":\"149922f5cd986a8641b6e88c991af0cc\",\"sha256\":\"413f812eb015fb31175a507784afe08123adfa9e227870e315899b059f42b443\"},\"downloads\":-1,\"filename\":\"agentops-0.3.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"149922f5cd986a8641b6e88c991af0cc\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39431,\"upload_time\":\"2024-08-02T06:48:19\",\"upload_time_iso_8601\":\"2024-08-02T06:48:19.594149Z\",\"url\":\"https://files.pythonhosted.org/packages/be/89/412afc864df3715d377cff9fe15deadaccdc0902b0a242f742f286e6d84b/agentops-0.3.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c3bf85f1439c3951ef69c81dbd7ef6df8a11df957e8d1180d835d71c11fa5131\",\"md5\":\"b68d3124e365867f891bec4fb211a398\",\"sha256\":\"0941f2486f3a561712ba6f77d560b49e2df55be141f243da0f9dc97ed43e6968\"},\"downloads\":-1,\"filename\":\"agentops-0.3.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b68d3124e365867f891bec4fb211a398\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":42933,\"upload_time\":\"2024-08-02T06:48:21\",\"upload_time_iso_8601\":\"2024-08-02T06:48:21.508300Z\",\"url\":\"https://files.pythonhosted.org/packages/c3/bf/85f1439c3951ef69c81dbd7ef6df8a11df957e8d1180d835d71c11fa5131/agentops-0.3.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a34d05ba61e4fbd976dabe736d74fb2bb14d064ca758f05f084c0dadb6ac5cb1\",\"md5\":\"551df1e89278270e0f5522d41f5c28ae\",\"sha256\":\"7eeec5bef41e9ba397b3d880bcec8cd0818209ab31665c85e8b97615011a23d9\"},\"downloads\":-1,\"filename\":\"agentops-0.3.7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"551df1e89278270e0f5522d41f5c28ae\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39816,\"upload_time\":\"2024-08-08T23:21:45\",\"upload_time_iso_8601\":\"2024-08-08T23:21:45.035395Z\",\"url\":\"https://files.pythonhosted.org/packages/a3/4d/05ba61e4fbd976dabe736d74fb2bb14d064ca758f05f084c0dadb6ac5cb1/agentops-0.3.7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9f31034c3e062287f4fe9f57f2448e9508617a26bbb8a16b11c77cda9b28e1c0\",\"md5\":\"1c48a797903a25988bae9b72559307ec\",\"sha256\":\"048ee3caa5edf01b98c994e4e3ff90c09d83f820a43a70f07db96032c3386750\"},\"downloads\":-1,\"filename\":\"agentops-0.3.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1c48a797903a25988bae9b72559307ec\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":43495,\"upload_time\":\"2024-08-08T23:21:46\",\"upload_time_iso_8601\":\"2024-08-08T23:21:46.798531Z\",\"url\":\"https://files.pythonhosted.org/packages/9f/31/034c3e062287f4fe9f57f2448e9508617a26bbb8a16b11c77cda9b28e1c0/agentops-0.3.7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.9\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"660ce931f892e0cedd40d861c3deff4134e1af1d226d6dc9762b32514d6dbc9f\",\"md5\":\"82792de7bccabed058a24d3bd47443db\",\"sha256\":\"582c9ddb30a9bb951b4d3ee2fd0428ba77d4a4367950b9cc6043f45b10bf12d8\"},\"downloads\":-1,\"filename\":\"agentops-0.3.9-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"82792de7bccabed058a24d3bd47443db\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":40235,\"upload_time\":\"2024-08-15T21:21:33\",\"upload_time_iso_8601\":\"2024-08-15T21:21:33.468748Z\",\"url\":\"https://files.pythonhosted.org/packages/66/0c/e931f892e0cedd40d861c3deff4134e1af1d226d6dc9762b32514d6dbc9f/agentops-0.3.9-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e17b68cef3aaf44d423046b7779e9325e4feef5257e6d784a55c9dadf84bd61a\",\"md5\":\"470f3b2663b71eb2f1597903bf8922e7\",\"sha256\":\"7c999edbc64196924acdb06da09ec664a09d9fec8e73ba4e0f89e5f3dafc79e5\"},\"downloads\":-1,\"filename\":\"agentops-0.3.9.tar.gz\",\"has_sig\":false,\"md5_digest\":\"470f3b2663b71eb2f1597903bf8922e7\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":43796,\"upload_time\":\"2024-08-15T21:21:34\",\"upload_time_iso_8601\":\"2024-08-15T21:21:34.591272Z\",\"url\":\"https://files.pythonhosted.org/packages/e1/7b/68cef3aaf44d423046b7779e9325e4feef5257e6d784a55c9dadf84bd61a/agentops-0.3.9.tar.gz\",\"yanked\":false,\"yanked_reason\":null}]},\"urls\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"f521671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b\",\"md5\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"sha256\":\"20948f52e3ffb4ba1d52301c3a82e59490182c4dad22774ad831dce0181eb5c2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":72090,\"upload_time\":\"2025-01-24T23:44:06\",\"upload_time_iso_8601\":\"2025-01-24T23:44:06.828461Z\",\"url\":\"https://files.pythonhosted.org/packages/f5/21/671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b/agentops-0.3.26-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"76a1b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d\",\"md5\":\"ba4d0f2411ec72828677b38a395465cc\",\"sha256\":\"bc824bf8727332f59bf803cf84440d13e9e398406222ab29f45909ac1e39f815\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ba4d0f2411ec72828677b38a395465cc\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":234235,\"upload_time\":\"2025-01-24T23:44:08\",\"upload_time_iso_8601\":\"2025-01-24T23:44:08.541961Z\",\"url\":\"https://files.pythonhosted.org/packages/76/a1/b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d/agentops-0.3.26.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"vulnerabilities\":[]}\n" + headers: + Accept-Ranges: + - bytes + Connection: + - keep-alive + Content-Length: + - '33610' Date: - - Tue, 04 Feb 2025 20:24:42 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked + - Fri, 21 Feb 2025 23:21:03 GMT + Permissions-Policy: + - publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=() + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Vary: + - Accept-Encoding + X-Cache: + - MISS, HIT, HIT + X-Cache-Hits: + - 0, 8895, 0 X-Content-Type-Options: - nosniff + X-Frame-Options: + - deny + X-Permitted-Cross-Domain-Policies: + - none + X-Served-By: + - cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-sjc10025-SJC + X-Timer: + - S1740180063.458885,VS0,VE61 + X-XSS-Protection: + - 1; mode=block + access-control-allow-headers: + - Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since + access-control-allow-methods: + - GET + access-control-allow-origin: + - '*' access-control-expose-headers: - - X-Request-ID - alt-svc: - - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC - openai-organization: - - crewai-iuxna1 - openai-processing-ms: - - '326' - openai-version: - - '2020-10-01' - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-ratelimit-limit-requests: - - '30000' - x-ratelimit-limit-tokens: - - '150000000' - x-ratelimit-remaining-requests: - - '29999' - x-ratelimit-remaining-tokens: - - '149999810' - x-ratelimit-reset-requests: - - 2ms - x-ratelimit-reset-tokens: - - 0s - x-request-id: - - req_22be86be6fd9d69ca8d310ef534e7bec - http_version: HTTP/1.1 - status_code: 200 + - X-PyPI-Last-Serial + access-control-max-age: + - '86400' + cache-control: + - max-age=900, public + content-encoding: + - gzip + content-security-policy: + - base-uri 'self'; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues + https://gitlab.com/api/ https://*.google-analytics.com https://*.analytics.google.com + https://*.googletagmanager.com fastly-insights.com *.fastly-insights.com *.ethicalads.io + https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ + https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; + form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src + 'none'; img-src 'self' https://pypi-camo.freetls.fastly.net/ https://*.google-analytics.com + https://*.googletagmanager.com *.fastly-insights.com *.ethicalads.io ethicalads.blob.core.windows.net; + script-src 'self' https://*.googletagmanager.com https://www.google-analytics.com + https://ssl.google-analytics.com *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' + https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' + 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com + *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' + 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' + 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; + worker-src *.fastly-insights.com + content-type: + - application/json + etag: + - '"5Jjf0qcbSYoU2b9dDGH/Nw"' + referrer-policy: + - origin-when-cross-origin + x-pypi-last-serial: + - '27123795' + status: + code: 200 + message: OK - request: - body: !!binary | - Cp0mCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkS9CUKEgoQY3Jld2FpLnRl - bGVtZXRyeRKkBwoQfRmsiIy66Scw43CcUw5ZiBIIfYDEhWJTOTkqDENyZXcgQ3JlYXRlZDABOcD6 - XvsOGyEYQWC2bPsOGyEYShsKDmNyZXdhaV92ZXJzaW9uEgkKBzAuMTAwLjBKGgoOcHl0aG9uX3Zl - cnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIGU1ODA3MDFkNTJlYjY1YWZmMjRlZWZlNzhj - NzQ2MjhjSjEKB2NyZXdfaWQSJgokMDMzNTZiYmEtMzJmZC00OThmLTgxYTItYzc1ZDBkMzc2N2Qx - ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3 - X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUrRAgoLY3Jl - d19hZ2VudHMSwQIKvgJbeyJrZXkiOiAiYWQxNTMxNjFjNWM1YTg1NmFhMGQwNmIyNDljNGM2NGEi - LCAiaWQiOiAiZjY5YTRmYTMtMzQ4OC00MmFhLTlhMTQtMGEzZmEyOWJmYjZjIiwgInJvbGUiOiAi - YmFzZV9hZ2VudCIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyMCwgIm1heF9ycG0i - OiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8tbWluaSIs - ICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBm - YWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1K/wEKCmNyZXdf - dGFza3MS8AEK7QFbeyJrZXkiOiAiMWIxNWVmMjM5MTViMjc1NWU4OWEwZWMzYjI2YTEzZDIiLCAi - aWQiOiAiNDllNzk0MmMtZTJiMy00YmE1LTg5MTUtMTYwYjQxMDU2ZmVlIiwgImFzeW5jX2V4ZWN1 - dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJiYXNl - X2FnZW50IiwgImFnZW50X2tleSI6ICJhZDE1MzE2MWM1YzVhODU2YWEwZDA2YjI0OWM0YzY0YSIs - ICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChCLgjutPq/3tkNyPqVjfbZhEgjhB7lb - clxzdyoMVGFzayBDcmVhdGVkMAE5CC9++w4bIRhBeMN++w4bIRhKLgoIY3Jld19rZXkSIgogZTU4 - MDcwMWQ1MmViNjVhZmYyNGVlZmU3OGM3NDYyOGNKMQoHY3Jld19pZBImCiQwMzM1NmJiYS0zMmZk - LTQ5OGYtODFhMi1jNzVkMGQzNzY3ZDFKLgoIdGFza19rZXkSIgogMWIxNWVmMjM5MTViMjc1NWU4 - OWEwZWMzYjI2YTEzZDJKMQoHdGFza19pZBImCiQ0OWU3OTQyYy1lMmIzLTRiYTUtODkxNS0xNjBi - NDEwNTZmZWV6AhgBhQEAAQAAEqQHChC7SpRSs6eG9XFmYuMQgghQEghpZMlScOy2DyoMQ3JldyBD - cmVhdGVkMAE50O2cAA8bIRhBOFmrAA8bIRhKGwoOY3Jld2FpX3ZlcnNpb24SCQoHMC4xMDAuMEoa - Cg5weXRob25fdmVyc2lvbhIICgYzLjEyLjhKLgoIY3Jld19rZXkSIgogZTU4MDcwMWQ1MmViNjVh - ZmYyNGVlZmU3OGM3NDYyOGNKMQoHY3Jld19pZBImCiRlYTQ1MWY2OS00Zjk3LTQ4MjYtOWNlYi04 - NTAzMDk2MTQ2MDlKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKEQoLY3Jld19tZW1vcnkS - AhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9vZl9hZ2VudHMS - AhgBStECCgtjcmV3X2FnZW50cxLBAgq+Alt7ImtleSI6ICJhZDE1MzE2MWM1YzVhODU2YWEwZDA2 - YjI0OWM0YzY0YSIsICJpZCI6ICJmNjlhNGZhMy0zNDg4LTQyYWEtOWExNC0wYTNmYTI5YmZiNmMi - LCAicm9sZSI6ICJiYXNlX2FnZW50IiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDIw - LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdw - dC00by1taW5pIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhl - Y3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119 - XUr/AQoKY3Jld190YXNrcxLwAQrtAVt7ImtleSI6ICIxYjE1ZWYyMzkxNWIyNzU1ZTg5YTBlYzNi - MjZhMTNkMiIsICJpZCI6ICI0OWU3OTQyYy1lMmIzLTRiYTUtODkxNS0xNjBiNDEwNTZmZWUiLCAi - YXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9y - b2xlIjogImJhc2VfYWdlbnQiLCAiYWdlbnRfa2V5IjogImFkMTUzMTYxYzVjNWE4NTZhYTBkMDZi - MjQ5YzRjNjRhIiwgInRvb2xzX25hbWVzIjogW119XXoCGAGFAQABAAASjgIKEM1q5zTl6Q6WKHPQ - eIqEm7sSCCWi2wvaFqpfKgxUYXNrIENyZWF0ZWQwATmIObwADxshGEEAo7wADxshGEouCghjcmV3 - X2tleRIiCiBlNTgwNzAxZDUyZWI2NWFmZjI0ZWVmZTc4Yzc0NjI4Y0oxCgdjcmV3X2lkEiYKJGVh - NDUxZjY5LTRmOTctNDgyNi05Y2ViLTg1MDMwOTYxNDYwOUouCgh0YXNrX2tleRIiCiAxYjE1ZWYy - MzkxNWIyNzU1ZTg5YTBlYzNiMjZhMTNkMkoxCgd0YXNrX2lkEiYKJDQ5ZTc5NDJjLWUyYjMtNGJh - NS04OTE1LTE2MGI0MTA1NmZlZXoCGAGFAQABAAASpAcKEEhIZzGdZRAdvfcluDR5qvESCFMGo60X - V/dYKgxDcmV3IENyZWF0ZWQwATnY8LgBDxshGEGQrsUBDxshGEobCg5jcmV3YWlfdmVyc2lvbhIJ - CgcwLjEwMC4wShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuOEouCghjcmV3X2tleRIiCiBlNTgw - NzAxZDUyZWI2NWFmZjI0ZWVmZTc4Yzc0NjI4Y0oxCgdjcmV3X2lkEiYKJDA3MDJmOGU1LWRjMTYt - NDlhYi1hMWY1LThjOWQyY2IwMDYwYkocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtj - cmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVy - X29mX2FnZW50cxICGAFK0QIKC2NyZXdfYWdlbnRzEsECCr4CW3sia2V5IjogImFkMTUzMTYxYzVj - NWE4NTZhYTBkMDZiMjQ5YzRjNjRhIiwgImlkIjogImY2OWE0ZmEzLTM0ODgtNDJhYS05YTE0LTBh - M2ZhMjliZmI2YyIsICJyb2xlIjogImJhc2VfYWdlbnQiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1h - eF9pdGVyIjogMjAsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIs - ICJsbG0iOiAiZ3B0LTRvLW1pbmkiLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxs - b3dfY29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNf - bmFtZXMiOiBbXX1dSv8BCgpjcmV3X3Rhc2tzEvABCu0BW3sia2V5IjogIjFiMTVlZjIzOTE1YjI3 - NTVlODlhMGVjM2IyNmExM2QyIiwgImlkIjogIjQ5ZTc5NDJjLWUyYjMtNGJhNS04OTE1LTE2MGI0 - MTA1NmZlZSIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxz - ZSwgImFnZW50X3JvbGUiOiAiYmFzZV9hZ2VudCIsICJhZ2VudF9rZXkiOiAiYWQxNTMxNjFjNWM1 - YTg1NmFhMGQwNmIyNDljNGM2NGEiLCAidG9vbHNfbmFtZXMiOiBbXX1degIYAYUBAAEAABKOAgoQ - PkgvMtq3aT5YPXE8gCRxPBIIMx/zQOuC+8sqDFRhc2sgQ3JlYXRlZDABOYjk2AEPGyEYQZiI2QEP - GyEYSi4KCGNyZXdfa2V5EiIKIGU1ODA3MDFkNTJlYjY1YWZmMjRlZWZlNzhjNzQ2MjhjSjEKB2Ny - ZXdfaWQSJgokMDcwMmY4ZTUtZGMxNi00OWFiLWExZjUtOGM5ZDJjYjAwNjBiSi4KCHRhc2tfa2V5 - EiIKIDFiMTVlZjIzOTE1YjI3NTVlODlhMGVjM2IyNmExM2QySjEKB3Rhc2tfaWQSJgokNDllNzk0 - MmMtZTJiMy00YmE1LTg5MTUtMTYwYjQxMDU2ZmVlegIYAYUBAAEAABKkBwoQex7nA0gUUrZHbN6F - gWp/gBIIKPd4fiRi7DwqDENyZXcgQ3JlYXRlZDABOTiIrAIPGyEYQdCAtwIPGyEYShsKDmNyZXdh - aV92ZXJzaW9uEgkKBzAuMTAwLjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi44Si4KCGNyZXdf - a2V5EiIKIGU1ODA3MDFkNTJlYjY1YWZmMjRlZWZlNzhjNzQ2MjhjSjEKB2NyZXdfaWQSJgokMGNm - YjUzZWItMDA2Mi00YmVmLTk1ZTgtMDgwMjQ3NmNkMWRlShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1 - ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoV - Y3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUrRAgoLY3Jld19hZ2VudHMSwQIKvgJbeyJrZXkiOiAi - YWQxNTMxNjFjNWM1YTg1NmFhMGQwNmIyNDljNGM2NGEiLCAiaWQiOiAiZjY5YTRmYTMtMzQ4OC00 - MmFhLTlhMTQtMGEzZmEyOWJmYjZjIiwgInJvbGUiOiAiYmFzZV9hZ2VudCIsICJ2ZXJib3NlPyI6 - IGZhbHNlLCAibWF4X2l0ZXIiOiAyMCwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGlu - Z19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8tbWluaSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/Ijog - ZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6 - IDIsICJ0b29sc19uYW1lcyI6IFtdfV1K/wEKCmNyZXdfdGFza3MS8AEK7QFbeyJrZXkiOiAiMWIx - NWVmMjM5MTViMjc1NWU4OWEwZWMzYjI2YTEzZDIiLCAiaWQiOiAiNDllNzk0MmMtZTJiMy00YmE1 - LTg5MTUtMTYwYjQxMDU2ZmVlIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lu - cHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJiYXNlX2FnZW50IiwgImFnZW50X2tleSI6ICJh - ZDE1MzE2MWM1YzVhODU2YWEwZDA2YjI0OWM0YzY0YSIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgB - hQEAAQAAEo4CChD+ymllejCksajGYDua8tgNEghnjlejrbuw2SoMVGFzayBDcmVhdGVkMAE5EDrI - Ag8bIRhBGIzIAg8bIRhKLgoIY3Jld19rZXkSIgogZTU4MDcwMWQ1MmViNjVhZmYyNGVlZmU3OGM3 - NDYyOGNKMQoHY3Jld19pZBImCiQwY2ZiNTNlYi0wMDYyLTRiZWYtOTVlOC0wODAyNDc2Y2QxZGVK - LgoIdGFza19rZXkSIgogMWIxNWVmMjM5MTViMjc1NWU4OWEwZWMzYjI2YTEzZDJKMQoHdGFza19p - ZBImCiQ0OWU3OTQyYy1lMmIzLTRiYTUtODkxNS0xNjBiNDEwNTZmZWV6AhgBhQEAAQAA + body: '{"session": {"end_timestamp": null, "end_state": "Indeterminate", "session_id": + "73534e48-dd5a-4ef4-a702-fbbba9d00f27", "init_timestamp": "2025-02-21T23:21:03.681822+00:00", + "tags": ["crewai"], "video": null, "end_state_reason": null, "host_env": {"SDK": + {"AgentOps SDK Version": "0.3.26", "Python Version": "3.12.8", "System Packages": + {"pluggy": "1.5.0", "importlib.resources": "6.4.5", "importlib.metadata": "8.4.0", + "iniconfig": "2.0.0", "pytest": "8.3.3", "pytest_asyncio": "0.24.0", "wrapt": + "1.16.0", "urllib3": "2.2.3", "charset_normalizer": "3.4.0", "idna": "3.10", + "certifi": "2024.8.30", "requests": "2.32.3", "multidict": "6.1.0", "propcache": + "0.2.0", "yarl": "1.18.3", "aiohappyeyeballs": "2.4.3", "frozenlist": "1.5.0", + "aiosignal": "1.3.1", "aiohttp": "3.11.11", "sniffio": "1.3.1", "anyio": "4.6.2.post1", + "h11": "0.14.0", "h2": "4.2.0", "hpack": "4.1.0", "hyperframe": "6.1.0", "httpcore": + "1.0.6", "click": "8.1.8", "pygments": "2.18.0", "rich": "13.9.3", "httpx": + "0.27.0", "pytest_vcr": "1.0.2", "pytest_subprocess": "1.5.2", "typing_extensions": + "4.12.2", "pydantic": "2.10.4", "annotated_types": "0.7.0", "pydantic_core": + "2.27.2", "json_repair": "0.30.0", "overrides": "7.7.0", "numpy": "1.26.4", + "tenacity": "9.0.0", "onnxruntime": "1.19.2", "tokenizers": "0.20.1", "tqdm": + "4.66.5", "deprecated": "1.2.14", "zipp": "3.20.2", "importlib_metadata": "8.4.0", + "opentelemetry.sdk": "1.27.0", "psutil": "6.0.0", "opentelemetry.exporter.otlp.proto.grpc": + "1.27.0", "opentelemetry.exporter.otlp.proto.common": "1.27.0", "opentelemetry.proto": + "1.27.0", "chromadb": "0.5.23", "crewai.tools": "0.33.0", "appdirs": "1.4.4", + "blinker": "1.9.0", "opentelemetry.exporter.otlp.proto.http": "1.27.0", "termcolor": + "2.4.0", "packaging": "23.2", "langchain_core": "0.3.36", "langsmith": "0.1.147", + "requests_toolbelt": "1.0.0", "orjson": "3.10.10", "jsonpointer": "3.0.0", "jsonpatch": + "1.33", "agentops": "0.3.26", "distro": "1.9.0", "jiter": "0.5.0", "openai": + "1.61.0", "regex": "2024.9.11", "tiktoken": "0.7.0", "markupsafe": "3.0.2", + "jinja2": "3.1.4", "litellm": "1.60.2", "json5": "0.10.0", "jsonpickle": "3.3.0", + "networkx": "3.4.2", "traitlets": "5.14.3", "executing": "2.1.0", "six": "1.16.0", + "asttokens": "2.4.1", "pure_eval": "0.2.3", "stack_data": "0.6.3", "decorator": + "5.1.1", "wcwidth": "0.2.13", "prompt_toolkit": "3.0.48", "parso": "0.8.4", + "colorama": "0.4.6", "jedi": "0.19.1", "IPython": "8.28.0", "pyvis": "0.3.2", + "crewai": "0.102.0"}}, "OS": {"Hostname": "Lorenzes-MacBook-Pro.local", "OS": + "Darwin", "OS Version": "Darwin Kernel Version 24.0.0: Mon Aug 12 20:51:54 PDT + 2024; root:xnu-11215.1.10~2/RELEASE_ARM64_T6000", "OS Release": "24.0.0"}, "CPU": + {"Physical cores": 10, "Total cores": 10, "CPU Usage": "21.8%"}, "RAM": {"Total": + "32.00 GB", "Available": "9.89 GB", "Used": "12.38 GB", "Percentage": "69.1%"}, + "Disk": {"/dev/disk3s1s1": {"Mountpoint": "/", "Total": "926.35 GB", "Used": + "9.94 GB", "Free": "2.64 GB", "Percentage": "79.0%"}, "/dev/disk3s6": {"Mountpoint": + "/System/Volumes/VM", "Total": "926.35 GB", "Used": "1.00 GB", "Free": "2.64 + GB", "Percentage": "27.5%"}, "/dev/disk3s2": {"Mountpoint": "/System/Volumes/Preboot", + "Total": "926.35 GB", "Used": "6.75 GB", "Free": "2.64 GB", "Percentage": "71.9%"}, + "/dev/disk3s4": {"Mountpoint": "/System/Volumes/Update", "Total": "926.35 GB", + "Used": "0.00 GB", "Free": "2.64 GB", "Percentage": "0.1%"}, "/dev/disk1s2": + {"Mountpoint": "/System/Volumes/xarts", "Total": "0.49 GB", "Used": "0.01 GB", + "Free": "0.47 GB", "Percentage": "1.2%"}, "/dev/disk1s1": {"Mountpoint": "/System/Volumes/iSCPreboot", + "Total": "0.49 GB", "Used": "0.01 GB", "Free": "0.47 GB", "Percentage": "1.1%"}, + "/dev/disk1s3": {"Mountpoint": "/System/Volumes/Hardware", "Total": "0.49 GB", + "Used": "0.00 GB", "Free": "0.47 GB", "Percentage": "0.8%"}, "/dev/disk3s5": + {"Mountpoint": "/System/Volumes/Data", "Total": "926.35 GB", "Used": "904.02 + GB", "Free": "2.64 GB", "Percentage": "99.7%"}, "/dev/disk5s1": {"Mountpoint": + "/Library/Developer/CoreSimulator/Volumes/iOS_21A342", "Total": "15.95 GB", + "Used": "15.45 GB", "Free": "0.46 GB", "Percentage": "97.1%"}}, "Installed Packages": + {"Installed Packages": {"flatbuffers": "24.3.25", "google-api-core": "2.24.1", + "shellingham": "1.5.4", "mkdocs": "1.6.1", "mergedeep": "1.3.4", "opencv-python-headless": + "4.11.0.86", "pyright": "1.1.393", "shapely": "2.0.7", "tomli": "2.0.2", "ruff": + "0.8.2", "coloredlogs": "15.0.1", "Rtree": "1.3.0", "pytest-asyncio": "0.24.0", + "humanfriendly": "10.0", "executing": "2.1.0", "uv": "0.4.26", "pexpect": "4.9.0", + "pandas": "2.2.3", "pyyaml_env_tag": "0.1", "lazy_loader": "0.4", "PyJWT": "2.9.0", + "decorator": "5.1.1", "filelock": "3.16.1", "idna": "3.10", "embedchain": "0.1.126", + "traitlets": "5.14.3", "ipython": "8.28.0", "tomli_w": "1.1.0", "opentelemetry-exporter-otlp-proto-http": + "1.27.0", "pyasn1_modules": "0.4.1", "Markdown": "3.7", "distlib": "0.3.9", + "pyvis": "0.3.2", "termcolor": "2.4.0", "watchdog": "5.0.3", "tifffile": "2025.2.18", + "multidict": "6.1.0", "ptyprocess": "0.7.0", "langchain": "0.3.19", "aiosignal": + "1.3.1", "cssselect2": "0.7.0", "griffe": "1.5.1", "grpc-google-iam-v1": "0.14.0", + "zipp": "3.20.2", "mkdocs-get-deps": "0.2.0", "importlib_resources": "6.4.5", + "litellm": "1.60.2", "google-auth": "2.35.0", "Mako": "1.3.9", "mkdocs-material-extensions": + "1.3.1", "latex2mathml": "3.77.0", "urllib3": "2.2.3", "overrides": "7.7.0", + "parso": "0.8.4", "pytest": "8.3.3", "webencodings": "0.5.1", "colorama": "0.4.6", + "orjson": "3.10.10", "langchain-community": "0.3.17", "lancedb": "0.18.0", "langchain-openai": + "0.2.14", "google-cloud-resource-manager": "1.14.0", "rich": "13.9.3", "schema": + "0.7.7", "propcache": "0.2.0", "python-docx": "1.1.2", "defusedxml": "0.7.1", + "referencing": "0.35.1", "paginate": "0.5.7", "semchunk": "2.2.2", "requests": + "2.32.3", "frozenlist": "1.5.0", "multiprocess": "0.70.17", "openpyxl": "3.1.5", + "Jinja2": "3.1.4", "httpx-sse": "0.4.0", "cryptography": "43.0.3", "transformers": + "4.49.0", "docling": "2.24.0", "websockets": "13.1", "chromadb": "0.5.23", "blinker": + "1.9.0", "soupsieve": "2.6", "ninja": "1.11.1.3", "tqdm": "4.66.5", "qdrant-client": + "1.13.2", "markdown-it-py": "3.0.0", "sympy": "1.13.3", "six": "1.16.0", "mypy-extensions": + "1.0.0", "posthog": "3.7.0", "h11": "0.14.0", "googleapis-common-protos": "1.65.0", + "fsspec": "2024.10.0", "networkx": "3.4.2", "grpcio": "1.67.0", "python-pptx": + "1.0.2", "marko": "2.1.2", "et_xmlfile": "2.0.0", "typing-inspect": "0.9.0", + "protobuf": "4.25.5", "ghp-import": "2.1.0", "grpcio-status": "1.70.0", "auth0-python": + "4.7.2", "pymdown-extensions": "10.11.2", "iniconfig": "2.0.0", "beautifulsoup4": + "4.13.3", "SQLAlchemy": "2.0.38", "crewai-tools": "0.33.0", "google-resumable-media": + "2.7.2", "grpcio-tools": "1.70.0", "uvicorn": "0.32.0", "chroma-hnswlib": "0.7.6", + "jsonpatch": "1.33", "click": "8.1.8", "jsonpointer": "3.0.0", "lxml": "5.3.1", + "numpy": "1.26.4", "docstring_parser": "0.16", "attrs": "24.2.0", "mkdocstrings-python": + "1.12.2", "crewai": "0.102.0", "cairocffi": "1.7.1", "packaging": "23.2", "kubernetes": + "31.0.0", "appdirs": "1.4.4", "certifi": "2024.8.30", "h2": "4.2.0", "starlette": + "0.41.0", "tenacity": "9.0.0", "cffi": "1.17.1", "pytest-vcr": "1.0.2", "aiohttp": + "3.11.11", "jsonschema": "4.23.0", "google-crc32c": "1.6.0", "pdfminer.six": + "20231228", "mypy": "1.13.0", "opentelemetry-exporter-otlp-proto-common": "1.27.0", + "pyasn1": "0.6.1", "stack-data": "0.6.3", "asttokens": "2.4.1", "cachetools": + "5.5.0", "portalocker": "2.10.1", "asgiref": "3.8.1", "pypdfium2": "4.30.0", + "typer": "0.12.5", "dataclasses-json": "0.6.7", "pathspec": "0.12.1", "oauthlib": + "3.2.2", "identify": "2.6.1", "psutil": "6.0.0", "docling-core": "2.20.0", "mpire": + "2.10.2", "pylance": "0.22.0", "jedi": "0.19.1", "alembic": "1.14.1", "python-dotenv": + "1.0.1", "mkdocs-material": "9.5.42", "aiohappyeyeballs": "2.4.3", "opentelemetry-instrumentation": + "0.48b0", "loguru": "0.7.3", "docling-parse": "3.4.0", "langchain-text-splitters": + "0.3.6", "watchfiles": "0.24.0", "bcrypt": "4.2.0", "sniffio": "1.3.1", "nodeenv": + "1.9.1", "docling-ibm-models": "3.4.0", "jsonpickle": "3.3.0", "safetensors": + "0.5.2", "google-cloud-storage": "2.19.0", "jsonschema-specifications": "2024.10.1", + "mdurl": "0.1.2", "fastavro": "1.10.0", "cfgv": "3.4.0", "python-dateutil": + "2.9.0.post0", "mpmath": "1.3.0", "json_repair": "0.30.0", "build": "1.2.2.post1", + "types-requests": "2.32.0.20241016", "pytz": "2024.2", "huggingface-hub": "0.26.1", + "yarl": "1.18.3", "jsonref": "1.1.0", "rsa": "4.9", "wcwidth": "0.2.13", "google-cloud-aiplatform": + "1.81.0", "torch": "2.6.0", "langchain-cohere": "0.3.5", "langchain-experimental": + "0.3.4", "scipy": "1.15.2", "json5": "0.10.0", "opentelemetry-sdk": "1.27.0", + "opentelemetry-util-http": "0.48b0", "tzdata": "2025.1", "babel": "2.16.0", + "langchain-core": "0.3.36", "virtualenv": "20.27.0", "importlib_metadata": "8.4.0", + "easyocr": "1.7.2", "pydantic_core": "2.27.2", "cohere": "5.13.12", "prompt_toolkit": + "3.0.48", "pycparser": "2.22", "proto-plus": "1.26.0", "pydantic": "2.10.4", + "pluggy": "1.5.0", "torchvision": "0.21.0", "pypdf": "5.3.0", "py_rust_stemmers": + "0.1.3", "tiktoken": "0.7.0", "opentelemetry-instrumentation-fastapi": "0.48b0", + "agentops": "0.3.26", "setuptools": "75.2.0", "google-cloud-core": "2.4.1", + "imageio": "2.37.0", "pure_eval": "0.2.3", "pdfplumber": "0.11.4", "deprecation": + "2.1.0", "distro": "1.9.0", "fastembed": "0.5.1", "pillow": "10.4.0", "pydantic-settings": + "2.7.1", "requests-toolbelt": "1.0.0", "mem0ai": "0.1.52", "docker": "7.1.0", + "httptools": "0.6.4", "mkdocs-autorefs": "1.2.0", "httpx": "0.27.0", "typing_extensions": + "4.12.2", "jiter": "0.5.0", "PyYAML": "6.0.2", "matplotlib-inline": "0.1.7", + "weaviate-client": "3.26.7", "tokenizers": "0.20.1", "opentelemetry-exporter-otlp-proto-grpc": + "1.27.0", "rpds-py": "0.20.0", "monotonic": "1.6", "charset-normalizer": "3.4.0", + "backoff": "2.2.1", "pytube": "15.0.0", "Deprecated": "1.2.14", "regex": "2024.9.11", + "onnxruntime": "1.19.2", "hpack": "4.1.0", "tinycss2": "1.3.0", "instructor": + "1.6.3", "filetype": "1.2.0", "opentelemetry-instrumentation-asgi": "0.48b0", + "Authlib": "1.4.1", "google-cloud-bigquery": "3.29.0", "pyproject_hooks": "1.2.0", + "opentelemetry-api": "1.27.0", "pyclipper": "1.3.0.post6", "vcrpy": "5.1.0", + "pre_commit": "4.0.1", "uvloop": "0.21.0", "platformdirs": "4.3.6", "openai": + "1.61.0", "marshmallow": "3.26.1", "annotated-types": "0.7.0", "mkdocstrings": + "0.26.2", "opentelemetry-proto": "1.27.0", "anyio": "4.6.2.post1", "opentelemetry-semantic-conventions": + "0.48b0", "grpcio-health-checking": "1.67.0", "PyPika": "0.48.9", "gptcache": + "0.1.44", "pysbd": "0.3.4", "scikit-image": "0.25.2", "httpcore": "1.0.6", "Pygments": + "2.18.0", "XlsxWriter": "3.2.2", "hyperframe": "6.1.0", "langsmith": "0.1.147", + "requests-oauthlib": "2.0.0", "durationpy": "0.9", "validators": "0.34.0", "CairoSVG": + "2.7.1", "fastapi": "0.115.3", "jsonlines": "3.1.0", "tabulate": "0.9.0", "pyarrow": + "19.0.0", "python-bidi": "0.6.6", "dill": "0.3.9", "pytest-subprocess": "1.5.2", + "wrapt": "1.16.0", "mmh3": "4.1.0", "websocket-client": "1.8.0", "MarkupSafe": + "3.0.2"}}, "Project Working Directory": {"Project Working Directory": "/Users/lorenzejay/Documents/Uplift + Digital Solutions/clients/crewai-org/crewAI"}, "Virtual Environment": {"Virtual + Environment": "/Users/lorenzejay/Documents/Uplift Digital Solutions/clients/crewai-org/crewAI/.venv"}}, + "config": "", "jwt": null, "_lock": "", "_end_session_lock": "", "token_cost": + "", "_session_url": "", "event_counts": {"llms": 0, "tools": 0, "actions": 0, + "errors": 0, "apis": 0}}}' headers: Accept: - '*/*' @@ -204,7 +605,562 @@ interactions: Connection: - keep-alive Content-Length: - - '4896' + - '11629' + Content-Type: + - application/json; charset=UTF-8 + Keep-Alive: + - timeout=10, max=1000 + User-Agent: + - python-requests/2.32.3 + X-Agentops-Api-Key: + - e6568f10-56cf-4e37-9415-86e979a7f309 + method: POST + uri: https://api.agentops.ai/v2/create_session + response: + body: + string: '{"jwt":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uX2lkIjoiNzM1MzRlNDgtZGQ1YS00ZWY0LWE3MDItZmJiYmE5ZDAwZjI3IiwiZXhwIjoxNzQwMjY2NDY0LjE3MDgwN30.gkiHROHd6xvHJ5IK83zGZQqIezGFCMsKbmGUer3QdrM","session_url":"https://app.agentops.ai/drilldown?session_id=73534e48-dd5a-4ef4-a702-fbbba9d00f27","status":"Success"}' + headers: + Content-Length: + - '311' + Content-Type: + - application/json + Date: + - Fri, 21 Feb 2025 23:21:04 GMT + Server: + - railway-edge + X-Railway-Request-Id: + - rqR5EYLXQXOp9NjRX4RR6g_3485859946 + status: + code: 200 + message: OK +- request: + body: '{"id": "17cf1c67-f8ad-4336-ac7e-c4500b5ec2a6", "name": "base_agent"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '68' + Content-Type: + - application/json; charset=UTF-8 + Keep-Alive: + - timeout=10, max=1000 + User-Agent: + - python-requests/2.32.3 + X-Agentops-Api-Key: + - e6568f10-56cf-4e37-9415-86e979a7f309 + method: POST + uri: https://api.agentops.ai/v2/create_agent + response: + body: + string: '"Success"' + headers: + Content-Length: + - '9' + Content-Type: + - application/json + Date: + - Fri, 21 Feb 2025 23:21:04 GMT + Server: + - railway-edge + X-Railway-Request-Id: + - 45OTupi5TouV2-HzrlkiOw_3167001623 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.32.3 + method: GET + uri: https://pypi.org/pypi/agentops/json + response: + body: + string: "{\"info\":{\"author\":null,\"author_email\":\"Alex Reibman , + Shawn Qiu , Braelyn Boynton , Howard + Gil , Constantin Teodorescu , Pratyush + Shukla \",\"bugtrack_url\":null,\"classifiers\":[\"License + :: OSI Approved :: MIT License\",\"Operating System :: OS Independent\",\"Programming + Language :: Python :: 3\",\"Programming Language :: Python :: 3.10\",\"Programming + Language :: Python :: 3.11\",\"Programming Language :: Python :: 3.12\",\"Programming + Language :: Python :: 3.13\",\"Programming Language :: Python :: 3.9\"],\"description\":\"\\n\\n
\\n Observability and + DevTool platform for AI Agents\\n
\\n\\n
\\n\\n
\\n + \ \\n \\\"Downloads\\\"\\n \\n \\n + \ \\\"git\\n \\n \\\"PyPI\\n \\n + \ \\\"License:\\n \\n
\\n\\n

\\n + \ \\n \\\"Twitter\\\"\\n \\n \\n + \ \\\"Discord\\\"\\n \\n \\n + \ \\\"Dashboard\\\"\\n \\n \\n + \ \\\"Documentation\\\"\\n \\n \\n + \ \\\"Chat\\n \\n

\\n\\n\\n\\n
\\n \\\"Dashboard\\n
\\n\\n
\\n\\n\\nAgentOps helps developers + build, evaluate, and monitor AI agents. From prototype to production.\\n\\n| + \ | |\\n| + ------------------------------------- | ------------------------------------------------------------- + |\\n| \U0001F4CA **Replay Analytics and Debugging** | Step-by-step agent execution + graphs |\\n| \U0001F4B8 **LLM Cost Management** + \ | Track spend with LLM foundation model providers |\\n| + \U0001F9EA **Agent Benchmarking** | Test your agents against 1,000+ + evals |\\n| \U0001F510 **Compliance and Security** + \ | Detect common prompt injection and data exfiltration exploits |\\n| + \U0001F91D **Framework Integrations** | Native Integrations with CrewAI, + AG2(AutoGen), Camel AI, & LangChain |\\n\\n## Quick Start \u2328\uFE0F\\n\\n```bash\\npip + install agentops\\n```\\n\\n\\n#### Session replays in 2 lines of code\\n\\nInitialize + the AgentOps client and automatically get analytics on all your LLM calls.\\n\\n[Get + an API key](https://app.agentops.ai/settings/projects)\\n\\n```python\\nimport + agentops\\n\\n# Beginning of your program (i.e. main.py, __init__.py)\\nagentops.init( + < INSERT YOUR API KEY HERE >)\\n\\n...\\n\\n# End of program\\nagentops.end_session('Success')\\n```\\n\\nAll + your sessions can be viewed on the [AgentOps dashboard](https://app.agentops.ai?ref=gh)\\n
\\n\\n
\\n + \ Agent Debugging\\n \\n + \ \\\"Agent\\n \\n \\n + \ \\\"Chat\\n \\n \\n + \ \\\"Event\\n \\n
\\n\\n
\\n + \ Session Replays\\n \\n + \ \\\"Session\\n \\n
\\n\\n
\\n Summary Analytics\\n \\n + \ \\\"Summary\\n \\n \\n + \ \\\"Summary\\n \\n
\\n\\n\\n### + First class Developer Experience\\nAdd powerful observability to your agents, + tools, and functions with as little code as possible: one line at a time.\\n
\\nRefer + to our [documentation](http://docs.agentops.ai)\\n\\n```python\\n# Automatically + associate all Events with the agent that originated them\\nfrom agentops import + track_agent\\n\\n@track_agent(name='SomeCustomName')\\nclass MyAgent:\\n ...\\n```\\n\\n```python\\n# + Automatically create ToolEvents for tools that agents will use\\nfrom agentops + import record_tool\\n\\n@record_tool('SampleToolName')\\ndef sample_tool(...):\\n + \ ...\\n```\\n\\n```python\\n# Automatically create ActionEvents for other + functions.\\nfrom agentops import record_action\\n\\n@agentops.record_action('sample + function being record')\\ndef sample_function(...):\\n ...\\n```\\n\\n```python\\n# + Manually record any other Events\\nfrom agentops import record, ActionEvent\\n\\nrecord(ActionEvent(\\\"received_user_input\\\"))\\n```\\n\\n## + Integrations \U0001F9BE\\n\\n### CrewAI \U0001F6F6\\n\\nBuild Crew agents + with observability with only 2 lines of code. Simply set an `AGENTOPS_API_KEY` + in your environment, and your crews will get automatic monitoring on the AgentOps + dashboard.\\n\\n```bash\\npip install 'crewai[agentops]'\\n```\\n\\n- [AgentOps + integration example](https://docs.agentops.ai/v1/integrations/crewai)\\n- + [Official CrewAI documentation](https://docs.crewai.com/how-to/AgentOps-Observability)\\n\\n### + AG2 \U0001F916\\nWith only two lines of code, add full observability and monitoring + to AG2 (formerly AutoGen) agents. Set an `AGENTOPS_API_KEY` in your environment + and call `agentops.init()`\\n\\n- [AG2 Observability Example](https://docs.ag2.ai/notebooks/agentchat_agentops)\\n- + [AG2 - AgentOps Documentation](https://docs.ag2.ai/docs/ecosystem/agentops)\\n\\n### + Camel AI \U0001F42A\\n\\nTrack and analyze CAMEL agents with full observability. + Set an `AGENTOPS_API_KEY` in your environment and initialize AgentOps to get + started.\\n\\n- [Camel AI](https://www.camel-ai.org/) - Advanced agent communication + framework\\n- [AgentOps integration example](https://docs.agentops.ai/v1/integrations/camel)\\n- + [Official Camel AI documentation](https://docs.camel-ai.org/cookbooks/agents_tracking.html)\\n\\n
\\n + \ Installation\\n\\n```bash\\npip install \\\"camel-ai[all]==0.2.11\\\"\\npip + install agentops\\n```\\n\\n```python\\nimport os\\nimport agentops\\nfrom + camel.agents import ChatAgent\\nfrom camel.messages import BaseMessage\\nfrom + camel.models import ModelFactory\\nfrom camel.types import ModelPlatformType, + ModelType\\n\\n# Initialize AgentOps\\nagentops.init(os.getenv(\\\"AGENTOPS_API_KEY\\\"), + default_tags=[\\\"CAMEL Example\\\"])\\n\\n# Import toolkits after AgentOps + init for tracking\\nfrom camel.toolkits import SearchToolkit\\n\\n# Set up + the agent with search tools\\nsys_msg = BaseMessage.make_assistant_message(\\n + \ role_name='Tools calling operator',\\n content='You are a helpful assistant'\\n)\\n\\n# + Configure tools and model\\ntools = [*SearchToolkit().get_tools()]\\nmodel + = ModelFactory.create(\\n model_platform=ModelPlatformType.OPENAI,\\n model_type=ModelType.GPT_4O_MINI,\\n)\\n\\n# + Create and run the agent\\ncamel_agent = ChatAgent(\\n system_message=sys_msg,\\n + \ model=model,\\n tools=tools,\\n)\\n\\nresponse = camel_agent.step(\\\"What + is AgentOps?\\\")\\nprint(response)\\n\\nagentops.end_session(\\\"Success\\\")\\n```\\n\\nCheck + out our [Camel integration guide](https://docs.agentops.ai/v1/integrations/camel) + for more examples including multi-agent scenarios.\\n
\\n\\n### Langchain + \U0001F99C\U0001F517\\n\\nAgentOps works seamlessly with applications built + using Langchain. To use the handler, install Langchain as an optional dependency:\\n\\n
\\n + \ Installation\\n \\n```shell\\npip install agentops[langchain]\\n```\\n\\nTo + use the handler, import and set\\n\\n```python\\nimport os\\nfrom langchain.chat_models + import ChatOpenAI\\nfrom langchain.agents import initialize_agent, AgentType\\nfrom + agentops.partners.langchain_callback_handler import LangchainCallbackHandler\\n\\nAGENTOPS_API_KEY + = os.environ['AGENTOPS_API_KEY']\\nhandler = LangchainCallbackHandler(api_key=AGENTOPS_API_KEY, + tags=['Langchain Example'])\\n\\nllm = ChatOpenAI(openai_api_key=OPENAI_API_KEY,\\n + \ callbacks=[handler],\\n model='gpt-3.5-turbo')\\n\\nagent + = initialize_agent(tools,\\n llm,\\n agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION,\\n + \ verbose=True,\\n callbacks=[handler], + # You must pass in a callback handler to record your agent\\n handle_parsing_errors=True)\\n```\\n\\nCheck + out the [Langchain Examples Notebook](./examples/langchain_examples.ipynb) + for more details including Async handlers.\\n\\n
\\n\\n### Cohere + \u2328\uFE0F\\n\\nFirst class support for Cohere(>=5.4.0). This is a living + integration, should you need any added functionality please message us on + Discord!\\n\\n- [AgentOps integration example](https://docs.agentops.ai/v1/integrations/cohere)\\n- + [Official Cohere documentation](https://docs.cohere.com/reference/about)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install cohere\\n```\\n\\n```python + python\\nimport cohere\\nimport agentops\\n\\n# Beginning of program's code + (i.e. main.py, __init__.py)\\nagentops.init()\\nco + = cohere.Client()\\n\\nchat = co.chat(\\n message=\\\"Is it pronounced + ceaux-hear or co-hehray?\\\"\\n)\\n\\nprint(chat)\\n\\nagentops.end_session('Success')\\n```\\n\\n```python + python\\nimport cohere\\nimport agentops\\n\\n# Beginning of program's code + (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nco + = cohere.Client()\\n\\nstream = co.chat_stream(\\n message=\\\"Write me + a haiku about the synergies between Cohere and AgentOps\\\"\\n)\\n\\nfor event + in stream:\\n if event.event_type == \\\"text-generation\\\":\\n print(event.text, + end='')\\n\\nagentops.end_session('Success')\\n```\\n
\\n\\n\\n### + Anthropic \uFE68\\n\\nTrack agents built with the Anthropic Python SDK (>=0.32.0).\\n\\n- + [AgentOps integration guide](https://docs.agentops.ai/v1/integrations/anthropic)\\n- + [Official Anthropic documentation](https://docs.anthropic.com/en/docs/welcome)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install anthropic\\n```\\n\\n```python + python\\nimport anthropic\\nimport agentops\\n\\n# Beginning of program's + code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient + = anthropic.Anthropic(\\n # This is the default and can be omitted\\n api_key=os.environ.get(\\\"ANTHROPIC_API_KEY\\\"),\\n)\\n\\nmessage + = client.messages.create(\\n max_tokens=1024,\\n messages=[\\n + \ {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me a cool fact about AgentOps\\\",\\n }\\n ],\\n + \ model=\\\"claude-3-opus-20240229\\\",\\n )\\nprint(message.content)\\n\\nagentops.end_session('Success')\\n```\\n\\nStreaming\\n```python + python\\nimport anthropic\\nimport agentops\\n\\n# Beginning of program's + code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient + = anthropic.Anthropic(\\n # This is the default and can be omitted\\n api_key=os.environ.get(\\\"ANTHROPIC_API_KEY\\\"),\\n)\\n\\nstream + = client.messages.create(\\n max_tokens=1024,\\n model=\\\"claude-3-opus-20240229\\\",\\n + \ messages=[\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me something cool about streaming agents\\\",\\n }\\n ],\\n + \ stream=True,\\n)\\n\\nresponse = \\\"\\\"\\nfor event in stream:\\n if + event.type == \\\"content_block_delta\\\":\\n response += event.delta.text\\n + \ elif event.type == \\\"message_stop\\\":\\n print(\\\"\\\\n\\\")\\n + \ print(response)\\n print(\\\"\\\\n\\\")\\n```\\n\\nAsync\\n\\n```python + python\\nimport asyncio\\nfrom anthropic import AsyncAnthropic\\n\\nclient + = AsyncAnthropic(\\n # This is the default and can be omitted\\n api_key=os.environ.get(\\\"ANTHROPIC_API_KEY\\\"),\\n)\\n\\n\\nasync + def main() -> None:\\n message = await client.messages.create(\\n max_tokens=1024,\\n + \ messages=[\\n {\\n \\\"role\\\": \\\"user\\\",\\n + \ \\\"content\\\": \\\"Tell me something interesting about async + agents\\\",\\n }\\n ],\\n model=\\\"claude-3-opus-20240229\\\",\\n + \ )\\n print(message.content)\\n\\n\\nawait main()\\n```\\n
\\n\\n### + Mistral \u303D\uFE0F\\n\\nTrack agents built with the Anthropic Python SDK + (>=0.32.0).\\n\\n- [AgentOps integration example](./examples/mistral//mistral_example.ipynb)\\n- + [Official Mistral documentation](https://docs.mistral.ai)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install mistralai\\n```\\n\\nSync\\n\\n```python + python\\nfrom mistralai import Mistral\\nimport agentops\\n\\n# Beginning + of program's code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient = Mistral(\\n # This is the default and can + be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\nmessage + = client.chat.complete(\\n messages=[\\n {\\n \\\"role\\\": + \\\"user\\\",\\n \\\"content\\\": \\\"Tell me a cool fact about + AgentOps\\\",\\n }\\n ],\\n model=\\\"open-mistral-nemo\\\",\\n + \ )\\nprint(message.choices[0].message.content)\\n\\nagentops.end_session('Success')\\n```\\n\\nStreaming\\n\\n```python + python\\nfrom mistralai import Mistral\\nimport agentops\\n\\n# Beginning + of program's code (i.e. main.py, __init__.py)\\nagentops.init()\\n\\nclient = Mistral(\\n # This is the default and can + be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\nmessage + = client.chat.stream(\\n messages=[\\n {\\n \\\"role\\\": + \\\"user\\\",\\n \\\"content\\\": \\\"Tell me something cool + about streaming agents\\\",\\n }\\n ],\\n model=\\\"open-mistral-nemo\\\",\\n + \ )\\n\\nresponse = \\\"\\\"\\nfor event in message:\\n if event.data.choices[0].finish_reason + == \\\"stop\\\":\\n print(\\\"\\\\n\\\")\\n print(response)\\n + \ print(\\\"\\\\n\\\")\\n else:\\n response += event.text\\n\\nagentops.end_session('Success')\\n```\\n\\nAsync\\n\\n```python + python\\nimport asyncio\\nfrom mistralai import Mistral\\n\\nclient = Mistral(\\n + \ # This is the default and can be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\n\\nasync + def main() -> None:\\n message = await client.chat.complete_async(\\n messages=[\\n + \ {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me something interesting about async agents\\\",\\n }\\n + \ ],\\n model=\\\"open-mistral-nemo\\\",\\n )\\n print(message.choices[0].message.content)\\n\\n\\nawait + main()\\n```\\n\\nAsync Streaming\\n\\n```python python\\nimport asyncio\\nfrom + mistralai import Mistral\\n\\nclient = Mistral(\\n # This is the default + and can be omitted\\n api_key=os.environ.get(\\\"MISTRAL_API_KEY\\\"),\\n)\\n\\n\\nasync + def main() -> None:\\n message = await client.chat.stream_async(\\n messages=[\\n + \ {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": + \\\"Tell me something interesting about async streaming agents\\\",\\n }\\n + \ ],\\n model=\\\"open-mistral-nemo\\\",\\n )\\n\\n response + = \\\"\\\"\\n async for event in message:\\n if event.data.choices[0].finish_reason + == \\\"stop\\\":\\n print(\\\"\\\\n\\\")\\n print(response)\\n + \ print(\\\"\\\\n\\\")\\n else:\\n response += + event.text\\n\\n\\nawait main()\\n```\\n
\\n\\n\\n\\n### CamelAI + \uFE68\\n\\nTrack agents built with the CamelAI Python SDK (>=0.32.0).\\n\\n- + [CamelAI integration guide](https://docs.camel-ai.org/cookbooks/agents_tracking.html#)\\n- + [Official CamelAI documentation](https://docs.camel-ai.org/index.html)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install camel-ai[all]\\npip + install agentops\\n```\\n\\n```python python\\n#Import Dependencies\\nimport + agentops\\nimport os\\nfrom getpass import getpass\\nfrom dotenv import load_dotenv\\n\\n#Set + Keys\\nload_dotenv()\\nopenai_api_key = os.getenv(\\\"OPENAI_API_KEY\\\") + or \\\"\\\"\\nagentops_api_key = os.getenv(\\\"AGENTOPS_API_KEY\\\") + or \\\"\\\"\\n\\n\\n\\n```\\n
\\n\\n[You + can find usage examples here!](examples/camelai_examples/README.md).\\n\\n\\n\\n### + LiteLLM \U0001F685\\n\\nAgentOps provides support for LiteLLM(>=1.3.1), allowing + you to call 100+ LLMs using the same Input/Output Format. \\n\\n- [AgentOps + integration example](https://docs.agentops.ai/v1/integrations/litellm)\\n- + [Official LiteLLM documentation](https://docs.litellm.ai/docs/providers)\\n\\n
\\n + \ Installation\\n \\n```bash\\npip install litellm\\n```\\n\\n```python + python\\n# Do not use LiteLLM like this\\n# from litellm import completion\\n# + ...\\n# response = completion(model=\\\"claude-3\\\", messages=messages)\\n\\n# + Use LiteLLM like this\\nimport litellm\\n...\\nresponse = litellm.completion(model=\\\"claude-3\\\", + messages=messages)\\n# or\\nresponse = await litellm.acompletion(model=\\\"claude-3\\\", + messages=messages)\\n```\\n
\\n\\n### LlamaIndex \U0001F999\\n\\n\\nAgentOps + works seamlessly with applications built using LlamaIndex, a framework for + building context-augmented generative AI applications with LLMs.\\n\\n
\\n + \ Installation\\n \\n```shell\\npip install llama-index-instrumentation-agentops\\n```\\n\\nTo + use the handler, import and set\\n\\n```python\\nfrom llama_index.core import + set_global_handler\\n\\n# NOTE: Feel free to set your AgentOps environment + variables (e.g., 'AGENTOPS_API_KEY')\\n# as outlined in the AgentOps documentation, + or pass the equivalent keyword arguments\\n# anticipated by AgentOps' AOClient + as **eval_params in set_global_handler.\\n\\nset_global_handler(\\\"agentops\\\")\\n```\\n\\nCheck + out the [LlamaIndex docs](https://docs.llamaindex.ai/en/stable/module_guides/observability/?h=agentops#agentops) + for more details.\\n\\n
\\n\\n### Llama Stack \U0001F999\U0001F95E\\n\\nAgentOps + provides support for Llama Stack Python Client(>=0.0.53), allowing you to + monitor your Agentic applications. \\n\\n- [AgentOps integration example 1](https://github.com/AgentOps-AI/agentops/pull/530/files/65a5ab4fdcf310326f191d4b870d4f553591e3ea#diff-fdddf65549f3714f8f007ce7dfd1cde720329fe54155d54389dd50fbd81813cb)\\n- + [AgentOps integration example 2](https://github.com/AgentOps-AI/agentops/pull/530/files/65a5ab4fdcf310326f191d4b870d4f553591e3ea#diff-6688ff4fb7ab1ce7b1cc9b8362ca27264a3060c16737fb1d850305787a6e3699)\\n- + [Official Llama Stack Python Client](https://github.com/meta-llama/llama-stack-client-python)\\n\\n### + SwarmZero AI \U0001F41D\\n\\nTrack and analyze SwarmZero agents with full + observability. Set an `AGENTOPS_API_KEY` in your environment and initialize + AgentOps to get started.\\n\\n- [SwarmZero](https://swarmzero.ai) - Advanced + multi-agent framework\\n- [AgentOps integration example](https://docs.agentops.ai/v1/integrations/swarmzero)\\n- + [SwarmZero AI integration example](https://docs.swarmzero.ai/examples/ai-agents/build-and-monitor-a-web-search-agent)\\n- + [SwarmZero AI - AgentOps documentation](https://docs.swarmzero.ai/sdk/observability/agentops)\\n- + [Official SwarmZero Python SDK](https://github.com/swarmzero/swarmzero)\\n\\n
\\n + \ Installation\\n\\n```bash\\npip install swarmzero\\npip + install agentops\\n```\\n\\n```python\\nfrom dotenv import load_dotenv\\nload_dotenv()\\n\\nimport + agentops\\nagentops.init()\\n\\nfrom swarmzero import + Agent, Swarm\\n# ...\\n```\\n
\\n\\n## Time travel debugging \U0001F52E\\n\\n
\\n \\\"Time\\n
\\n\\n
\\n\\n[Try it out!](https://app.agentops.ai/timetravel)\\n\\n## + Agent Arena \U0001F94A\\n\\n(coming soon!)\\n\\n## Evaluations Roadmap \U0001F9ED\\n\\n| + Platform | + Dashboard | Evals |\\n| + ---------------------------------------------------------------------------- + | ------------------------------------------ | -------------------------------------- + |\\n| \u2705 Python SDK | + \u2705 Multi-session and Cross-session metrics | \u2705 Custom eval metrics + \ |\\n| \U0001F6A7 Evaluation builder API | + \u2705 Custom event tag tracking\_ | \U0001F51C Agent scorecards + \ |\\n| \u2705 [Javascript/Typescript SDK](https://github.com/AgentOps-AI/agentops-node) + | \u2705 Session replays | \U0001F51C Evaluation playground + + leaderboard |\\n\\n## Debugging Roadmap \U0001F9ED\\n\\n| Performance testing + \ | Environments | + LLM Testing | Reasoning and execution testing + \ |\\n| ----------------------------------------- | ----------------------------------------------------------------------------------- + | ------------------------------------------- | ------------------------------------------------- + |\\n| \u2705 Event latency analysis | \U0001F51C Non-stationary + environment testing | \U0001F51C + LLM non-deterministic function detection | \U0001F6A7 Infinite loops and recursive + thought detection |\\n| \u2705 Agent workflow execution pricing | \U0001F51C + Multi-modal environments | + \U0001F6A7 Token limit overflow flags | \U0001F51C Faulty reasoning + detection |\\n| \U0001F6A7 Success validators (external) + \ | \U0001F51C Execution containers | + \U0001F51C Context limit overflow flags | \U0001F51C Generative + code validators |\\n| \U0001F51C Agent controllers/skill + tests | \u2705 Honeypot and prompt injection detection ([PromptArmor](https://promptarmor.com)) + | \U0001F51C API bill tracking | \U0001F51C Error breakpoint + analysis |\\n| \U0001F51C Information context constraint + testing | \U0001F51C Anti-agent roadblocks (i.e. Captchas) | + \U0001F51C CI/CD integration checks | |\\n| + \U0001F51C Regression testing | \U0001F51C Multi-agent + framework visualization | | + \ |\\n\\n### Why AgentOps? + \U0001F914\\n\\nWithout the right tools, AI agents are slow, expensive, and + unreliable. Our mission is to bring your agent from prototype to production. + Here's why AgentOps stands out:\\n\\n- **Comprehensive Observability**: Track + your AI agents' performance, user interactions, and API usage.\\n- **Real-Time + Monitoring**: Get instant insights with session replays, metrics, and live + monitoring tools.\\n- **Cost Control**: Monitor and manage your spend on LLM + and API calls.\\n- **Failure Detection**: Quickly identify and respond to + agent failures and multi-agent interaction issues.\\n- **Tool Usage Statistics**: + Understand how your agents utilize external tools with detailed analytics.\\n- + **Session-Wide Metrics**: Gain a holistic view of your agents' sessions with + comprehensive statistics.\\n\\nAgentOps is designed to make agent observability, + testing, and monitoring easy.\\n\\n\\n## Star History\\n\\nCheck out our growth + in the community:\\n\\n\\\"Logo\\\"\\n\\n## + Popular projects using AgentOps\\n\\n\\n| Repository | Stars |\\n| :-------- + \ | -----: |\\n|\\\"\\\"   [geekan](https://github.com/geekan) + / [MetaGPT](https://github.com/geekan/MetaGPT) | 42787 |\\n|\\\"\\\"   [run-llama](https://github.com/run-llama) + / [llama_index](https://github.com/run-llama/llama_index) | 34446 |\\n|\\\"\\\"   [crewAIInc](https://github.com/crewAIInc) + / [crewAI](https://github.com/crewAIInc/crewAI) | 18287 |\\n|\\\"\\\"   [camel-ai](https://github.com/camel-ai) + / [camel](https://github.com/camel-ai/camel) | 5166 |\\n|\\\"\\\"   [superagent-ai](https://github.com/superagent-ai) + / [superagent](https://github.com/superagent-ai/superagent) | 5050 |\\n|\\\"\\\"   [iyaja](https://github.com/iyaja) + / [llama-fs](https://github.com/iyaja/llama-fs) | 4713 |\\n|\\\"\\\"   [BasedHardware](https://github.com/BasedHardware) + / [Omi](https://github.com/BasedHardware/Omi) | 2723 |\\n|\\\"\\\"   [MervinPraison](https://github.com/MervinPraison) + / [PraisonAI](https://github.com/MervinPraison/PraisonAI) | 2007 |\\n|\\\"\\\"   [AgentOps-AI](https://github.com/AgentOps-AI) + / [Jaiqu](https://github.com/AgentOps-AI/Jaiqu) | 272 |\\n|\\\"\\\"   [swarmzero](https://github.com/swarmzero) + / [swarmzero](https://github.com/swarmzero/swarmzero) | 195 |\\n|\\\"\\\"   [strnad](https://github.com/strnad) + / [CrewAI-Studio](https://github.com/strnad/CrewAI-Studio) | 134 |\\n|\\\"\\\"   [alejandro-ao](https://github.com/alejandro-ao) + / [exa-crewai](https://github.com/alejandro-ao/exa-crewai) | 55 |\\n|\\\"\\\"   [tonykipkemboi](https://github.com/tonykipkemboi) + / [youtube_yapper_trapper](https://github.com/tonykipkemboi/youtube_yapper_trapper) + | 47 |\\n|\\\"\\\"   [sethcoast](https://github.com/sethcoast) + / [cover-letter-builder](https://github.com/sethcoast/cover-letter-builder) + | 27 |\\n|\\\"\\\"   [bhancockio](https://github.com/bhancockio) + / [chatgpt4o-analysis](https://github.com/bhancockio/chatgpt4o-analysis) | + 19 |\\n|\\\"\\\"   [breakstring](https://github.com/breakstring) + / [Agentic_Story_Book_Workflow](https://github.com/breakstring/Agentic_Story_Book_Workflow) + | 14 |\\n|\\\"\\\"   [MULTI-ON](https://github.com/MULTI-ON) + / [multion-python](https://github.com/MULTI-ON/multion-python) | 13 |\\n\\n\\n_Generated + using [github-dependents-info](https://github.com/nvuillam/github-dependents-info), + by [Nicolas Vuillamy](https://github.com/nvuillam)_\\n\",\"description_content_type\":\"text/markdown\",\"docs_url\":null,\"download_url\":null,\"downloads\":{\"last_day\":-1,\"last_month\":-1,\"last_week\":-1},\"dynamic\":null,\"home_page\":null,\"keywords\":null,\"license\":null,\"license_expression\":null,\"license_files\":[\"LICENSE\"],\"maintainer\":null,\"maintainer_email\":null,\"name\":\"agentops\",\"package_url\":\"https://pypi.org/project/agentops/\",\"platform\":null,\"project_url\":\"https://pypi.org/project/agentops/\",\"project_urls\":{\"Homepage\":\"https://github.com/AgentOps-AI/agentops\",\"Issues\":\"https://github.com/AgentOps-AI/agentops/issues\"},\"provides_extra\":null,\"release_url\":\"https://pypi.org/project/agentops/0.3.26/\",\"requires_dist\":[\"opentelemetry-api==1.22.0; + python_version < \\\"3.10\\\"\",\"opentelemetry-api>=1.27.0; python_version + >= \\\"3.10\\\"\",\"opentelemetry-exporter-otlp-proto-http==1.22.0; python_version + < \\\"3.10\\\"\",\"opentelemetry-exporter-otlp-proto-http>=1.27.0; python_version + >= \\\"3.10\\\"\",\"opentelemetry-sdk==1.22.0; python_version < \\\"3.10\\\"\",\"opentelemetry-sdk>=1.27.0; + python_version >= \\\"3.10\\\"\",\"packaging<25.0,>=21.0\",\"psutil<6.1.0,>=5.9.8\",\"pyyaml<7.0,>=5.3\",\"requests<3.0.0,>=2.0.0\",\"termcolor<2.5.0,>=2.3.0\"],\"requires_python\":\"<3.14,>=3.9\",\"summary\":\"Observability + and DevTool Platform for AI Agents\",\"version\":\"0.3.26\",\"yanked\":false,\"yanked_reason\":null},\"last_serial\":27123795,\"releases\":{\"0.0.1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9b4641d084346e88671acc02e3a0049d3e0925fe99edd88c8b82700dc3c04d01\",\"md5\":\"2b491f3b3dd01edd4ee37c361087bb46\",\"sha256\":\"f2cb9d59a0413e7977a44a23dbd6a9d89cda5309b63ed08f5c346c7488acf645\"},\"downloads\":-1,\"filename\":\"agentops-0.0.1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"2b491f3b3dd01edd4ee37c361087bb46\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":10328,\"upload_time\":\"2023-08-21T18:33:47\",\"upload_time_iso_8601\":\"2023-08-21T18:33:47.827866Z\",\"url\":\"https://files.pythonhosted.org/packages/9b/46/41d084346e88671acc02e3a0049d3e0925fe99edd88c8b82700dc3c04d01/agentops-0.0.1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b280bf609d98778499bd42df723100a8e910d9b9827cbd00b804cf0b13bb3c87\",\"md5\":\"ff218fc16d45cf72f73d50ee9a0afe82\",\"sha256\":\"5c3d4311b9dde0c71cb475ec99d2963a71604c78d468b333f55e81364f4fe79e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ff218fc16d45cf72f73d50ee9a0afe82\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":11452,\"upload_time\":\"2023-08-21T18:33:49\",\"upload_time_iso_8601\":\"2023-08-21T18:33:49.613830Z\",\"url\":\"https://files.pythonhosted.org/packages/b2/80/bf609d98778499bd42df723100a8e910d9b9827cbd00b804cf0b13bb3c87/agentops-0.0.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"92933862af53105332cb524db237138d3284b5d6abcc7df5fd4406e382372d94\",\"md5\":\"8bdea319b5579775eb88efac72e70cd6\",\"sha256\":\"e8a333567458c1df35538d626bc596f3ba7b8fa2aac5015bc378f3f7f8850669\"},\"downloads\":-1,\"filename\":\"agentops-0.0.10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8bdea319b5579775eb88efac72e70cd6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14752,\"upload_time\":\"2023-12-16T01:40:40\",\"upload_time_iso_8601\":\"2023-12-16T01:40:40.867657Z\",\"url\":\"https://files.pythonhosted.org/packages/92/93/3862af53105332cb524db237138d3284b5d6abcc7df5fd4406e382372d94/agentops-0.0.10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c63136b1f2e508b67f92ddb5f51f2acf5abdf2bf4b32d5b355d8018b368dc854\",\"md5\":\"87bdcd4d7469d22ce922234d4f0b2b98\",\"sha256\":\"5fbc567bece7b218fc35ce70d208e88e89bb399a9dbf84ab7ad59a2aa559648c\"},\"downloads\":-1,\"filename\":\"agentops-0.0.10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"87bdcd4d7469d22ce922234d4f0b2b98\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":15099,\"upload_time\":\"2023-12-16T01:40:42\",\"upload_time_iso_8601\":\"2023-12-16T01:40:42.281826Z\",\"url\":\"https://files.pythonhosted.org/packages/c6/31/36b1f2e508b67f92ddb5f51f2acf5abdf2bf4b32d5b355d8018b368dc854/agentops-0.0.10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7125ed114f918332cda824092f620b1002fd76ab6b538dd83711b31c93907139\",\"md5\":\"83ba7e621f01412144aa38306fc1e04c\",\"sha256\":\"cb80823e065d17dc26bdc8fe951ea7e04b23677ef2b4da939669c6fe1b2502bf\"},\"downloads\":-1,\"filename\":\"agentops-0.0.11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"83ba7e621f01412144aa38306fc1e04c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":16627,\"upload_time\":\"2023-12-21T19:50:28\",\"upload_time_iso_8601\":\"2023-12-21T19:50:28.595886Z\",\"url\":\"https://files.pythonhosted.org/packages/71/25/ed114f918332cda824092f620b1002fd76ab6b538dd83711b31c93907139/agentops-0.0.11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9e037750b04398cda2548bbf3d84ce554c4009592095c060c4904e773f3a43da\",\"md5\":\"5bbb120cc9a5f5ff6fb5dd45691ba279\",\"sha256\":\"cbf0f39768d47e32be448a3ff3ded665fce64ff8a90c0e10692fd7a3ab4790ee\"},\"downloads\":-1,\"filename\":\"agentops-0.0.11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"5bbb120cc9a5f5ff6fb5dd45691ba279\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":16794,\"upload_time\":\"2023-12-21T19:50:29\",\"upload_time_iso_8601\":\"2023-12-21T19:50:29.881561Z\",\"url\":\"https://files.pythonhosted.org/packages/9e/03/7750b04398cda2548bbf3d84ce554c4009592095c060c4904e773f3a43da/agentops-0.0.11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"adf5cc3e93b2328532ea80b8b36450b8b48a8199ebbe1f75ebb490e57a926b88\",\"md5\":\"694ba49ca8841532039bdf8dc0250b85\",\"sha256\":\"9a2c773efbe3353f60d1b86da12333951dad288ba54839615a53b57e5965bea8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"694ba49ca8841532039bdf8dc0250b85\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18602,\"upload_time\":\"2024-01-03T03:47:07\",\"upload_time_iso_8601\":\"2024-01-03T03:47:07.184203Z\",\"url\":\"https://files.pythonhosted.org/packages/ad/f5/cc3e93b2328532ea80b8b36450b8b48a8199ebbe1f75ebb490e57a926b88/agentops-0.0.12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7eb0633ecd30c74a0613c7330ececf0303286622ce429f08ce0daa9ee8cc4ecf\",\"md5\":\"025daef9622472882a1fa58b6c1fddb5\",\"sha256\":\"fbb4c38711a7dff3ab08004591451b5a5c33bea5e496fa71fac668c7284513d2\"},\"downloads\":-1,\"filename\":\"agentops-0.0.12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"025daef9622472882a1fa58b6c1fddb5\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19826,\"upload_time\":\"2024-01-03T03:47:08\",\"upload_time_iso_8601\":\"2024-01-03T03:47:08.942790Z\",\"url\":\"https://files.pythonhosted.org/packages/7e/b0/633ecd30c74a0613c7330ececf0303286622ce429f08ce0daa9ee8cc4ecf/agentops-0.0.12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.13\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3a0f9c1500adb4191531374db4d7920c51aba92c5472d13d172108e881c36948\",\"md5\":\"f0a3b78c15af3ab467778f94fb50bf4a\",\"sha256\":\"3379a231f37a375bda421114a5626643263e84ce951503d0bdff8411149946e0\"},\"downloads\":-1,\"filename\":\"agentops-0.0.13-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"f0a3b78c15af3ab467778f94fb50bf4a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18709,\"upload_time\":\"2024-01-07T08:57:57\",\"upload_time_iso_8601\":\"2024-01-07T08:57:57.456769Z\",\"url\":\"https://files.pythonhosted.org/packages/3a/0f/9c1500adb4191531374db4d7920c51aba92c5472d13d172108e881c36948/agentops-0.0.13-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cbf9a3824bd30d7107aaca8d409165c0a3574a879efd7ca0fea755e903623b61\",\"md5\":\"0ebceb6aad82c0622adcd4c2633fc677\",\"sha256\":\"5e6adf68c2a533496648ea3fabb6e791f39ce810d18dbc1354d118b195fd8556\"},\"downloads\":-1,\"filename\":\"agentops-0.0.13.tar.gz\",\"has_sig\":false,\"md5_digest\":\"0ebceb6aad82c0622adcd4c2633fc677\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19933,\"upload_time\":\"2024-01-07T08:57:59\",\"upload_time_iso_8601\":\"2024-01-07T08:57:59.146933Z\",\"url\":\"https://files.pythonhosted.org/packages/cb/f9/a3824bd30d7107aaca8d409165c0a3574a879efd7ca0fea755e903623b61/agentops-0.0.13.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.14\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"252b1d8ee3b4ab02215eb1a52865a9f2c209d6d4cbf4a3444fb7faf23b02ca66\",\"md5\":\"a8ba77b0ec0d25072b2e0535a135cc40\",\"sha256\":\"d5bb4661642daf8fc63a257ef0f04ccc5c79a73e73d57ea04190e74d9a3e6df9\"},\"downloads\":-1,\"filename\":\"agentops-0.0.14-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a8ba77b0ec0d25072b2e0535a135cc40\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18710,\"upload_time\":\"2024-01-08T21:52:28\",\"upload_time_iso_8601\":\"2024-01-08T21:52:28.340899Z\",\"url\":\"https://files.pythonhosted.org/packages/25/2b/1d8ee3b4ab02215eb1a52865a9f2c209d6d4cbf4a3444fb7faf23b02ca66/agentops-0.0.14-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"bf3a1fdf85563c47c2fc6571a1406aecb772f644d53a2adabf4981012971587a\",\"md5\":\"1ecf7177ab57738c6663384de20887e5\",\"sha256\":\"c54cee1c9ed1b5b7829fd80d5d01278b1efb50e977e5a890627f4688d0f2afb2\"},\"downloads\":-1,\"filename\":\"agentops-0.0.14.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1ecf7177ab57738c6663384de20887e5\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19932,\"upload_time\":\"2024-01-08T21:52:29\",\"upload_time_iso_8601\":\"2024-01-08T21:52:29.988596Z\",\"url\":\"https://files.pythonhosted.org/packages/bf/3a/1fdf85563c47c2fc6571a1406aecb772f644d53a2adabf4981012971587a/agentops-0.0.14.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.15\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0c5374cbe5c78db9faa7c939d1a91eff111c4d3f13f4d8d18920ddd48f89f335\",\"md5\":\"c4528a66151e76c7b1abdcac3c3eaf52\",\"sha256\":\"aa8034dc9a0e9e56014a06fac521fc2a63a968d34f73e4d4c9bef4b0e87f8241\"},\"downloads\":-1,\"filename\":\"agentops-0.0.15-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c4528a66151e76c7b1abdcac3c3eaf52\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18734,\"upload_time\":\"2024-01-23T08:43:24\",\"upload_time_iso_8601\":\"2024-01-23T08:43:24.651479Z\",\"url\":\"https://files.pythonhosted.org/packages/0c/53/74cbe5c78db9faa7c939d1a91eff111c4d3f13f4d8d18920ddd48f89f335/agentops-0.0.15-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"da56c7d8189f4accc182be6729bc44a8006d981173e721ff4751ab784bbadfb3\",\"md5\":\"cd27bff6c943c6fcbed33ed8280ab5ea\",\"sha256\":\"71b0e048d2f1b86744105509436cbb6fa51e6b418a50a8253849dc6cdeda6cca\"},\"downloads\":-1,\"filename\":\"agentops-0.0.15.tar.gz\",\"has_sig\":false,\"md5_digest\":\"cd27bff6c943c6fcbed33ed8280ab5ea\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19985,\"upload_time\":\"2024-01-23T08:43:26\",\"upload_time_iso_8601\":\"2024-01-23T08:43:26.316265Z\",\"url\":\"https://files.pythonhosted.org/packages/da/56/c7d8189f4accc182be6729bc44a8006d981173e721ff4751ab784bbadfb3/agentops-0.0.15.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.16\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b694d78d43f49688829cab72b7326db1d9e3f436f71eed113f26d402fefa6856\",\"md5\":\"657c2cad11b3c8b97469524bff19b916\",\"sha256\":\"e9633dcbc419a47db8de13bd0dc4f5d55f0a50ef3434ffe8e1f8a3468561bd60\"},\"downloads\":-1,\"filename\":\"agentops-0.0.16-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"657c2cad11b3c8b97469524bff19b916\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18736,\"upload_time\":\"2024-01-23T09:03:05\",\"upload_time_iso_8601\":\"2024-01-23T09:03:05.799496Z\",\"url\":\"https://files.pythonhosted.org/packages/b6/94/d78d43f49688829cab72b7326db1d9e3f436f71eed113f26d402fefa6856/agentops-0.0.16-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ec353005c98c1e2642d61510a9977c2118d3baa72f50e3c45ef6a341bfd9a3b0\",\"md5\":\"2f9b28dd0953fdd2da606e19b9131006\",\"sha256\":\"469588d72734fc6e90c66cf9658613baf2a0b94c933a23cab16820435576c61f\"},\"downloads\":-1,\"filename\":\"agentops-0.0.16.tar.gz\",\"has_sig\":false,\"md5_digest\":\"2f9b28dd0953fdd2da606e19b9131006\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19986,\"upload_time\":\"2024-01-23T09:03:07\",\"upload_time_iso_8601\":\"2024-01-23T09:03:07.645949Z\",\"url\":\"https://files.pythonhosted.org/packages/ec/35/3005c98c1e2642d61510a9977c2118d3baa72f50e3c45ef6a341bfd9a3b0/agentops-0.0.16.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.17\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f3b2eff27fc5373097fc4f4d3d90f4d0fad1c3be7b923a6213750fe1cb022e6e\",\"md5\":\"20325afd9b9d9633b120b63967d4ae85\",\"sha256\":\"1a7c8d8fc8821e2e7eedbbe2683e076bfaca3434401b0d1ca6b830bf3230e61e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.17-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"20325afd9b9d9633b120b63967d4ae85\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18827,\"upload_time\":\"2024-01-23T17:12:19\",\"upload_time_iso_8601\":\"2024-01-23T17:12:19.300806Z\",\"url\":\"https://files.pythonhosted.org/packages/f3/b2/eff27fc5373097fc4f4d3d90f4d0fad1c3be7b923a6213750fe1cb022e6e/agentops-0.0.17-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ac2a2cb7548cce5b009bee9e6f9b46b26df1cca777830231e2d1603b83740053\",\"md5\":\"4ac65e38fa45946f1d382ce290b904e9\",\"sha256\":\"cc1e7f796a84c66a29b271d8f0faa4999c152c80195911b817502da002a3ae02\"},\"downloads\":-1,\"filename\":\"agentops-0.0.17.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4ac65e38fa45946f1d382ce290b904e9\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":20063,\"upload_time\":\"2024-01-23T17:12:20\",\"upload_time_iso_8601\":\"2024-01-23T17:12:20.558647Z\",\"url\":\"https://files.pythonhosted.org/packages/ac/2a/2cb7548cce5b009bee9e6f9b46b26df1cca777830231e2d1603b83740053/agentops-0.0.17.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.18\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"321102c865df2245ab8cfaeb48a72ef7011a7bbbe1553a43791d68295ff7c20d\",\"md5\":\"ad10ec2bf28bf434d3d2f11500f5a396\",\"sha256\":\"df241f6a62368aa645d1599bb6885688fba0d49dcc26f97f7f65ab29a6af1a2a\"},\"downloads\":-1,\"filename\":\"agentops-0.0.18-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ad10ec2bf28bf434d3d2f11500f5a396\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18860,\"upload_time\":\"2024-01-24T04:39:06\",\"upload_time_iso_8601\":\"2024-01-24T04:39:06.952175Z\",\"url\":\"https://files.pythonhosted.org/packages/32/11/02c865df2245ab8cfaeb48a72ef7011a7bbbe1553a43791d68295ff7c20d/agentops-0.0.18-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7831bd4249dcf9a0cdcad5451ca62aa83187295bb9c16fd1b3034999bff7ceaf\",\"md5\":\"76dc30c0a2e68f09c0411c23dd5e3a36\",\"sha256\":\"47e071424247dbbb1b9aaf07ff60a7e376ae01666478d0305d62a9068d61c1c1\"},\"downloads\":-1,\"filename\":\"agentops-0.0.18.tar.gz\",\"has_sig\":false,\"md5_digest\":\"76dc30c0a2e68f09c0411c23dd5e3a36\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":20094,\"upload_time\":\"2024-01-24T04:39:09\",\"upload_time_iso_8601\":\"2024-01-24T04:39:09.795862Z\",\"url\":\"https://files.pythonhosted.org/packages/78/31/bd4249dcf9a0cdcad5451ca62aa83187295bb9c16fd1b3034999bff7ceaf/agentops-0.0.18.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.19\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9d48292d743b748eddc01b51747e1dac4b62dea0eb5f240877bae821c0049572\",\"md5\":\"a26178cdf9d5fc5b466a30e5990c16a1\",\"sha256\":\"0e663e26aad41bf0288d250685e88130430dd087d03ffc69aa7f43e587921b59\"},\"downloads\":-1,\"filename\":\"agentops-0.0.19-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a26178cdf9d5fc5b466a30e5990c16a1\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18380,\"upload_time\":\"2024-01-24T07:58:38\",\"upload_time_iso_8601\":\"2024-01-24T07:58:38.440021Z\",\"url\":\"https://files.pythonhosted.org/packages/9d/48/292d743b748eddc01b51747e1dac4b62dea0eb5f240877bae821c0049572/agentops-0.0.19-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"dfe6f3b3fc53b050ec70de947e27227d0ea1e7a75037d082fc5f4d914178d12f\",\"md5\":\"c62a69951acd19121b059215cf0ddb8b\",\"sha256\":\"3d46faabf2dad44bd4705279569c76240ab5c71f03f511ba9d363dfd033d453e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.19.tar.gz\",\"has_sig\":false,\"md5_digest\":\"c62a69951acd19121b059215cf0ddb8b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19728,\"upload_time\":\"2024-01-24T07:58:41\",\"upload_time_iso_8601\":\"2024-01-24T07:58:41.352463Z\",\"url\":\"https://files.pythonhosted.org/packages/df/e6/f3b3fc53b050ec70de947e27227d0ea1e7a75037d082fc5f4d914178d12f/agentops-0.0.19.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e593e3863d3c61a75e43a347d423f754bc57559989773af6a9c7bc696ff1d6b4\",\"md5\":\"8ff77b84c32a4e846ce50c6844664b49\",\"sha256\":\"3bea2bdd8a26c190675aaf2775d97bc2e3c52d7da05c04ae8ec46fed959e0c6e\"},\"downloads\":-1,\"filename\":\"agentops-0.0.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8ff77b84c32a4e846ce50c6844664b49\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":10452,\"upload_time\":\"2023-08-28T23:14:23\",\"upload_time_iso_8601\":\"2023-08-28T23:14:23.488523Z\",\"url\":\"https://files.pythonhosted.org/packages/e5/93/e3863d3c61a75e43a347d423f754bc57559989773af6a9c7bc696ff1d6b4/agentops-0.0.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"82dbea7088c3ba71d9882a8d09d896d8529100f3103d1fe58ff4b890f9d616f1\",\"md5\":\"02c4fed5ca014de524e5c1dfe3ec2dd2\",\"sha256\":\"dc183d28965a9514cb33d916b29b3159189f5be64c4a7d943be0cad1a00379f9\"},\"downloads\":-1,\"filename\":\"agentops-0.0.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"02c4fed5ca014de524e5c1dfe3ec2dd2\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":11510,\"upload_time\":\"2023-08-28T23:14:24\",\"upload_time_iso_8601\":\"2023-08-28T23:14:24.882664Z\",\"url\":\"https://files.pythonhosted.org/packages/82/db/ea7088c3ba71d9882a8d09d896d8529100f3103d1fe58ff4b890f9d616f1/agentops-0.0.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.20\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ad68d8cc6d631618e04ec6988d0c3f4462a74b0b5849719b8373c2470cf9d533\",\"md5\":\"09b2866043abc3e5cb5dfc17b80068cb\",\"sha256\":\"ba20fc48902434858f28e3c4a7febe56d275a28bd33378868e7fcde2f53f2430\"},\"downloads\":-1,\"filename\":\"agentops-0.0.20-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"09b2866043abc3e5cb5dfc17b80068cb\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18367,\"upload_time\":\"2024-01-25T07:12:48\",\"upload_time_iso_8601\":\"2024-01-25T07:12:48.514177Z\",\"url\":\"https://files.pythonhosted.org/packages/ad/68/d8cc6d631618e04ec6988d0c3f4462a74b0b5849719b8373c2470cf9d533/agentops-0.0.20-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0ba37435a8ce7125c7d75b931a373a188acf1c9e793be28db1b5c5e5a57d7a10\",\"md5\":\"fb700178ad44a4697b696ecbd28d115c\",\"sha256\":\"d50623b03b410c8c88718c29ea271304681e1305b5c05ba824edb92d18aab4f8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.20.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fb700178ad44a4697b696ecbd28d115c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19707,\"upload_time\":\"2024-01-25T07:12:49\",\"upload_time_iso_8601\":\"2024-01-25T07:12:49.915462Z\",\"url\":\"https://files.pythonhosted.org/packages/0b/a3/7435a8ce7125c7d75b931a373a188acf1c9e793be28db1b5c5e5a57d7a10/agentops-0.0.20.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.21\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9182ceb8c12e05c0e56ea6c5ba7395c57764ffc5a8134fd045b247793873c172\",\"md5\":\"ce428cf01a0c1066d3f1f3c8ca6b4f9b\",\"sha256\":\"fdefe50d945ad669b33c90bf526f9af0e7dc4792b4443aeb907b0a36de2be186\"},\"downloads\":-1,\"filename\":\"agentops-0.0.21-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ce428cf01a0c1066d3f1f3c8ca6b4f9b\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18483,\"upload_time\":\"2024-02-22T03:07:14\",\"upload_time_iso_8601\":\"2024-02-22T03:07:14.032143Z\",\"url\":\"https://files.pythonhosted.org/packages/91/82/ceb8c12e05c0e56ea6c5ba7395c57764ffc5a8134fd045b247793873c172/agentops-0.0.21-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"acbb361e3d7ed85fc4207ffbbe44ddfa7ee3b8f96b76c3712d4153d63ebb45e2\",\"md5\":\"360f00d330fa37ad10f687906e31e219\",\"sha256\":\"ec10f8e64c553a1c400f1d5c792c3daef383cd718747cabb8e5abc9ef685f25d\"},\"downloads\":-1,\"filename\":\"agentops-0.0.21.tar.gz\",\"has_sig\":false,\"md5_digest\":\"360f00d330fa37ad10f687906e31e219\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19787,\"upload_time\":\"2024-02-22T03:07:15\",\"upload_time_iso_8601\":\"2024-02-22T03:07:15.546312Z\",\"url\":\"https://files.pythonhosted.org/packages/ac/bb/361e3d7ed85fc4207ffbbe44ddfa7ee3b8f96b76c3712d4153d63ebb45e2/agentops-0.0.21.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.22\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b9da29a808d5bd3045f80b5652737e94695056b4a7cf7830ed7de037b1fe941c\",\"md5\":\"d9e04a68f0b143432b9e34341e4f0a17\",\"sha256\":\"fbcd962ff08a2e216637341c36c558be74368fbfda0b2408e55388e4c96474ca\"},\"downloads\":-1,\"filename\":\"agentops-0.0.22-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9e04a68f0b143432b9e34341e4f0a17\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":18485,\"upload_time\":\"2024-02-29T21:16:00\",\"upload_time_iso_8601\":\"2024-02-29T21:16:00.124986Z\",\"url\":\"https://files.pythonhosted.org/packages/b9/da/29a808d5bd3045f80b5652737e94695056b4a7cf7830ed7de037b1fe941c/agentops-0.0.22-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4d842d1c5d80c69e6c9b8f3fd925c2f2fd084ad6eb29d93fdeadbdeca79e5eda\",\"md5\":\"8f3b286fd01c2c43f7f7b1e4aebe3594\",\"sha256\":\"397544ce90474fee59f1e8561c92f4923e9034842be593f1ac41437c5fca5841\"},\"downloads\":-1,\"filename\":\"agentops-0.0.22.tar.gz\",\"has_sig\":false,\"md5_digest\":\"8f3b286fd01c2c43f7f7b1e4aebe3594\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":19784,\"upload_time\":\"2024-02-29T21:16:01\",\"upload_time_iso_8601\":\"2024-02-29T21:16:01.909583Z\",\"url\":\"https://files.pythonhosted.org/packages/4d/84/2d1c5d80c69e6c9b8f3fd925c2f2fd084ad6eb29d93fdeadbdeca79e5eda/agentops-0.0.22.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"324eda261865c2042eeb5da9827a350760e435896855d5480b8f3136212c3f65\",\"md5\":\"07a9f9f479a14e65b82054a145514e8d\",\"sha256\":\"35351701e3caab900243771bda19d6613bdcb84cc9ef2e1adde431a775c09af8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"07a9f9f479a14e65b82054a145514e8d\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":11872,\"upload_time\":\"2023-09-13T23:03:34\",\"upload_time_iso_8601\":\"2023-09-13T23:03:34.300564Z\",\"url\":\"https://files.pythonhosted.org/packages/32/4e/da261865c2042eeb5da9827a350760e435896855d5480b8f3136212c3f65/agentops-0.0.3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"643485e455d4f411b56bef2a99c40e32f35f456c93deda0a3915231f1da92e56\",\"md5\":\"c637ee3cfa358b65ed14cfc20d5f803f\",\"sha256\":\"45a57492e4072f3f27b5e851f6e501b54c796f6ace5f65ecf70e51dbe18ca1a8\"},\"downloads\":-1,\"filename\":\"agentops-0.0.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"c637ee3cfa358b65ed14cfc20d5f803f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":12455,\"upload_time\":\"2023-09-13T23:03:35\",\"upload_time_iso_8601\":\"2023-09-13T23:03:35.513682Z\",\"url\":\"https://files.pythonhosted.org/packages/64/34/85e455d4f411b56bef2a99c40e32f35f456c93deda0a3915231f1da92e56/agentops-0.0.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"20cc12cf2391854ed588eaf6cdc87f60048f84e8dc7d15792850b7e90a0406b8\",\"md5\":\"7a3c11004517e22dc7cde83cf6d8d5e8\",\"sha256\":\"5a5cdcbe6e32c59237521182b83768e650b4519416b42f4e13929a115a0f20ee\"},\"downloads\":-1,\"filename\":\"agentops-0.0.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7a3c11004517e22dc7cde83cf6d8d5e8\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":13520,\"upload_time\":\"2023-09-22T09:23:52\",\"upload_time_iso_8601\":\"2023-09-22T09:23:52.896099Z\",\"url\":\"https://files.pythonhosted.org/packages/20/cc/12cf2391854ed588eaf6cdc87f60048f84e8dc7d15792850b7e90a0406b8/agentops-0.0.4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"98d2d9f9932d17711dd5d98af674c868686bdbdd9aaae9b8d69e9eecfd4c68f4\",\"md5\":\"712d3bc3b28703963f8f398845b1d17a\",\"sha256\":\"97743c6420bc5ba2655ac690041d5f5732fb950130cf61ab25ef6d44be6ecfb2\"},\"downloads\":-1,\"filename\":\"agentops-0.0.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"712d3bc3b28703963f8f398845b1d17a\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14050,\"upload_time\":\"2023-09-22T09:23:54\",\"upload_time_iso_8601\":\"2023-09-22T09:23:54.315467Z\",\"url\":\"https://files.pythonhosted.org/packages/98/d2/d9f9932d17711dd5d98af674c868686bdbdd9aaae9b8d69e9eecfd4c68f4/agentops-0.0.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e900cd903074a01932ded9a05dac7849a16c5850ed20c027b954b1eccfba54c1\",\"md5\":\"1bd4fd6cca14dac4947ecc6c4e3fe0a1\",\"sha256\":\"e39e1051ba8c58f222f3495196eb939ccc53f04bd279372ae01e694973dd25d6\"},\"downloads\":-1,\"filename\":\"agentops-0.0.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"1bd4fd6cca14dac4947ecc6c4e3fe0a1\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14107,\"upload_time\":\"2023-10-07T00:22:48\",\"upload_time_iso_8601\":\"2023-10-07T00:22:48.714074Z\",\"url\":\"https://files.pythonhosted.org/packages/e9/00/cd903074a01932ded9a05dac7849a16c5850ed20c027b954b1eccfba54c1/agentops-0.0.5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"08d5c29068ce4df9c85865b45e1cdb7be1df06e54fce087fad18ec390a7aea54\",\"md5\":\"4d8fc5553e3199fe24d6118337884a2b\",\"sha256\":\"8f3662e600ba57e9a102c6bf86a6a1e16c0e53e1f38a84fa1b9c01cc07ca4990\"},\"downloads\":-1,\"filename\":\"agentops-0.0.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4d8fc5553e3199fe24d6118337884a2b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14724,\"upload_time\":\"2023-10-07T00:22:50\",\"upload_time_iso_8601\":\"2023-10-07T00:22:50.304226Z\",\"url\":\"https://files.pythonhosted.org/packages/08/d5/c29068ce4df9c85865b45e1cdb7be1df06e54fce087fad18ec390a7aea54/agentops-0.0.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2f5b5f3bd8a5b2d96b6417fd4a3fc72ed484e3a4ffacac49035f17bb8df1dd5b\",\"md5\":\"b7e701ff7953ecca01ceec3a6b9374b2\",\"sha256\":\"05dea1d06f8f8d06a8f460d18d302febe91f4dad2e3fc0088d05b7017765f3b6\"},\"downloads\":-1,\"filename\":\"agentops-0.0.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"b7e701ff7953ecca01ceec3a6b9374b2\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14236,\"upload_time\":\"2023-10-27T06:56:14\",\"upload_time_iso_8601\":\"2023-10-27T06:56:14.029277Z\",\"url\":\"https://files.pythonhosted.org/packages/2f/5b/5f3bd8a5b2d96b6417fd4a3fc72ed484e3a4ffacac49035f17bb8df1dd5b/agentops-0.0.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4af43743bf40518545c8906687038e5717b1bd33db7ba300a084ec4f6c9c59e0\",\"md5\":\"0a78dcafcbc6292cf0823181cdc226a7\",\"sha256\":\"0057cb5d6dc0dd2c444f3371faef40c844a1510700b31824a4fccf5302713361\"},\"downloads\":-1,\"filename\":\"agentops-0.0.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"0a78dcafcbc6292cf0823181cdc226a7\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14785,\"upload_time\":\"2023-10-27T06:56:15\",\"upload_time_iso_8601\":\"2023-10-27T06:56:15.069192Z\",\"url\":\"https://files.pythonhosted.org/packages/4a/f4/3743bf40518545c8906687038e5717b1bd33db7ba300a084ec4f6c9c59e0/agentops-0.0.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3cb1d15c39bbc95f66c64d01cca304f9b4b0c3503509ad92ef29f926c9163599\",\"md5\":\"f494f6c256899103a80666be68d136ad\",\"sha256\":\"6984429ca1a9013fd4386105516cb36a46dd7078f7ac81e0a4701f1700bd25b5\"},\"downloads\":-1,\"filename\":\"agentops-0.0.7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"f494f6c256899103a80666be68d136ad\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14370,\"upload_time\":\"2023-11-02T06:37:36\",\"upload_time_iso_8601\":\"2023-11-02T06:37:36.480189Z\",\"url\":\"https://files.pythonhosted.org/packages/3c/b1/d15c39bbc95f66c64d01cca304f9b4b0c3503509ad92ef29f926c9163599/agentops-0.0.7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ba709ae02fc635cab51b237dcc3657ec69aac61ee67ea5f903cfae07de19abc8\",\"md5\":\"b163eaaf9cbafbbd19ec3f91b2b56969\",\"sha256\":\"a6f36d94a82d8e481b406f040790cefd4d939f07108737c696327d97c0ccdaf4\"},\"downloads\":-1,\"filename\":\"agentops-0.0.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b163eaaf9cbafbbd19ec3f91b2b56969\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14895,\"upload_time\":\"2023-11-02T06:37:37\",\"upload_time_iso_8601\":\"2023-11-02T06:37:37.698159Z\",\"url\":\"https://files.pythonhosted.org/packages/ba/70/9ae02fc635cab51b237dcc3657ec69aac61ee67ea5f903cfae07de19abc8/agentops-0.0.7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.0.8\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8147fa3ee8807ad961aa50a773b6567e3a624000936d3cc1a578af72d83e02e7\",\"md5\":\"20cffb5534b4545fa1e8b24a6a24b1da\",\"sha256\":\"5d50b2ab18a203dbb4555a2cd482dae8df5bf2aa3e771a9758ee28b540330da3\"},\"downloads\":-1,\"filename\":\"agentops-0.0.8-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"20cffb5534b4545fa1e8b24a6a24b1da\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":14391,\"upload_time\":\"2023-11-23T06:17:56\",\"upload_time_iso_8601\":\"2023-11-23T06:17:56.154712Z\",\"url\":\"https://files.pythonhosted.org/packages/81/47/fa3ee8807ad961aa50a773b6567e3a624000936d3cc1a578af72d83e02e7/agentops-0.0.8-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"707473dc640a3fecfbe84ab7da230f7c862f72f231514a2a488b43a896146ed6\",\"md5\":\"bba7e74b58849f15d50f4e1270cbd23f\",\"sha256\":\"3a625d2acc922d99563ce71c5032b0b3b0db57d1c6fade319cf1bb636608eca0\"},\"downloads\":-1,\"filename\":\"agentops-0.0.8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"bba7e74b58849f15d50f4e1270cbd23f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":14775,\"upload_time\":\"2023-11-23T06:17:58\",\"upload_time_iso_8601\":\"2023-11-23T06:17:58.768877Z\",\"url\":\"https://files.pythonhosted.org/packages/70/74/73dc640a3fecfbe84ab7da230f7c862f72f231514a2a488b43a896146ed6/agentops-0.0.8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c2a41dc8456edc9bccc0c560967cfdce23a4d7ab8162946be288b54391d80f7c\",\"md5\":\"5fb09f82b7eeb270c6644dcd3656953f\",\"sha256\":\"b480fd51fbffc76ae13bb885c2adb1236a7d3b0095b4dafb4a992f6e25647433\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"5fb09f82b7eeb270c6644dcd3656953f\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25045,\"upload_time\":\"2024-04-03T02:01:56\",\"upload_time_iso_8601\":\"2024-04-03T02:01:56.936873Z\",\"url\":\"https://files.pythonhosted.org/packages/c2/a4/1dc8456edc9bccc0c560967cfdce23a4d7ab8162946be288b54391d80f7c/agentops-0.1.0-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a81756443f28de774cb7c863a2856e1b07658a9a772ba86dfb1cfbb19bc08fe3\",\"md5\":\"b93c602c1d1da5d8f7a2dcdaa70f8e21\",\"sha256\":\"22d3dc87dedf93b3b78a0dfdef8c685b2f3bff9fbab32016360e298a24d311dc\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b93c602c1d1da5d8f7a2dcdaa70f8e21\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24685,\"upload_time\":\"2024-04-03T02:01:58\",\"upload_time_iso_8601\":\"2024-04-03T02:01:58.623055Z\",\"url\":\"https://files.pythonhosted.org/packages/a8/17/56443f28de774cb7c863a2856e1b07658a9a772ba86dfb1cfbb19bc08fe3/agentops-0.1.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c03a329c59f001f50701e9e541775c79304a5ce4ffe34d717b1d2af555362e9e\",\"md5\":\"7c7e84b3b4448580bf5a7e9c08012477\",\"sha256\":\"825ab57ac5f7840f5a7f8ac195f4af75ec07a9c0972b17d1a57a595420d06208\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7c7e84b3b4448580bf5a7e9c08012477\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23258,\"upload_time\":\"2024-03-18T18:51:08\",\"upload_time_iso_8601\":\"2024-03-18T18:51:08.693772Z\",\"url\":\"https://files.pythonhosted.org/packages/c0/3a/329c59f001f50701e9e541775c79304a5ce4ffe34d717b1d2af555362e9e/agentops-0.1.0b1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"026ee44f1d5a49924867475f7d101abe40170c0674b4b395f28ce88552c1ba71\",\"md5\":\"9cf6699fe45f13f1893c8992405e7261\",\"sha256\":\"f5ce4b34999fe4b21a4ce3643980253d30f8ea9c55f01d96cd35631355fc7ac3\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9cf6699fe45f13f1893c8992405e7261\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23842,\"upload_time\":\"2024-03-18T18:51:10\",\"upload_time_iso_8601\":\"2024-03-18T18:51:10.250127Z\",\"url\":\"https://files.pythonhosted.org/packages/02/6e/e44f1d5a49924867475f7d101abe40170c0674b4b395f28ce88552c1ba71/agentops-0.1.0b1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6a25e9282f81c3f2615ef6543a0b5ca49dd14b03f311fc5a108ad1aff4f0b720\",\"md5\":\"1d3e736ef44c0ad8829c50f036ac807b\",\"sha256\":\"485362b9a68d2327da250f0681b30a9296f0b41e058672b023ae2a8ed924b4d3\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"1d3e736ef44c0ad8829c50f036ac807b\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23477,\"upload_time\":\"2024-03-21T23:31:20\",\"upload_time_iso_8601\":\"2024-03-21T23:31:20.022797Z\",\"url\":\"https://files.pythonhosted.org/packages/6a/25/e9282f81c3f2615ef6543a0b5ca49dd14b03f311fc5a108ad1aff4f0b720/agentops-0.1.0b2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3165f702684da6e01f8df74a4291be2914c382ec4cb6f8ed2c3dc6d5a9f177ff\",\"md5\":\"0d51a6f6bf7cb0d3651574404c9c703c\",\"sha256\":\"cf9a8b54cc4f76592b6380729c03ec7adfe2256e6b200876d7595e50015f5d62\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"0d51a6f6bf7cb0d3651574404c9c703c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23659,\"upload_time\":\"2024-03-21T23:31:21\",\"upload_time_iso_8601\":\"2024-03-21T23:31:21.330837Z\",\"url\":\"https://files.pythonhosted.org/packages/31/65/f702684da6e01f8df74a4291be2914c382ec4cb6f8ed2c3dc6d5a9f177ff/agentops-0.1.0b2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2e64bfe82911b8981ce57f86154915d53b45fffa83ccb9cd6cf4cc71af3f796b\",\"md5\":\"470bc56525c114dddd908628dcb4f267\",\"sha256\":\"45b5aaa9f38989cfbfcc4f64e3041050df6d417177874316839225085e60d18d\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"470bc56525c114dddd908628dcb4f267\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23522,\"upload_time\":\"2024-03-25T19:34:58\",\"upload_time_iso_8601\":\"2024-03-25T19:34:58.102867Z\",\"url\":\"https://files.pythonhosted.org/packages/2e/64/bfe82911b8981ce57f86154915d53b45fffa83ccb9cd6cf4cc71af3f796b/agentops-0.1.0b3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0858e4b718e30a6bbe27d32b7128398cb3884f83f89b4121e36cbb7f979466ca\",\"md5\":\"8ddb13824d3636d841739479e02a12e6\",\"sha256\":\"9020daab306fe8c7ed0a98a9edcad9772eb1df0eacce7f936a5ed6bf0f7d2af1\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"8ddb13824d3636d841739479e02a12e6\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23641,\"upload_time\":\"2024-03-25T19:35:01\",\"upload_time_iso_8601\":\"2024-03-25T19:35:01.119334Z\",\"url\":\"https://files.pythonhosted.org/packages/08/58/e4b718e30a6bbe27d32b7128398cb3884f83f89b4121e36cbb7f979466ca/agentops-0.1.0b3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"67f860440d18b674b06c5a9f4f334bf1f1656dca9f6763d5dd3a2be9e5d2c256\",\"md5\":\"b11f47108926fb46964bbf28675c3e35\",\"sha256\":\"93a1f241c3fd7880c3d29ab64baa0661d9ba84e2071092aecb3e4fc574037900\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"b11f47108926fb46964bbf28675c3e35\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":23512,\"upload_time\":\"2024-03-26T01:14:54\",\"upload_time_iso_8601\":\"2024-03-26T01:14:54.986869Z\",\"url\":\"https://files.pythonhosted.org/packages/67/f8/60440d18b674b06c5a9f4f334bf1f1656dca9f6763d5dd3a2be9e5d2c256/agentops-0.1.0b4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"10feabb836b04b7eae44383f5616ed1c4c6e9aee9beecc3df4617f69f7e3adc5\",\"md5\":\"fa4512f74baf9909544ebab021862740\",\"sha256\":\"4716b4e2a627d7a3846ddee3d334c8f5e8a1a2d231ec5286379c0f22920a2a9d\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fa4512f74baf9909544ebab021862740\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":23668,\"upload_time\":\"2024-03-26T01:14:56\",\"upload_time_iso_8601\":\"2024-03-26T01:14:56.921017Z\",\"url\":\"https://files.pythonhosted.org/packages/10/fe/abb836b04b7eae44383f5616ed1c4c6e9aee9beecc3df4617f69f7e3adc5/agentops-0.1.0b4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3ac591c14d08000def551f70ccc1da9ab8b37f57561d24cf7fdf6cd3547610ee\",\"md5\":\"52a2212b79870ee48f0dbdad852dbb90\",\"sha256\":\"ed050e51137baa4f46769c77595e1cbe212bb86243f27a29b50218782a0d8242\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"52a2212b79870ee48f0dbdad852dbb90\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":24597,\"upload_time\":\"2024-04-02T00:56:17\",\"upload_time_iso_8601\":\"2024-04-02T00:56:17.570921Z\",\"url\":\"https://files.pythonhosted.org/packages/3a/c5/91c14d08000def551f70ccc1da9ab8b37f57561d24cf7fdf6cd3547610ee/agentops-0.1.0b5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"84d6f0bbe5883b86e749f2f02896d94054ebd84b4d66524e4b7004263ae21a6f\",\"md5\":\"89c6aa7864f45c17f42a38bb6fae904b\",\"sha256\":\"6ebe6a94f0898fd47521755b6c8083c5f6c0c8bb30d43441200b9ef67998ed01\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"89c6aa7864f45c17f42a38bb6fae904b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24624,\"upload_time\":\"2024-04-02T00:56:18\",\"upload_time_iso_8601\":\"2024-04-02T00:56:18.703411Z\",\"url\":\"https://files.pythonhosted.org/packages/84/d6/f0bbe5883b86e749f2f02896d94054ebd84b4d66524e4b7004263ae21a6f/agentops-0.1.0b5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.0b7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3cc4ebdb56f0ff88ad20ddba765093aa6c1fc655a8f2bbafbcb2057f998d814f\",\"md5\":\"d117591df22735d1dedbdc034c93bff6\",\"sha256\":\"0d4fdb036836dddcce770cffcb2d564b0011a3307224d9a4675fc9bf80ffa5d2\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d117591df22735d1dedbdc034c93bff6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":24592,\"upload_time\":\"2024-04-02T03:20:11\",\"upload_time_iso_8601\":\"2024-04-02T03:20:11.132539Z\",\"url\":\"https://files.pythonhosted.org/packages/3c/c4/ebdb56f0ff88ad20ddba765093aa6c1fc655a8f2bbafbcb2057f998d814f/agentops-0.1.0b7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cbf0c32014a8ee12df4596ec4d90428e73e0cc5277d1b9bd2b53f815a7f0ea1f\",\"md5\":\"20364eb7d493e6f9b46666f36be8fb2f\",\"sha256\":\"938b29cd894ff38c7b1dee02f6422458702ccf8f3b69b69bc0e4220e42a33629\"},\"downloads\":-1,\"filename\":\"agentops-0.1.0b7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"20364eb7d493e6f9b46666f36be8fb2f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24611,\"upload_time\":\"2024-04-02T03:20:12\",\"upload_time_iso_8601\":\"2024-04-02T03:20:12.490524Z\",\"url\":\"https://files.pythonhosted.org/packages/cb/f0/c32014a8ee12df4596ec4d90428e73e0cc5277d1b9bd2b53f815a7f0ea1f/agentops-0.1.0b7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ba13ff18b4ff72805bcbe7437aa445cde854a44b4b358564ed2b044678e270b9\",\"md5\":\"d4f77de8dd58468c6c307e735c1cfaa9\",\"sha256\":\"8afc0b7871d17f8cbe9996cab5ca10a8a3ed33a3406e1ddc257fadc214daa79a\"},\"downloads\":-1,\"filename\":\"agentops-0.1.1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d4f77de8dd58468c6c307e735c1cfaa9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25189,\"upload_time\":\"2024-04-05T22:41:01\",\"upload_time_iso_8601\":\"2024-04-05T22:41:01.867983Z\",\"url\":\"https://files.pythonhosted.org/packages/ba/13/ff18b4ff72805bcbe7437aa445cde854a44b4b358564ed2b044678e270b9/agentops-0.1.1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1dec1d2af6e33dd097feaf1e41a4d34c66d4e4e59ce35c5efac85c18614b9d4b\",\"md5\":\"f072d8700d4e22fc25eae8bb29a54d1f\",\"sha256\":\"001582703d5e6ffe67a51f9d67a303b5344e4ef8ca315f24aa43e0dd3d19f53b\"},\"downloads\":-1,\"filename\":\"agentops-0.1.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f072d8700d4e22fc25eae8bb29a54d1f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24831,\"upload_time\":\"2024-04-05T22:41:03\",\"upload_time_iso_8601\":\"2024-04-05T22:41:03.677234Z\",\"url\":\"https://files.pythonhosted.org/packages/1d/ec/1d2af6e33dd097feaf1e41a4d34c66d4e4e59ce35c5efac85c18614b9d4b/agentops-0.1.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cdf9a295ed62701dd4e56d5b57e45e0425db2bcea992c687534c9a2dd1e001f1\",\"md5\":\"8d82b9cb794b4b4a1e91ddece5447bcf\",\"sha256\":\"8b80800d4fa5a7a6c85c79f2bf39a50fb446ab8b209519bd51f44dee3b38517e\"},\"downloads\":-1,\"filename\":\"agentops-0.1.10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8d82b9cb794b4b4a1e91ddece5447bcf\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":29769,\"upload_time\":\"2024-05-10T20:13:39\",\"upload_time_iso_8601\":\"2024-05-10T20:13:39.477237Z\",\"url\":\"https://files.pythonhosted.org/packages/cd/f9/a295ed62701dd4e56d5b57e45e0425db2bcea992c687534c9a2dd1e001f1/agentops-0.1.10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f3788e027be4aa50f677a46bba1e0132f021e90d299c6eae093181a91679e378\",\"md5\":\"4dd3d1fd8c08efb1a08ae212ed9211d7\",\"sha256\":\"73fbd36cd5f3052d22e64dbea1fa9d70fb02658a901a600101801daa73f359f9\"},\"downloads\":-1,\"filename\":\"agentops-0.1.10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4dd3d1fd8c08efb1a08ae212ed9211d7\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":30268,\"upload_time\":\"2024-05-10T20:14:25\",\"upload_time_iso_8601\":\"2024-05-10T20:14:25.258530Z\",\"url\":\"https://files.pythonhosted.org/packages/f3/78/8e027be4aa50f677a46bba1e0132f021e90d299c6eae093181a91679e378/agentops-0.1.10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1ebfaaa31babe3bf687312592f99fe900e3808058658577bd1367b7df0332a08\",\"md5\":\"73c0b028248665a7927688fb8baa7680\",\"sha256\":\"e9411981a5d0b1190b93e3e1124db3ac6f17015c65a84b92a793f34d79b694c9\"},\"downloads\":-1,\"filename\":\"agentops-0.1.11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"73c0b028248665a7927688fb8baa7680\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":30952,\"upload_time\":\"2024-05-17T00:32:49\",\"upload_time_iso_8601\":\"2024-05-17T00:32:49.202597Z\",\"url\":\"https://files.pythonhosted.org/packages/1e/bf/aaa31babe3bf687312592f99fe900e3808058658577bd1367b7df0332a08/agentops-0.1.11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6ee43f71a7d1d63595058cd6945e7b9e2de1b06ace04176a6723b7bfb37bf880\",\"md5\":\"36092e907e4f15a6bafd6788383df112\",\"sha256\":\"4a365ee56303b5b80d9de21fc13ccb7a3fe44544a6c165327bbfd9213bfe0191\"},\"downloads\":-1,\"filename\":\"agentops-0.1.11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"36092e907e4f15a6bafd6788383df112\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":31256,\"upload_time\":\"2024-05-17T00:32:50\",\"upload_time_iso_8601\":\"2024-05-17T00:32:50.919974Z\",\"url\":\"https://files.pythonhosted.org/packages/6e/e4/3f71a7d1d63595058cd6945e7b9e2de1b06ace04176a6723b7bfb37bf880/agentops-0.1.11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"67f5227dffbebeffd3b404db0dd71805f00814e458c0d081faf7a4e70c7e984f\",\"md5\":\"2591924de6f2e5580e4733b0e8336e2c\",\"sha256\":\"b4b47c990638b74810cc1c38624ada162094b46e3fdd63883642a16bc5258386\"},\"downloads\":-1,\"filename\":\"agentops-0.1.12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"2591924de6f2e5580e4733b0e8336e2c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":35605,\"upload_time\":\"2024-05-24T20:11:52\",\"upload_time_iso_8601\":\"2024-05-24T20:11:52.863109Z\",\"url\":\"https://files.pythonhosted.org/packages/67/f5/227dffbebeffd3b404db0dd71805f00814e458c0d081faf7a4e70c7e984f/agentops-0.1.12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9f9ae6dc42ad8d40ad47c6116629b2cbda443d314327ab4d33e1044cb75ba88b\",\"md5\":\"4c2e76e7b6d4799ef4b464dee29e7255\",\"sha256\":\"c4f762482fb240fc3503907f52498f2d8d9e4f80236ee4a12bf039317a85fcd7\"},\"downloads\":-1,\"filename\":\"agentops-0.1.12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"4c2e76e7b6d4799ef4b464dee29e7255\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":35103,\"upload_time\":\"2024-05-24T20:11:54\",\"upload_time_iso_8601\":\"2024-05-24T20:11:54.846567Z\",\"url\":\"https://files.pythonhosted.org/packages/9f/9a/e6dc42ad8d40ad47c6116629b2cbda443d314327ab4d33e1044cb75ba88b/agentops-0.1.12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e709193dfe68c2d23de2c60dd0af2af336cbf81d3a3f0c175705783b4c1da580\",\"md5\":\"588d9877b9767546606d3d6d76d247fc\",\"sha256\":\"ec79e56889eadd2bab04dfe2f6a899a1b90dc347a66cc80488297368386105b4\"},\"downloads\":-1,\"filename\":\"agentops-0.1.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"588d9877b9767546606d3d6d76d247fc\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25359,\"upload_time\":\"2024-04-09T23:00:51\",\"upload_time_iso_8601\":\"2024-04-09T23:00:51.897995Z\",\"url\":\"https://files.pythonhosted.org/packages/e7/09/193dfe68c2d23de2c60dd0af2af336cbf81d3a3f0c175705783b4c1da580/agentops-0.1.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8acc872aba374093481bb40ed6b7531b1500b00138baf6bfb9ca7c20fb889d58\",\"md5\":\"80f8f7c56b1e1a6ff4c48877fe12dd12\",\"sha256\":\"d213e1037d2d319743889c2bdbc10dc068b0591e2c6c156f69019302490336d5\"},\"downloads\":-1,\"filename\":\"agentops-0.1.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"80f8f7c56b1e1a6ff4c48877fe12dd12\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24968,\"upload_time\":\"2024-04-09T23:00:53\",\"upload_time_iso_8601\":\"2024-04-09T23:00:53.227389Z\",\"url\":\"https://files.pythonhosted.org/packages/8a/cc/872aba374093481bb40ed6b7531b1500b00138baf6bfb9ca7c20fb889d58/agentops-0.1.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9701aad65170506dcf29606e9e619d2c0caaee565e5e8b14a791c3e0e86c6356\",\"md5\":\"4dc967275c884e2a5a1de8df448ae1c6\",\"sha256\":\"f1ca0f2c5156d826381e9ebd634555215c67e1cb344683abddb382e594f483e4\"},\"downloads\":-1,\"filename\":\"agentops-0.1.3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"4dc967275c884e2a5a1de8df448ae1c6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25393,\"upload_time\":\"2024-04-09T23:24:20\",\"upload_time_iso_8601\":\"2024-04-09T23:24:20.821465Z\",\"url\":\"https://files.pythonhosted.org/packages/97/01/aad65170506dcf29606e9e619d2c0caaee565e5e8b14a791c3e0e86c6356/agentops-0.1.3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"5e22afde273bcf52cfc6581fba804b44eeebea6ff2ae774f0e5917fa1dd3ee09\",\"md5\":\"624c9b63dbe56c8b1dd535e1b20ada81\",\"sha256\":\"dd65e80ec70accfac0692171199b6ecfa37a7d109a3c25f2191c0934b5004114\"},\"downloads\":-1,\"filename\":\"agentops-0.1.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"624c9b63dbe56c8b1dd535e1b20ada81\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":24994,\"upload_time\":\"2024-04-09T23:24:22\",\"upload_time_iso_8601\":\"2024-04-09T23:24:22.610198Z\",\"url\":\"https://files.pythonhosted.org/packages/5e/22/afde273bcf52cfc6581fba804b44eeebea6ff2ae774f0e5917fa1dd3ee09/agentops-0.1.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"50313e20afb169e707941cc3342cecb88060aa8746e95d72a202fd90ac4096b6\",\"md5\":\"3f64b736522ea40c35db6d2a609fc54f\",\"sha256\":\"476a5e795a6cc87858a0885be61b1e05eed21e4c6ab47f20348c48717c2ac454\"},\"downloads\":-1,\"filename\":\"agentops-0.1.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"3f64b736522ea40c35db6d2a609fc54f\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25558,\"upload_time\":\"2024-04-11T19:26:01\",\"upload_time_iso_8601\":\"2024-04-11T19:26:01.162829Z\",\"url\":\"https://files.pythonhosted.org/packages/50/31/3e20afb169e707941cc3342cecb88060aa8746e95d72a202fd90ac4096b6/agentops-0.1.4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e0688b1a21f72b85c9bdd56da4223c991bdfb5d0c2accd9ddd326616bf952795\",\"md5\":\"6f4601047f3e2080b4f7363ff84f15f3\",\"sha256\":\"d55e64953f84654d44557b496a3b3744a20449b854af84fa83a15be75b362b3d\"},\"downloads\":-1,\"filename\":\"agentops-0.1.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"6f4601047f3e2080b4f7363ff84f15f3\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":25390,\"upload_time\":\"2024-04-11T19:26:02\",\"upload_time_iso_8601\":\"2024-04-11T19:26:02.991657Z\",\"url\":\"https://files.pythonhosted.org/packages/e0/68/8b1a21f72b85c9bdd56da4223c991bdfb5d0c2accd9ddd326616bf952795/agentops-0.1.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"641c742793fa77c803e5667830ccd34b8d313d11f361a105fe92ce68d871cc5f\",\"md5\":\"964421a604c67c07b5c72b70ceee6ce8\",\"sha256\":\"bc65dd4cd85d1ffcba195f2490b5a4380d0b565dd0f4a71ecc64ed96a7fe1eee\"},\"downloads\":-1,\"filename\":\"agentops-0.1.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"964421a604c67c07b5c72b70ceee6ce8\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":25793,\"upload_time\":\"2024-04-20T01:56:23\",\"upload_time_iso_8601\":\"2024-04-20T01:56:23.089343Z\",\"url\":\"https://files.pythonhosted.org/packages/64/1c/742793fa77c803e5667830ccd34b8d313d11f361a105fe92ce68d871cc5f/agentops-0.1.5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"62beabcb235daf34d4740961c4ad295b8dfb8a053ac6a1e341394e36f722ea89\",\"md5\":\"3ff7fa3135bc5c4254aaa99e3cc00dc8\",\"sha256\":\"17f0a573362d9c4770846874a4091662304d6889e21ca6a7dd747be48b9c8597\"},\"downloads\":-1,\"filename\":\"agentops-0.1.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"3ff7fa3135bc5c4254aaa99e3cc00dc8\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":25664,\"upload_time\":\"2024-04-20T01:56:24\",\"upload_time_iso_8601\":\"2024-04-20T01:56:24.303013Z\",\"url\":\"https://files.pythonhosted.org/packages/62/be/abcb235daf34d4740961c4ad295b8dfb8a053ac6a1e341394e36f722ea89/agentops-0.1.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"430b9f3fcfc2f9778dbbfc1fd68b223e9a91938505ef987e17b93a631bb6b2e4\",\"md5\":\"28ce2e6aa7a4598fa1e764d9762fd030\",\"sha256\":\"9dff841ef71f5fad2d897012a00f50011a706970e0e5eaae9d7b0540a637b128\"},\"downloads\":-1,\"filename\":\"agentops-0.1.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"28ce2e6aa7a4598fa1e764d9762fd030\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":26154,\"upload_time\":\"2024-04-20T03:48:58\",\"upload_time_iso_8601\":\"2024-04-20T03:48:58.494391Z\",\"url\":\"https://files.pythonhosted.org/packages/43/0b/9f3fcfc2f9778dbbfc1fd68b223e9a91938505ef987e17b93a631bb6b2e4/agentops-0.1.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a6c2b437246ce28bad9c2bbad9a9371f7008f76a979fb19699588212f653daf9\",\"md5\":\"fc81fd641ad630a17191d4a9cf77193b\",\"sha256\":\"48ddb49fc01eb83ce151d3f08ae670b3d603c454aa35b4ea145f2dc15e081b36\"},\"downloads\":-1,\"filename\":\"agentops-0.1.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"fc81fd641ad630a17191d4a9cf77193b\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":25792,\"upload_time\":\"2024-04-20T03:48:59\",\"upload_time_iso_8601\":\"2024-04-20T03:48:59.957150Z\",\"url\":\"https://files.pythonhosted.org/packages/a6/c2/b437246ce28bad9c2bbad9a9371f7008f76a979fb19699588212f653daf9/agentops-0.1.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1ca529570477f62973c6b835e09dc5bbda7498c1a26ba7a428cdb08a71ae86ca\",\"md5\":\"a1962d1bb72c6fd00e67e83fe56a3692\",\"sha256\":\"ce7a9e89dcf17507ee6db85017bef8f87fc4e8a23745f3f73e1fbda5489fb6f9\"},\"downloads\":-1,\"filename\":\"agentops-0.1.7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a1962d1bb72c6fd00e67e83fe56a3692\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.10\",\"size\":27891,\"upload_time\":\"2024-05-03T19:21:38\",\"upload_time_iso_8601\":\"2024-05-03T19:21:38.018602Z\",\"url\":\"https://files.pythonhosted.org/packages/1c/a5/29570477f62973c6b835e09dc5bbda7498c1a26ba7a428cdb08a71ae86ca/agentops-0.1.7-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Introduced + breaking bug\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b2447ce75e71fcc9605a609b41adc52d517eba4356d15f7ca77d46f683ca07f1\",\"md5\":\"9a9bb22af4b30c454d46b9a01e8701a0\",\"sha256\":\"70d22e9a71ea13af6e6ad9c1cffe63c98f9dbccf91bda199825609379b2babaf\"},\"downloads\":-1,\"filename\":\"agentops-0.1.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9a9bb22af4b30c454d46b9a01e8701a0\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.10\",\"size\":28122,\"upload_time\":\"2024-05-03T19:21:39\",\"upload_time_iso_8601\":\"2024-05-03T19:21:39.415523Z\",\"url\":\"https://files.pythonhosted.org/packages/b2/44/7ce75e71fcc9605a609b41adc52d517eba4356d15f7ca77d46f683ca07f1/agentops-0.1.7.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Introduced + breaking bug\"}],\"0.1.8\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"38c63d0d19eeae4c3c9e3ff5957b10c3c16a4a9fd2be6673fbfc965f8bb4fd08\",\"md5\":\"e12d3d92f51f5b2fed11a01742e5b5b5\",\"sha256\":\"d49d113028a891d50900bb4fae253218cc49519f7fe39f9ea15f8f2b29d6d7ef\"},\"downloads\":-1,\"filename\":\"agentops-0.1.8-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"e12d3d92f51f5b2fed11a01742e5b5b5\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.10\",\"size\":27977,\"upload_time\":\"2024-05-04T03:01:53\",\"upload_time_iso_8601\":\"2024-05-04T03:01:53.905081Z\",\"url\":\"https://files.pythonhosted.org/packages/38/c6/3d0d19eeae4c3c9e3ff5957b10c3c16a4a9fd2be6673fbfc965f8bb4fd08/agentops-0.1.8-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9269e51fa1714f169f692e4fad0a42ebeb77c7a27c48f62b751c869ad6441c69\",\"md5\":\"07dbdb45f9ec086b1bc314d6a8264423\",\"sha256\":\"5762137a84e2309e1b6ca9a0fd72c8b72c90f6f73ba49549980722221960cac8\"},\"downloads\":-1,\"filename\":\"agentops-0.1.8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"07dbdb45f9ec086b1bc314d6a8264423\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.10\",\"size\":28189,\"upload_time\":\"2024-05-04T03:01:55\",\"upload_time_iso_8601\":\"2024-05-04T03:01:55.328668Z\",\"url\":\"https://files.pythonhosted.org/packages/92/69/e51fa1714f169f692e4fad0a42ebeb77c7a27c48f62b751c869ad6441c69/agentops-0.1.8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.1.9\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"eb5a920e71729bd1f06b002ee146b38b0d1862357a1f484628e6b20a7d3dcca1\",\"md5\":\"6ae4929d91c4bb8025edc86b5322630c\",\"sha256\":\"af7983ba4929b04a34714dd97d7e82c11384ebbe9d7d8bc7b673e1263c4c79a1\"},\"downloads\":-1,\"filename\":\"agentops-0.1.9-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"6ae4929d91c4bb8025edc86b5322630c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":28458,\"upload_time\":\"2024-05-07T07:07:30\",\"upload_time_iso_8601\":\"2024-05-07T07:07:30.798380Z\",\"url\":\"https://files.pythonhosted.org/packages/eb/5a/920e71729bd1f06b002ee146b38b0d1862357a1f484628e6b20a7d3dcca1/agentops-0.1.9-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"df2b8fc76d629d8a83b0796612a27b966426550114c930eee5d730654fcd9fe9\",\"md5\":\"43090632f87cd398ed77b57daa8c28d6\",\"sha256\":\"7f428bfda2db57a994029b1c9f72b63ca7660616635c9c671b2b729d112a833e\"},\"downloads\":-1,\"filename\":\"agentops-0.1.9.tar.gz\",\"has_sig\":false,\"md5_digest\":\"43090632f87cd398ed77b57daa8c28d6\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":28596,\"upload_time\":\"2024-05-07T07:07:35\",\"upload_time_iso_8601\":\"2024-05-07T07:07:35.242350Z\",\"url\":\"https://files.pythonhosted.org/packages/df/2b/8fc76d629d8a83b0796612a27b966426550114c930eee5d730654fcd9fe9/agentops-0.1.9.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.0\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"483560ec38a81a7e9588d32730ed4f581621169216f968771d5f611388f68a9b\",\"md5\":\"bdda5480977cccd55628e117e8c8da04\",\"sha256\":\"bee84bf046c9b4346c5f0f50e2087a992e8d2eae80b3fe9f01c456b49c299bcc\"},\"downloads\":-1,\"filename\":\"agentops-0.2.0-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"bdda5480977cccd55628e117e8c8da04\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":35921,\"upload_time\":\"2024-05-28T22:04:14\",\"upload_time_iso_8601\":\"2024-05-28T22:04:14.813154Z\",\"url\":\"https://files.pythonhosted.org/packages/48/35/60ec38a81a7e9588d32730ed4f581621169216f968771d5f611388f68a9b/agentops-0.2.0-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8d7591c79141d31da4e56d6c6a00737b50dcc2f1ce8a711c1293d2a1d70478fc\",\"md5\":\"71e3c3b9fe0286c9b58d81ba1c12a42d\",\"sha256\":\"ca340136abff6a3727729c3eda87f0768e5ba2b672ce03320cb52ad138b05598\"},\"downloads\":-1,\"filename\":\"agentops-0.2.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"71e3c3b9fe0286c9b58d81ba1c12a42d\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":35498,\"upload_time\":\"2024-05-28T22:04:16\",\"upload_time_iso_8601\":\"2024-05-28T22:04:16.598374Z\",\"url\":\"https://files.pythonhosted.org/packages/8d/75/91c79141d31da4e56d6c6a00737b50dcc2f1ce8a711c1293d2a1d70478fc/agentops-0.2.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"fa3b84032b7dca3d7315b329db6681bbfe0872c2a46d62ca992a05f2d6a078e1\",\"md5\":\"ce3fc46711fa8225a3d6a9566f95f875\",\"sha256\":\"7dde95db92c8306c0a17e193bfb5ee20e71e16630ccc629db685e148b3aca3f6\"},\"downloads\":-1,\"filename\":\"agentops-0.2.1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ce3fc46711fa8225a3d6a9566f95f875\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":36375,\"upload_time\":\"2024-06-03T18:40:02\",\"upload_time_iso_8601\":\"2024-06-03T18:40:02.820700Z\",\"url\":\"https://files.pythonhosted.org/packages/fa/3b/84032b7dca3d7315b329db6681bbfe0872c2a46d62ca992a05f2d6a078e1/agentops-0.2.1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d6286ad330da5736588a54575fde95502006da58c3e9f4f15933f5876c1e1482\",\"md5\":\"faa972c26a3e59fb6ca04f253165da22\",\"sha256\":\"9f18a36a79c04e9c06f6e96aefe75f0fb1d08e562873315d6cb945488306e515\"},\"downloads\":-1,\"filename\":\"agentops-0.2.1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"faa972c26a3e59fb6ca04f253165da22\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":35784,\"upload_time\":\"2024-06-03T18:40:05\",\"upload_time_iso_8601\":\"2024-06-03T18:40:05.431174Z\",\"url\":\"https://files.pythonhosted.org/packages/d6/28/6ad330da5736588a54575fde95502006da58c3e9f4f15933f5876c1e1482/agentops-0.2.1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"fbe73a57dd30e354b7bcc5a86908fc92aa16378035c69eb225ce254387940b5d\",\"md5\":\"c24e4656bb6de14ffb9d810fe7872829\",\"sha256\":\"57aab8a5d76a0dd7b1f0b14e90e778c42444eeaf5c48f2f387719735d7d840ee\"},\"downloads\":-1,\"filename\":\"agentops-0.2.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c24e4656bb6de14ffb9d810fe7872829\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":36588,\"upload_time\":\"2024-06-05T19:30:29\",\"upload_time_iso_8601\":\"2024-06-05T19:30:29.208415Z\",\"url\":\"https://files.pythonhosted.org/packages/fb/e7/3a57dd30e354b7bcc5a86908fc92aa16378035c69eb225ce254387940b5d/agentops-0.2.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"89c51cbd038b9d2898b7f1b05943c338aa4aa9654d7e7763d8fa8d73a25fbfb6\",\"md5\":\"401bfce001638cc26d7975f6534b5bab\",\"sha256\":\"d4135c96ad7ec39c81015b3e33dfa977d2d846a685aba0d1922d2d6e3dca7fff\"},\"downloads\":-1,\"filename\":\"agentops-0.2.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"401bfce001638cc26d7975f6534b5bab\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":36012,\"upload_time\":\"2024-06-05T19:30:31\",\"upload_time_iso_8601\":\"2024-06-05T19:30:31.173781Z\",\"url\":\"https://files.pythonhosted.org/packages/89/c5/1cbd038b9d2898b7f1b05943c338aa4aa9654d7e7763d8fa8d73a25fbfb6/agentops-0.2.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.3\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b66fb36e2bb7158f45b6c496ce3cec50ef861e130cfa3ec8c62e709d63fa9e94\",\"md5\":\"b3f6a8d97cc0129a9e4730b7810509c6\",\"sha256\":\"a1829a21301223c26464cbc9da5bfba2f3750e21238912ee1d2f3097c358859a\"},\"downloads\":-1,\"filename\":\"agentops-0.2.3-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"b3f6a8d97cc0129a9e4730b7810509c6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":36986,\"upload_time\":\"2024-06-13T19:56:33\",\"upload_time_iso_8601\":\"2024-06-13T19:56:33.675807Z\",\"url\":\"https://files.pythonhosted.org/packages/b6/6f/b36e2bb7158f45b6c496ce3cec50ef861e130cfa3ec8c62e709d63fa9e94/agentops-0.2.3-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f4d34aed81a4ec4251131b94fb8ed4edf0823922bfda66ba0e4c43d9452111d2\",\"md5\":\"466abe04d466a950d4bcebbe9c3ccc27\",\"sha256\":\"b502b83bb4954386a28c4304028ba8cd2b45303f7e1f84720477b521267a3b4e\"},\"downloads\":-1,\"filename\":\"agentops-0.2.3.tar.gz\",\"has_sig\":false,\"md5_digest\":\"466abe04d466a950d4bcebbe9c3ccc27\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37024,\"upload_time\":\"2024-06-13T19:56:35\",\"upload_time_iso_8601\":\"2024-06-13T19:56:35.481794Z\",\"url\":\"https://files.pythonhosted.org/packages/f4/d3/4aed81a4ec4251131b94fb8ed4edf0823922bfda66ba0e4c43d9452111d2/agentops-0.2.3.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a4d4e91fb66bc2eb7effb53f7d9481da04e60809d10240306452a8307aca7985\",\"md5\":\"f1ba1befb6bd854d5fd6f670937dcb55\",\"sha256\":\"96162c28cc0391011c04e654273e5a96ec4dcf015e27a7ac12a1ea4077d38950\"},\"downloads\":-1,\"filename\":\"agentops-0.2.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"f1ba1befb6bd854d5fd6f670937dcb55\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":37518,\"upload_time\":\"2024-06-24T19:31:58\",\"upload_time_iso_8601\":\"2024-06-24T19:31:58.838680Z\",\"url\":\"https://files.pythonhosted.org/packages/a4/d4/e91fb66bc2eb7effb53f7d9481da04e60809d10240306452a8307aca7985/agentops-0.2.4-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Potential + breaking change\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8e4b920629e08c956cdc74a31ab466d005eb13d86c2d58fa2d2bd261cf36c37b\",\"md5\":\"527c82f21f01f13b879a1fca90ddb209\",\"sha256\":\"d263de21eb40e15eb17adc31821fc0dee4ff4ca4501a9feb7ed376d473063208\"},\"downloads\":-1,\"filename\":\"agentops-0.2.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"527c82f21f01f13b879a1fca90ddb209\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37656,\"upload_time\":\"2024-06-24T19:32:01\",\"upload_time_iso_8601\":\"2024-06-24T19:32:01.155014Z\",\"url\":\"https://files.pythonhosted.org/packages/8e/4b/920629e08c956cdc74a31ab466d005eb13d86c2d58fa2d2bd261cf36c37b/agentops-0.2.4.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Potential + breaking change\"}],\"0.2.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"47c73ab9d7d971b664a9bdff6e6464afb6c1de8eb0f845d8de93eb036d5dcc60\",\"md5\":\"bed576cc1591da4783777920fb223761\",\"sha256\":\"ff87b82d1efaf50b10624e00c6e9334f4c16ffe08ec7f9889b4417c231c31471\"},\"downloads\":-1,\"filename\":\"agentops-0.2.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"bed576cc1591da4783777920fb223761\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":37529,\"upload_time\":\"2024-06-26T22:57:15\",\"upload_time_iso_8601\":\"2024-06-26T22:57:15.646328Z\",\"url\":\"https://files.pythonhosted.org/packages/47/c7/3ab9d7d971b664a9bdff6e6464afb6c1de8eb0f845d8de93eb036d5dcc60/agentops-0.2.5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"31c48f2af30ae75dbdb4697506f80f76ce786f79014deb8c6679fa62962fdd6f\",\"md5\":\"42def99798edfaf201fa6f62846e77c5\",\"sha256\":\"6bad7aca37af6174307769550a53ec00824049a57e97b8868a9a213b2272adb4\"},\"downloads\":-1,\"filename\":\"agentops-0.2.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"42def99798edfaf201fa6f62846e77c5\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37703,\"upload_time\":\"2024-06-26T22:57:17\",\"upload_time_iso_8601\":\"2024-06-26T22:57:17.337904Z\",\"url\":\"https://files.pythonhosted.org/packages/31/c4/8f2af30ae75dbdb4697506f80f76ce786f79014deb8c6679fa62962fdd6f/agentops-0.2.5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.2.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"5af2f90538b00d887c04a5570e8a3af4aef27a600a67c058a0ee6befafd60748\",\"md5\":\"8ef3ed13ed582346b71648ca9df30f7c\",\"sha256\":\"59e88000a9f108931fd68056f22def7a7f4b3015906de5791e777c23ba7dee52\"},\"downloads\":-1,\"filename\":\"agentops-0.2.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8ef3ed13ed582346b71648ca9df30f7c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":37534,\"upload_time\":\"2024-06-28T21:41:56\",\"upload_time_iso_8601\":\"2024-06-28T21:41:56.933334Z\",\"url\":\"https://files.pythonhosted.org/packages/5a/f2/f90538b00d887c04a5570e8a3af4aef27a600a67c058a0ee6befafd60748/agentops-0.2.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"bcf412c388dccc301ad54a501843ba5b5dd359575dcef9ac24c18a619a32214d\",\"md5\":\"89a6b04f12801682b53ee0133593ce74\",\"sha256\":\"7906a08c9154355484deb173b82631f9acddec3775b2d5e8ca946abdee27183b\"},\"downloads\":-1,\"filename\":\"agentops-0.2.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"89a6b04f12801682b53ee0133593ce74\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":37874,\"upload_time\":\"2024-06-28T21:41:59\",\"upload_time_iso_8601\":\"2024-06-28T21:41:59.143953Z\",\"url\":\"https://files.pythonhosted.org/packages/bc/f4/12c388dccc301ad54a501843ba5b5dd359575dcef9ac24c18a619a32214d/agentops-0.2.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.0\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b8e996f12ac457f46c370c6f70f344e975d534f2c92853703ee29802f0127024\",\"md5\":\"d9c6995a843b49ac7eb6f500fa1f3c2a\",\"sha256\":\"22aeb3355e66b32a2b2a9f676048b81979b2488feddb088f9266034b3ed50539\"},\"downloads\":-1,\"filename\":\"agentops-0.3.0-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9c6995a843b49ac7eb6f500fa1f3c2a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39430,\"upload_time\":\"2024-07-17T18:38:24\",\"upload_time_iso_8601\":\"2024-07-17T18:38:24.763919Z\",\"url\":\"https://files.pythonhosted.org/packages/b8/e9/96f12ac457f46c370c6f70f344e975d534f2c92853703ee29802f0127024/agentops-0.3.0-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7e2d6fda9613562c0394d7ef3dd8f0cb9fc4ebaa8d413862fce33940c73564d6\",\"md5\":\"8fa67ca01ca726e3bfcd66898313f33f\",\"sha256\":\"6c0c08a57410fa5e826a7bafa1deeba9f7b3524709427d9e1abbd0964caaf76b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.0.tar.gz\",\"has_sig\":false,\"md5_digest\":\"8fa67ca01ca726e3bfcd66898313f33f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":41734,\"upload_time\":\"2024-07-17T18:38:26\",\"upload_time_iso_8601\":\"2024-07-17T18:38:26.447237Z\",\"url\":\"https://files.pythonhosted.org/packages/7e/2d/6fda9613562c0394d7ef3dd8f0cb9fc4ebaa8d413862fce33940c73564d6/agentops-0.3.0.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"eb5e3ac36b33d3e95747d64effd509f66a9b3b76b47216b16f492e27d8d90b0c\",\"md5\":\"6fade0b81fc65b2c79a869b5f240590b\",\"sha256\":\"b304d366691281e08c1f02307aabdd551ae4f68b0de82bbbb4cf6f651af2dd16\"},\"downloads\":-1,\"filename\":\"agentops-0.3.10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"6fade0b81fc65b2c79a869b5f240590b\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":41201,\"upload_time\":\"2024-08-19T20:51:49\",\"upload_time_iso_8601\":\"2024-08-19T20:51:49.487947Z\",\"url\":\"https://files.pythonhosted.org/packages/eb/5e/3ac36b33d3e95747d64effd509f66a9b3b76b47216b16f492e27d8d90b0c/agentops-0.3.10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8367ca0cb01df6b529f0127d23ec661e92c95ff68faf544439d86ec2331f3a52\",\"md5\":\"639da9c2a3381cb3f62812bfe48a5e57\",\"sha256\":\"40f895019f29bc5a6c023110cbec32870e5edb3e3926f8100974db8d3e299e2a\"},\"downloads\":-1,\"filename\":\"agentops-0.3.10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"639da9c2a3381cb3f62812bfe48a5e57\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":45332,\"upload_time\":\"2024-08-19T20:51:50\",\"upload_time_iso_8601\":\"2024-08-19T20:51:50.714217Z\",\"url\":\"https://files.pythonhosted.org/packages/83/67/ca0cb01df6b529f0127d23ec661e92c95ff68faf544439d86ec2331f3a52/agentops-0.3.10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0b078e6a74f084463def9d79d2c84d79475adc0229bbfb2e57401b0616ba6d6a\",\"md5\":\"e760d867d9431d1bc13798024237ab99\",\"sha256\":\"75fe10b8fc86c7f5c2633139ac1c06959611f22434fc1aaa8688c3c223fde8b5\"},\"downloads\":-1,\"filename\":\"agentops-0.3.11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"e760d867d9431d1bc13798024237ab99\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50252,\"upload_time\":\"2024-09-17T21:57:23\",\"upload_time_iso_8601\":\"2024-09-17T21:57:23.085964Z\",\"url\":\"https://files.pythonhosted.org/packages/0b/07/8e6a74f084463def9d79d2c84d79475adc0229bbfb2e57401b0616ba6d6a/agentops-0.3.11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3746057c552ea7ded5c954bdcbaf8a7dca07b6109633e040bf33de5f97a1289b\",\"md5\":\"3b661fb76d343ec3bdef5b70fc9e5cc3\",\"sha256\":\"38a2ffeeac1d722cb72c32d70e1c840424902b57934c647ef10de15478fe8f27\"},\"downloads\":-1,\"filename\":\"agentops-0.3.11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"3b661fb76d343ec3bdef5b70fc9e5cc3\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48018,\"upload_time\":\"2024-09-17T21:57:24\",\"upload_time_iso_8601\":\"2024-09-17T21:57:24.699442Z\",\"url\":\"https://files.pythonhosted.org/packages/37/46/057c552ea7ded5c954bdcbaf8a7dca07b6109633e040bf33de5f97a1289b/agentops-0.3.11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"ac0a9004d7a8c2865ed804ddd6968095ef100ac554bc51ada7a2f3c0b4e9142b\",\"md5\":\"be18cdad4333c6013d9584b84b4c7875\",\"sha256\":\"4767def30de5dd97397728efcb50398a4f6d6823c1b534846f0a9b0cb85a6d45\"},\"downloads\":-1,\"filename\":\"agentops-0.3.12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"be18cdad4333c6013d9584b84b4c7875\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50794,\"upload_time\":\"2024-09-23T19:30:49\",\"upload_time_iso_8601\":\"2024-09-23T19:30:49.050650Z\",\"url\":\"https://files.pythonhosted.org/packages/ac/0a/9004d7a8c2865ed804ddd6968095ef100ac554bc51ada7a2f3c0b4e9142b/agentops-0.3.12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2c6d4f640d9fadd22f8cd7cb9857eed1f56d422f11b130ba226b947454eb0f0b\",\"md5\":\"91aa981d4199ac73b4d7407547667e2f\",\"sha256\":\"11ce3048656b5d146d02a4890dd50c8d2801ca5ad5caccab17d573cd8eea6e83\"},\"downloads\":-1,\"filename\":\"agentops-0.3.12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"91aa981d4199ac73b4d7407547667e2f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48525,\"upload_time\":\"2024-09-23T19:30:50\",\"upload_time_iso_8601\":\"2024-09-23T19:30:50.568151Z\",\"url\":\"https://files.pythonhosted.org/packages/2c/6d/4f640d9fadd22f8cd7cb9857eed1f56d422f11b130ba226b947454eb0f0b/agentops-0.3.12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.13\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"68efa3b8adc0de2e7daa1e6e2734af9a0e37c90e3346b8a804e3fdc322c82b6c\",\"md5\":\"948e9278dfc02e1a6ba2ec563296779a\",\"sha256\":\"81bfdfedd990fbc3064ee42a67422ddbee07b6cd96c5fca7e124eb8c1e0cebdc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.13-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"948e9278dfc02e1a6ba2ec563296779a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50813,\"upload_time\":\"2024-10-02T18:32:59\",\"upload_time_iso_8601\":\"2024-10-02T18:32:59.208892Z\",\"url\":\"https://files.pythonhosted.org/packages/68/ef/a3b8adc0de2e7daa1e6e2734af9a0e37c90e3346b8a804e3fdc322c82b6c/agentops-0.3.13-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"3511fb06b4cee96285a5f745809d0f4efddef70d2a82112a633ed53834d6fc64\",\"md5\":\"27a923eaceb4ae35abe2cf1aed1b8241\",\"sha256\":\"319b7325fb79004ce996191aa21f0982489be22cc1acc2f3f6d02cdff1db2429\"},\"downloads\":-1,\"filename\":\"agentops-0.3.13.tar.gz\",\"has_sig\":false,\"md5_digest\":\"27a923eaceb4ae35abe2cf1aed1b8241\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48559,\"upload_time\":\"2024-10-02T18:33:00\",\"upload_time_iso_8601\":\"2024-10-02T18:33:00.614409Z\",\"url\":\"https://files.pythonhosted.org/packages/35/11/fb06b4cee96285a5f745809d0f4efddef70d2a82112a633ed53834d6fc64/agentops-0.3.13.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.14\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"1c2775ab5bf99341a6a02775e3858f54a18cbcda0f35b5c6c0f114a829d62b8e\",\"md5\":\"ad2d676d293c4baa1f9afecc61654e50\",\"sha256\":\"f4a2fcf1a7caf1d5383bfb66d8a9d567f3cb88fc7495cfd81ade167b0c06a4ea\"},\"downloads\":-1,\"filename\":\"agentops-0.3.14-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"ad2d676d293c4baa1f9afecc61654e50\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50825,\"upload_time\":\"2024-10-14T23:53:48\",\"upload_time_iso_8601\":\"2024-10-14T23:53:48.464714Z\",\"url\":\"https://files.pythonhosted.org/packages/1c/27/75ab5bf99341a6a02775e3858f54a18cbcda0f35b5c6c0f114a829d62b8e/agentops-0.3.14-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"46cb183fdaf40ae97ac1806ba91f6f23d55dc0a1a5cdf0881a5c834c8ca7175a\",\"md5\":\"b90053253770c8e1c385b18e7172d58f\",\"sha256\":\"fcb515e5743d73efee851b687692bed74797dc88e29a8327b2bbfb21d73a7447\"},\"downloads\":-1,\"filename\":\"agentops-0.3.14.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b90053253770c8e1c385b18e7172d58f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48548,\"upload_time\":\"2024-10-14T23:53:50\",\"upload_time_iso_8601\":\"2024-10-14T23:53:50.306080Z\",\"url\":\"https://files.pythonhosted.org/packages/46/cb/183fdaf40ae97ac1806ba91f6f23d55dc0a1a5cdf0881a5c834c8ca7175a/agentops-0.3.14.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.15\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"eadebed95f173bd304abe219b2b0a6f4e1f8e38b6733b19f2444a30fe2e731e1\",\"md5\":\"7a46ccd127ffcd52eff26edaf5721bd9\",\"sha256\":\"d5617108bbd9871a4250415f4e536ba33c2a6a2d2bec9342046303fb9e839f9d\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7a46ccd127ffcd52eff26edaf5721bd9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":55349,\"upload_time\":\"2024-11-09T01:18:40\",\"upload_time_iso_8601\":\"2024-11-09T01:18:40.622134Z\",\"url\":\"https://files.pythonhosted.org/packages/ea/de/bed95f173bd304abe219b2b0a6f4e1f8e38b6733b19f2444a30fe2e731e1/agentops-0.3.15-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"33a40ef511dc3f23bba2d345b464223b1e7acc3c2a29230a93abb8fbcb6faebf\",\"md5\":\"7af7abcf01e8d3ef64ac287e9300528f\",\"sha256\":\"4358f85929d55929002cae589323d36b68fc4d12d0ea5010a80bfc4c7addc0ec\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15.tar.gz\",\"has_sig\":false,\"md5_digest\":\"7af7abcf01e8d3ef64ac287e9300528f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":51296,\"upload_time\":\"2024-11-09T01:18:42\",\"upload_time_iso_8601\":\"2024-11-09T01:18:42.358185Z\",\"url\":\"https://files.pythonhosted.org/packages/33/a4/0ef511dc3f23bba2d345b464223b1e7acc3c2a29230a93abb8fbcb6faebf/agentops-0.3.15.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.15rc1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"0978ac2f89ccb7b3a31742f5b70434953faff168da6cab67c0836f432919c762\",\"md5\":\"7f805adf76594ac4bc169b1a111817f4\",\"sha256\":\"86069387a265bc6c5fa00ffbb3f8a131254a51ee3a9b8b35af4aca823dee76f1\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15rc1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"7f805adf76594ac4bc169b1a111817f4\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":50798,\"upload_time\":\"2024-10-31T04:36:11\",\"upload_time_iso_8601\":\"2024-10-31T04:36:11.059082Z\",\"url\":\"https://files.pythonhosted.org/packages/09/78/ac2f89ccb7b3a31742f5b70434953faff168da6cab67c0836f432919c762/agentops-0.3.15rc1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4317d6950ad32c33317509ea05a64d01ab661515165ffbd4e120148826b69ffb\",\"md5\":\"5f131294c10c9b60b33ec93edc106f4f\",\"sha256\":\"897ab94ae4fca8f1711216f9317dbf6f14e5d018c866086ef0b8831dc125e4ad\"},\"downloads\":-1,\"filename\":\"agentops-0.3.15rc1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"5f131294c10c9b60b33ec93edc106f4f\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48739,\"upload_time\":\"2024-10-31T04:36:12\",\"upload_time_iso_8601\":\"2024-10-31T04:36:12.630857Z\",\"url\":\"https://files.pythonhosted.org/packages/43/17/d6950ad32c33317509ea05a64d01ab661515165ffbd4e120148826b69ffb/agentops-0.3.15rc1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.16\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b876e1c933480ec9ad093a841321e5c9f7f16a0af59f339ba2c840851b1af01d\",\"md5\":\"d57593bb32704fae1163656f03355a71\",\"sha256\":\"7763e65efe053fa81cea2a2e16f015c7603365280972e0c0709eec32c3c8569e\"},\"downloads\":-1,\"filename\":\"agentops-0.3.16-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d57593bb32704fae1163656f03355a71\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":55351,\"upload_time\":\"2024-11-09T18:44:21\",\"upload_time_iso_8601\":\"2024-11-09T18:44:21.626158Z\",\"url\":\"https://files.pythonhosted.org/packages/b8/76/e1c933480ec9ad093a841321e5c9f7f16a0af59f339ba2c840851b1af01d/agentops-0.3.16-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"aa748e77e654b37a5e0c977eca4f7e92740c1e24be39c827815e7bd8da429003\",\"md5\":\"23078e1dc78ef459a667feeb904345c1\",\"sha256\":\"564163eb048939d64e848c7e6caf25d6c0aee31200623ef97efe492f090f8939\"},\"downloads\":-1,\"filename\":\"agentops-0.3.16.tar.gz\",\"has_sig\":false,\"md5_digest\":\"23078e1dc78ef459a667feeb904345c1\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":51308,\"upload_time\":\"2024-11-09T18:44:23\",\"upload_time_iso_8601\":\"2024-11-09T18:44:23.037514Z\",\"url\":\"https://files.pythonhosted.org/packages/aa/74/8e77e654b37a5e0c977eca4f7e92740c1e24be39c827815e7bd8da429003/agentops-0.3.16.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.17\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6c3038a659671eec20fcae759bd69655ec45b08c4e875627b33e3b05bd46f299\",\"md5\":\"93bbe3bd4ee492e7e73780c07897b017\",\"sha256\":\"0d24dd082270a76c98ad0391101d5b5c3d01e389c5032389ecd551285e4b0662\"},\"downloads\":-1,\"filename\":\"agentops-0.3.17-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"93bbe3bd4ee492e7e73780c07897b017\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":55503,\"upload_time\":\"2024-11-10T02:39:28\",\"upload_time_iso_8601\":\"2024-11-10T02:39:28.884052Z\",\"url\":\"https://files.pythonhosted.org/packages/6c/30/38a659671eec20fcae759bd69655ec45b08c4e875627b33e3b05bd46f299/agentops-0.3.17-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"2131d9a3747df04b7915ee1cffaa4a5636f8ed0e1385e5236b0da085ccce936a\",\"md5\":\"49e8cf186203cadaa39301c4ce5fda42\",\"sha256\":\"a893cc7c37eda720ab59e8facaa2774cc23d125648aa00539ae485ff592e8b77\"},\"downloads\":-1,\"filename\":\"agentops-0.3.17.tar.gz\",\"has_sig\":false,\"md5_digest\":\"49e8cf186203cadaa39301c4ce5fda42\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":51469,\"upload_time\":\"2024-11-10T02:39:30\",\"upload_time_iso_8601\":\"2024-11-10T02:39:30.636907Z\",\"url\":\"https://files.pythonhosted.org/packages/21/31/d9a3747df04b7915ee1cffaa4a5636f8ed0e1385e5236b0da085ccce936a/agentops-0.3.17.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.18\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"978dbd4cad95dad722dc2d3e4179feab1058ef846828c0e15e51e8bfaea373ee\",\"md5\":\"d9afc3636cb969c286738ce02ed12196\",\"sha256\":\"8b48d8a1662f276653430fd541c77fa4f9a15a43e881b518ff88ea56925afcf7\"},\"downloads\":-1,\"filename\":\"agentops-0.3.18-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9afc3636cb969c286738ce02ed12196\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":58032,\"upload_time\":\"2024-11-19T19:06:19\",\"upload_time_iso_8601\":\"2024-11-19T19:06:19.068511Z\",\"url\":\"https://files.pythonhosted.org/packages/97/8d/bd4cad95dad722dc2d3e4179feab1058ef846828c0e15e51e8bfaea373ee/agentops-0.3.18-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c55246bb2f29b9e5f2e1d8b124296b7794934a9048de635d9e7d6a95e791ad7b\",\"md5\":\"02a4fc081499360aac58485a94a6ca33\",\"sha256\":\"4d509754df7be52579597cc9f53939c5218131a0379463e0ff6f6f40cde9fcc4\"},\"downloads\":-1,\"filename\":\"agentops-0.3.18.tar.gz\",\"has_sig\":false,\"md5_digest\":\"02a4fc081499360aac58485a94a6ca33\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":55394,\"upload_time\":\"2024-11-19T19:06:21\",\"upload_time_iso_8601\":\"2024-11-19T19:06:21.306448Z\",\"url\":\"https://files.pythonhosted.org/packages/c5/52/46bb2f29b9e5f2e1d8b124296b7794934a9048de635d9e7d6a95e791ad7b/agentops-0.3.18.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.19\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"fc1e48616d2db40717d560a561e13521009655d447388f944f12f2b3811e6d7d\",\"md5\":\"a9e23f1d31821585017e97633b058233\",\"sha256\":\"1888a47dd3d9b92c5f246cdeeab333def5acbd26833d3148c63e8793457405b3\"},\"downloads\":-1,\"filename\":\"agentops-0.3.19-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a9e23f1d31821585017e97633b058233\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38648,\"upload_time\":\"2024-12-04T00:54:00\",\"upload_time_iso_8601\":\"2024-12-04T00:54:00.173948Z\",\"url\":\"https://files.pythonhosted.org/packages/fc/1e/48616d2db40717d560a561e13521009655d447388f944f12f2b3811e6d7d/agentops-0.3.19-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency, please install 0.3.18\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"b319bb0e9895cb6da29f764f8d7b95b10ac8fde400bc17028f9bd486e9574dbe\",\"md5\":\"f6424c41464d438007e9628748a0bea6\",\"sha256\":\"ca0d4ba35ae699169ae20f74f72ca6a5780a8768ba2a2c32589fc5292ed81674\"},\"downloads\":-1,\"filename\":\"agentops-0.3.19.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f6424c41464d438007e9628748a0bea6\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48360,\"upload_time\":\"2024-12-04T00:54:01\",\"upload_time_iso_8601\":\"2024-12-04T00:54:01.418776Z\",\"url\":\"https://files.pythonhosted.org/packages/b3/19/bb0e9895cb6da29f764f8d7b95b10ac8fde400bc17028f9bd486e9574dbe/agentops-0.3.19.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency, please install 0.3.18\"}],\"0.3.2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9d2c23b745a61d48df788b8020e5ea37e94f9da59b322a17accafe18d8cb4006\",\"md5\":\"62d576d9518a627fe4232709c0721eff\",\"sha256\":\"b35988e04378624204572bb3d7a454094f879ea573f05b57d4e75ab0bfbb82af\"},\"downloads\":-1,\"filename\":\"agentops-0.3.2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"62d576d9518a627fe4232709c0721eff\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39527,\"upload_time\":\"2024-07-21T03:09:56\",\"upload_time_iso_8601\":\"2024-07-21T03:09:56.844372Z\",\"url\":\"https://files.pythonhosted.org/packages/9d/2c/23b745a61d48df788b8020e5ea37e94f9da59b322a17accafe18d8cb4006/agentops-0.3.2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d2a1cc21406646c065e83435fe30fa205b99b2204d8074eca31926a5f8ef4381\",\"md5\":\"30b247bcae25b181485a89213518241c\",\"sha256\":\"55559ac4a43634831dfa8937c2597c28e332809dc7c6bb3bc3c8b233442e224c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"30b247bcae25b181485a89213518241c\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":41894,\"upload_time\":\"2024-07-21T03:09:58\",\"upload_time_iso_8601\":\"2024-07-21T03:09:58.409826Z\",\"url\":\"https://files.pythonhosted.org/packages/d2/a1/cc21406646c065e83435fe30fa205b99b2204d8074eca31926a5f8ef4381/agentops-0.3.2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a854ae9147a490dd9bd03ab7bfc5af47f40ff675840a9aa143896b385a8f8d3a\",\"md5\":\"a13af8737ddff8a0c7c0f05cee70085f\",\"sha256\":\"b5396e11b0bfef46b85604e8e36ab17668057711edd56f1edb0a067b8676fdcc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a13af8737ddff8a0c7c0f05cee70085f\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38674,\"upload_time\":\"2024-12-07T00:06:31\",\"upload_time_iso_8601\":\"2024-12-07T00:06:31.901162Z\",\"url\":\"https://files.pythonhosted.org/packages/a8/54/ae9147a490dd9bd03ab7bfc5af47f40ff675840a9aa143896b385a8f8d3a/agentops-0.3.20-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Wrong + release\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c1eb19d04c801854ba75e235eb87c51a6a9c5b1a89e8579cb745c83f8bf84e08\",\"md5\":\"11754497191d8340eda7a831720d9b74\",\"sha256\":\"c71406294804a82795310a4afc492064a8884b1ba47e12607230975bc1291ce3\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20.tar.gz\",\"has_sig\":false,\"md5_digest\":\"11754497191d8340eda7a831720d9b74\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48332,\"upload_time\":\"2024-12-07T00:06:33\",\"upload_time_iso_8601\":\"2024-12-07T00:06:33.568362Z\",\"url\":\"https://files.pythonhosted.org/packages/c1/eb/19d04c801854ba75e235eb87c51a6a9c5b1a89e8579cb745c83f8bf84e08/agentops-0.3.20.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Wrong + release\"}],\"0.3.20rc1\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"073de7eba58e2a60c0136eee2760b20f99607001d372de26505feee891e0976b\",\"md5\":\"73c6ac515ee9d555e27a7ba7e26e3a46\",\"sha256\":\"079ea8138938e27a3e1319a235a6f4cf98c0d6846731d854aa83b8422d570bda\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc1-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"73c6ac515ee9d555e27a7ba7e26e3a46\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38718,\"upload_time\":\"2024-12-07T00:10:18\",\"upload_time_iso_8601\":\"2024-12-07T00:10:18.796963Z\",\"url\":\"https://files.pythonhosted.org/packages/07/3d/e7eba58e2a60c0136eee2760b20f99607001d372de26505feee891e0976b/agentops-0.3.20rc1-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"02ff111d618c21aad946caedb666030f1f374a0d558228b9061ea2b46acb6bcd\",\"md5\":\"17062e985b931dc85b4855922d7842ce\",\"sha256\":\"ef48447e07a3eded246b2f7e10bba74422a34563ffdc667ac16b2d3383475a3f\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc1.tar.gz\",\"has_sig\":false,\"md5_digest\":\"17062e985b931dc85b4855922d7842ce\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48329,\"upload_time\":\"2024-12-07T00:10:20\",\"upload_time_iso_8601\":\"2024-12-07T00:10:20.510407Z\",\"url\":\"https://files.pythonhosted.org/packages/02/ff/111d618c21aad946caedb666030f1f374a0d558228b9061ea2b46acb6bcd/agentops-0.3.20rc1.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc10\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a7274706d8d9c8f4abecc1dda2b9b02cd02ffe895220bd39f58322a46ccc7254\",\"md5\":\"2c66a93c691c6b8cac2f2dc8fab9efae\",\"sha256\":\"3c10d77f2fe88b61d97ad007820c1ba968c62f692986ea2b2cbfd8b22ec9e5bc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc10-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"2c66a93c691c6b8cac2f2dc8fab9efae\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":57423,\"upload_time\":\"2024-12-10T03:41:04\",\"upload_time_iso_8601\":\"2024-12-10T03:41:04.579814Z\",\"url\":\"https://files.pythonhosted.org/packages/a7/27/4706d8d9c8f4abecc1dda2b9b02cd02ffe895220bd39f58322a46ccc7254/agentops-0.3.20rc10-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"efe9e304f465945f57e4c6d35cd35fff53dc2a2e36b9b32793fa57017467b0c2\",\"md5\":\"9882d32866b94d925ba36ac376c30bea\",\"sha256\":\"f0c72c20e7fe41054c22c6257420314863549dd91428a892ac9b47b81cdfcc8c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc10.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9882d32866b94d925ba36ac376c30bea\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":57564,\"upload_time\":\"2024-12-10T03:41:06\",\"upload_time_iso_8601\":\"2024-12-10T03:41:06.899043Z\",\"url\":\"https://files.pythonhosted.org/packages/ef/e9/e304f465945f57e4c6d35cd35fff53dc2a2e36b9b32793fa57017467b0c2/agentops-0.3.20rc10.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc11\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"8dbf598ec2532b713a228f4041c9b2c10358cd43e6aecf6128d0988a0b5f103e\",\"md5\":\"d9ab67a850aefcb5bf9467b48f74675d\",\"sha256\":\"3e5d4c19de6c58ae684693f47a2f03db35eaf4cd6d8aafc1e804a134462c2b55\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc11-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"d9ab67a850aefcb5bf9467b48f74675d\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":60280,\"upload_time\":\"2024-12-10T22:45:05\",\"upload_time_iso_8601\":\"2024-12-10T22:45:05.280119Z\",\"url\":\"https://files.pythonhosted.org/packages/8d/bf/598ec2532b713a228f4041c9b2c10358cd43e6aecf6128d0988a0b5f103e/agentops-0.3.20rc11-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"210642e51fff6a4537fb811a15bc22d00343145285c6246dc069433d61436e1b\",\"md5\":\"ca5279f4cb6ad82e06ef542a2d08d06e\",\"sha256\":\"9211489c6a01bc9cda4061826f8b80d0989cfcd7fbabe1dd2ed5a5cb76b3d6f0\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc11.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ca5279f4cb6ad82e06ef542a2d08d06e\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":59718,\"upload_time\":\"2024-12-10T22:45:09\",\"upload_time_iso_8601\":\"2024-12-10T22:45:09.616947Z\",\"url\":\"https://files.pythonhosted.org/packages/21/06/42e51fff6a4537fb811a15bc22d00343145285c6246dc069433d61436e1b/agentops-0.3.20rc11.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc12\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"dc281db6f49f10ac849683de1d7f5b5ef492be2a996325302167b8388f375d51\",\"md5\":\"8b2611d2510f0d4fac7ab824d7658ff7\",\"sha256\":\"9237652d28db89315c49c0705829b291c17280e07d41272f909e2609acec650b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc12-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"8b2611d2510f0d4fac7ab824d7658ff7\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":60282,\"upload_time\":\"2024-12-10T23:10:54\",\"upload_time_iso_8601\":\"2024-12-10T23:10:54.516317Z\",\"url\":\"https://files.pythonhosted.org/packages/dc/28/1db6f49f10ac849683de1d7f5b5ef492be2a996325302167b8388f375d51/agentops-0.3.20rc12-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"10c073cb9a55592f55bb44c9206f50f41d7b7a8a8d6fd67d42f40c8f9f184b0e\",\"md5\":\"02b3a68f3491564af2e29f0f216eea1e\",\"sha256\":\"d4d3a73ac34b2a00edb6e6b5b220cbb031bb76ff58d85e2096b536be24aee4fe\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc12.tar.gz\",\"has_sig\":false,\"md5_digest\":\"02b3a68f3491564af2e29f0f216eea1e\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":59731,\"upload_time\":\"2024-12-10T23:10:56\",\"upload_time_iso_8601\":\"2024-12-10T23:10:56.822803Z\",\"url\":\"https://files.pythonhosted.org/packages/10/c0/73cb9a55592f55bb44c9206f50f41d7b7a8a8d6fd67d42f40c8f9f184b0e/agentops-0.3.20rc12.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc13\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4ed48a97563074235f266281167c70ab90833c195e2b704087e414509ae3ec32\",\"md5\":\"c86fe22044483f94bc044a3bf7b054b7\",\"sha256\":\"2fbb3b55701d9aea64f622e7e29aa417772e897e2414f74ed3954d99009d224f\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc13-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c86fe22044483f94bc044a3bf7b054b7\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":64724,\"upload_time\":\"2024-12-10T23:27:50\",\"upload_time_iso_8601\":\"2024-12-10T23:27:50.895316Z\",\"url\":\"https://files.pythonhosted.org/packages/4e/d4/8a97563074235f266281167c70ab90833c195e2b704087e414509ae3ec32/agentops-0.3.20rc13-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"767e59c6f34e9a067d9152021de7e3146e5c0f69f36434dcb3026ff03f382489\",\"md5\":\"152a70647d5ff28fe851e4cc406d8fb4\",\"sha256\":\"b7a6d1d7f603bbb2605cc747762ae866bdee53941c4c76087c9f0f0a5efad03b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc13.tar.gz\",\"has_sig\":false,\"md5_digest\":\"152a70647d5ff28fe851e4cc406d8fb4\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":63242,\"upload_time\":\"2024-12-10T23:27:53\",\"upload_time_iso_8601\":\"2024-12-10T23:27:53.657606Z\",\"url\":\"https://files.pythonhosted.org/packages/76/7e/59c6f34e9a067d9152021de7e3146e5c0f69f36434dcb3026ff03f382489/agentops-0.3.20rc13.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc2\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"cebbbca58531e21f4c1c92cbe6ba15d0f308ff8f3b27083cd0ce6358c7d1d117\",\"md5\":\"5a9fcd99e0b6e3b24e721b22c3ee5907\",\"sha256\":\"ada95d42e82abef16c1e83443dc42d02bb470ee48b1fa8f2d58a20703511a7be\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc2-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"5a9fcd99e0b6e3b24e721b22c3ee5907\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38716,\"upload_time\":\"2024-12-07T00:20:01\",\"upload_time_iso_8601\":\"2024-12-07T00:20:01.561074Z\",\"url\":\"https://files.pythonhosted.org/packages/ce/bb/bca58531e21f4c1c92cbe6ba15d0f308ff8f3b27083cd0ce6358c7d1d117/agentops-0.3.20rc2-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"124aec14492566949b7383ae321cb40c1edc18940712b277c08d32392566f7a8\",\"md5\":\"ff8db0075584474e35784b080fb9b6b1\",\"sha256\":\"60462b82390e78fd21312c5db45f0f48dfcc9c9ab354e6bf232db557ccf57c13\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc2.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ff8db0075584474e35784b080fb9b6b1\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48341,\"upload_time\":\"2024-12-07T00:20:02\",\"upload_time_iso_8601\":\"2024-12-07T00:20:02.519240Z\",\"url\":\"https://files.pythonhosted.org/packages/12/4a/ec14492566949b7383ae321cb40c1edc18940712b277c08d32392566f7a8/agentops-0.3.20rc2.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a1551125b2b3823fcb3f3afa3c6b9621541799ac329622ee21038babbfbedf39\",\"md5\":\"a82f1b73347d3a2fe33f31cec01ca376\",\"sha256\":\"72253950b46a11b5b1163b13bbb9d5b769e6cdb7b102acf46efac8cf02f7eaac\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"a82f1b73347d3a2fe33f31cec01ca376\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":38719,\"upload_time\":\"2024-12-07T00:53:45\",\"upload_time_iso_8601\":\"2024-12-07T00:53:45.212239Z\",\"url\":\"https://files.pythonhosted.org/packages/a1/55/1125b2b3823fcb3f3afa3c6b9621541799ac329622ee21038babbfbedf39/agentops-0.3.20rc4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a180420ef26926052b12d1c2010360b4037f6765321055ce7e09c6bfaeac3480\",\"md5\":\"1a314ff81d87a774e5e1cf338151a353\",\"sha256\":\"4218fcfa42644dd86ee50ac7806d08783e4629db30b127bc8011c9c3523eeb5c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1a314ff81d87a774e5e1cf338151a353\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":48332,\"upload_time\":\"2024-12-07T00:53:47\",\"upload_time_iso_8601\":\"2024-12-07T00:53:47.581677Z\",\"url\":\"https://files.pythonhosted.org/packages/a1/80/420ef26926052b12d1c2010360b4037f6765321055ce7e09c6bfaeac3480/agentops-0.3.20rc4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"7747e61c5387124f53a3095261427888ab88e192828e3bb8be92660bf4e008d0\",\"md5\":\"fd7343ddf99f077d1a159b87d84ed79c\",\"sha256\":\"97df38116ec7fe337fc04b800e423aa8b5e69681565c02dc4af3e9c60764827e\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"fd7343ddf99f077d1a159b87d84ed79c\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":44545,\"upload_time\":\"2024-12-07T01:38:17\",\"upload_time_iso_8601\":\"2024-12-07T01:38:17.177125Z\",\"url\":\"https://files.pythonhosted.org/packages/77/47/e61c5387124f53a3095261427888ab88e192828e3bb8be92660bf4e008d0/agentops-0.3.20rc5-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"145fa0bf5ee5b56dacf63b9712ac62169c585c6222efe043cc77f3148f709965\",\"md5\":\"20a32d514b5d51851dbcbdfb2c189491\",\"sha256\":\"48111083dab1fc30f0545e0812c4aab00fc9e9d48de42de95d254699396992a8\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"20a32d514b5d51851dbcbdfb2c189491\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":53243,\"upload_time\":\"2024-12-07T01:38:18\",\"upload_time_iso_8601\":\"2024-12-07T01:38:18.772880Z\",\"url\":\"https://files.pythonhosted.org/packages/14/5f/a0bf5ee5b56dacf63b9712ac62169c585c6222efe043cc77f3148f709965/agentops-0.3.20rc5.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"85f3a5ae3d8d47aa5160a5c805551d75077cad61bff9626abe44079d29d1c299\",\"md5\":\"30f87c628c530e82e27b8bc2d2a46d8a\",\"sha256\":\"d03f16832b3a5670d9c3273b95c9d9def772c203b2cd4ac52ae0e7f6d3b1b9e4\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"30f87c628c530e82e27b8bc2d2a46d8a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":61844,\"upload_time\":\"2024-12-07T01:49:11\",\"upload_time_iso_8601\":\"2024-12-07T01:49:11.801219Z\",\"url\":\"https://files.pythonhosted.org/packages/85/f3/a5ae3d8d47aa5160a5c805551d75077cad61bff9626abe44079d29d1c299/agentops-0.3.20rc6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"060e24f42ed1de3d892355f3ba90f0b7f659855fafd18851e59aa7174fa30615\",\"md5\":\"384c60ee11b827b8bad31cef20a35a17\",\"sha256\":\"45aa4797269214d41858537d95050964f330651da5c7412b2895e714a81f30f5\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"384c60ee11b827b8bad31cef20a35a17\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":61004,\"upload_time\":\"2024-12-07T01:49:13\",\"upload_time_iso_8601\":\"2024-12-07T01:49:13.917920Z\",\"url\":\"https://files.pythonhosted.org/packages/06/0e/24f42ed1de3d892355f3ba90f0b7f659855fafd18851e59aa7174fa30615/agentops-0.3.20rc6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d502edf7ba8aff1a994176da4c95688c9ba0428ac3bd9a0db2392fe5009162a9\",\"md5\":\"9b43c5e2df12abac01ffc5262e991825\",\"sha256\":\"95972115c5c753ceee477834de902afaf0664107048e44eee2c65e74e05656a2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"9b43c5e2df12abac01ffc5262e991825\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":40117,\"upload_time\":\"2024-12-07T02:12:48\",\"upload_time_iso_8601\":\"2024-12-07T02:12:48.512036Z\",\"url\":\"https://files.pythonhosted.org/packages/d5/02/edf7ba8aff1a994176da4c95688c9ba0428ac3bd9a0db2392fe5009162a9/agentops-0.3.20rc7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"5d7029d8d02fcf6db627c6b20ceab974c455e23a25fc0e991c0a8d0eaebda523\",\"md5\":\"9de760856bed3f7adbd1d0ab7ba0a63a\",\"sha256\":\"7c793b7b199a61ca61366ddb8fd94986fac262ef6514918c3baaa08184b86669\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"9de760856bed3f7adbd1d0ab7ba0a63a\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":49661,\"upload_time\":\"2024-12-07T02:12:50\",\"upload_time_iso_8601\":\"2024-12-07T02:12:50.120388Z\",\"url\":\"https://files.pythonhosted.org/packages/5d/70/29d8d02fcf6db627c6b20ceab974c455e23a25fc0e991c0a8d0eaebda523/agentops-0.3.20rc7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.20rc8\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"6d0f66418c0b20f40fe11de50f29481abdb266ff641ac6166eab9eac3d7364d2\",\"md5\":\"52a2cea48e48d1818169c07507a6c7a9\",\"sha256\":\"8cf2e9fe6400a4fb4367a039cacc5d76339a8fd2749a44243389547e928e545c\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc8-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"52a2cea48e48d1818169c07507a6c7a9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":57414,\"upload_time\":\"2024-12-07T02:17:51\",\"upload_time_iso_8601\":\"2024-12-07T02:17:51.404804Z\",\"url\":\"https://files.pythonhosted.org/packages/6d/0f/66418c0b20f40fe11de50f29481abdb266ff641ac6166eab9eac3d7364d2/agentops-0.3.20rc8-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"4d18250b066f23ccbb22f2bba8df101361abd5724ddcef59a4d63d4539c7cd82\",\"md5\":\"f7887176e88d4434e38e237850363b80\",\"sha256\":\"a06e7939dd4d59c9880ded1b129fd4548b34be5530a46cf043326740bdfeca56\"},\"downloads\":-1,\"filename\":\"agentops-0.3.20rc8.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f7887176e88d4434e38e237850363b80\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":57521,\"upload_time\":\"2024-12-07T02:17:53\",\"upload_time_iso_8601\":\"2024-12-07T02:17:53.055737Z\",\"url\":\"https://files.pythonhosted.org/packages/4d/18/250b066f23ccbb22f2bba8df101361abd5724ddcef59a4d63d4539c7cd82/agentops-0.3.20rc8.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.21\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c4cb3b6cc5a08d11d9e56501f980222da0fa41814b7d6948a7f6354f31739af6\",\"md5\":\"c7592f9e7993dbe307fbffd7e4da1e51\",\"sha256\":\"4f98beecdce4c7cbee80ec26658a9657ba307a1fb2910b589f85325d3259b75b\"},\"downloads\":-1,\"filename\":\"agentops-0.3.21-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c7592f9e7993dbe307fbffd7e4da1e51\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":64701,\"upload_time\":\"2024-12-11T12:24:00\",\"upload_time_iso_8601\":\"2024-12-11T12:24:00.934724Z\",\"url\":\"https://files.pythonhosted.org/packages/c4/cb/3b6cc5a08d11d9e56501f980222da0fa41814b7d6948a7f6354f31739af6/agentops-0.3.21-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"83f6bfd27fa4b948c353eaff579dafdf4eb54833f5c526e00c6f2faee4b467a8\",\"md5\":\"83d7666511cccf3b0d4354cebd99b110\",\"sha256\":\"d8e8d1f6d154554dba64ec5b139905bf76c68f21575af9fa2ca1697277fe36f2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.21.tar.gz\",\"has_sig\":false,\"md5_digest\":\"83d7666511cccf3b0d4354cebd99b110\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":63185,\"upload_time\":\"2024-12-11T12:24:02\",\"upload_time_iso_8601\":\"2024-12-11T12:24:02.068404Z\",\"url\":\"https://files.pythonhosted.org/packages/83/f6/bfd27fa4b948c353eaff579dafdf4eb54833f5c526e00c6f2faee4b467a8/agentops-0.3.21.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.22\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"11e721b42168ecfd0a9fff9dea51201646b6e62c4f52c8cd9c2a6400125d7234\",\"md5\":\"26061ab467e358b63251f9547275bbbd\",\"sha256\":\"992f4f31d80e8b0b2098abf58ae2707c60538e4b66e5aec8cf49fb269d5a2adc\"},\"downloads\":-1,\"filename\":\"agentops-0.3.22-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"26061ab467e358b63251f9547275bbbd\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":39539,\"upload_time\":\"2025-01-11T03:21:39\",\"upload_time_iso_8601\":\"2025-01-11T03:21:39.093169Z\",\"url\":\"https://files.pythonhosted.org/packages/11/e7/21b42168ecfd0a9fff9dea51201646b6e62c4f52c8cd9c2a6400125d7234/agentops-0.3.22-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e067e61aa4c2e329da10b5e95d325091e599d8a00a28843a54bdcefa7a2eef8d\",\"md5\":\"bcf45b6c4c56884ed2409f835571af62\",\"sha256\":\"705d772b6994f8bab0cd163b24602009353f7906c72d9db008af11683f6e9341\"},\"downloads\":-1,\"filename\":\"agentops-0.3.22.tar.gz\",\"has_sig\":false,\"md5_digest\":\"bcf45b6c4c56884ed2409f835571af62\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":52845,\"upload_time\":\"2025-01-11T03:21:41\",\"upload_time_iso_8601\":\"2025-01-11T03:21:41.762282Z\",\"url\":\"https://files.pythonhosted.org/packages/e0/67/e61aa4c2e329da10b5e95d325091e599d8a00a28843a54bdcefa7a2eef8d/agentops-0.3.22.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Broken + dependency\"}],\"0.3.23\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"e67de1434765cf0a3d62372b74f47919aa17c0b01909823f7d3ee705edf821a9\",\"md5\":\"1f0f02509b8ba713db72e57a072f01a6\",\"sha256\":\"ecfff77d8f9006361ef2a2e8593271e97eb54b7b504abfb8abd6504006baca56\"},\"downloads\":-1,\"filename\":\"agentops-0.3.23-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"1f0f02509b8ba713db72e57a072f01a6\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":70098,\"upload_time\":\"2025-01-12T02:11:56\",\"upload_time_iso_8601\":\"2025-01-12T02:11:56.319763Z\",\"url\":\"https://files.pythonhosted.org/packages/e6/7d/e1434765cf0a3d62372b74f47919aa17c0b01909823f7d3ee705edf821a9/agentops-0.3.23-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"5c7fa4fd91f8fd819e1ecfdc608d1c7ade83de0f9dddd868e2c2c139a2fdae25\",\"md5\":\"b7922399f81fb26517eb69fc7fef97c9\",\"sha256\":\"4e4de49caeaf567b8746082f84a8cdd65afe2c698720f6f40251bbc4fdffe4c9\"},\"downloads\":-1,\"filename\":\"agentops-0.3.23.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b7922399f81fb26517eb69fc7fef97c9\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":64225,\"upload_time\":\"2025-01-12T02:11:59\",\"upload_time_iso_8601\":\"2025-01-12T02:11:59.360077Z\",\"url\":\"https://files.pythonhosted.org/packages/5c/7f/a4fd91f8fd819e1ecfdc608d1c7ade83de0f9dddd868e2c2c139a2fdae25/agentops-0.3.23.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.24\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"254ea7d131802bac2ece5302ebf78dcef1ba1ba2f8b3a51fbe44c7f52bae6a53\",\"md5\":\"39c39d8a7f1285add0fec21830a89a4a\",\"sha256\":\"c5dfc8098b0dd49ddd819aa55280d07f8bfbf2f8fa088fc51ff5849b65062b10\"},\"downloads\":-1,\"filename\":\"agentops-0.3.24-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"39c39d8a7f1285add0fec21830a89a4a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":71957,\"upload_time\":\"2025-01-18T19:08:02\",\"upload_time_iso_8601\":\"2025-01-18T19:08:02.053316Z\",\"url\":\"https://files.pythonhosted.org/packages/25/4e/a7d131802bac2ece5302ebf78dcef1ba1ba2f8b3a51fbe44c7f52bae6a53/agentops-0.3.24-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"71fee96e22c4bf762f34cd5ba435880470dad4576ab357ee61742fe053752322\",\"md5\":\"3e1b7e0a31197936e099a7509128f794\",\"sha256\":\"c97a3af959b728bcfbfb1ac2494cef82d8804defc9dac858648b39a9ecdcd2e4\"},\"downloads\":-1,\"filename\":\"agentops-0.3.24.tar.gz\",\"has_sig\":false,\"md5_digest\":\"3e1b7e0a31197936e099a7509128f794\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":233974,\"upload_time\":\"2025-01-18T19:08:04\",\"upload_time_iso_8601\":\"2025-01-18T19:08:04.121618Z\",\"url\":\"https://files.pythonhosted.org/packages/71/fe/e96e22c4bf762f34cd5ba435880470dad4576ab357ee61742fe053752322/agentops-0.3.24.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.25\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"e6e39cff4ed65c5deac34f427ed60cd7af3604ec7ed8a999c351f6411e190d3b\",\"md5\":\"328dedc417be02fc28f8a4c7ed7b52e9\",\"sha256\":\"4faebf73a62aa0bcac8578428277ca5b9af5e828f49f2cb03a9695b8426e6b9d\"},\"downloads\":-1,\"filename\":\"agentops-0.3.25-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"328dedc417be02fc28f8a4c7ed7b52e9\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":71971,\"upload_time\":\"2025-01-22T10:43:16\",\"upload_time_iso_8601\":\"2025-01-22T10:43:16.070593Z\",\"url\":\"https://files.pythonhosted.org/packages/e6/e3/9cff4ed65c5deac34f427ed60cd7af3604ec7ed8a999c351f6411e190d3b/agentops-0.3.25-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"2fdfeb00eaabebb51feae0724a5928f25df4d71d1c8392204f4f849351fd748c\",\"md5\":\"a40bc7037baf6dbba92d63331f561a28\",\"sha256\":\"868d855b6531d1fa2d1047db2cb03ddb1121062fd51c44b564dc626f15cc1e40\"},\"downloads\":-1,\"filename\":\"agentops-0.3.25.tar.gz\",\"has_sig\":false,\"md5_digest\":\"a40bc7037baf6dbba92d63331f561a28\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":234024,\"upload_time\":\"2025-01-22T10:43:17\",\"upload_time_iso_8601\":\"2025-01-22T10:43:17.986230Z\",\"url\":\"https://files.pythonhosted.org/packages/2f/df/eb00eaabebb51feae0724a5928f25df4d71d1c8392204f4f849351fd748c/agentops-0.3.25.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.26\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"f521671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b\",\"md5\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"sha256\":\"20948f52e3ffb4ba1d52301c3a82e59490182c4dad22774ad831dce0181eb5c2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":72090,\"upload_time\":\"2025-01-24T23:44:06\",\"upload_time_iso_8601\":\"2025-01-24T23:44:06.828461Z\",\"url\":\"https://files.pythonhosted.org/packages/f5/21/671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b/agentops-0.3.26-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"76a1b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d\",\"md5\":\"ba4d0f2411ec72828677b38a395465cc\",\"sha256\":\"bc824bf8727332f59bf803cf84440d13e9e398406222ab29f45909ac1e39f815\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ba4d0f2411ec72828677b38a395465cc\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":234235,\"upload_time\":\"2025-01-24T23:44:08\",\"upload_time_iso_8601\":\"2025-01-24T23:44:08.541961Z\",\"url\":\"https://files.pythonhosted.org/packages/76/a1/b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d/agentops-0.3.26.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.4\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"52f32bd714234ec345153c0fcbc9e4896c306c347f3fb66a3aa6d6fc109a7243\",\"md5\":\"c7a975a86900f7dbe6861a21fdd3c2d8\",\"sha256\":\"126f7aed4ba43c1399b5488d67a03d10cb4c531e619c650776f826ca00c1aa24\"},\"downloads\":-1,\"filename\":\"agentops-0.3.4-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c7a975a86900f7dbe6861a21fdd3c2d8\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39915,\"upload_time\":\"2024-07-24T23:15:03\",\"upload_time_iso_8601\":\"2024-07-24T23:15:03.892439Z\",\"url\":\"https://files.pythonhosted.org/packages/52/f3/2bd714234ec345153c0fcbc9e4896c306c347f3fb66a3aa6d6fc109a7243/agentops-0.3.4-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"d28b88a2c9c2df655de806adbb5deebb12c64d19d6aa3cfa759da642953525e0\",\"md5\":\"f48a2ab7fcaf9cf11a25805ac5300e26\",\"sha256\":\"a92c9cb7c511197f0ecb8cb5aca15d35022c15a3d2fd2aaaa34cd7e5dc59393f\"},\"downloads\":-1,\"filename\":\"agentops-0.3.4.tar.gz\",\"has_sig\":false,\"md5_digest\":\"f48a2ab7fcaf9cf11a25805ac5300e26\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":42063,\"upload_time\":\"2024-07-24T23:15:05\",\"upload_time_iso_8601\":\"2024-07-24T23:15:05.586475Z\",\"url\":\"https://files.pythonhosted.org/packages/d2/8b/88a2c9c2df655de806adbb5deebb12c64d19d6aa3cfa759da642953525e0/agentops-0.3.4.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.5\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"f253f9672c6aa3c79b6a5b64321e93d2316f126add867ceb2e3e95ea8b4bf1b0\",\"md5\":\"bd45dc8100fd3974dff11014d12424ff\",\"sha256\":\"687cb938ecf9d1bf7650afc910e2b2e1b8b6d9e969215aeb49e57f1555a2a756\"},\"downloads\":-1,\"filename\":\"agentops-0.3.5-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"bd45dc8100fd3974dff11014d12424ff\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39177,\"upload_time\":\"2024-08-01T19:32:19\",\"upload_time_iso_8601\":\"2024-08-01T19:32:19.765946Z\",\"url\":\"https://files.pythonhosted.org/packages/f2/53/f9672c6aa3c79b6a5b64321e93d2316f126add867ceb2e3e95ea8b4bf1b0/agentops-0.3.5-py3-none-any.whl\",\"yanked\":true,\"yanked_reason\":\"Introduces + FileNotFoundError impacting OpenAI and LiteLLM integrations\"},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"235508ce5915f1ceb86ea6f7a6e8c8dc025b34981408a1b638316b5140fad525\",\"md5\":\"53ef2f5230de09260f4ead09633dde62\",\"sha256\":\"ae98540355ce9b892a630e61a7224a9175657cad1b7e799269238748ca7bc0ea\"},\"downloads\":-1,\"filename\":\"agentops-0.3.5.tar.gz\",\"has_sig\":false,\"md5_digest\":\"53ef2f5230de09260f4ead09633dde62\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":42699,\"upload_time\":\"2024-08-01T19:32:21\",\"upload_time_iso_8601\":\"2024-08-01T19:32:21.259555Z\",\"url\":\"https://files.pythonhosted.org/packages/23/55/08ce5915f1ceb86ea6f7a6e8c8dc025b34981408a1b638316b5140fad525/agentops-0.3.5.tar.gz\",\"yanked\":true,\"yanked_reason\":\"Introduces + FileNotFoundError impacting OpenAI and LiteLLM integrations\"}],\"0.3.6\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"be89412afc864df3715d377cff9fe15deadaccdc0902b0a242f742f286e6d84b\",\"md5\":\"149922f5cd986a8641b6e88c991af0cc\",\"sha256\":\"413f812eb015fb31175a507784afe08123adfa9e227870e315899b059f42b443\"},\"downloads\":-1,\"filename\":\"agentops-0.3.6-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"149922f5cd986a8641b6e88c991af0cc\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39431,\"upload_time\":\"2024-08-02T06:48:19\",\"upload_time_iso_8601\":\"2024-08-02T06:48:19.594149Z\",\"url\":\"https://files.pythonhosted.org/packages/be/89/412afc864df3715d377cff9fe15deadaccdc0902b0a242f742f286e6d84b/agentops-0.3.6-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"c3bf85f1439c3951ef69c81dbd7ef6df8a11df957e8d1180d835d71c11fa5131\",\"md5\":\"b68d3124e365867f891bec4fb211a398\",\"sha256\":\"0941f2486f3a561712ba6f77d560b49e2df55be141f243da0f9dc97ed43e6968\"},\"downloads\":-1,\"filename\":\"agentops-0.3.6.tar.gz\",\"has_sig\":false,\"md5_digest\":\"b68d3124e365867f891bec4fb211a398\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":42933,\"upload_time\":\"2024-08-02T06:48:21\",\"upload_time_iso_8601\":\"2024-08-02T06:48:21.508300Z\",\"url\":\"https://files.pythonhosted.org/packages/c3/bf/85f1439c3951ef69c81dbd7ef6df8a11df957e8d1180d835d71c11fa5131/agentops-0.3.6.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.7\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"a34d05ba61e4fbd976dabe736d74fb2bb14d064ca758f05f084c0dadb6ac5cb1\",\"md5\":\"551df1e89278270e0f5522d41f5c28ae\",\"sha256\":\"7eeec5bef41e9ba397b3d880bcec8cd0818209ab31665c85e8b97615011a23d9\"},\"downloads\":-1,\"filename\":\"agentops-0.3.7-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"551df1e89278270e0f5522d41f5c28ae\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":39816,\"upload_time\":\"2024-08-08T23:21:45\",\"upload_time_iso_8601\":\"2024-08-08T23:21:45.035395Z\",\"url\":\"https://files.pythonhosted.org/packages/a3/4d/05ba61e4fbd976dabe736d74fb2bb14d064ca758f05f084c0dadb6ac5cb1/agentops-0.3.7-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"9f31034c3e062287f4fe9f57f2448e9508617a26bbb8a16b11c77cda9b28e1c0\",\"md5\":\"1c48a797903a25988bae9b72559307ec\",\"sha256\":\"048ee3caa5edf01b98c994e4e3ff90c09d83f820a43a70f07db96032c3386750\"},\"downloads\":-1,\"filename\":\"agentops-0.3.7.tar.gz\",\"has_sig\":false,\"md5_digest\":\"1c48a797903a25988bae9b72559307ec\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":43495,\"upload_time\":\"2024-08-08T23:21:46\",\"upload_time_iso_8601\":\"2024-08-08T23:21:46.798531Z\",\"url\":\"https://files.pythonhosted.org/packages/9f/31/034c3e062287f4fe9f57f2448e9508617a26bbb8a16b11c77cda9b28e1c0/agentops-0.3.7.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"0.3.9\":[{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"660ce931f892e0cedd40d861c3deff4134e1af1d226d6dc9762b32514d6dbc9f\",\"md5\":\"82792de7bccabed058a24d3bd47443db\",\"sha256\":\"582c9ddb30a9bb951b4d3ee2fd0428ba77d4a4367950b9cc6043f45b10bf12d8\"},\"downloads\":-1,\"filename\":\"agentops-0.3.9-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"82792de7bccabed058a24d3bd47443db\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\">=3.7\",\"size\":40235,\"upload_time\":\"2024-08-15T21:21:33\",\"upload_time_iso_8601\":\"2024-08-15T21:21:33.468748Z\",\"url\":\"https://files.pythonhosted.org/packages/66/0c/e931f892e0cedd40d861c3deff4134e1af1d226d6dc9762b32514d6dbc9f/agentops-0.3.9-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":\"\",\"digests\":{\"blake2b_256\":\"e17b68cef3aaf44d423046b7779e9325e4feef5257e6d784a55c9dadf84bd61a\",\"md5\":\"470f3b2663b71eb2f1597903bf8922e7\",\"sha256\":\"7c999edbc64196924acdb06da09ec664a09d9fec8e73ba4e0f89e5f3dafc79e5\"},\"downloads\":-1,\"filename\":\"agentops-0.3.9.tar.gz\",\"has_sig\":false,\"md5_digest\":\"470f3b2663b71eb2f1597903bf8922e7\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\">=3.7\",\"size\":43796,\"upload_time\":\"2024-08-15T21:21:34\",\"upload_time_iso_8601\":\"2024-08-15T21:21:34.591272Z\",\"url\":\"https://files.pythonhosted.org/packages/e1/7b/68cef3aaf44d423046b7779e9325e4feef5257e6d784a55c9dadf84bd61a/agentops-0.3.9.tar.gz\",\"yanked\":false,\"yanked_reason\":null}]},\"urls\":[{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"f521671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b\",\"md5\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"sha256\":\"20948f52e3ffb4ba1d52301c3a82e59490182c4dad22774ad831dce0181eb5c2\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26-py3-none-any.whl\",\"has_sig\":false,\"md5_digest\":\"c3f8fa92ff5a94a37516e774c7f58b9a\",\"packagetype\":\"bdist_wheel\",\"python_version\":\"py3\",\"requires_python\":\"<3.14,>=3.9\",\"size\":72090,\"upload_time\":\"2025-01-24T23:44:06\",\"upload_time_iso_8601\":\"2025-01-24T23:44:06.828461Z\",\"url\":\"https://files.pythonhosted.org/packages/f5/21/671c458951850bd3a445aa09eafd2793aae1104fa68351a5c3976cdf762b/agentops-0.3.26-py3-none-any.whl\",\"yanked\":false,\"yanked_reason\":null},{\"comment_text\":null,\"digests\":{\"blake2b_256\":\"76a1b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d\",\"md5\":\"ba4d0f2411ec72828677b38a395465cc\",\"sha256\":\"bc824bf8727332f59bf803cf84440d13e9e398406222ab29f45909ac1e39f815\"},\"downloads\":-1,\"filename\":\"agentops-0.3.26.tar.gz\",\"has_sig\":false,\"md5_digest\":\"ba4d0f2411ec72828677b38a395465cc\",\"packagetype\":\"sdist\",\"python_version\":\"source\",\"requires_python\":\"<3.14,>=3.9\",\"size\":234235,\"upload_time\":\"2025-01-24T23:44:08\",\"upload_time_iso_8601\":\"2025-01-24T23:44:08.541961Z\",\"url\":\"https://files.pythonhosted.org/packages/76/a1/b03c6348a77798e750bde4eec03b4af620d71b9e4b64ff7dcf0860025a2d/agentops-0.3.26.tar.gz\",\"yanked\":false,\"yanked_reason\":null}],\"vulnerabilities\":[]}\n" + headers: + Accept-Ranges: + - bytes + Connection: + - keep-alive + Content-Length: + - '33610' + Date: + - Fri, 21 Feb 2025 23:21:04 GMT + Permissions-Policy: + - publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=() + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Vary: + - Accept-Encoding + X-Cache: + - MISS, HIT, HIT + X-Cache-Hits: + - 0, 8895, 1 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-Permitted-Cross-Domain-Policies: + - none + X-Served-By: + - cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-sjc1000085-SJC + X-Timer: + - S1740180065.523459,VS0,VE1 + X-XSS-Protection: + - 1; mode=block + access-control-allow-headers: + - Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since + access-control-allow-methods: + - GET + access-control-allow-origin: + - '*' + access-control-expose-headers: + - X-PyPI-Last-Serial + access-control-max-age: + - '86400' + cache-control: + - max-age=900, public + content-encoding: + - gzip + content-security-policy: + - base-uri 'self'; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues + https://gitlab.com/api/ https://*.google-analytics.com https://*.analytics.google.com + https://*.googletagmanager.com fastly-insights.com *.fastly-insights.com *.ethicalads.io + https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ + https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; + form-action 'self' https://checkout.stripe.com; frame-ancestors 'none'; frame-src + 'none'; img-src 'self' https://pypi-camo.freetls.fastly.net/ https://*.google-analytics.com + https://*.googletagmanager.com *.fastly-insights.com *.ethicalads.io ethicalads.blob.core.windows.net; + script-src 'self' https://*.googletagmanager.com https://www.google-analytics.com + https://ssl.google-analytics.com *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' + https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' + 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com + *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' + 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' + 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; + worker-src *.fastly-insights.com + content-type: + - application/json + etag: + - '"5Jjf0qcbSYoU2b9dDGH/Nw"' + referrer-policy: + - origin-when-cross-origin + x-pypi-last-serial: + - '27123795' + status: + code: 200 + message: OK +- request: + body: !!binary | + CvUJCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSzAkKEgoQY3Jld2FpLnRl + bGVtZXRyeRKkBwoQu0KzdCRGEO7eeOMa1vixvxIIurHV3nw68i0qDENyZXcgQ3JlYXRlZDABOYiV + kDmMXCYYQWgLmjmMXCYYShsKDmNyZXdhaV92ZXJzaW9uEgkKBzAuMTAyLjBKGgoOcHl0aG9uX3Zl + cnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIGU1ODA3MDFkNTJlYjY1YWZmMjRlZWZlNzhj + NzQ2MjhjSjEKB2NyZXdfaWQSJgokNzE2YjA3ZDYtMjIxOS00YjE1LWJhZWYtMTQ3NTU2YTk0ZjI0 + ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3 + X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUrRAgoLY3Jl + d19hZ2VudHMSwQIKvgJbeyJrZXkiOiAiYWQxNTMxNjFjNWM1YTg1NmFhMGQwNmIyNDljNGM2NGEi + LCAiaWQiOiAiMTdjZjFjNjctZjhhZC00MzM2LWFjN2UtYzQ1MDBiNWVjMmE2IiwgInJvbGUiOiAi + YmFzZV9hZ2VudCIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0i + OiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8tbWluaSIs + ICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBm + YWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1K/wEKCmNyZXdf + dGFza3MS8AEK7QFbeyJrZXkiOiAiMWIxNWVmMjM5MTViMjc1NWU4OWEwZWMzYjI2YTEzZDIiLCAi + aWQiOiAiNjQxOTE4NDMtMjkyZS00MDBjLWI5OTktMWJjOTgzMGYxMDY0IiwgImFzeW5jX2V4ZWN1 + dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJiYXNl + X2FnZW50IiwgImFnZW50X2tleSI6ICJhZDE1MzE2MWM1YzVhODU2YWEwZDA2YjI0OWM0YzY0YSIs + ICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChD9Gbohxvo1xEZoAFWQyhIWEghHveai + JhMNsioMVGFzayBDcmVhdGVkMAE5sPeve4xcJhhBaHqxe4xcJhhKLgoIY3Jld19rZXkSIgogZTU4 + MDcwMWQ1MmViNjVhZmYyNGVlZmU3OGM3NDYyOGNKMQoHY3Jld19pZBImCiQ3MTZiMDdkNi0yMjE5 + LTRiMTUtYmFlZi0xNDc1NTZhOTRmMjRKLgoIdGFza19rZXkSIgogMWIxNWVmMjM5MTViMjc1NWU4 + OWEwZWMzYjI2YTEzZDJKMQoHdGFza19pZBImCiQ2NDE5MTg0My0yOTJlLTQwMGMtYjk5OS0xYmM5 + ODMwZjEwNjR6AhgBhQEAAQAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1272' Content-Type: - application/x-protobuf User-Agent: @@ -220,36 +1176,22 @@ interactions: Content-Type: - application/x-protobuf Date: - - Tue, 04 Feb 2025 20:24:47 GMT + - Fri, 21 Feb 2025 23:21:07 GMT status: code: 200 message: OK - request: - body: '{"messages": [{"role": "user", "content": "Assess the quality of the task - completed based on the description, expected output, and actual results.\n\nTask - Description:\nJust say hi\n\nExpected Output:\nhi\n\nActual Output:\nhi\n\nPlease - provide:\n- Bullet points suggestions to improve future similar tasks\n- A score - from 0 to 10 evaluating on completion, quality, and overall performance- Entities - extracted from the task output, if any, their type, description, and relationships"}], - "model": "gpt-4o-mini", "tool_choice": {"type": "function", "function": {"name": - "TaskEvaluation"}}, "tools": [{"type": "function", "function": {"name": "TaskEvaluation", - "description": "Correctly extracted `TaskEvaluation` with all the required parameters - with correct types", "parameters": {"$defs": {"Entity": {"properties": {"name": - {"description": "The name of the entity.", "title": "Name", "type": "string"}, - "type": {"description": "The type of the entity.", "title": "Type", "type": - "string"}, "description": {"description": "Description of the entity.", "title": - "Description", "type": "string"}, "relationships": {"description": "Relationships - of the entity.", "items": {"type": "string"}, "title": "Relationships", "type": - "array"}}, "required": ["name", "type", "description", "relationships"], "title": - "Entity", "type": "object"}}, "properties": {"suggestions": {"description": - "Suggestions to improve future similar tasks.", "items": {"type": "string"}, - "title": "Suggestions", "type": "array"}, "quality": {"description": "A score - from 0 to 10 evaluating on completion, quality, and overall performance, all - taking into account the task description, expected output, and the result of - the task.", "title": "Quality", "type": "number"}, "entities": {"description": - "Entities extracted from the task output.", "items": {"$ref": "#/$defs/Entity"}, - "title": "Entities", "type": "array"}}, "required": ["entities", "quality", - "suggestions"], "type": "object"}}}]}' + body: '{"messages": [{"role": "system", "content": "You are base_agent. You are + a helpful assistant that just says hi\nYour personal goal is: Just say hi\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your final + answer must be the great and the most complete as possible, it must be outcome + described.\n\nI MUST use these formats, my job depends on it!"}, {"role": "user", + "content": "\nCurrent Task: Just say hi\n\nThis is the expected criteria for + your final answer: hi\nyou MUST return the actual complete content as the final + answer, not a summary.\n\nBegin! This is VERY important to you, use the tools + available and give your best Final Answer, your job depends on it!\n\nThought:"}], + "model": "gpt-4o-mini", "stop": ["\nObservation:"]}' headers: accept: - application/json @@ -258,12 +1200,9 @@ interactions: connection: - keep-alive content-length: - - '1962' + - '838' content-type: - application/json - cookie: - - __cf_bm=nedOdWE1YnKQYt1kSbrcA.zhwa3bZDzmZqTOjZYER0c-1738700521-1.0.1.1-xQk9iXOvqvyXNhkIOgc8Ws2WYcT1mJFkDCvCC8xA5joFD8QfNrBIAr_Qs6sIxt2EzXyeFwBA6gA8ZgWApCHx0Q; - _cfuvid=Cl48aI8.jSRja0Pqr6Jrh3mAnigd4rDn6lhGicyjMPY-1738698987673-0.0.1.1-604800000 host: - api.openai.com user-agent: @@ -289,29 +1228,20 @@ interactions: method: POST uri: https://api.openai.com/v1/chat/completions response: - content: "{\n \"id\": \"chatcmpl-AxJlLVC3gCB9gRI0ZSkoPCZY7EwpQ\",\n \"object\": - \"chat.completion\",\n \"created\": 1738700683,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + content: "{\n \"id\": \"chatcmpl-B3WcOTAw4n8RGgETMgyOwuM7LeDwl\",\n \"object\": + \"chat.completion\",\n \"created\": 1740180068,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_mgwImOITW8lkjzAyf9Pp76cL\",\n \"type\": - \"function\",\n \"function\": {\n \"name\": \"TaskEvaluation\",\n - \ \"arguments\": \"{\\\"suggestions\\\":[\\\"Provide context or - additional information to make tasks more engaging.\\\",\\\"Encourage variations - in responses to make the interaction more dynamic.\\\"],\\\"quality\\\":10,\\\"entities\\\":[{\\\"name\\\":\\\"hi\\\",\\\"type\\\":\\\"greeting\\\",\\\"description\\\":\\\"A - common word used to initiate a conversation or express friendliness.\\\",\\\"relationships\\\":[\\\"initiates - conversation\\\",\\\"expresses friendliness\\\"]}]}\"\n }\n }\n - \ ],\n \"refusal\": null\n },\n \"logprobs\": null,\n + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: hi\",\n \"refusal\": null\n },\n \"logprobs\": null,\n \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 273,\n \"completion_tokens\": 71,\n \"total_tokens\": 344,\n \"prompt_tokens_details\": + 161,\n \"completion_tokens\": 12,\n \"total_tokens\": 173,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_bd83329f63\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_7fcd609668\"\n}\n" headers: - CF-Cache-Status: - - DYNAMIC CF-RAY: - - 90cd62c4ba41fa6a-SJC + - 915a787b998d7ae0-SJC Connection: - keep-alive Content-Encoding: @@ -319,9 +1249,15 @@ interactions: Content-Type: - application/json Date: - - Tue, 04 Feb 2025 20:24:50 GMT + - Fri, 21 Feb 2025 23:21:09 GMT Server: - cloudflare + Set-Cookie: + - __cf_bm=0H21Wn0CeGjOmoBvLGq5vA5PWqB4cl6amZ0kGCbr1GQ-1740180069-1.0.1.1-EyrBFAql8hm1Qvm_pxKvb44bkrYkLBzoqxYSaawboicVQfkfquQPEhqVhNXSh15L8Aiqn.WLHKOnSii45FMlXA; + path=/; expires=Fri, 21-Feb-25 23:51:09 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=pgWR9g.y6i.3_EHHkfdBfvv5isYFU_joRq3kXvX2IE4-1740180069173-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None Transfer-Encoding: - chunked X-Content-Type-Options: @@ -330,10 +1266,12 @@ interactions: - X-Request-ID alt-svc: - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC openai-organization: - crewai-iuxna1 openai-processing-ms: - - '7347' + - '470' openai-version: - '2020-10-01' strict-transport-security: @@ -345,13 +1283,257 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999876' + - '149999808' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_aec28dd3fe998d628754e8429623bf9e + - req_fae46f9af88047f2e43f54ce7f6cf3af http_version: HTTP/1.1 status_code: 200 +- request: + body: '{"events": [{"id": "a5f1e046-b0e5-41d1-b5bc-3715c2c7874f", "event_type": + "llms", "init_timestamp": "2025-02-21T23:21:04.468272+00:00", "end_timestamp": + "2025-02-21T23:21:09.342708+00:00", "params": {"model": "gpt-4o-mini", "messages": + [{"role": "system", "content": "You are base_agent. You are a helpful assistant + that just says hi\nYour personal goal is: Just say hi\nTo give my best complete + final answer to the task respond using the exact following format:\n\nThought: + I now can give a great answer\nFinal Answer: Your final answer must be the great + and the most complete as possible, it must be outcome described.\n\nI MUST use + these formats, my job depends on it!"}, {"role": "user", "content": "\nCurrent + Task: Just say hi\n\nThis is the expected criteria for your final answer: hi\nyou + MUST return the actual complete content as the final answer, not a summary.\n\nBegin! + This is VERY important to you, use the tools available and give your best Final + Answer, your job depends on it!\n\nThought:"}], "stop": ["\nObservation:"], + "stream": false}, "returns": "", "agent_id": null, "session_id": "73534e48-dd5a-4ef4-a702-fbbba9d00f27", + "thread_id": null, "prompt": [{"role": "system", "content": "You are base_agent. + You are a helpful assistant that just says hi\nYour personal goal is: Just say + hi\nTo give my best complete final answer to the task respond using the exact + following format:\n\nThought: I now can give a great answer\nFinal Answer: Your + final answer must be the great and the most complete as possible, it must be + outcome described.\n\nI MUST use these formats, my job depends on it!"}, {"role": + "user", "content": "\nCurrent Task: Just say hi\n\nThis is the expected criteria + for your final answer: hi\nyou MUST return the actual complete content as the + final answer, not a summary.\n\nBegin! This is VERY important to you, use the + tools available and give your best Final Answer, your job depends on it!\n\nThought:"}], + "prompt_tokens": 161, "completion": {"content": "I now can give a great answer \nFinal + Answer: hi", "role": "assistant", "tool_calls": null, "function_call": null, + "refusal": null}, "completion_tokens": 12, "cost": null, "model": "gpt-4o-mini-2024-07-18"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '2203' + Content-Type: + - application/json; charset=UTF-8 + Keep-Alive: + - timeout=10, max=1000 + User-Agent: + - python-requests/2.32.3 + X-Agentops-Api-Key: + - e6568f10-56cf-4e37-9415-86e979a7f309 + method: POST + uri: https://api.agentops.ai/v2/create_events + response: + body: + string: '"Success"' + headers: + Content-Length: + - '9' + Content-Type: + - application/json + Date: + - Fri, 21 Feb 2025 23:21:09 GMT + Server: + - railway-edge + X-Railway-Request-Id: + - bIWFwVQkTF6rf7HxjcZWsA_603909319 + status: + code: 200 + message: OK +- request: + body: '{"session": {"end_timestamp": "2025-02-21T23:21:09.676222+00:00", "end_state": + "Success", "session_id": "73534e48-dd5a-4ef4-a702-fbbba9d00f27", "init_timestamp": + "2025-02-21T23:21:03.681822+00:00", "tags": ["crewai"], "video": null, "end_state_reason": + "Finished Execution", "host_env": {"SDK": {"AgentOps SDK Version": "0.3.26", + "Python Version": "3.12.8", "System Packages": {"pluggy": "1.5.0", "importlib.resources": + "6.4.5", "importlib.metadata": "8.4.0", "iniconfig": "2.0.0", "pytest": "8.3.3", + "pytest_asyncio": "0.24.0", "wrapt": "1.16.0", "urllib3": "2.2.3", "charset_normalizer": + "3.4.0", "idna": "3.10", "certifi": "2024.8.30", "requests": "2.32.3", "multidict": + "6.1.0", "propcache": "0.2.0", "yarl": "1.18.3", "aiohappyeyeballs": "2.4.3", + "frozenlist": "1.5.0", "aiosignal": "1.3.1", "aiohttp": "3.11.11", "sniffio": + "1.3.1", "anyio": "4.6.2.post1", "h11": "0.14.0", "h2": "4.2.0", "hpack": "4.1.0", + "hyperframe": "6.1.0", "httpcore": "1.0.6", "click": "8.1.8", "pygments": "2.18.0", + "rich": "13.9.3", "httpx": "0.27.0", "pytest_vcr": "1.0.2", "pytest_subprocess": + "1.5.2", "typing_extensions": "4.12.2", "pydantic": "2.10.4", "annotated_types": + "0.7.0", "pydantic_core": "2.27.2", "json_repair": "0.30.0", "overrides": "7.7.0", + "numpy": "1.26.4", "tenacity": "9.0.0", "onnxruntime": "1.19.2", "tokenizers": + "0.20.1", "tqdm": "4.66.5", "deprecated": "1.2.14", "zipp": "3.20.2", "importlib_metadata": + "8.4.0", "opentelemetry.sdk": "1.27.0", "psutil": "6.0.0", "opentelemetry.exporter.otlp.proto.grpc": + "1.27.0", "opentelemetry.exporter.otlp.proto.common": "1.27.0", "opentelemetry.proto": + "1.27.0", "chromadb": "0.5.23", "crewai.tools": "0.33.0", "appdirs": "1.4.4", + "blinker": "1.9.0", "opentelemetry.exporter.otlp.proto.http": "1.27.0", "termcolor": + "2.4.0", "packaging": "23.2", "langchain_core": "0.3.36", "langsmith": "0.1.147", + "requests_toolbelt": "1.0.0", "orjson": "3.10.10", "jsonpointer": "3.0.0", "jsonpatch": + "1.33", "agentops": "0.3.26", "distro": "1.9.0", "jiter": "0.5.0", "openai": + "1.61.0", "regex": "2024.9.11", "tiktoken": "0.7.0", "markupsafe": "3.0.2", + "jinja2": "3.1.4", "litellm": "1.60.2", "json5": "0.10.0", "jsonpickle": "3.3.0", + "networkx": "3.4.2", "traitlets": "5.14.3", "executing": "2.1.0", "six": "1.16.0", + "asttokens": "2.4.1", "pure_eval": "0.2.3", "stack_data": "0.6.3", "decorator": + "5.1.1", "wcwidth": "0.2.13", "prompt_toolkit": "3.0.48", "parso": "0.8.4", + "colorama": "0.4.6", "jedi": "0.19.1", "IPython": "8.28.0", "pyvis": "0.3.2", + "crewai": "0.102.0"}}, "OS": {"Hostname": "Lorenzes-MacBook-Pro.local", "OS": + "Darwin", "OS Version": "Darwin Kernel Version 24.0.0: Mon Aug 12 20:51:54 PDT + 2024; root:xnu-11215.1.10~2/RELEASE_ARM64_T6000", "OS Release": "24.0.0"}, "CPU": + {"Physical cores": 10, "Total cores": 10, "CPU Usage": "21.8%"}, "RAM": {"Total": + "32.00 GB", "Available": "9.89 GB", "Used": "12.38 GB", "Percentage": "69.1%"}, + "Disk": {"/dev/disk3s1s1": {"Mountpoint": "/", "Total": "926.35 GB", "Used": + "9.94 GB", "Free": "2.64 GB", "Percentage": "79.0%"}, "/dev/disk3s6": {"Mountpoint": + "/System/Volumes/VM", "Total": "926.35 GB", "Used": "1.00 GB", "Free": "2.64 + GB", "Percentage": "27.5%"}, "/dev/disk3s2": {"Mountpoint": "/System/Volumes/Preboot", + "Total": "926.35 GB", "Used": "6.75 GB", "Free": "2.64 GB", "Percentage": "71.9%"}, + "/dev/disk3s4": {"Mountpoint": "/System/Volumes/Update", "Total": "926.35 GB", + "Used": "0.00 GB", "Free": "2.64 GB", "Percentage": "0.1%"}, "/dev/disk1s2": + {"Mountpoint": "/System/Volumes/xarts", "Total": "0.49 GB", "Used": "0.01 GB", + "Free": "0.47 GB", "Percentage": "1.2%"}, "/dev/disk1s1": {"Mountpoint": "/System/Volumes/iSCPreboot", + "Total": "0.49 GB", "Used": "0.01 GB", "Free": "0.47 GB", "Percentage": "1.1%"}, + "/dev/disk1s3": {"Mountpoint": "/System/Volumes/Hardware", "Total": "0.49 GB", + "Used": "0.00 GB", "Free": "0.47 GB", "Percentage": "0.8%"}, "/dev/disk3s5": + {"Mountpoint": "/System/Volumes/Data", "Total": "926.35 GB", "Used": "904.02 + GB", "Free": "2.64 GB", "Percentage": "99.7%"}, "/dev/disk5s1": {"Mountpoint": + "/Library/Developer/CoreSimulator/Volumes/iOS_21A342", "Total": "15.95 GB", + "Used": "15.45 GB", "Free": "0.46 GB", "Percentage": "97.1%"}}, "Installed Packages": + {"Installed Packages": {"flatbuffers": "24.3.25", "google-api-core": "2.24.1", + "shellingham": "1.5.4", "mkdocs": "1.6.1", "mergedeep": "1.3.4", "opencv-python-headless": + "4.11.0.86", "pyright": "1.1.393", "shapely": "2.0.7", "tomli": "2.0.2", "ruff": + "0.8.2", "coloredlogs": "15.0.1", "Rtree": "1.3.0", "pytest-asyncio": "0.24.0", + "humanfriendly": "10.0", "executing": "2.1.0", "uv": "0.4.26", "pexpect": "4.9.0", + "pandas": "2.2.3", "pyyaml_env_tag": "0.1", "lazy_loader": "0.4", "PyJWT": "2.9.0", + "decorator": "5.1.1", "filelock": "3.16.1", "idna": "3.10", "embedchain": "0.1.126", + "traitlets": "5.14.3", "ipython": "8.28.0", "tomli_w": "1.1.0", "opentelemetry-exporter-otlp-proto-http": + "1.27.0", "pyasn1_modules": "0.4.1", "Markdown": "3.7", "distlib": "0.3.9", + "pyvis": "0.3.2", "termcolor": "2.4.0", "watchdog": "5.0.3", "tifffile": "2025.2.18", + "multidict": "6.1.0", "ptyprocess": "0.7.0", "langchain": "0.3.19", "aiosignal": + "1.3.1", "cssselect2": "0.7.0", "griffe": "1.5.1", "grpc-google-iam-v1": "0.14.0", + "zipp": "3.20.2", "mkdocs-get-deps": "0.2.0", "importlib_resources": "6.4.5", + "litellm": "1.60.2", "google-auth": "2.35.0", "Mako": "1.3.9", "mkdocs-material-extensions": + "1.3.1", "latex2mathml": "3.77.0", "urllib3": "2.2.3", "overrides": "7.7.0", + "parso": "0.8.4", "pytest": "8.3.3", "webencodings": "0.5.1", "colorama": "0.4.6", + "orjson": "3.10.10", "langchain-community": "0.3.17", "lancedb": "0.18.0", "langchain-openai": + "0.2.14", "google-cloud-resource-manager": "1.14.0", "rich": "13.9.3", "schema": + "0.7.7", "propcache": "0.2.0", "python-docx": "1.1.2", "defusedxml": "0.7.1", + "referencing": "0.35.1", "paginate": "0.5.7", "semchunk": "2.2.2", "requests": + "2.32.3", "frozenlist": "1.5.0", "multiprocess": "0.70.17", "openpyxl": "3.1.5", + "Jinja2": "3.1.4", "httpx-sse": "0.4.0", "cryptography": "43.0.3", "transformers": + "4.49.0", "docling": "2.24.0", "websockets": "13.1", "chromadb": "0.5.23", "blinker": + "1.9.0", "soupsieve": "2.6", "ninja": "1.11.1.3", "tqdm": "4.66.5", "qdrant-client": + "1.13.2", "markdown-it-py": "3.0.0", "sympy": "1.13.3", "six": "1.16.0", "mypy-extensions": + "1.0.0", "posthog": "3.7.0", "h11": "0.14.0", "googleapis-common-protos": "1.65.0", + "fsspec": "2024.10.0", "networkx": "3.4.2", "grpcio": "1.67.0", "python-pptx": + "1.0.2", "marko": "2.1.2", "et_xmlfile": "2.0.0", "typing-inspect": "0.9.0", + "protobuf": "4.25.5", "ghp-import": "2.1.0", "grpcio-status": "1.70.0", "auth0-python": + "4.7.2", "pymdown-extensions": "10.11.2", "iniconfig": "2.0.0", "beautifulsoup4": + "4.13.3", "SQLAlchemy": "2.0.38", "crewai-tools": "0.33.0", "google-resumable-media": + "2.7.2", "grpcio-tools": "1.70.0", "uvicorn": "0.32.0", "chroma-hnswlib": "0.7.6", + "jsonpatch": "1.33", "click": "8.1.8", "jsonpointer": "3.0.0", "lxml": "5.3.1", + "numpy": "1.26.4", "docstring_parser": "0.16", "attrs": "24.2.0", "mkdocstrings-python": + "1.12.2", "crewai": "0.102.0", "cairocffi": "1.7.1", "packaging": "23.2", "kubernetes": + "31.0.0", "appdirs": "1.4.4", "certifi": "2024.8.30", "h2": "4.2.0", "starlette": + "0.41.0", "tenacity": "9.0.0", "cffi": "1.17.1", "pytest-vcr": "1.0.2", "aiohttp": + "3.11.11", "jsonschema": "4.23.0", "google-crc32c": "1.6.0", "pdfminer.six": + "20231228", "mypy": "1.13.0", "opentelemetry-exporter-otlp-proto-common": "1.27.0", + "pyasn1": "0.6.1", "stack-data": "0.6.3", "asttokens": "2.4.1", "cachetools": + "5.5.0", "portalocker": "2.10.1", "asgiref": "3.8.1", "pypdfium2": "4.30.0", + "typer": "0.12.5", "dataclasses-json": "0.6.7", "pathspec": "0.12.1", "oauthlib": + "3.2.2", "identify": "2.6.1", "psutil": "6.0.0", "docling-core": "2.20.0", "mpire": + "2.10.2", "pylance": "0.22.0", "jedi": "0.19.1", "alembic": "1.14.1", "python-dotenv": + "1.0.1", "mkdocs-material": "9.5.42", "aiohappyeyeballs": "2.4.3", "opentelemetry-instrumentation": + "0.48b0", "loguru": "0.7.3", "docling-parse": "3.4.0", "langchain-text-splitters": + "0.3.6", "watchfiles": "0.24.0", "bcrypt": "4.2.0", "sniffio": "1.3.1", "nodeenv": + "1.9.1", "docling-ibm-models": "3.4.0", "jsonpickle": "3.3.0", "safetensors": + "0.5.2", "google-cloud-storage": "2.19.0", "jsonschema-specifications": "2024.10.1", + "mdurl": "0.1.2", "fastavro": "1.10.0", "cfgv": "3.4.0", "python-dateutil": + "2.9.0.post0", "mpmath": "1.3.0", "json_repair": "0.30.0", "build": "1.2.2.post1", + "types-requests": "2.32.0.20241016", "pytz": "2024.2", "huggingface-hub": "0.26.1", + "yarl": "1.18.3", "jsonref": "1.1.0", "rsa": "4.9", "wcwidth": "0.2.13", "google-cloud-aiplatform": + "1.81.0", "torch": "2.6.0", "langchain-cohere": "0.3.5", "langchain-experimental": + "0.3.4", "scipy": "1.15.2", "json5": "0.10.0", "opentelemetry-sdk": "1.27.0", + "opentelemetry-util-http": "0.48b0", "tzdata": "2025.1", "babel": "2.16.0", + "langchain-core": "0.3.36", "virtualenv": "20.27.0", "importlib_metadata": "8.4.0", + "easyocr": "1.7.2", "pydantic_core": "2.27.2", "cohere": "5.13.12", "prompt_toolkit": + "3.0.48", "pycparser": "2.22", "proto-plus": "1.26.0", "pydantic": "2.10.4", + "pluggy": "1.5.0", "torchvision": "0.21.0", "pypdf": "5.3.0", "py_rust_stemmers": + "0.1.3", "tiktoken": "0.7.0", "opentelemetry-instrumentation-fastapi": "0.48b0", + "agentops": "0.3.26", "setuptools": "75.2.0", "google-cloud-core": "2.4.1", + "imageio": "2.37.0", "pure_eval": "0.2.3", "pdfplumber": "0.11.4", "deprecation": + "2.1.0", "distro": "1.9.0", "fastembed": "0.5.1", "pillow": "10.4.0", "pydantic-settings": + "2.7.1", "requests-toolbelt": "1.0.0", "mem0ai": "0.1.52", "docker": "7.1.0", + "httptools": "0.6.4", "mkdocs-autorefs": "1.2.0", "httpx": "0.27.0", "typing_extensions": + "4.12.2", "jiter": "0.5.0", "PyYAML": "6.0.2", "matplotlib-inline": "0.1.7", + "weaviate-client": "3.26.7", "tokenizers": "0.20.1", "opentelemetry-exporter-otlp-proto-grpc": + "1.27.0", "rpds-py": "0.20.0", "monotonic": "1.6", "charset-normalizer": "3.4.0", + "backoff": "2.2.1", "pytube": "15.0.0", "Deprecated": "1.2.14", "regex": "2024.9.11", + "onnxruntime": "1.19.2", "hpack": "4.1.0", "tinycss2": "1.3.0", "instructor": + "1.6.3", "filetype": "1.2.0", "opentelemetry-instrumentation-asgi": "0.48b0", + "Authlib": "1.4.1", "google-cloud-bigquery": "3.29.0", "pyproject_hooks": "1.2.0", + "opentelemetry-api": "1.27.0", "pyclipper": "1.3.0.post6", "vcrpy": "5.1.0", + "pre_commit": "4.0.1", "uvloop": "0.21.0", "platformdirs": "4.3.6", "openai": + "1.61.0", "marshmallow": "3.26.1", "annotated-types": "0.7.0", "mkdocstrings": + "0.26.2", "opentelemetry-proto": "1.27.0", "anyio": "4.6.2.post1", "opentelemetry-semantic-conventions": + "0.48b0", "grpcio-health-checking": "1.67.0", "PyPika": "0.48.9", "gptcache": + "0.1.44", "pysbd": "0.3.4", "scikit-image": "0.25.2", "httpcore": "1.0.6", "Pygments": + "2.18.0", "XlsxWriter": "3.2.2", "hyperframe": "6.1.0", "langsmith": "0.1.147", + "requests-oauthlib": "2.0.0", "durationpy": "0.9", "validators": "0.34.0", "CairoSVG": + "2.7.1", "fastapi": "0.115.3", "jsonlines": "3.1.0", "tabulate": "0.9.0", "pyarrow": + "19.0.0", "python-bidi": "0.6.6", "dill": "0.3.9", "pytest-subprocess": "1.5.2", + "wrapt": "1.16.0", "mmh3": "4.1.0", "websocket-client": "1.8.0", "MarkupSafe": + "3.0.2"}}, "Project Working Directory": {"Project Working Directory": "/Users/lorenzejay/Documents/Uplift + Digital Solutions/clients/crewai-org/crewAI"}, "Virtual Environment": {"Virtual + Environment": "/Users/lorenzejay/Documents/Uplift Digital Solutions/clients/crewai-org/crewAI/.venv"}}, + "config": "", "jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uX2lkIjoiNzM1MzRlNDgtZGQ1YS00ZWY0LWE3MDItZmJiYmE5ZDAwZjI3IiwiZXhwIjoxNzQwMjY2NDY0LjE3MDgwN30.gkiHROHd6xvHJ5IK83zGZQqIezGFCMsKbmGUer3QdrM", + "_lock": "", "_end_session_lock": "", "token_cost": "", "_session_url": "", + "event_counts": {"llms": 1, "tools": 0, "actions": 0, "errors": 0, "apis": 0}, + "is_running": false, "_tracer_provider": "", "_otel_tracer": "", "_otel_exporter": + ""}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '11938' + Content-Type: + - application/json; charset=UTF-8 + Keep-Alive: + - timeout=10, max=1000 + User-Agent: + - python-requests/2.32.3 + X-Agentops-Api-Key: + - e6568f10-56cf-4e37-9415-86e979a7f309 + method: POST + uri: https://api.agentops.ai/v2/update_session + response: + body: + string: '{"session_url":"https://app.agentops.ai/drilldown?session_id=73534e48-dd5a-4ef4-a702-fbbba9d00f27","status":"success","token_cost":3.135e-05}' + headers: + Content-Length: + - '141' + Content-Type: + - application/json + Date: + - Fri, 21 Feb 2025 23:21:09 GMT + Server: + - railway-edge + X-Railway-Request-Id: + - IPxx0Dd2SjClZseCNNXQkQ_1861343781 + status: + code: 200 + message: OK version: 1 diff --git a/tests/utilities/cassettes/test_crew_emits_test_kickoff_type_event.yaml b/tests/utilities/cassettes/test_crew_emits_test_kickoff_type_event.yaml new file mode 100644 index 000000000..5905cf66c --- /dev/null +++ b/tests/utilities/cassettes/test_crew_emits_test_kickoff_type_event.yaml @@ -0,0 +1,236 @@ +interactions: +- request: + body: '{"messages": [{"role": "system", "content": "You are base_agent. You are + a helpful assistant that just says hi\nYour personal goal is: Just say hi\nTo + give my best complete final answer to the task respond using the exact following + format:\n\nThought: I now can give a great answer\nFinal Answer: Your final + answer must be the great and the most complete as possible, it must be outcome + described.\n\nI MUST use these formats, my job depends on it!"}, {"role": "user", + "content": "\nCurrent Task: Just say hi\n\nThis is the expected criteria for + your final answer: hi\nyou MUST return the actual complete content as the final + answer, not a summary.\n\nBegin! This is VERY important to you, use the tools + available and give your best Final Answer, your job depends on it!\n\nThought:"}], + "model": "gpt-4o-mini", "stop": ["\nObservation:"]}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '838' + content-type: + - application/json + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.61.0 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.61.0 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.8 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-B4VsaBZ4ec4b0ab4pkqWgyxTFVVfc\",\n \"object\": + \"chat.completion\",\n \"created\": 1740415556,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: hi\",\n \"refusal\": null\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 161,\n \"completion_tokens\": 12,\n \"total_tokens\": 173,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": + \"default\",\n \"system_fingerprint\": \"fp_7fcd609668\"\n}\n" + headers: + CF-RAY: + - 9170edc5da6f230e-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2025 16:45:57 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=lvRw4Nyef7N35to64fj2_kHDfbZp0KSFbwgF5chYMRI-1740415557-1.0.1.1-o5BaN1FpBwv5Wq6zIlv0rCB28lk5hVI9wZQWU3pig1jgyAKDkYzTwZ0MlSR6v6TPIX9RfepjrO3.Gk3FEmcVRw; + path=/; expires=Mon, 24-Feb-25 17:15:57 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=ySaVoTQvAcQyH5QoJQJDj75e5j8HwGFPOlFMAWEvXJk-1740415557302-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '721' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999808' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_fc3b3bcd4382cddaa3c04ce7003e4857 + http_version: HTTP/1.1 + status_code: 200 +- request: + body: '{"messages": [{"role": "system", "content": "You are Task Execution Evaluator. + Evaluator agent for crew evaluation with precise capabilities to evaluate the + performance of the agents in the crew based on the tasks they have performed\nYour + personal goal is: Your goal is to evaluate the performance of the agents in + the crew based on the tasks they have performed using score from 1 to 10 evaluating + on completion, quality, and overall performance.\nTo give my best complete final + answer to the task respond using the exact following format:\n\nThought: I now + can give a great answer\nFinal Answer: Your final answer must be the great and + the most complete as possible, it must be outcome described.\n\nI MUST use these + formats, my job depends on it!"}, {"role": "user", "content": "\nCurrent Task: + Based on the task description and the expected output, compare and evaluate + the performance of the agents in the crew based on the Task Output they have + performed using score from 1 to 10 evaluating on completion, quality, and overall + performance.task_description: Just say hi task_expected_output: hi agent: base_agent + agent_goal: Just say hi Task Output: hi\n\nThis is the expected criteria for + your final answer: Evaluation Score from 1 to 10 based on the performance of + the agents on the tasks\nyou MUST return the actual complete content as the + final answer, not a summary.\nEnsure your final answer contains only the content + in the following format: {\n \"quality\": float\n}\n\nEnsure the final output + does not include any code block markers like ```json or ```python.\n\nBegin! + This is VERY important to you, use the tools available and give your best Final + Answer, your job depends on it!\n\nThought:"}], "model": "gpt-4o-mini", "stop": + ["\nObservation:"]}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '1765' + content-type: + - application/json + cookie: + - __cf_bm=lvRw4Nyef7N35to64fj2_kHDfbZp0KSFbwgF5chYMRI-1740415557-1.0.1.1-o5BaN1FpBwv5Wq6zIlv0rCB28lk5hVI9wZQWU3pig1jgyAKDkYzTwZ0MlSR6v6TPIX9RfepjrO3.Gk3FEmcVRw; + _cfuvid=ySaVoTQvAcQyH5QoJQJDj75e5j8HwGFPOlFMAWEvXJk-1740415557302-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - OpenAI/Python 1.61.0 + x-stainless-arch: + - arm64 + x-stainless-async: + - 'false' + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 1.61.0 + x-stainless-raw-response: + - 'true' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.12.8 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + content: "{\n \"id\": \"chatcmpl-B4Vsbd9AsRaJ2exDtWnHAwC8rIjfi\",\n \"object\": + \"chat.completion\",\n \"created\": 1740415557,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": + \"assistant\",\n \"content\": \"I now can give a great answer \\nFinal + Answer: { \\n \\\"quality\\\": 10 \\n} \",\n \"refusal\": null\n + \ },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n + \ ],\n \"usage\": {\n \"prompt_tokens\": 338,\n \"completion_tokens\": + 22,\n \"total_tokens\": 360,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n + \ \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": + \"default\",\n \"system_fingerprint\": \"fp_7fcd609668\"\n}\n" + headers: + CF-RAY: + - 9170edd15bb5230e-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2025 16:45:58 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + access-control-expose-headers: + - X-Request-ID + alt-svc: + - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC + openai-organization: + - crewai-iuxna1 + openai-processing-ms: + - '860' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + x-ratelimit-limit-requests: + - '30000' + x-ratelimit-limit-tokens: + - '150000000' + x-ratelimit-remaining-requests: + - '29999' + x-ratelimit-remaining-tokens: + - '149999578' + x-ratelimit-reset-requests: + - 2ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_fad452c2d10b5fc95809130912b08837 + http_version: HTTP/1.1 + status_code: 200 +version: 1 diff --git a/tests/utilities/test_events.py b/tests/utilities/test_events.py index aa65d82b2..49edc8666 100644 --- a/tests/utilities/test_events.py +++ b/tests/utilities/test_events.py @@ -1,5 +1,5 @@ from datetime import datetime -from unittest.mock import patch +from unittest.mock import Mock, patch import pytest from pydantic import Field @@ -11,7 +11,6 @@ from crewai.flow.flow import Flow, listen, start from crewai.llm import LLM from crewai.task import Task from crewai.tools.base_tool import BaseTool -from crewai.tools.tool_usage import ToolUsage from crewai.utilities.events.agent_events import ( AgentExecutionCompletedEvent, AgentExecutionErrorEvent, @@ -21,8 +20,11 @@ from crewai.utilities.events.crew_events import ( CrewKickoffCompletedEvent, CrewKickoffFailedEvent, CrewKickoffStartedEvent, + CrewTestCompletedEvent, + CrewTestStartedEvent, ) from crewai.utilities.events.crewai_event_bus import crewai_event_bus +from crewai.utilities.events.event_listener import EventListener from crewai.utilities.events.event_types import ToolUsageFinishedEvent from crewai.utilities.events.flow_events import ( FlowCreatedEvent, @@ -58,26 +60,35 @@ base_task = Task( expected_output="hi", agent=base_agent, ) +event_listener = EventListener() @pytest.mark.vcr(filter_headers=["authorization"]) def test_crew_emits_start_kickoff_event(): received_events = [] + mock_span = Mock() - with crewai_event_bus.scoped_handlers(): - - @crewai_event_bus.on(CrewKickoffStartedEvent) - def handle_crew_start(source, event): - received_events.append(event) - - crew = Crew(agents=[base_agent], tasks=[base_task], name="TestCrew") + @crewai_event_bus.on(CrewKickoffStartedEvent) + def handle_crew_start(source, event): + received_events.append(event) + crew = Crew(agents=[base_agent], tasks=[base_task], name="TestCrew") + with ( + patch.object( + event_listener._telemetry, "crew_execution_span", return_value=mock_span + ) as mock_crew_execution_span, + patch.object( + event_listener._telemetry, "end_crew", return_value=mock_span + ) as mock_crew_ended, + ): crew.kickoff() + mock_crew_execution_span.assert_called_once_with(crew, None) + mock_crew_ended.assert_called_once_with(crew, "hi") - assert len(received_events) == 1 - assert received_events[0].crew_name == "TestCrew" - assert isinstance(received_events[0].timestamp, datetime) - assert received_events[0].type == "crew_kickoff_started" + assert len(received_events) == 1 + assert received_events[0].crew_name == "TestCrew" + assert isinstance(received_events[0].timestamp, datetime) + assert received_events[0].type == "crew_kickoff_started" @pytest.mark.vcr(filter_headers=["authorization"]) @@ -98,6 +109,45 @@ def test_crew_emits_end_kickoff_event(): assert received_events[0].type == "crew_kickoff_completed" +@pytest.mark.vcr(filter_headers=["authorization"]) +def test_crew_emits_test_kickoff_type_event(): + received_events = [] + mock_span = Mock() + + @crewai_event_bus.on(CrewTestStartedEvent) + def handle_crew_end(source, event): + received_events.append(event) + + @crewai_event_bus.on(CrewTestCompletedEvent) + def handle_crew_test_end(source, event): + received_events.append(event) + + eval_llm = LLM(model="gpt-4o-mini") + with ( + patch.object( + event_listener._telemetry, "test_execution_span", return_value=mock_span + ) as mock_crew_execution_span, + ): + crew = Crew(agents=[base_agent], tasks=[base_task], name="TestCrew") + crew.test(n_iterations=1, eval_llm=eval_llm) + + # Verify the call was made with correct argument types and values + assert mock_crew_execution_span.call_count == 1 + args = mock_crew_execution_span.call_args[0] + assert isinstance(args[0], Crew) + assert args[1] == 1 + assert args[2] is None + assert args[3] == eval_llm + + assert len(received_events) == 2 + assert received_events[0].crew_name == "TestCrew" + assert isinstance(received_events[0].timestamp, datetime) + assert received_events[0].type == "crew_test_started" + assert received_events[1].crew_name == "TestCrew" + assert isinstance(received_events[1].timestamp, datetime) + assert received_events[1].type == "crew_test_completed" + + @pytest.mark.vcr(filter_headers=["authorization"]) def test_crew_emits_kickoff_failed_event(): received_events = [] @@ -148,9 +198,20 @@ def test_crew_emits_end_task_event(): def handle_task_end(source, event): received_events.append(event) + mock_span = Mock() crew = Crew(agents=[base_agent], tasks=[base_task], name="TestCrew") + with ( + patch.object( + event_listener._telemetry, "task_started", return_value=mock_span + ) as mock_task_started, + patch.object( + event_listener._telemetry, "task_ended", return_value=mock_span + ) as mock_task_ended, + ): + crew.kickoff() - crew.kickoff() + mock_task_started.assert_called_once_with(crew=crew, task=base_task) + mock_task_ended.assert_called_once_with(mock_span, base_task, crew) assert len(received_events) == 1 assert isinstance(received_events[0].timestamp, datetime) @@ -340,24 +401,29 @@ def test_tools_emits_error_events(): def test_flow_emits_start_event(): received_events = [] + mock_span = Mock() - with crewai_event_bus.scoped_handlers(): + @crewai_event_bus.on(FlowStartedEvent) + def handle_flow_start(source, event): + received_events.append(event) - @crewai_event_bus.on(FlowStartedEvent) - def handle_flow_start(source, event): - received_events.append(event) - - class TestFlow(Flow[dict]): - @start() - def begin(self): - return "started" + class TestFlow(Flow[dict]): + @start() + def begin(self): + return "started" + with ( + patch.object( + event_listener._telemetry, "flow_execution_span", return_value=mock_span + ) as mock_flow_execution_span, + ): flow = TestFlow() flow.kickoff() - assert len(received_events) == 1 - assert received_events[0].flow_name == "TestFlow" - assert received_events[0].type == "flow_started" + mock_flow_execution_span.assert_called_once_with("TestFlow", ["begin"]) + assert len(received_events) == 1 + assert received_events[0].flow_name == "TestFlow" + assert received_events[0].type == "flow_started" def test_flow_emits_finish_event(): @@ -461,6 +527,7 @@ def test_multiple_handlers_for_same_event(): def test_flow_emits_created_event(): received_events = [] + mock_span = Mock() @crewai_event_bus.on(FlowCreatedEvent) def handle_flow_created(source, event): @@ -471,8 +538,15 @@ def test_flow_emits_created_event(): def begin(self): return "started" - flow = TestFlow() - flow.kickoff() + with ( + patch.object( + event_listener._telemetry, "flow_creation_span", return_value=mock_span + ) as mock_flow_creation_span, + ): + flow = TestFlow() + flow.kickoff() + + mock_flow_creation_span.assert_called_once_with("TestFlow") assert len(received_events) == 1 assert received_events[0].flow_name == "TestFlow"