# 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"
}