subsets-client


Namesubsets-client JSON
Version 0.4.1 PyPI version JSON
download
home_pagehttps://subsets.io
SummaryPython client for Subsets data platform using presigned URLs
upload_time2025-06-21 05:53:16
maintainerNone
docs_urlNone
authorSubsets Team
requires_python<4.0,>=3.11
licenseMIT
keywords data api client statistics analytics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Subsets Python Client

Simple Python client for the Subsets data platform.

## Installation

```bash
pip install subsets-client
```

## Quick Start

```python
from subsets_client import SubsetsClient
import pandas as pd

# Initialize client
client = SubsetsClient(api_key="your_api_key")

# Create a dataset
dataset = client.create_dataset({
    "id": "sales_data",
    "title": "Global Sales Data",
    "description": "Quarterly sales by region",
    "license": "MIT",
    "columns": [
        {"id": "region", "type": "string", "description": "Sales region"},
        {"id": "quarter", "type": "string", "description": "Quarter (e.g., 2023-Q1)"},
        {"id": "revenue", "type": "double", "description": "Revenue in millions"}
    ]
})

# Add data
import pyarrow as pa

table = pa.table({
    "region": ["North America", "Europe", "Asia"],
    "quarter": ["2023-Q1", "2023-Q1", "2023-Q1"],
    "revenue": [125.4, 98.2, 156.8]
})
client.add_data("sales_data", table)

# Query data
results = client.query("SELECT * FROM subsets.sales_data WHERE revenue > 100")
print(results)
```

## API Reference

### Creating Datasets

```python
dataset = client.create_dataset({
    "id": "dataset_id",
    "title": "Dataset Title",
    "description": "Description",
    "license": "MIT",
    "columns": [...]
})
```

### Adding Data

```python
# Using PyArrow Table
import pyarrow as pa

table = pa.table({
    "col1": [1, 2, 3],
    "col2": ["a", "b", "c"]
})
client.add_data("dataset_id", table)
```

### Querying Data

```python
# Returns a pandas DataFrame
df = client.query("SELECT * FROM subsets.dataset_id")
```

### Managing Datasets

```python
# List datasets
datasets = client.list_datasets(search="sales", limit=10)

# Get dataset info
info = client.get_dataset("dataset_id")

# Delete data (keeps structure)
client.delete_data("dataset_id")

# Delete entire dataset
client.delete_dataset("dataset_id")
```

## Error Handling

```python
from subsets_client import SubsetsError, AuthenticationError

try:
    client.add_data("dataset_id", data)
except AuthenticationError:
    print("Invalid API key")
except SubsetsError as e:
    print(f"Error: {e}")
```

## License

MIT
            

Raw data

            {
    "_id": null,
    "home_page": "https://subsets.io",
    "name": "subsets-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": "data, api, client, statistics, analytics",
    "author": "Subsets Team",
    "author_email": "team@subsets.io",
    "download_url": "https://files.pythonhosted.org/packages/49/b6/dfd96427f028dbbfd64ffb80246a6d70fcee453acd615a6d3a909f99679f/subsets_client-0.4.1.tar.gz",
    "platform": null,
    "description": "# Subsets Python Client\n\nSimple Python client for the Subsets data platform.\n\n## Installation\n\n```bash\npip install subsets-client\n```\n\n## Quick Start\n\n```python\nfrom subsets_client import SubsetsClient\nimport pandas as pd\n\n# Initialize client\nclient = SubsetsClient(api_key=\"your_api_key\")\n\n# Create a dataset\ndataset = client.create_dataset({\n    \"id\": \"sales_data\",\n    \"title\": \"Global Sales Data\",\n    \"description\": \"Quarterly sales by region\",\n    \"license\": \"MIT\",\n    \"columns\": [\n        {\"id\": \"region\", \"type\": \"string\", \"description\": \"Sales region\"},\n        {\"id\": \"quarter\", \"type\": \"string\", \"description\": \"Quarter (e.g., 2023-Q1)\"},\n        {\"id\": \"revenue\", \"type\": \"double\", \"description\": \"Revenue in millions\"}\n    ]\n})\n\n# Add data\nimport pyarrow as pa\n\ntable = pa.table({\n    \"region\": [\"North America\", \"Europe\", \"Asia\"],\n    \"quarter\": [\"2023-Q1\", \"2023-Q1\", \"2023-Q1\"],\n    \"revenue\": [125.4, 98.2, 156.8]\n})\nclient.add_data(\"sales_data\", table)\n\n# Query data\nresults = client.query(\"SELECT * FROM subsets.sales_data WHERE revenue > 100\")\nprint(results)\n```\n\n## API Reference\n\n### Creating Datasets\n\n```python\ndataset = client.create_dataset({\n    \"id\": \"dataset_id\",\n    \"title\": \"Dataset Title\",\n    \"description\": \"Description\",\n    \"license\": \"MIT\",\n    \"columns\": [...]\n})\n```\n\n### Adding Data\n\n```python\n# Using PyArrow Table\nimport pyarrow as pa\n\ntable = pa.table({\n    \"col1\": [1, 2, 3],\n    \"col2\": [\"a\", \"b\", \"c\"]\n})\nclient.add_data(\"dataset_id\", table)\n```\n\n### Querying Data\n\n```python\n# Returns a pandas DataFrame\ndf = client.query(\"SELECT * FROM subsets.dataset_id\")\n```\n\n### Managing Datasets\n\n```python\n# List datasets\ndatasets = client.list_datasets(search=\"sales\", limit=10)\n\n# Get dataset info\ninfo = client.get_dataset(\"dataset_id\")\n\n# Delete data (keeps structure)\nclient.delete_data(\"dataset_id\")\n\n# Delete entire dataset\nclient.delete_dataset(\"dataset_id\")\n```\n\n## Error Handling\n\n```python\nfrom subsets_client import SubsetsError, AuthenticationError\n\ntry:\n    client.add_data(\"dataset_id\", data)\nexcept AuthenticationError:\n    print(\"Invalid API key\")\nexcept SubsetsError as e:\n    print(f\"Error: {e}\")\n```\n\n## License\n\nMIT",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python client for Subsets data platform using presigned URLs",
    "version": "0.4.1",
    "project_urls": {
        "Documentation": "https://docs.subsets.io",
        "Homepage": "https://subsets.io",
        "Repository": "https://github.com/subsetsio/subsets"
    },
    "split_keywords": [
        "data",
        " api",
        " client",
        " statistics",
        " analytics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4d78f92330b157050be0c98b0dd64c255cc49ee5f18910c71a0098c469b985d",
                "md5": "513b1e699eeeee97c491ca1960eb2948",
                "sha256": "49666057bd25d654bb00e83ccac379c57241b18eed28910b10dfc3d6a9014dd6"
            },
            "downloads": -1,
            "filename": "subsets_client-0.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "513b1e699eeeee97c491ca1960eb2948",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 5783,
            "upload_time": "2025-06-21T05:53:15",
            "upload_time_iso_8601": "2025-06-21T05:53:15.234585Z",
            "url": "https://files.pythonhosted.org/packages/a4/d7/8f92330b157050be0c98b0dd64c255cc49ee5f18910c71a0098c469b985d/subsets_client-0.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49b6dfd96427f028dbbfd64ffb80246a6d70fcee453acd615a6d3a909f99679f",
                "md5": "3c73d7b62b44f9a4ce1121abb60584cf",
                "sha256": "3672a3d5893bf6f9f79f5b39708036670e7396f553f496ba00eb473599f6d7b5"
            },
            "downloads": -1,
            "filename": "subsets_client-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "3c73d7b62b44f9a4ce1121abb60584cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 4715,
            "upload_time": "2025-06-21T05:53:16",
            "upload_time_iso_8601": "2025-06-21T05:53:16.625866Z",
            "url": "https://files.pythonhosted.org/packages/49/b6/dfd96427f028dbbfd64ffb80246a6d70fcee453acd615a6d3a909f99679f/subsets_client-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-06-21 05:53:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "subsetsio",
    "github_project": "subsets",
    "github_not_found": true,
    "lcname": "subsets-client"
}
        
Elapsed time: 0.58122s