# SuperTokenTracker (Python)
Google Gemini token tracker that automatically logs prompts, responses, and token usage.
**Drop-in replacement for `google-genai` - just change your import!**
## Installation
```bash
pip install supertokentracker
```
## Quick Start
```python
from supertokentracker import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemini-2.0-flash-exp",
contents="Why is the sky blue?"
)
print(response.text)
requests = client.get_tracked_requests()
print(f"Total tokens used: {requests[0]['usage']['totalTokens']}")
```
### Migration from `google-genai`
Simply replace:
```python
from google import genai # Before
```
With:
```python
from supertokentracker import genai # After
```
Everything else stays the same!
## Features
- **Drop-in replacement** for `google-genai` package
- Automatic token tracking for all Gemini API calls
- Local JSON file storage or remote tracking
- Tracks errors, metadata, and response times
- Zero-config setup
## Configuration
### Local Storage (default)
```python
from supertokentracker import genai
client = genai.Client(
api_key="YOUR_API_KEY",
local_storage={
"file_path": "./custom-logs.json",
"auto_save": True
}
)
```
### Remote Storage
```python
from supertokentracker import genai
client = genai.Client(
api_key="YOUR_GEMINI_API_KEY",
storage="remote",
remote_storage={
"api_key": "YOUR_AITRACKER_API_KEY",
"project_name": "my-project"
}
)
```
View tracked requests at [tokentracker.dev](https://tokentracker.dev)
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "supertokentracker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "gemini, ai, tracker, google, generative-ai, logging, analytics",
"author": null,
"author_email": "AITracker <support@aitracker.dev>",
"download_url": "https://files.pythonhosted.org/packages/fe/0d/d4f5cc1228e870d2781c0f858d8e7f9f46de9105fc25a9ddd7ac4d4de62b/supertokentracker-0.1.1.tar.gz",
"platform": null,
"description": "# SuperTokenTracker (Python)\n\nGoogle Gemini token tracker that automatically logs prompts, responses, and token usage.\n\n**Drop-in replacement for `google-genai` - just change your import!**\n\n## Installation\n\n```bash\npip install supertokentracker\n```\n\n## Quick Start\n\n```python\nfrom supertokentracker import genai\n\nclient = genai.Client(api_key=\"YOUR_API_KEY\")\n\nresponse = client.models.generate_content(\n model=\"gemini-2.0-flash-exp\",\n contents=\"Why is the sky blue?\"\n)\n\nprint(response.text)\n\nrequests = client.get_tracked_requests()\nprint(f\"Total tokens used: {requests[0]['usage']['totalTokens']}\")\n```\n\n### Migration from `google-genai`\n\nSimply replace:\n```python\nfrom google import genai # Before\n```\n\nWith:\n```python\nfrom supertokentracker import genai # After\n```\n\nEverything else stays the same!\n\n## Features\n\n- **Drop-in replacement** for `google-genai` package\n- Automatic token tracking for all Gemini API calls\n- Local JSON file storage or remote tracking\n- Tracks errors, metadata, and response times\n- Zero-config setup\n\n## Configuration\n\n### Local Storage (default)\n\n```python\nfrom supertokentracker import genai\n\nclient = genai.Client(\n api_key=\"YOUR_API_KEY\",\n local_storage={\n \"file_path\": \"./custom-logs.json\",\n \"auto_save\": True\n }\n)\n```\n\n### Remote Storage\n\n```python\nfrom supertokentracker import genai\n\nclient = genai.Client(\n api_key=\"YOUR_GEMINI_API_KEY\",\n storage=\"remote\",\n remote_storage={\n \"api_key\": \"YOUR_AITRACKER_API_KEY\",\n \"project_name\": \"my-project\"\n }\n)\n```\n\nView tracked requests at [tokentracker.dev](https://tokentracker.dev)\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Google Gemini token tracker that automatically logs prompts, responses, and token usage",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://tokentracker.dev/docs",
"Homepage": "https://tokentracker.dev",
"Repository": "https://github.com/aitracker/supertokentracker"
},
"split_keywords": [
"gemini",
" ai",
" tracker",
" google",
" generative-ai",
" logging",
" analytics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c4896bcc36cee5d7f4036643c6261674f34c700ad27ab530413929ea8e2e1360",
"md5": "3fc984e48b2cebb786b2ef2c583a9854",
"sha256": "e46ada53752cf537dc6ff72044d6a4deb35f1539e74d434270319bec6769a6be"
},
"downloads": -1,
"filename": "supertokentracker-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3fc984e48b2cebb786b2ef2c583a9854",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7678,
"upload_time": "2025-10-27T14:59:14",
"upload_time_iso_8601": "2025-10-27T14:59:14.656783Z",
"url": "https://files.pythonhosted.org/packages/c4/89/6bcc36cee5d7f4036643c6261674f34c700ad27ab530413929ea8e2e1360/supertokentracker-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fe0dd4f5cc1228e870d2781c0f858d8e7f9f46de9105fc25a9ddd7ac4d4de62b",
"md5": "d83d0c688bbfb684242db1638c57746a",
"sha256": "56accd7324d01856d7aa8767afb3f04555f80f52f277ad8b986ce653cb74f8f2"
},
"downloads": -1,
"filename": "supertokentracker-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "d83d0c688bbfb684242db1638c57746a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 7205,
"upload_time": "2025-10-27T14:59:15",
"upload_time_iso_8601": "2025-10-27T14:59:15.604771Z",
"url": "https://files.pythonhosted.org/packages/fe/0d/d4f5cc1228e870d2781c0f858d8e7f9f46de9105fc25a9ddd7ac4d4de62b/supertokentracker-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-27 14:59:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "aitracker",
"github_project": "supertokentracker",
"github_not_found": true,
"lcname": "supertokentracker"
}