Name | parmot JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | Parmot client SDK with LLM usage tracking and provider wrappers. |
upload_time | 2025-09-01 15:47:30 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
llm
usage
tracking
sdk
openai
anthropic
cohere
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 
**Parmot Python SDK**
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
Parmot is a lightweight package tracking and managing **end-user usage, limits, and subscription plans** across AI providers (OpenAI, Anthropic, Cohere, etc.).
Visit [parmot.com](https://www.parmot.com/) for more.
---
## 🚀 Features
- Track **token usage and costs** across multiple providers.
- Enforce **rate limits** and **usage limits** for end-users.
- Manage **subscription plans** (create, update, delete, assign).
- Easy-to-use wrappers for OpenAI, Anthropic, and Cohere clients with automatic tracking.
---
## 📦 Installation
```bash
pip install parmot[openai]
```
To install Parmot for other provider clients, simply include them in the brackets:
```bash
pip install parmot[anthropic]
pip install parmot[cohere]
```
---
## âš¡ Quick Start
```python
from parmot import TrackedOpenAI
client = TrackedOpenAI(api_key="OPENAI_API_KEY", parmot_api_key="PARMOT_API_KEY")
response = client.chat.completions.create(
model="gpt-4o-mini",
user_id="end_user_123",
messages=[{"role": "user", "content": "Tell me a joke."}],
)
print(response.choices[0].message)
```
---
## 📖 Docs
👉 [Full Documentation](https://www.parmot.com/docs)
Raw data
{
"_id": null,
"home_page": null,
"name": "parmot",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "llm, usage, tracking, sdk, openai, anthropic, cohere",
"author": null,
"author_email": "Emmett McFarlane <emmett@thepi.pe>",
"download_url": "https://files.pythonhosted.org/packages/40/49/f6028abb05a15455c1185866a54058180595486c2cde2d0e1b3eb9bb2257/parmot-0.1.1.tar.gz",
"platform": null,
"description": "# \r\n\r\n**Parmot Python SDK**\r\n\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/MIT)\r\n\r\nParmot is a lightweight package tracking and managing **end-user usage, limits, and subscription plans** across AI providers (OpenAI, Anthropic, Cohere, etc.).\r\n\r\nVisit [parmot.com](https://www.parmot.com/) for more.\r\n\r\n---\r\n\r\n## \ud83d\ude80 Features\r\n\r\n- Track **token usage and costs** across multiple providers.\r\n- Enforce **rate limits** and **usage limits** for end-users.\r\n- Manage **subscription plans** (create, update, delete, assign).\r\n- Easy-to-use wrappers for OpenAI, Anthropic, and Cohere clients with automatic tracking.\r\n\r\n---\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n```bash\r\npip install parmot[openai]\r\n```\r\n\r\nTo install Parmot for other provider clients, simply include them in the brackets:\r\n\r\n```bash\r\npip install parmot[anthropic]\r\npip install parmot[cohere]\r\n```\r\n\r\n---\r\n\r\n## \u26a1 Quick Start\r\n\r\n```python\r\nfrom parmot import TrackedOpenAI\r\n\r\nclient = TrackedOpenAI(api_key=\"OPENAI_API_KEY\", parmot_api_key=\"PARMOT_API_KEY\")\r\n\r\nresponse = client.chat.completions.create(\r\n model=\"gpt-4o-mini\",\r\n user_id=\"end_user_123\",\r\n messages=[{\"role\": \"user\", \"content\": \"Tell me a joke.\"}],\r\n)\r\n\r\nprint(response.choices[0].message)\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcd6 Docs\r\n\r\n\ud83d\udc49 [Full Documentation](https://www.parmot.com/docs)\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Parmot client SDK with LLM usage tracking and provider wrappers.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://parmot.com",
"Issues": "https://github.com/emcf/parmot/issues",
"Repository": "https://github.com/emcf/parmot"
},
"split_keywords": [
"llm",
" usage",
" tracking",
" sdk",
" openai",
" anthropic",
" cohere"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e843d9c9949f1a49c168d0aef231f99ec4a093440ebce3be5c2fcdd8fd4cd1fb",
"md5": "d3803b81e9b0b700e2d4afc593ebdb7c",
"sha256": "81c5c8eed106fa9284e40f722778531c2b41fba4c1ce781d2003964722a6974e"
},
"downloads": -1,
"filename": "parmot-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d3803b81e9b0b700e2d4afc593ebdb7c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 21215,
"upload_time": "2025-09-01T15:47:29",
"upload_time_iso_8601": "2025-09-01T15:47:29.989388Z",
"url": "https://files.pythonhosted.org/packages/e8/43/d9c9949f1a49c168d0aef231f99ec4a093440ebce3be5c2fcdd8fd4cd1fb/parmot-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4049f6028abb05a15455c1185866a54058180595486c2cde2d0e1b3eb9bb2257",
"md5": "41eab883717258e1e88f70e51482408b",
"sha256": "0370ce8fc45c73b1c777cf07993bfe3f358cb2f8666f81fe5da607bfad23cea9"
},
"downloads": -1,
"filename": "parmot-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "41eab883717258e1e88f70e51482408b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 19403,
"upload_time": "2025-09-01T15:47:30",
"upload_time_iso_8601": "2025-09-01T15:47:30.811908Z",
"url": "https://files.pythonhosted.org/packages/40/49/f6028abb05a15455c1185866a54058180595486c2cde2d0e1b3eb9bb2257/parmot-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 15:47:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "emcf",
"github_project": "parmot",
"github_not_found": true,
"lcname": "parmot"
}