diff --git a/README.md b/README.md
index 386c6e8..4c12d70 100644
--- a/README.md
+++ b/README.md
@@ -1,224 +1,78 @@
# hotdata
-Powerful data platform API for datasets, queries, and analytics.
-This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
+Official Python client for the [Hotdata](https://app.hotdata.dev) HTTP API: workspaces, connections, datasets, SQL queries, results, secrets, uploads, indexes, jobs, embedding providers, and workspace context.
-- API version: 1.0.0
-- Package version: 1.0.0
-- Generator version: 7.20.0
-- Build package: org.openapitools.codegen.languages.PythonClientCodegen
+The package is produced with [OpenAPI Generator](https://openapi-generator.tech) from the Hotdata OpenAPI spec. Regenerate via the **Regenerate Client** workflow in this repository when the API changes.
-## Requirements.
+## Requirements
Python 3.9+
-## Installation & Usage
-### pip install
+## Install
-If the python package is hosted on a repository, you can install directly using:
+From the repository:
```sh
-pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
+pip install "git+https://github.com/hotdata-dev/sdk-python.git"
```
-(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)
-Then import the package:
-```python
-import hotdata
-```
+From a local checkout (editable):
-### Setuptools
+```sh
+pip install -e .
+```
-Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
+## Tests
```sh
-python setup.py install --user
+pytest
```
-(or `sudo python setup.py install` to install the package for all users)
-Then import the package:
+## Authentication
+
+The API uses **Bearer** JWTs and an **`X-Workspace-Id`** header on requests that are scoped to a workspace.
+
```python
import hotdata
-```
-### Tests
-
-Execute `pytest` to run the tests.
+configuration = hotdata.Configuration(
+ access_token="YOUR_ACCESS_TOKEN",
+ api_key={"WorkspaceId": "YOUR_WORKSPACE_ID"},
+)
+```
-## Getting Started
+`host` defaults to `https://app.hotdata.dev`. Override it if you target another environment.
-Please follow the [installation procedure](#installation--usage) and then run the following:
+## Usage
```python
-
import hotdata
from hotdata.rest import ApiException
-from pprint import pprint
-# Defining the host is optional and defaults to https://app.hotdata.dev
-# See configuration.py for a list of all supported configuration parameters.
configuration = hotdata.Configuration(
- host = "https://app.hotdata.dev"
+ access_token="YOUR_ACCESS_TOKEN",
+ api_key={"WorkspaceId": "YOUR_WORKSPACE_ID"},
)
-
-
-# Enter a context with an instance of the API client
with hotdata.ApiClient(configuration) as api_client:
- # Create an instance of the API class
- api_instance = hotdata.ConnectionsApi(api_client)
- connection_id = 'connection_id_example' # str | Connection ID
-
+ workspaces = hotdata.WorkspacesApi(api_client)
try:
- # Check connection health
- api_response = api_instance.check_connection_health_handler(connection_id)
- print("The response of ConnectionsApi->check_connection_health_handler:\n")
- pprint(api_response)
+ response = workspaces.list_workspaces()
except ApiException as e:
- print("Exception when calling ConnectionsApi->check_connection_health_handler: %s\n" % e)
-
+ print(f"API error: {e.status} {e.reason}\n{e.body}")
```
-## Documentation for API Endpoints
-
-All URIs are relative to *https://app.hotdata.dev*
-
-Class | Method | HTTP request | Description
------------- | ------------- | ------------- | -------------
-*ConnectionsApi* | [**check_connection_health_handler**](docs/ConnectionsApi.md#check_connection_health_handler) | **GET** /v1/connections/{connection_id}/health | Check connection health
-*ConnectionsApi* | [**create_connection_handler**](docs/ConnectionsApi.md#create_connection_handler) | **POST** /v1/connections | Create connection
-*ConnectionsApi* | [**delete_connection_handler**](docs/ConnectionsApi.md#delete_connection_handler) | **DELETE** /v1/connections/{connection_id} | Delete connection
-*ConnectionsApi* | [**get_connection_handler**](docs/ConnectionsApi.md#get_connection_handler) | **GET** /v1/connections/{connection_id} | Get connection
-*ConnectionsApi* | [**get_table_profile_handler**](docs/ConnectionsApi.md#get_table_profile_handler) | **GET** /v1/connections/{connection_id}/tables/{schema}/{table}/profile | Get table profile
-*ConnectionsApi* | [**list_connections_handler**](docs/ConnectionsApi.md#list_connections_handler) | **GET** /v1/connections | List connections
-*ConnectionsApi* | [**purge_connection_cache_handler**](docs/ConnectionsApi.md#purge_connection_cache_handler) | **DELETE** /v1/connections/{connection_id}/cache | Purge connection cache
-*ConnectionsApi* | [**purge_table_cache_handler**](docs/ConnectionsApi.md#purge_table_cache_handler) | **DELETE** /v1/connections/{connection_id}/tables/{schema}/{table}/cache | Purge table cache
-*DatasetsApi* | [**create_dataset**](docs/DatasetsApi.md#create_dataset) | **POST** /v1/datasets | Create dataset
-*DatasetsApi* | [**delete_dataset**](docs/DatasetsApi.md#delete_dataset) | **DELETE** /v1/datasets/{id} | Delete dataset
-*DatasetsApi* | [**get_dataset**](docs/DatasetsApi.md#get_dataset) | **GET** /v1/datasets/{id} | Get dataset
-*DatasetsApi* | [**list_datasets**](docs/DatasetsApi.md#list_datasets) | **GET** /v1/datasets | List datasets
-*DatasetsApi* | [**update_dataset**](docs/DatasetsApi.md#update_dataset) | **PUT** /v1/datasets/{id} | Update dataset
-*InformationSchemaApi* | [**information_schema_handler**](docs/InformationSchemaApi.md#information_schema_handler) | **GET** /v1/information_schema | List tables
-*QueryApi* | [**query_handler**](docs/QueryApi.md#query_handler) | **POST** /v1/query | Execute SQL query
-*QueryRunsApi* | [**list_query_runs_handler**](docs/QueryRunsApi.md#list_query_runs_handler) | **GET** /v1/query-runs | List query runs
-*RefreshApi* | [**refresh_handler**](docs/RefreshApi.md#refresh_handler) | **POST** /v1/refresh | Refresh connection data
-*ResultsApi* | [**get_result_handler**](docs/ResultsApi.md#get_result_handler) | **GET** /v1/results/{id} | Get result
-*ResultsApi* | [**list_results_handler**](docs/ResultsApi.md#list_results_handler) | **GET** /v1/results | List results
-*SavedQueriesApi* | [**create_saved_query**](docs/SavedQueriesApi.md#create_saved_query) | **POST** /v1/queries | Create saved query
-*SavedQueriesApi* | [**delete_saved_query**](docs/SavedQueriesApi.md#delete_saved_query) | **DELETE** /v1/queries/{id} | Delete saved query
-*SavedQueriesApi* | [**execute_saved_query**](docs/SavedQueriesApi.md#execute_saved_query) | **POST** /v1/queries/{id}/execute | Execute saved query
-*SavedQueriesApi* | [**get_saved_query**](docs/SavedQueriesApi.md#get_saved_query) | **GET** /v1/queries/{id} | Get saved query
-*SavedQueriesApi* | [**list_saved_queries**](docs/SavedQueriesApi.md#list_saved_queries) | **GET** /v1/queries | List saved queries
-*SavedQueriesApi* | [**list_saved_query_versions**](docs/SavedQueriesApi.md#list_saved_query_versions) | **GET** /v1/queries/{id}/versions | List saved query versions
-*SavedQueriesApi* | [**update_saved_query**](docs/SavedQueriesApi.md#update_saved_query) | **PUT** /v1/queries/{id} | Update saved query
-*SecretsApi* | [**create_secret_handler**](docs/SecretsApi.md#create_secret_handler) | **POST** /v1/secrets | Create secret
-*SecretsApi* | [**delete_secret_handler**](docs/SecretsApi.md#delete_secret_handler) | **DELETE** /v1/secrets/{name} | Delete secret
-*SecretsApi* | [**get_secret_handler**](docs/SecretsApi.md#get_secret_handler) | **GET** /v1/secrets/{name} | Get secret
-*SecretsApi* | [**list_secrets_handler**](docs/SecretsApi.md#list_secrets_handler) | **GET** /v1/secrets | List secrets
-*SecretsApi* | [**update_secret_handler**](docs/SecretsApi.md#update_secret_handler) | **PUT** /v1/secrets/{name} | Update secret
-*UploadsApi* | [**list_uploads**](docs/UploadsApi.md#list_uploads) | **GET** /v1/files | List uploads
-*UploadsApi* | [**upload_file**](docs/UploadsApi.md#upload_file) | **POST** /v1/files | Upload file
-*WorkspacesApi* | [**create_workspace**](docs/WorkspacesApi.md#create_workspace) | **POST** /v1/workspaces | Create a workspace
-*WorkspacesApi* | [**list_workspaces**](docs/WorkspacesApi.md#list_workspaces) | **GET** /v1/workspaces | List workspaces
-
-
-## Documentation For Models
-
- - [ApiErrorDetail](docs/ApiErrorDetail.md)
- - [ApiErrorResponse](docs/ApiErrorResponse.md)
- - [CategoryValueInfo](docs/CategoryValueInfo.md)
- - [ColumnDefinition](docs/ColumnDefinition.md)
- - [ColumnInfo](docs/ColumnInfo.md)
- - [ColumnProfileDetail](docs/ColumnProfileDetail.md)
- - [ColumnProfileDetailOneOf](docs/ColumnProfileDetailOneOf.md)
- - [ColumnProfileDetailOneOf1](docs/ColumnProfileDetailOneOf1.md)
- - [ColumnProfileDetailOneOf2](docs/ColumnProfileDetailOneOf2.md)
- - [ColumnProfileDetailOneOf3](docs/ColumnProfileDetailOneOf3.md)
- - [ColumnProfileDetailOneOf4](docs/ColumnProfileDetailOneOf4.md)
- - [ColumnProfileInfo](docs/ColumnProfileInfo.md)
- - [ColumnTypeSpec](docs/ColumnTypeSpec.md)
- - [ConnectionHealthResponse](docs/ConnectionHealthResponse.md)
- - [ConnectionInfo](docs/ConnectionInfo.md)
- - [ConnectionRefreshResult](docs/ConnectionRefreshResult.md)
- - [ConnectionSchemaError](docs/ConnectionSchemaError.md)
- - [CreateConnectionRequest](docs/CreateConnectionRequest.md)
- - [CreateConnectionResponse](docs/CreateConnectionResponse.md)
- - [CreateDatasetRequest](docs/CreateDatasetRequest.md)
- - [CreateDatasetResponse](docs/CreateDatasetResponse.md)
- - [CreateSavedQueryRequest](docs/CreateSavedQueryRequest.md)
- - [CreateSecretRequest](docs/CreateSecretRequest.md)
- - [CreateSecretResponse](docs/CreateSecretResponse.md)
- - [CreateWorkspace201Response](docs/CreateWorkspace201Response.md)
- - [CreateWorkspaceRequest](docs/CreateWorkspaceRequest.md)
- - [DatasetSource](docs/DatasetSource.md)
- - [DatasetSourceOneOf](docs/DatasetSourceOneOf.md)
- - [DatasetSourceOneOf1](docs/DatasetSourceOneOf1.md)
- - [DatasetSummary](docs/DatasetSummary.md)
- - [DiscoveryStatus](docs/DiscoveryStatus.md)
- - [Error](docs/Error.md)
- - [ExecuteSavedQueryRequest](docs/ExecuteSavedQueryRequest.md)
- - [GetConnectionResponse](docs/GetConnectionResponse.md)
- - [GetDatasetResponse](docs/GetDatasetResponse.md)
- - [GetResultResponse](docs/GetResultResponse.md)
- - [GetSecretResponse](docs/GetSecretResponse.md)
- - [InformationSchemaResponse](docs/InformationSchemaResponse.md)
- - [InlineData](docs/InlineData.md)
- - [ListConnectionsResponse](docs/ListConnectionsResponse.md)
- - [ListDatasetsResponse](docs/ListDatasetsResponse.md)
- - [ListQueryRunsResponse](docs/ListQueryRunsResponse.md)
- - [ListResultsResponse](docs/ListResultsResponse.md)
- - [ListSavedQueriesResponse](docs/ListSavedQueriesResponse.md)
- - [ListSavedQueryVersionsResponse](docs/ListSavedQueryVersionsResponse.md)
- - [ListSecretsResponse](docs/ListSecretsResponse.md)
- - [ListUploadsResponse](docs/ListUploadsResponse.md)
- - [ListWorkspaces200Response](docs/ListWorkspaces200Response.md)
- - [QueryRequest](docs/QueryRequest.md)
- - [QueryResponse](docs/QueryResponse.md)
- - [QueryRunInfo](docs/QueryRunInfo.md)
- - [RefreshRequest](docs/RefreshRequest.md)
- - [RefreshResponse](docs/RefreshResponse.md)
- - [RefreshWarning](docs/RefreshWarning.md)
- - [ResultInfo](docs/ResultInfo.md)
- - [SavedQueryDetail](docs/SavedQueryDetail.md)
- - [SavedQuerySummary](docs/SavedQuerySummary.md)
- - [SavedQueryVersionInfo](docs/SavedQueryVersionInfo.md)
- - [SchemaRefreshResult](docs/SchemaRefreshResult.md)
- - [SecretMetadataResponse](docs/SecretMetadataResponse.md)
- - [TableInfo](docs/TableInfo.md)
- - [TableProfileResponse](docs/TableProfileResponse.md)
- - [TableRefreshError](docs/TableRefreshError.md)
- - [TableRefreshResult](docs/TableRefreshResult.md)
- - [UpdateDatasetRequest](docs/UpdateDatasetRequest.md)
- - [UpdateDatasetResponse](docs/UpdateDatasetResponse.md)
- - [UpdateSavedQueryRequest](docs/UpdateSavedQueryRequest.md)
- - [UpdateSecretRequest](docs/UpdateSecretRequest.md)
- - [UpdateSecretResponse](docs/UpdateSecretResponse.md)
- - [UploadInfo](docs/UploadInfo.md)
- - [UploadResponse](docs/UploadResponse.md)
- - [WorkspaceDetail](docs/WorkspaceDetail.md)
- - [WorkspaceListItem](docs/WorkspaceListItem.md)
-
-
-
-## Documentation For Authorization
-
-
-Authentication schemes defined for the API:
-
-### BearerAuth
-
-- **Type**: Bearer authentication
-
-
-### WorkspaceId
-
-- **Type**: API key
-- **API key parameter name**: X-Workspace-Id
-- **Location**: HTTP header
-
-
-## Author
+Each `*Api` class groups endpoints by resource. Construct the client, then call the typed methods you need.
+
+## API reference
+
+Generated Markdown for every operation and model is in [`docs/`](docs/):
+- Resource APIs: `docs/*Api.md` (for example [`docs/QueryApi.md`](docs/QueryApi.md))
+- Request and response models: `docs/.md`
+Use your editor or GitHub file search there instead of duplicating large tables in this file.
+## Support
+Questions and issues: [github.com/hotdata-dev/sdk-python](https://github.com/hotdata-dev/sdk-python).
diff --git a/git_push.sh b/git_push.sh
deleted file mode 100644
index f53a75d..0000000
--- a/git_push.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
-#
-# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
-
-git_user_id=$1
-git_repo_id=$2
-release_note=$3
-git_host=$4
-
-if [ "$git_host" = "" ]; then
- git_host="github.com"
- echo "[INFO] No command line input provided. Set \$git_host to $git_host"
-fi
-
-if [ "$git_user_id" = "" ]; then
- git_user_id="GIT_USER_ID"
- echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
-fi
-
-if [ "$git_repo_id" = "" ]; then
- git_repo_id="GIT_REPO_ID"
- echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
-fi
-
-if [ "$release_note" = "" ]; then
- release_note="Minor update"
- echo "[INFO] No command line input provided. Set \$release_note to $release_note"
-fi
-
-# Initialize the local directory as a Git repository
-git init
-
-# Adds the files in the local repository and stages them for commit.
-git add .
-
-# Commits the tracked changes and prepares them to be pushed to a remote repository.
-git commit -m "$release_note"
-
-# Sets the new remote
-git_remote=$(git remote)
-if [ "$git_remote" = "" ]; then # git remote not defined
-
- if [ "$GIT_TOKEN" = "" ]; then
- echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
- git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
- else
- git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
- fi
-
-fi
-
-git pull origin master
-
-# Pushes (Forces) the changes in the local repository up to the remote repository
-echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
-git push origin master 2>&1 | grep -v 'To https'
diff --git a/pyproject.toml b/pyproject.toml
index 06bd2e6..a2c7812 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,13 +1,13 @@
[project]
name = "hotdata"
version = "1.0.0"
-description = "Hotdata API"
+description = "Official Python client for the Hotdata API"
authors = [
{name = "Hotdata",email = "developers@hotdata.dev"},
]
license = { text = "MIT" }
readme = "README.md"
-keywords = ["OpenAPI", "OpenAPI-Generator", "Hotdata API"]
+keywords = ["hotdata", "api-client", "data-platform"]
requires-python = ">=3.9"
dependencies = [
@@ -18,7 +18,7 @@ dependencies = [
]
[project.urls]
-Repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID"
+Repository = "https://github.com/hotdata-dev/sdk-python"
[tool.poetry]
requires-poetry = ">=2.0"
diff --git a/setup.py b/setup.py
index 06e176e..5fbaf38 100644
--- a/setup.py
+++ b/setup.py
@@ -32,11 +32,11 @@
setup(
name=NAME,
version=VERSION,
- description="Hotdata API",
+ description="Official Python client for the Hotdata API",
author="Hotdata",
author_email="developers@hotdata.dev",
- url="",
- keywords=["OpenAPI", "OpenAPI-Generator", "Hotdata API"],
+ url="https://github.com/hotdata-dev/sdk-python",
+ keywords=["hotdata", "api-client", "data-platform"],
install_requires=REQUIRES,
packages=find_packages(exclude=["test", "tests"]),
include_package_data=True,