Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: rename InvocableScripts to InvokableScripts #433

Merged
merged 3 commits into from
Apr 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
## 1.29.0 [unreleased]

### Breaking Changes
1. [#433](https://github.com/influxdata/influxdb-client-python/pull/433): Rename `InvocableScripts` to `InvokableScripts`

## 1.28.0 [2022-04-19]

### Features
Expand All @@ -13,7 +16,7 @@
### Features
1. [#412](https://github.com/influxdata/influxdb-client-python/pull/412): `DeleteApi` uses default value from `InfluxDBClient.org` if an `org` parameter is not specified
1. [#405](https://github.com/influxdata/influxdb-client-python/pull/405): Add `InfluxLoggingHandler`. A handler to use the client in native python logging.
1. [#404](https://github.com/influxdata/influxdb-client-python/pull/404): Add `InvocableScriptsApi` to create, update, list, delete and invoke scripts by seamless way
1. [#404](https://github.com/influxdata/influxdb-client-python/pull/404): Add `InvokableScriptsApi` to create, update, list, delete and invoke scripts by seamless way

### Bug Fixes
1. [#419](https://github.com/influxdata/influxdb-client-python/pull/419): Use `allowed_methods` to clear deprecation warning [urllib3]
Expand Down Expand Up @@ -103,7 +106,7 @@ This release introduces a support for new version of InfluxDB OSS API definition
1. [#352](https://github.com/influxdata/influxdb-client-python/pull/352): Add `PingService` to check status of OSS and Cloud instance

### Documentation
1. [#344](https://github.com/influxdata/influxdb-client-python/pull/344): Add an example How to use Invocable scripts Cloud API
1. [#344](https://github.com/influxdata/influxdb-client-python/pull/344): Add an example How to use Invokable scripts Cloud API

## 1.22.0 [2021-10-22]

Expand Down
4 changes: 2 additions & 2 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ TasksApi
.. autoclass:: influxdb_client.domain.Task
:members:

InvocableScriptsApi
InvokableScriptsApi
"""""""""""""""""""
.. autoclass:: influxdb_client.InvocableScriptsApi
.. autoclass:: influxdb_client.InvokableScriptsApi
:members:

.. autoclass:: influxdb_client.domain.Script
Expand Down
2 changes: 1 addition & 1 deletion examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
- [influx_cloud.py](influx_cloud.py) - How to connect to InfluxDB 2 Cloud
- [influxdb_18_example.py](influxdb_18_example.py) - How to connect to InfluxDB 1.8
- [nanosecond_precision.py](nanosecond_precision.py) - How to use nanoseconds precision
- [invocable_scripts.py](invocable_scripts.py) - How to use Invocable scripts Cloud API to create custom endpoints that query data
- [invokable_scripts.py](invokable_scripts.py) - How to use Invokable scripts Cloud API to create custom endpoints that query data

## Asynchronous
- [asynchronous.py](asynchronous.py) - How to use Asyncio with InfluxDB client
Expand Down
16 changes: 8 additions & 8 deletions examples/invocable_scripts.py → examples/invokable_scripts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
How to use Invocable scripts Cloud API to create custom endpoints that query data
How to use Invokable scripts Cloud API to create custom endpoints that query data
"""
import datetime

Expand All @@ -26,10 +26,10 @@
_point2 = Point("my_measurement").tag("location", "New York").field("temperature", 24.3)
client.write_api(write_options=SYNCHRONOUS).write(bucket=bucket_name, record=[_point1, _point2])

scripts_api = client.invocable_scripts_api()
scripts_api = client.invokable_scripts_api()

"""
Create Invocable Script
Create Invokable Script
"""
print(f"------- Create -------\n")
create_request = ScriptCreateRequest(name=f"my_script_{uniqueId}",
Expand All @@ -41,7 +41,7 @@
print(created_script)

"""
Update Invocable Script
Update Invokable Script
"""
print(f"------- Update -------\n")
update_request = ScriptUpdateRequest(description="my updated description")
Expand All @@ -53,23 +53,23 @@
"""
# FluxRecords
print(f"\n------- Invoke to FluxRecords -------\n")
tables = scripts_api.invoke_scripts(script_id=created_script.id, params={"bucket_name": bucket_name})
tables = scripts_api.invoke_script(script_id=created_script.id, params={"bucket_name": bucket_name})
for table in tables:
for record in table.records:
print(f'FluxRecord {record}')
# Pandas DataFrame
print(f"\n------- Invoke to PandasData Frame -------\n")
data_frame = scripts_api.invoke_scripts_data_frame(script_id=created_script.id, params={"bucket_name": bucket_name})
data_frame = scripts_api.invoke_script_data_frame(script_id=created_script.id, params={"bucket_name": bucket_name})
print(data_frame.to_string())
# CSV
print(f"\n------- Invoke to CSV-------\n")
csv_lines = scripts_api.invoke_scripts_csv(script_id=created_script.id, params={"bucket_name": bucket_name})
csv_lines = scripts_api.invoke_script_csv(script_id=created_script.id, params={"bucket_name": bucket_name})
for csv_line in csv_lines:
if not len(csv_line) == 0:
print(f'CSV row: {csv_line}')
# RAW
print(f"\n------- Invoke to Raw-------\n")
raw = scripts_api.invoke_scripts_raw(script_id=created_script.id, params={"bucket_name": bucket_name})
raw = scripts_api.invoke_script_raw(script_id=created_script.id, params={"bucket_name": bucket_name})
print(f'RAW output:\n {raw}')

"""
Expand Down
4 changes: 2 additions & 2 deletions influxdb_client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from influxdb_client.service.dashboards_service import DashboardsService
from influxdb_client.service.delete_service import DeleteService
from influxdb_client.service.health_service import HealthService
from influxdb_client.service.invocable_scripts_service import InvocableScriptsService
from influxdb_client.service.invokable_scripts_service import InvokableScriptsService
from influxdb_client.service.labels_service import LabelsService
from influxdb_client.service.legacy_authorizations_service import LegacyAuthorizationsService
from influxdb_client.service.metrics_service import MetricsService
Expand Down Expand Up @@ -372,7 +372,7 @@
from influxdb_client.client.authorizations_api import AuthorizationsApi
from influxdb_client.client.bucket_api import BucketsApi
from influxdb_client.client.delete_api import DeleteApi
from influxdb_client.client.invocable_scripts_api import InvocableScriptsApi
from influxdb_client.client.invokable_scripts_api import InvokableScriptsApi
from influxdb_client.client.labels_api import LabelsApi
from influxdb_client.client.organizations_api import OrganizationsApi
from influxdb_client.client.query_api import QueryApi
Expand Down
2 changes: 1 addition & 1 deletion influxdb_client/client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from influxdb_client.service.dashboards_service import DashboardsService
from influxdb_client.service.delete_service import DeleteService
from influxdb_client.service.health_service import HealthService
from influxdb_client.service.invocable_scripts_service import InvocableScriptsService
from influxdb_client.service.invokable_scripts_service import InvokableScriptsService
from influxdb_client.service.labels_service import LabelsService
from influxdb_client.service.legacy_authorizations_service import LegacyAuthorizationsService
from influxdb_client.service.metrics_service import MetricsService
Expand Down
4 changes: 2 additions & 2 deletions influxdb_client/client/flux_csv_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class FluxResponseMetadataMode(Enum):
"""The configuration for expected amount of metadata response from InfluxDB."""

full = 1
# useful for Invocable scripts
# useful for Invokable scripts
only_names = 2


Expand Down Expand Up @@ -190,7 +190,7 @@ def _parse_flux_response_row(self, metadata, csv):
else:
# parse column names
if metadata.start_new_table:
# Invocable scripts doesn't supports dialect => all columns are string
# Invokable scripts doesn't supports dialect => all columns are string
if not metadata.table.columns and \
self._response_metadata_mode is FluxResponseMetadataMode.only_names:
self.add_data_types(metadata.table, list(map(lambda column: 'string', csv)))
Expand Down
10 changes: 5 additions & 5 deletions influxdb_client/client/influxdb_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import warnings

from influxdb_client import HealthCheck, HealthService, Ready, ReadyService, PingService, \
InvocableScriptsApi
InvokableScriptsApi
from influxdb_client.client._base import _BaseClient
from influxdb_client.client.authorizations_api import AuthorizationsApi
from influxdb_client.client.bucket_api import BucketsApi
Expand Down Expand Up @@ -245,13 +245,13 @@ def query_api(self, query_options: QueryOptions = QueryOptions()) -> QueryApi:
"""
return QueryApi(self, query_options)

def invocable_scripts_api(self) -> InvocableScriptsApi:
def invokable_scripts_api(self) -> InvokableScriptsApi:
"""
Create an InvocableScripts API instance.
Create an InvokableScripts API instance.

:return: InvocableScripts API instance
:return: InvokableScripts API instance
"""
return InvocableScriptsApi(self)
return InvokableScriptsApi(self)

def close(self):
"""Shutdown the client."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,28 @@

from typing import List, Iterator, Generator, Any

from influxdb_client import Script, InvocableScriptsService, ScriptCreateRequest, ScriptUpdateRequest, \
from influxdb_client import Script, InvokableScriptsService, ScriptCreateRequest, ScriptUpdateRequest, \
ScriptInvocationParams
from influxdb_client.client._base import _BaseQueryApi
from influxdb_client.client.flux_csv_parser import FluxResponseMetadataMode
from influxdb_client.client.flux_table import FluxTable, FluxRecord


class InvocableScriptsApi(_BaseQueryApi):
class InvokableScriptsApi(_BaseQueryApi):
"""Use API invokable scripts to create custom InfluxDB API endpoints that query, process, and shape data."""

def __init__(self, influxdb_client):
"""Initialize defaults."""
self._influxdb_client = influxdb_client
self._invocable_scripts_service = InvocableScriptsService(influxdb_client.api_client)
self._invokable_scripts_service = InvokableScriptsService(influxdb_client.api_client)

def create_script(self, create_request: ScriptCreateRequest) -> Script:
"""Create a script.

:param ScriptCreateRequest create_request: The script to create. (required)
:return: The created script.
"""
return self._invocable_scripts_service.post_scripts(script_create_request=create_request)
return self._invokable_scripts_service.post_scripts(script_create_request=create_request)

def update_script(self, script_id: str, update_request: ScriptUpdateRequest) -> Script:
"""Update a script.
Expand All @@ -37,7 +37,7 @@ def update_script(self, script_id: str, update_request: ScriptUpdateRequest) ->
:param ScriptUpdateRequest update_request: Script updates to apply (required)
:return: The updated.
"""
return self._invocable_scripts_service.patch_scripts_id(script_id=script_id,
return self._invokable_scripts_service.patch_scripts_id(script_id=script_id,
script_update_request=update_request)

def delete_script(self, script_id: str) -> None:
Expand All @@ -46,7 +46,7 @@ def delete_script(self, script_id: str) -> None:
:param str script_id: The ID of the script to delete. (required)
:return: None
"""
self._invocable_scripts_service.delete_scripts_id(script_id=script_id)
self._invokable_scripts_service.delete_scripts_id(script_id=script_id)

def find_scripts(self, **kwargs):
"""List scripts.
Expand All @@ -56,9 +56,9 @@ def find_scripts(self, **kwargs):
:return: List of scripts.
:rtype: list[Script]
"""
return self._invocable_scripts_service.get_scripts(**kwargs).scripts
return self._invokable_scripts_service.get_scripts(**kwargs).scripts

def invoke_scripts(self, script_id: str, params: dict = None) -> List['FluxTable']:
def invoke_script(self, script_id: str, params: dict = None) -> List['FluxTable']:
"""
Invoke synchronously a script and return result as a List['FluxTable'].

Expand All @@ -69,15 +69,15 @@ def invoke_scripts(self, script_id: str, params: dict = None) -> List['FluxTable
:return: List of FluxTable.
:rtype: list[FluxTable]
"""
response = self._invocable_scripts_service \
response = self._invokable_scripts_service \
.post_scripts_id_invoke(script_id=script_id,
script_invocation_params=ScriptInvocationParams(params=params),
async_req=False,
_preload_content=False,
_return_http_data_only=False)
return self._to_tables(response, query_options=None, response_metadata_mode=FluxResponseMetadataMode.only_names)

def invoke_scripts_stream(self, script_id: str, params: dict = None) -> Generator['FluxRecord', Any, None]:
def invoke_script_stream(self, script_id: str, params: dict = None) -> Generator['FluxRecord', Any, None]:
"""
Invoke synchronously a script and return result as a Generator['FluxRecord'].

Expand All @@ -88,7 +88,7 @@ def invoke_scripts_stream(self, script_id: str, params: dict = None) -> Generato
:return: Stream of FluxRecord.
:rtype: Generator['FluxRecord']
"""
response = self._invocable_scripts_service \
response = self._invokable_scripts_service \
.post_scripts_id_invoke(script_id=script_id,
script_invocation_params=ScriptInvocationParams(params=params),
async_req=False,
Expand All @@ -98,7 +98,7 @@ def invoke_scripts_stream(self, script_id: str, params: dict = None) -> Generato
return self._to_flux_record_stream(response, query_options=None,
response_metadata_mode=FluxResponseMetadataMode.only_names)

def invoke_scripts_data_frame(self, script_id: str, params: dict = None, data_frame_index: List[str] = None):
def invoke_script_data_frame(self, script_id: str, params: dict = None, data_frame_index: List[str] = None):
"""
Invoke synchronously a script and return Pandas DataFrame.

Expand All @@ -112,12 +112,12 @@ def invoke_scripts_data_frame(self, script_id: str, params: dict = None, data_fr
:param params: bind parameters
:return: Pandas DataFrame.
"""
_generator = self.invoke_scripts_data_frame_stream(script_id=script_id,
params=params,
data_frame_index=data_frame_index)
_generator = self.invoke_script_data_frame_stream(script_id=script_id,
params=params,
data_frame_index=data_frame_index)
return self._to_data_frames(_generator)

def invoke_scripts_data_frame_stream(self, script_id: str, params: dict = None, data_frame_index: List[str] = None):
def invoke_script_data_frame_stream(self, script_id: str, params: dict = None, data_frame_index: List[str] = None):
"""
Invoke synchronously a script and return stream of Pandas DataFrame as a Generator['pd.DataFrame'].

Expand All @@ -129,7 +129,7 @@ def invoke_scripts_data_frame_stream(self, script_id: str, params: dict = None,
:return: Stream of Pandas DataFrames.
:rtype: Generator['pd.DataFrame']
"""
response = self._invocable_scripts_service \
response = self._invokable_scripts_service \
.post_scripts_id_invoke(script_id=script_id,
script_invocation_params=ScriptInvocationParams(params=params),
async_req=False,
Expand All @@ -139,7 +139,7 @@ def invoke_scripts_data_frame_stream(self, script_id: str, params: dict = None,
return self._to_data_frame_stream(data_frame_index, response, query_options=None,
response_metadata_mode=FluxResponseMetadataMode.only_names)

def invoke_scripts_csv(self, script_id: str, params: dict = None) -> Iterator[List[str]]:
def invoke_script_csv(self, script_id: str, params: dict = None) -> Iterator[List[str]]:
"""
Invoke synchronously a script and return result as a CSV iterator.

Expand All @@ -150,15 +150,15 @@ def invoke_scripts_csv(self, script_id: str, params: dict = None) -> Iterator[Li
:return: The returned object is an iterator. Each iteration returns a row of the CSV file
(which can span multiple input lines).
"""
response = self._invocable_scripts_service \
response = self._invokable_scripts_service \
.post_scripts_id_invoke(script_id=script_id,
script_invocation_params=ScriptInvocationParams(params=params),
async_req=False,
_preload_content=False)

return self._to_csv(response)

def invoke_scripts_raw(self, script_id: str, params: dict = None) -> Iterator[List[str]]:
def invoke_script_raw(self, script_id: str, params: dict = None) -> Iterator[List[str]]:
"""
Invoke synchronously a script and return result as raw unprocessed result as a str.

Expand All @@ -168,7 +168,7 @@ def invoke_scripts_raw(self, script_id: str, params: dict = None) -> Iterator[Li
:param params: bind parameters
:return: Result as a str.
"""
response = self._invocable_scripts_service \
response = self._invokable_scripts_service \
.post_scripts_id_invoke(script_id=script_id,
script_invocation_params=ScriptInvocationParams(params=params),
async_req=False,
Expand Down
2 changes: 1 addition & 1 deletion influxdb_client/client/write/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from influxdb_client.service.dashboards_service import DashboardsService
from influxdb_client.service.delete_service import DeleteService
from influxdb_client.service.health_service import HealthService
from influxdb_client.service.invocable_scripts_service import InvocableScriptsService
from influxdb_client.service.invokable_scripts_service import InvokableScriptsService
from influxdb_client.service.labels_service import LabelsService
from influxdb_client.service.legacy_authorizations_service import LegacyAuthorizationsService
from influxdb_client.service.metrics_service import MetricsService
Expand Down
2 changes: 1 addition & 1 deletion influxdb_client/service/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from influxdb_client.service.dashboards_service import DashboardsService
from influxdb_client.service.delete_service import DeleteService
from influxdb_client.service.health_service import HealthService
from influxdb_client.service.invocable_scripts_service import InvocableScriptsService
from influxdb_client.service.invokable_scripts_service import InvokableScriptsService
from influxdb_client.service.labels_service import LabelsService
from influxdb_client.service.legacy_authorizations_service import LegacyAuthorizationsService
from influxdb_client.service.metrics_service import MetricsService
Expand Down
Loading