skimly


Nameskimly JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummarySkimly Python SDK
upload_time2025-08-18 09:22:54
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords ai anthropic gateway openai sdk skimly
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Skimly Python SDK

Official Python SDK for Skimly - the AI token optimization platform.

## Installation

```bash
pip install skimly
```

## Quick Start

```python
from skimly import SkimlyClient

# Initialize client
client = SkimlyClient.from_env()

# Chat with OpenAI
response = await client.chat({
    "provider": "openai",
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello!"}]
})

# Upload large content once
blob = await client.create_blob("Large document content...")
print(blob["blob_id"])

# Avoid re-uploading identical content
blob = await client.create_blob_if_new("Large document content...")
```

## API Reference

### `SkimlyClient(key, base?, timeout_ms?, retries?)`

Creates a new Skimly client instance.

### `SkimlyClient.from_env()`

Creates a client from environment variables:
- `SKIMLY_KEY` - Your Skimly API key
- `SKIMLY_BASE` - Base URL (defaults to http://localhost:3000)

### `client.chat(req)`

Send a chat request. Request object should include:
- `provider` - "openai" or "anthropic"
- `model` - Model name
- `messages` - Array of message objects

### `client.create_blob(content, mime_type?)`

Upload large content once. Returns `{blob_id}`.

### `client.create_blob_if_new(content, mime_type?)`

Upload content only if it hasn't been uploaded before. Returns `{blob_id}`.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "skimly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, anthropic, gateway, openai, sdk, skimly",
    "author": null,
    "author_email": "Skimly <dev@skimly.ai>",
    "download_url": "https://files.pythonhosted.org/packages/08/26/9922018bf3d95738d96995f48c6117a3cbe20747564fcf87007ac981f579/skimly-0.1.3.tar.gz",
    "platform": null,
    "description": "# Skimly Python SDK\n\nOfficial Python SDK for Skimly - the AI token optimization platform.\n\n## Installation\n\n```bash\npip install skimly\n```\n\n## Quick Start\n\n```python\nfrom skimly import SkimlyClient\n\n# Initialize client\nclient = SkimlyClient.from_env()\n\n# Chat with OpenAI\nresponse = await client.chat({\n    \"provider\": \"openai\",\n    \"model\": \"gpt-4o-mini\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n})\n\n# Upload large content once\nblob = await client.create_blob(\"Large document content...\")\nprint(blob[\"blob_id\"])\n\n# Avoid re-uploading identical content\nblob = await client.create_blob_if_new(\"Large document content...\")\n```\n\n## API Reference\n\n### `SkimlyClient(key, base?, timeout_ms?, retries?)`\n\nCreates a new Skimly client instance.\n\n### `SkimlyClient.from_env()`\n\nCreates a client from environment variables:\n- `SKIMLY_KEY` - Your Skimly API key\n- `SKIMLY_BASE` - Base URL (defaults to http://localhost:3000)\n\n### `client.chat(req)`\n\nSend a chat request. Request object should include:\n- `provider` - \"openai\" or \"anthropic\"\n- `model` - Model name\n- `messages` - Array of message objects\n\n### `client.create_blob(content, mime_type?)`\n\nUpload large content once. Returns `{blob_id}`.\n\n### `client.create_blob_if_new(content, mime_type?)`\n\nUpload content only if it hasn't been uploaded before. Returns `{blob_id}`.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Skimly Python SDK",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://skimly.ai",
        "Issues": "https://github.com/skimly/skimly/issues"
    },
    "split_keywords": [
        "ai",
        " anthropic",
        " gateway",
        " openai",
        " sdk",
        " skimly"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c61f1de7c01c6dbbae9d0792c66116006345a803b9d1690f53ba2a4ce648c49",
                "md5": "b5dc0ce0f222c084d8d918c29e4dbf0b",
                "sha256": "de27dc5a7452dbd5dbcd1c64e5132e25c04c66aea4c88cf91ac8d2c7e89735d6"
            },
            "downloads": -1,
            "filename": "skimly-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b5dc0ce0f222c084d8d918c29e4dbf0b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 5498,
            "upload_time": "2025-08-18T09:22:53",
            "upload_time_iso_8601": "2025-08-18T09:22:53.744858Z",
            "url": "https://files.pythonhosted.org/packages/8c/61/f1de7c01c6dbbae9d0792c66116006345a803b9d1690f53ba2a4ce648c49/skimly-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "08269922018bf3d95738d96995f48c6117a3cbe20747564fcf87007ac981f579",
                "md5": "62bfdae7d0353b8a370b64150395e464",
                "sha256": "377a9b26a1405d608fbb9fab8018de1be63cea8583838693d734edb8f45850cf"
            },
            "downloads": -1,
            "filename": "skimly-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "62bfdae7d0353b8a370b64150395e464",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 8539,
            "upload_time": "2025-08-18T09:22:54",
            "upload_time_iso_8601": "2025-08-18T09:22:54.541955Z",
            "url": "https://files.pythonhosted.org/packages/08/26/9922018bf3d95738d96995f48c6117a3cbe20747564fcf87007ac981f579/skimly-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-18 09:22:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "skimly",
    "github_project": "skimly",
    "github_not_found": true,
    "lcname": "skimly"
}
        
Elapsed time: 1.77512s