Name | gpudb JSON |
Version |
7.2.2.3
JSON |
| download |
home_page | None |
Summary | Python client for Kinetica DB |
upload_time | 2024-11-21 04:18:56 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT License |
keywords |
kinetica
gpudb
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<h3 align="center" style="margin:0px">
<img width="200" src="https://www.kinetica.com/wp-content/uploads/2018/08/kinetica_logo.svg" alt="Kinetica Logo"/>
</h3>
<h5 align="center" style="margin:0px">
<a href="https://www.kinetica.com/">Website</a>
|
<a href="https://docs.kinetica.com/7.2/">Docs</a>
|
<a href="https://docs.kinetica.com/7.2/api/">API Docs</a>
|
<a href="https://join.slack.com/t/kinetica-community/shared_invite/zt-1bt9x3mvr-uMKrXlSDXfy3oU~sKi84qg">Community Slack</a>
</h5>
# Kinetica Python API
- [Overview](#overview)
- [Installation Instructions](#installation-instructions)
- [Troubleshooting Installation](#troubleshooting-installation)
- [GPUdb Table Monitor Client API](#gpudb-table-monitor-client-api)
- [Support](#support)
- [Contact Us](#contact-us)
## Overview
This is the 7.2.x.y version of the client-side Python API for Kinetica. The
first two components of the client version must match that of the Kinetica
server. When the versions do not match, the API will print a warning. Often,
there are breaking changes between versions, so it is critical that they match.
For example, Kinetica 6.2 and 7.0 have incompatible changes, so the 6.2.x.y
versions of the Python API would NOT be compatible with 7.0.a.b versions.
## Installation Instructions
To install this package, run `python setup.py install` in the root directory of
the repo. Note that due to the in-house compiled C-module dependency, this
package must be installed, and simply copying `gpudb.py` or having a link to it
will not work.
There is also an example file in the example directory.
The documentation can be found at https://docs.kinetica.com/7.2/.
The Python specific documentation can be found at:
* **Complete API**: https://docs.kinetica.com/7.2/api/python/
* **Tutorial**: https://docs.kinetica.com/7.2/guides/python_guide/
For changes to the client-side API, please refer to
[CHANGELOG.md](CHANGELOG.md). For
changes to Kinetica functions, please refer to
[CHANGELOG-FUNCTIONS.md](CHANGELOG-FUNCTIONS.md).
### Troubleshooting Installation
* If you get an error when running pip like
```
"Traceback ... File "/bin/pip", line 5, in <module> from pkg_resources import load_entry_point"
```
please try upgrading pip with command:
```
python -m pip install --upgrade --force pip
```
* If you get an error when running pip like
```
"Exception: Traceback ... File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main status = self.run(options, args)"
```
please try downgrading your version of pip setuptools with command:
```
pip install setuptools==33.1.1
```
## GPUdb Table Monitor Client API
A new API was introduced in version 7.0.17.0 to facilitate working with table
monitors, which watch for insert, update, and delete operations on a table.
The main classes to use are `GPUdbTableMonitor.Client` and
`GPUdbTableMonitor.Callback`. `GPUdbTableMonitor.Client` creates and subscribes
to monitors on the target table per the user's choice; it can create one of each
type of the following monitors:
| Monitor Type | Triggered Event Result |
|:-------------|:-------------------------------|
| Insert | A list of the inserted records |
| Update | Count of updated rows |
| Delete | Count of deleted rows |
When one of the above events happen at the target table, the monitor client API
can invoke user-written functions that supposedly react to that type of event.
To facilitate integrating such user-written functions, `GPUdbTableMonitor.Callback`
is provided. More on that to follow.
`GPUdbTableMonitor.Client` can be used in two ways:
* Create an instance and pass in the appropriate arguments (including a list of
`GPUdbTableMonitor.Callback` objects. Use this instance in ther user's
application directly.
* Extend the class with all the necessary callback functions. These newly
definied functions then need to be passed to the superclass's, i.e.
`GPUdbTableMonitor.Client`'s, constructor.
Note that the current implementation, the `GPUdbTableMonitor.Client` class
is designed to handle a single Kinetica table.
Also note that `GPUdbTableMonitor.Client` utilizes multiple threads internally.
This needs to be taken into consideration if the user application is also
multi-threaded. There is an example of such a scenario included in the
`examples` directory (see the examples section below).
### GPUdbTableMonitor.Options
This class allows the user to configure the behavior of the
`GPUdbTableMonitor.Client` class. The following options are currently available:
| Property Name | Description | Default Value |
|:--- | :--- | :--- |
| ``inactivity_timeout`` | A timeout in minutes for monitor inactivity. If the monitor does not receive any even triggers during such a period, the API will check if the table still exists or if the active Kinetica cluster is still operational. The API will take appropriate corrective actions to ensure that the monitor continues to function. In case of the deletion of the target table, the monitor will log the event and stop execution. The parameter takes in float values to allow for fractions of minutes as the timeout. | 20 (minutes) |
#### GPUdbTableMonitor.Options Examples
```python
from gpudb import GPUdbTableMonitor
options = GPUdbTableMonitor.Options(
_dict=dict(
inactivity_timeout = 0.1,
))
```
### GPUdbTableMonitor.Callback
This class facilitates integration of the table monitor API with the user's
client application code. When the target table is monitored by
`GPUdbTableMonitor.Client` to have a triggering event like insertion, update, or
deletion of records, the client application needs to be notified. There are
some additional events like the table being dropped or altered that also may
need to trigger actions in the user's application. This class is the mechanism
for notifying the user application. The notification is done via user-written
methods called callbacks that will be executed upon such trigger events; these
callbacks are passed to `GPUdbTableMonitor.Client` as a method reference via the
`GPUdbTableMonitor.Callback` class.
In other words, users pass methods that they have written via
`GPUdbTableMonitor.Callback` to `GPUdbTableMonitor.Client`, and the latter class
invokes these methods when trigger events occur.
### GPUdbTableMonitor.Callback.Type
Each `GPUdbTableMonitor.Callback` instance corresponds to a certain type of table
monitor event. The `GPUdbTableMonitor.Callback.Type` enum represents which event
it is for. The following are the currently available event types:
| Callback Type | Description |
|:---------------|:-------------|
| INSERT_DECODED | Describes a callback that is to be invoked when a record has been insserted into the target table; the API is to decode the record into a Python dict object and pass it to the callback. |
| INSERT_RAW | Describes a callback that is to be invoked when a record has been insserted into the target table; the API will invoke the callback and pass the raw data (per record) to the method without any decoding. |
| DELETED | Describes a callback that is to be invoked when records have been deleted from the target table; the API will pass the count of records deleted to the callback method. |
| UPDATED | Describes a callback that is to be invoked when records have been update in the target table; the API will pass the count of updated records to the callback method. |
| TABLE_ALTERED | Describes a callback that is to be invoked when the table has been altered in such a way that the record's structure type has been also changed. |
| TABLE_DROPPED | Describes a callback that is to be invoked when the table has been dropped. |
### Callback Methods
Per callback type, there are two methods: one for the actual event (insert, update,
delete, alter, dropped etc.) and another for any error case. The former is
called an `event callback`, and the latter `error callback`.
#### Event Callback
The event callback is a method that is written by the end-user of this API. It
is passed by reference to `GPUdbTableMonitor.Callback`. When the target table
has a trigger event, this method will be invoked by the table monitor API,
passing to it the value corresponding to the change that happened to the table.
The method must have a single input argument. No return value is expected or
handled (therefore, the method could return something but it will simply be
ignored). The actual name of the method does not matter at all. Only the
signature--the sole input argument in this case--matters. Here are the descriptions
of the method signature based on the table monitor type:
| Callback Type | Input Argument Type | Input Argument Description |
|:---------------|:--------------------|:---------------------------|
| INSERT_DECODED | dict | The record inserted into the target table decoded as a Python dict |
| INSERT_RAW | bytes | The record inserted into the target table in binary-encoded format |
| DELETED | int | The number of records deleted from the target table. |
| UPDATED | int | The number of records updated in the target table. |
| TABLE_ALTERED | str | The name of the table. |
| TABLE_DROPPED | str | The name of the table. |
#### Error Callback
`GPUdbTableMonitor.Callback` can take an optional method reference for error
cases. If provided, this method will be called when errors occur during the
lifetime of the specific table monitor. Note that since each
`GPUdbTableMonitor.Callback` instance takes in this optional method reference,
each type of table monitor event type can have its own specialized error
handling written by the user. This method, like the event callback, needs to
have a single input argument. The data type of this argument is string. An
error message is passed to the method describing the error. Like the event
callback, the return value of the method is ignored.
### GPUdbTableMonitor.Callback.Options
Each `GPUdbTableMonitor.Callback` object can have specialized options. Note
that `GPUdbTableMonitor.Callback.Options` is not supposed to be passed to the
`GPUdbTableMonitor.Callback` constructor, but one its derived classes ought
to be passed in (each derived class pertains to a certain callback type).
Currently, only the `GPUdbTableMonitor.Callback.Type.INSERT_DECODED` has
meaningful options; therefore, only one class,
`GPUdbTableMonitor.Callback.InsertDecodedOptions` is defined.
#### GPUdbTableMonitor.Callback.InsertDecodedOptions
The following options are available for callbacks of type
`GPUdbTableMonitor.Callback.Type.INSERT_DECODED`:
| Property Name | Description | Default Value |
|:--- | :--- | :--- |
| ``decode_failure_mode`` | Indicates how the table monitor API should behave upon failures when trying to decode inserted records. Upon a failure, the API will automatically try to recover once by checking if the table's type has been altered; if so, the API will retry decoding the record with the current type of the table. If that succeeds, then the API continues. However, if this second attempt at decoding fails, then the API needs to know what to do next. | GPUdbTableMonitor.Callback.InsertDecodedOptions.DecodeFailureMode.SKIP |
See `GPUdbTableMonitor.Callback.InsertDecodedOptions.DecodeFailureMode` below.
#### GPUdbTableMonitor.Callback.InsertDecodedOptions.DecodeFailureMode
An enum describing the various modes of behavior when a decoding failure occurs
for an insert table monitor.
| Mode | Description|
|:--- | :--- |
| ``SKIP`` | Skip this record upon decoding failure and proceed with the monitoring activities. |
| ``ABORT`` | Abort all monitoring activities and quit the program. |
### Examples
1. [table_monitor_example.py](examples/table_monitor_example.py)
This example uses the class `GPUdbTableMonitorExample` which is derived from
the class ``GPUdbTableMonitor.Client`` to demonstrate how to use
the client class provided by Kinetica for first-time users. The defined
callback methods in `GPUdbTableMonitorExample` just logs the event payloads.
2. [table_monitor_example_queued_impl.py](./examples/table_monitor_example_queued_impl.py)
This example demonstrates a scenario where the table monitor API is used
in an application that runs it's own thread(s). In such a situation, some
communication mechanism will be needed since the table monitor also runs
its own separate threads. To handle this inter-thread communication, a
Queue instance is used. There could be many ways to achieve the inter-thread
communication; this is just an example to demonastrate such usage using the
Python built-in Queue class.
This example defines a class called `QueuedGPUdbTableMonitor` which inherits
from `GPUdbTableMonitor.Client` and defins the callback functions.
Additionally, this class has a Queue instance which is _shared with_ the
client class `TableMonitorExampleClient`. `TableMonitorExampleClient`
inherits from Thread and runs in its own thread. As the table monitor
receives notifications it just pushes them into the shared Queue and then
`TableMonitorExampleClient` consumes them from the shared Queue and
displays them in the console.
## Support
For bugs, please submit an
[issue on Github](https://github.com/kineticadb/kinetica-api-python/issues).
For support, you can post on
[stackoverflow](https://stackoverflow.com/questions/tagged/kinetica) under the
``kinetica`` tag or
[Slack](https://join.slack.com/t/kinetica-community/shared_invite/zt-1bt9x3mvr-uMKrXlSDXfy3oU~sKi84qg).
## Contact Us
* Ask a question on Slack:
[Slack](https://join.slack.com/t/kinetica-community/shared_invite/zt-1bt9x3mvr-uMKrXlSDXfy3oU~sKi84qg)
* Follow on GitHub:
[Follow @kineticadb](https://github.com/kineticadb)
* Email us: <support@kinetica.com>
* Visit: <https://www.kinetica.com/contact/>
Raw data
{
"_id": null,
"home_page": null,
"name": "gpudb",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "kinetica, gpudb",
"author": null,
"author_email": "\"Kinetica DB, Inc.\" <support@kinetica.com>",
"download_url": null,
"platform": null,
"description": "<h3 align=\"center\" style=\"margin:0px\">\n\t<img width=\"200\" src=\"https://www.kinetica.com/wp-content/uploads/2018/08/kinetica_logo.svg\" alt=\"Kinetica Logo\"/>\n</h3>\n<h5 align=\"center\" style=\"margin:0px\">\n\t<a href=\"https://www.kinetica.com/\">Website</a>\n\t|\n\t<a href=\"https://docs.kinetica.com/7.2/\">Docs</a>\n\t|\n\t<a href=\"https://docs.kinetica.com/7.2/api/\">API Docs</a>\n\t|\n\t<a href=\"https://join.slack.com/t/kinetica-community/shared_invite/zt-1bt9x3mvr-uMKrXlSDXfy3oU~sKi84qg\">Community Slack</a> \n</h5>\n\n\n# Kinetica Python API\n\n- [Overview](#overview)\n- [Installation Instructions](#installation-instructions)\n- [Troubleshooting Installation](#troubleshooting-installation)\n- [GPUdb Table Monitor Client API](#gpudb-table-monitor-client-api)\n- [Support](#support)\n- [Contact Us](#contact-us)\n\n\n## Overview\n\nThis is the 7.2.x.y version of the client-side Python API for Kinetica. The\nfirst two components of the client version must match that of the Kinetica\nserver. When the versions do not match, the API will print a warning. Often,\nthere are breaking changes between versions, so it is critical that they match.\nFor example, Kinetica 6.2 and 7.0 have incompatible changes, so the 6.2.x.y\nversions of the Python API would NOT be compatible with 7.0.a.b versions.\n\n\n## Installation Instructions\n\nTo install this package, run `python setup.py install` in the root directory of\nthe repo. Note that due to the in-house compiled C-module dependency, this\npackage must be installed, and simply copying `gpudb.py` or having a link to it\nwill not work.\n\nThere is also an example file in the example directory.\n\nThe documentation can be found at https://docs.kinetica.com/7.2/. \nThe Python specific documentation can be found at:\n\n* **Complete API**: https://docs.kinetica.com/7.2/api/python/\n* **Tutorial**: https://docs.kinetica.com/7.2/guides/python_guide/\n\n\nFor changes to the client-side API, please refer to\n[CHANGELOG.md](CHANGELOG.md). For\nchanges to Kinetica functions, please refer to\n[CHANGELOG-FUNCTIONS.md](CHANGELOG-FUNCTIONS.md).\n\n\n### Troubleshooting Installation\n\n* If you get an error when running pip like\n\n```\n \"Traceback ... File \"/bin/pip\", line 5, in <module> from pkg_resources import load_entry_point\"\n```\n\nplease try upgrading pip with command:\n\n```\n python -m pip install --upgrade --force pip\n```\n\n* If you get an error when running pip like\n```\n \"Exception: Traceback ... File \"/usr/lib/python2.7/site-packages/pip/basecommand.py\", line 215, in main status = self.run(options, args)\"\n```\n\nplease try downgrading your version of pip setuptools with command:\n\n```\n pip install setuptools==33.1.1\n```\n\n## GPUdb Table Monitor Client API\n\nA new API was introduced in version 7.0.17.0 to facilitate working with table\nmonitors, which watch for insert, update, and delete operations on a table.\nThe main classes to use are `GPUdbTableMonitor.Client` and\n`GPUdbTableMonitor.Callback`. `GPUdbTableMonitor.Client` creates and subscribes\nto monitors on the target table per the user's choice; it can create one of each\ntype of the following monitors:\n\n| Monitor Type | Triggered Event Result |\n|:-------------|:-------------------------------|\n| Insert | A list of the inserted records |\n| Update | Count of updated rows |\n| Delete | Count of deleted rows |\n\nWhen one of the above events happen at the target table, the monitor client API\ncan invoke user-written functions that supposedly react to that type of event.\nTo facilitate integrating such user-written functions, `GPUdbTableMonitor.Callback`\nis provided. More on that to follow.\n`GPUdbTableMonitor.Client` can be used in two ways:\n\n* Create an instance and pass in the appropriate arguments (including a list of\n `GPUdbTableMonitor.Callback` objects. Use this instance in ther user's\n application directly.\n \n* Extend the class with all the necessary callback functions. These newly\n definied functions then need to be passed to the superclass's, i.e.\n `GPUdbTableMonitor.Client`'s, constructor.\n \nNote that the current implementation, the `GPUdbTableMonitor.Client` class\nis designed to handle a single Kinetica table.\nAlso note that `GPUdbTableMonitor.Client` utilizes multiple threads internally.\nThis needs to be taken into consideration if the user application is also\nmulti-threaded. There is an example of such a scenario included in the\n`examples` directory (see the examples section below).\n\n\n### GPUdbTableMonitor.Options\n\nThis class allows the user to configure the behavior of the\n`GPUdbTableMonitor.Client` class. The following options are currently available:\n\n| Property Name | Description | Default Value |\n|:--- | :--- | :--- |\n| ``inactivity_timeout`` | A timeout in minutes for monitor inactivity. If the monitor does not receive any even triggers during such a period, the API will check if the table still exists or if the active Kinetica cluster is still operational. The API will take appropriate corrective actions to ensure that the monitor continues to function. In case of the deletion of the target table, the monitor will log the event and stop execution. The parameter takes in float values to allow for fractions of minutes as the timeout. | 20 (minutes) |\n\n\n#### GPUdbTableMonitor.Options Examples\n\n```python\nfrom gpudb import GPUdbTableMonitor\noptions = GPUdbTableMonitor.Options(\n _dict=dict(\n inactivity_timeout = 0.1,\n ))\n```\n\n### GPUdbTableMonitor.Callback\n\nThis class facilitates integration of the table monitor API with the user's\nclient application code. When the target table is monitored by\n`GPUdbTableMonitor.Client` to have a triggering event like insertion, update, or\ndeletion of records, the client application needs to be notified. There are\nsome additional events like the table being dropped or altered that also may\nneed to trigger actions in the user's application. This class is the mechanism\nfor notifying the user application. The notification is done via user-written\nmethods called callbacks that will be executed upon such trigger events; these\ncallbacks are passed to `GPUdbTableMonitor.Client` as a method reference via the\n`GPUdbTableMonitor.Callback` class.\nIn other words, users pass methods that they have written via\n`GPUdbTableMonitor.Callback` to `GPUdbTableMonitor.Client`, and the latter class\ninvokes these methods when trigger events occur.\n\n### GPUdbTableMonitor.Callback.Type\n\nEach `GPUdbTableMonitor.Callback` instance corresponds to a certain type of table\nmonitor event. The `GPUdbTableMonitor.Callback.Type` enum represents which event\nit is for. The following are the currently available event types:\n\n| Callback Type | Description |\n|:---------------|:-------------|\n| INSERT_DECODED | Describes a callback that is to be invoked when a record has been insserted into the target table; the API is to decode the record into a Python dict object and pass it to the callback. |\n| INSERT_RAW | Describes a callback that is to be invoked when a record has been insserted into the target table; the API will invoke the callback and pass the raw data (per record) to the method without any decoding. |\n| DELETED | Describes a callback that is to be invoked when records have been deleted from the target table; the API will pass the count of records deleted to the callback method. |\n| UPDATED | Describes a callback that is to be invoked when records have been update in the target table; the API will pass the count of updated records to the callback method. |\n| TABLE_ALTERED | Describes a callback that is to be invoked when the table has been altered in such a way that the record's structure type has been also changed. |\n| TABLE_DROPPED | Describes a callback that is to be invoked when the table has been dropped. |\n\n\n### Callback Methods\n\nPer callback type, there are two methods: one for the actual event (insert, update,\ndelete, alter, dropped etc.) and another for any error case. The former is\ncalled an `event callback`, and the latter `error callback`.\n\n\n#### Event Callback\n\nThe event callback is a method that is written by the end-user of this API. It\nis passed by reference to `GPUdbTableMonitor.Callback`. When the target table\nhas a trigger event, this method will be invoked by the table monitor API,\npassing to it the value corresponding to the change that happened to the table.\nThe method must have a single input argument. No return value is expected or\nhandled (therefore, the method could return something but it will simply be\nignored). The actual name of the method does not matter at all. Only the\nsignature--the sole input argument in this case--matters. Here are the descriptions\nof the method signature based on the table monitor type:\n\n| Callback Type | Input Argument Type | Input Argument Description |\n|:---------------|:--------------------|:---------------------------|\n| INSERT_DECODED | dict | The record inserted into the target table decoded as a Python dict |\n| INSERT_RAW | bytes | The record inserted into the target table in binary-encoded format |\n| DELETED | int | The number of records deleted from the target table. |\n| UPDATED | int | The number of records updated in the target table. |\n| TABLE_ALTERED | str | The name of the table. |\n| TABLE_DROPPED | str | The name of the table. |\n\n\n#### Error Callback\n\n`GPUdbTableMonitor.Callback` can take an optional method reference for error\ncases. If provided, this method will be called when errors occur during the\nlifetime of the specific table monitor. Note that since each\n`GPUdbTableMonitor.Callback` instance takes in this optional method reference,\neach type of table monitor event type can have its own specialized error\nhandling written by the user. This method, like the event callback, needs to\nhave a single input argument. The data type of this argument is string. An\nerror message is passed to the method describing the error. Like the event\ncallback, the return value of the method is ignored.\n\n\n### GPUdbTableMonitor.Callback.Options\n\nEach `GPUdbTableMonitor.Callback` object can have specialized options. Note\nthat `GPUdbTableMonitor.Callback.Options` is not supposed to be passed to the\n`GPUdbTableMonitor.Callback` constructor, but one its derived classes ought\nto be passed in (each derived class pertains to a certain callback type).\nCurrently, only the `GPUdbTableMonitor.Callback.Type.INSERT_DECODED` has\nmeaningful options; therefore, only one class,\n`GPUdbTableMonitor.Callback.InsertDecodedOptions` is defined.\n\n#### GPUdbTableMonitor.Callback.InsertDecodedOptions\n\nThe following options are available for callbacks of type\n`GPUdbTableMonitor.Callback.Type.INSERT_DECODED`:\n\n| Property Name | Description | Default Value |\n|:--- | :--- | :--- |\n| ``decode_failure_mode`` | Indicates how the table monitor API should behave upon failures when trying to decode inserted records. Upon a failure, the API will automatically try to recover once by checking if the table's type has been altered; if so, the API will retry decoding the record with the current type of the table. If that succeeds, then the API continues. However, if this second attempt at decoding fails, then the API needs to know what to do next. | GPUdbTableMonitor.Callback.InsertDecodedOptions.DecodeFailureMode.SKIP |\n\nSee `GPUdbTableMonitor.Callback.InsertDecodedOptions.DecodeFailureMode` below.\n\n#### GPUdbTableMonitor.Callback.InsertDecodedOptions.DecodeFailureMode\n\nAn enum describing the various modes of behavior when a decoding failure occurs\nfor an insert table monitor.\n\n| Mode | Description|\n|:--- | :--- |\n| ``SKIP`` | Skip this record upon decoding failure and proceed with the monitoring activities. |\n| ``ABORT`` | Abort all monitoring activities and quit the program. |\n\n\n### Examples\n\n1. [table_monitor_example.py](examples/table_monitor_example.py)\n This example uses the class `GPUdbTableMonitorExample` which is derived from\n the class ``GPUdbTableMonitor.Client`` to demonstrate how to use\n the client class provided by Kinetica for first-time users. The defined\n callback methods in `GPUdbTableMonitorExample` just logs the event payloads.\n \n2. [table_monitor_example_queued_impl.py](./examples/table_monitor_example_queued_impl.py)\n This example demonstrates a scenario where the table monitor API is used\n in an application that runs it's own thread(s). In such a situation, some\n communication mechanism will be needed since the table monitor also runs\n its own separate threads. To handle this inter-thread communication, a\n Queue instance is used. There could be many ways to achieve the inter-thread\n communication; this is just an example to demonastrate such usage using the\n Python built-in Queue class.\n This example defines a class called `QueuedGPUdbTableMonitor` which inherits\n from `GPUdbTableMonitor.Client` and defins the callback functions.\n Additionally, this class has a Queue instance which is _shared with_ the\n client class `TableMonitorExampleClient`. `TableMonitorExampleClient`\n inherits from Thread and runs in its own thread. As the table monitor\n receives notifications it just pushes them into the shared Queue and then\n `TableMonitorExampleClient` consumes them from the shared Queue and\n displays them in the console.\n\n\n\n## Support\n\nFor bugs, please submit an\n[issue on Github](https://github.com/kineticadb/kinetica-api-python/issues).\n\nFor support, you can post on\n[stackoverflow](https://stackoverflow.com/questions/tagged/kinetica) under the\n``kinetica`` tag or\n[Slack](https://join.slack.com/t/kinetica-community/shared_invite/zt-1bt9x3mvr-uMKrXlSDXfy3oU~sKi84qg).\n\n\n## Contact Us\n\n* Ask a question on Slack:\n [Slack](https://join.slack.com/t/kinetica-community/shared_invite/zt-1bt9x3mvr-uMKrXlSDXfy3oU~sKi84qg)\n* Follow on GitHub:\n [Follow @kineticadb](https://github.com/kineticadb) \n* Email us: <support@kinetica.com>\n* Visit: <https://www.kinetica.com/contact/>\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Python client for Kinetica DB",
"version": "7.2.2.3",
"project_urls": {
"Documentation": "https://docs.kinetica.com/7.2/api/python/",
"Homepage": "https://www.kinetica.com"
},
"split_keywords": [
"kinetica",
" gpudb"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d08b7b9c7b33541052ef9555a5ca2673ef70fc6fbd319420c2aa351490446c8b",
"md5": "cf92a3c9c9325987abf161883ad9f7da",
"sha256": "580f4037a990eb8659cf5665d387222823327a8bbf0664181575d34fa7b00c37"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "cf92a3c9c9325987abf161883ad9f7da",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 597089,
"upload_time": "2024-11-21T04:18:56",
"upload_time_iso_8601": "2024-11-21T04:18:56.305026Z",
"url": "https://files.pythonhosted.org/packages/d0/8b/7b9c7b33541052ef9555a5ca2673ef70fc6fbd319420c2aa351490446c8b/gpudb-7.2.2.3-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eeddf0951225ab27eaf5b1141de19e7244e71c22d34959f49491acc420ec091a",
"md5": "7c3978f8fbbb1025234ac5ceb1b86d0c",
"sha256": "292287ef08a3a105e8e5eaf2c72bccbd701ad03c9dbe9c6e11b2503536a2cd2b"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7c3978f8fbbb1025234ac5ceb1b86d0c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 706406,
"upload_time": "2024-11-21T04:19:02",
"upload_time_iso_8601": "2024-11-21T04:19:02.899030Z",
"url": "https://files.pythonhosted.org/packages/ee/dd/f0951225ab27eaf5b1141de19e7244e71c22d34959f49491acc420ec091a/gpudb-7.2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "724a936a26bf6a9a01aebacdc20e99cac2611465f7b85962c96048d546f39e33",
"md5": "9e29cd7bd12faa475eccef352dbf6d35",
"sha256": "b51a197324ba8b62d6651b78edfdb39a3b9864c7018711bd0d65f76028268f92"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9e29cd7bd12faa475eccef352dbf6d35",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 702899,
"upload_time": "2024-11-21T04:19:11",
"upload_time_iso_8601": "2024-11-21T04:19:11.946622Z",
"url": "https://files.pythonhosted.org/packages/72/4a/936a26bf6a9a01aebacdc20e99cac2611465f7b85962c96048d546f39e33/gpudb-7.2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "75eb167dcb6c44cd019f533f9b4eaf7bd31399ca545313731496043bed966842",
"md5": "e00a7949d74228a6009d2a05eab76bf9",
"sha256": "c914ffa37299275bab4577ad152e9bd6ca4edd70902119926bf791432f6ebe8c"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "e00a7949d74228a6009d2a05eab76bf9",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 689135,
"upload_time": "2024-11-21T04:19:13",
"upload_time_iso_8601": "2024-11-21T04:19:13.750331Z",
"url": "https://files.pythonhosted.org/packages/75/eb/167dcb6c44cd019f533f9b4eaf7bd31399ca545313731496043bed966842/gpudb-7.2.2.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51aaae7211abeaf05518f11d30bb7a76d8c67a9b890fd184721491ca10fd52c2",
"md5": "8555032a63b8284f3a40c39ab16c9e79",
"sha256": "99aad3748b088cbe28c4d954bf3e52a946d9fe028dcd7fad1b688d3dcc4144d1"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "8555032a63b8284f3a40c39ab16c9e79",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 554618,
"upload_time": "2024-11-21T04:19:20",
"upload_time_iso_8601": "2024-11-21T04:19:20.412335Z",
"url": "https://files.pythonhosted.org/packages/51/aa/ae7211abeaf05518f11d30bb7a76d8c67a9b890fd184721491ca10fd52c2/gpudb-7.2.2.3-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1325f5cf6ee2f9a3304ceb0caf9c7130a6bd3c926a98822dc4192e16857293d1",
"md5": "71f8615c2b1db55026ee52277b373b97",
"sha256": "ed0dcfb840b47b14dabd32247557d3e25a5eb0c328b6f74280f6ee7aa7968f40"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "71f8615c2b1db55026ee52277b373b97",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 559046,
"upload_time": "2024-11-21T04:19:26",
"upload_time_iso_8601": "2024-11-21T04:19:26.377552Z",
"url": "https://files.pythonhosted.org/packages/13/25/f5cf6ee2f9a3304ceb0caf9c7130a6bd3c926a98822dc4192e16857293d1/gpudb-7.2.2.3-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b317c76035f1be87ca3ec09da67e7e465843cebab6616a5aeb9bab33f5b46f6",
"md5": "71e6951ad3357a0eded598f620d5325f",
"sha256": "9dd336d9964c181d133e1dab38f7bb2c6b6201d4bb2da344e7fe68796725278a"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "71e6951ad3357a0eded598f620d5325f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 597089,
"upload_time": "2024-11-21T04:19:29",
"upload_time_iso_8601": "2024-11-21T04:19:29.751567Z",
"url": "https://files.pythonhosted.org/packages/6b/31/7c76035f1be87ca3ec09da67e7e465843cebab6616a5aeb9bab33f5b46f6/gpudb-7.2.2.3-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "838a8928d7082146a00151c41e09a4c0c10ab8175fb7cdd5b98d8f8c1d86ca48",
"md5": "bea79e17b7904fc6a49dabeffbe2d6a2",
"sha256": "a36dae0f7a11c9ff2b8d5b2f86777d9b7c0c4877f37f19cf04a50ff8abf96092"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "bea79e17b7904fc6a49dabeffbe2d6a2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 726831,
"upload_time": "2024-11-21T04:19:38",
"upload_time_iso_8601": "2024-11-21T04:19:38.084036Z",
"url": "https://files.pythonhosted.org/packages/83/8a/8928d7082146a00151c41e09a4c0c10ab8175fb7cdd5b98d8f8c1d86ca48/gpudb-7.2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1aea35632eb7ccdc1e0e5b8415d7400a43c2c05c6bd35152127e9ff86ff95261",
"md5": "9bb9b10ce0f8066447277b82be90a838",
"sha256": "b5bd85fa66d5a853bacffd11264a75a6b88409fe62fa70ed089f838911829f75"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9bb9b10ce0f8066447277b82be90a838",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 722981,
"upload_time": "2024-11-21T04:19:40",
"upload_time_iso_8601": "2024-11-21T04:19:40.543428Z",
"url": "https://files.pythonhosted.org/packages/1a/ea/35632eb7ccdc1e0e5b8415d7400a43c2c05c6bd35152127e9ff86ff95261/gpudb-7.2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7ea3812ef47b720b22f7d838abe968838df185800e91ba730c4075b0136aab0",
"md5": "658823d5670ac0a004878c533574ee2b",
"sha256": "c07a53de21f7ba016fc0a1b95218bdc93f7d9509fb43d7b9be1b9458a389d540"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "658823d5670ac0a004878c533574ee2b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 709432,
"upload_time": "2024-11-21T04:19:42",
"upload_time_iso_8601": "2024-11-21T04:19:42.976518Z",
"url": "https://files.pythonhosted.org/packages/c7/ea/3812ef47b720b22f7d838abe968838df185800e91ba730c4075b0136aab0/gpudb-7.2.2.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f025ab89de84b22f5faa6aa8d79286d289f291b52fc69fbac13e289c20b0243d",
"md5": "a962e2de9e307c5b4303342a00d7c239",
"sha256": "aa4dc4801ad80b9baa8c7a8aa554faa4ef2330e2fae711b2da1b7aca4ec9d088"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "a962e2de9e307c5b4303342a00d7c239",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 559104,
"upload_time": "2024-11-21T04:19:45",
"upload_time_iso_8601": "2024-11-21T04:19:45.162270Z",
"url": "https://files.pythonhosted.org/packages/f0/25/ab89de84b22f5faa6aa8d79286d289f291b52fc69fbac13e289c20b0243d/gpudb-7.2.2.3-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "de7beb210591db0aaec91f3368de45facf7d5aabffdd52b8ff1c3ce1be8fbc78",
"md5": "f83c48022ad84168e38ccb78e0788bcf",
"sha256": "41046bd2b364d5e994aff1bcba9896dff22b059264c1c4e2ddb9f35b425d2873"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp312-cp312-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "f83c48022ad84168e38ccb78e0788bcf",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 598536,
"upload_time": "2024-11-21T04:19:52",
"upload_time_iso_8601": "2024-11-21T04:19:52.686099Z",
"url": "https://files.pythonhosted.org/packages/de/7b/eb210591db0aaec91f3368de45facf7d5aabffdd52b8ff1c3ce1be8fbc78/gpudb-7.2.2.3-cp312-cp312-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "03a9fa97ca21d8f17fff7b3366d1fb0e7bce752a0b2e99ddad66ba004fec7f47",
"md5": "6e8e2af576ed1d78bc47667bc92c8637",
"sha256": "9ced66a291183f35d28253b66fd80ed471a62f94998c68bb0444775cb99a67de"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "6e8e2af576ed1d78bc47667bc92c8637",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 735658,
"upload_time": "2024-11-21T04:19:59",
"upload_time_iso_8601": "2024-11-21T04:19:59.179251Z",
"url": "https://files.pythonhosted.org/packages/03/a9/fa97ca21d8f17fff7b3366d1fb0e7bce752a0b2e99ddad66ba004fec7f47/gpudb-7.2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f076f188f2c462d0b39446c06aa62b6b04734100e678f864a195e5fbe44d2ac6",
"md5": "071c623443c35745849816a69e2cf6fc",
"sha256": "0e5cad7d6661d8efc48d212e45f86c0ea4a276fc82d8470ea3bd2eba223ceaac"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "071c623443c35745849816a69e2cf6fc",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 733777,
"upload_time": "2024-11-21T04:20:07",
"upload_time_iso_8601": "2024-11-21T04:20:07.647845Z",
"url": "https://files.pythonhosted.org/packages/f0/76/f188f2c462d0b39446c06aa62b6b04734100e678f864a195e5fbe44d2ac6/gpudb-7.2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1354bec0b4080ae9e482bcccf17346300d6b169b062115417f2a56f7490154ec",
"md5": "826747d0d09e63408e61b6aef73aa6b5",
"sha256": "0e15276d3cd656f6346e1e8b3aed6bedf876e277d8a0e192134396283d199827"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "826747d0d09e63408e61b6aef73aa6b5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 717281,
"upload_time": "2024-11-21T04:20:10",
"upload_time_iso_8601": "2024-11-21T04:20:10.458820Z",
"url": "https://files.pythonhosted.org/packages/13/54/bec0b4080ae9e482bcccf17346300d6b169b062115417f2a56f7490154ec/gpudb-7.2.2.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "808975c173b325ca5a58815caf552879deb8a52138478bf4796dcfe543b7fe3e",
"md5": "21090f5ae7b636c077b00ea705ffd2fa",
"sha256": "3953392bf044886e4b8b3a0b6a8ae17528bd69204e810c53786b7770d1543b49"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "21090f5ae7b636c077b00ea705ffd2fa",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 559513,
"upload_time": "2024-11-21T04:20:15",
"upload_time_iso_8601": "2024-11-21T04:20:15.972569Z",
"url": "https://files.pythonhosted.org/packages/80/89/75c173b325ca5a58815caf552879deb8a52138478bf4796dcfe543b7fe3e/gpudb-7.2.2.3-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be7bc41af619e2564575f4ba964e3ffe5d1e64f0dae30b1cbfc1f73aaff93b02",
"md5": "04f324f5dd9327ae7e513ad79f2cf453",
"sha256": "77a406dc0360195b024f4123e06c8406b792c004bdc6b6afb792252e4661ef7b"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp38-cp38-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "04f324f5dd9327ae7e513ad79f2cf453",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 597122,
"upload_time": "2024-11-21T04:20:19",
"upload_time_iso_8601": "2024-11-21T04:20:19.261377Z",
"url": "https://files.pythonhosted.org/packages/be/7b/c41af619e2564575f4ba964e3ffe5d1e64f0dae30b1cbfc1f73aaff93b02/gpudb-7.2.2.3-cp38-cp38-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "11c71c75f850073f7048cb72a11013ecd9c7c74d116955271fcb06dbb871c3fb",
"md5": "480f4d1bc6890e4d1452d34dd13762d0",
"sha256": "b0c733dfb2ec6dc1ab6a08e476afd5fdf20a8cb4ef304becbca8940ff9a6d995"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "480f4d1bc6890e4d1452d34dd13762d0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 706375,
"upload_time": "2024-11-21T04:20:26",
"upload_time_iso_8601": "2024-11-21T04:20:26.739583Z",
"url": "https://files.pythonhosted.org/packages/11/c7/1c75f850073f7048cb72a11013ecd9c7c74d116955271fcb06dbb871c3fb/gpudb-7.2.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9443545513e7605062601ca39078b8aaed690a9fbdce0216982d32ed826fc8b3",
"md5": "9b2329a03ff2fbedd07d8368e858076d",
"sha256": "8c390488f35b7a98fc1b99dd5fb0a8c44191ee125b4bb044d215f0961b9202e5"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9b2329a03ff2fbedd07d8368e858076d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 703064,
"upload_time": "2024-11-21T04:20:34",
"upload_time_iso_8601": "2024-11-21T04:20:34.763033Z",
"url": "https://files.pythonhosted.org/packages/94/43/545513e7605062601ca39078b8aaed690a9fbdce0216982d32ed826fc8b3/gpudb-7.2.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "613d4689d4a8f49574811d85b0b9ccc8b4359e81d751da8fb18881e946eebf83",
"md5": "4c369dc7d0fccd439e22897a09d1aadc",
"sha256": "5e201d2234285bb3979a6b19964c31a1058c1230d277f7cc635a3d9ea22572d6"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "4c369dc7d0fccd439e22897a09d1aadc",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 688882,
"upload_time": "2024-11-21T04:20:42",
"upload_time_iso_8601": "2024-11-21T04:20:42.156709Z",
"url": "https://files.pythonhosted.org/packages/61/3d/4689d4a8f49574811d85b0b9ccc8b4359e81d751da8fb18881e946eebf83/gpudb-7.2.2.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3cc4499274de72c2dc6c06c0c4c500c2cbf63c08f08cdc36bc9d7c52dc72e904",
"md5": "89c034ea24f6ac634d2f7b91e8ebaab0",
"sha256": "02bff5af4b4507ad1612e6806d11e5326b10962b75dc2062a89477b2f7dc9a0e"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "89c034ea24f6ac634d2f7b91e8ebaab0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 554599,
"upload_time": "2024-11-21T04:20:48",
"upload_time_iso_8601": "2024-11-21T04:20:48.790477Z",
"url": "https://files.pythonhosted.org/packages/3c/c4/499274de72c2dc6c06c0c4c500c2cbf63c08f08cdc36bc9d7c52dc72e904/gpudb-7.2.2.3-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7750e888d9693b23b09158583c6679213ff032c63980d521f2ae1cf0c3ff073c",
"md5": "e5c35515e4c2df3efedbbc5f75739db4",
"sha256": "d9e16bb7da210e3c9b2b2ed0172a9761c274896ee71ebde9418b8677c0921feb"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "e5c35515e4c2df3efedbbc5f75739db4",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 559028,
"upload_time": "2024-11-21T04:20:54",
"upload_time_iso_8601": "2024-11-21T04:20:54.583110Z",
"url": "https://files.pythonhosted.org/packages/77/50/e888d9693b23b09158583c6679213ff032c63980d521f2ae1cf0c3ff073c/gpudb-7.2.2.3-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "086ee26070f19beffddf904d95a31c90e4b64bb96794a239ebabe907ac35c541",
"md5": "4d4037820b22232fdcaaa688ae46a687",
"sha256": "656d2cd3bcc47cf0329f0cda82fa7502802cbe612a80bf2fb376e73d142e3712"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "4d4037820b22232fdcaaa688ae46a687",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 597109,
"upload_time": "2024-11-21T04:21:00",
"upload_time_iso_8601": "2024-11-21T04:21:00.250905Z",
"url": "https://files.pythonhosted.org/packages/08/6e/e26070f19beffddf904d95a31c90e4b64bb96794a239ebabe907ac35c541/gpudb-7.2.2.3-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cfa5fe88df36e2a607c1a553a19ec5e2a1b0c0ffea47e860009ae8547e1c2973",
"md5": "440ce7b43e30cbf8e9933018abacdc56",
"sha256": "e0e1db2c4e674a0da42110ded569fa331bf98a220b0a0b1be006edd7240dd834"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "440ce7b43e30cbf8e9933018abacdc56",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 704996,
"upload_time": "2024-11-21T04:21:06",
"upload_time_iso_8601": "2024-11-21T04:21:06.778201Z",
"url": "https://files.pythonhosted.org/packages/cf/a5/fe88df36e2a607c1a553a19ec5e2a1b0c0ffea47e860009ae8547e1c2973/gpudb-7.2.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c2fe654266e338365ad56e7aacc13920092a76947cf89799a54b8f2671835244",
"md5": "69d1a4fe61daa6c1e600e24bed411e24",
"sha256": "55c932cdf27f5e3843d4085383d37055e256ed0755f39a163e0a83359bfe3ca5"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "69d1a4fe61daa6c1e600e24bed411e24",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 701564,
"upload_time": "2024-11-21T04:21:14",
"upload_time_iso_8601": "2024-11-21T04:21:14.243371Z",
"url": "https://files.pythonhosted.org/packages/c2/fe/654266e338365ad56e7aacc13920092a76947cf89799a54b8f2671835244/gpudb-7.2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "befc4e0f57dd5f02397bd430de11d9cec75d5b1fb2f353006b494e651c94d5e1",
"md5": "b6e4ba2459b68d0d3db18e64e9f2aa16",
"sha256": "313f45668b47ffff9aabc124b0691a783b3600d9b2d9cbb3acee863b7c14e021"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "b6e4ba2459b68d0d3db18e64e9f2aa16",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 687317,
"upload_time": "2024-11-21T04:21:22",
"upload_time_iso_8601": "2024-11-21T04:21:22.197818Z",
"url": "https://files.pythonhosted.org/packages/be/fc/4e0f57dd5f02397bd430de11d9cec75d5b1fb2f353006b494e651c94d5e1/gpudb-7.2.2.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8c3cfb3f1d3ae4074711eb0968aea11e097bcf7083b5ab50aad896f418668db2",
"md5": "eb7a4d201d57009dda7825c6c5686d84",
"sha256": "a719a7129effab1d6405625295f54b3345ee5ab5553bbc4e7a383e7e9addde20"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "eb7a4d201d57009dda7825c6c5686d84",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 554570,
"upload_time": "2024-11-21T04:21:28",
"upload_time_iso_8601": "2024-11-21T04:21:28.116537Z",
"url": "https://files.pythonhosted.org/packages/8c/3c/fb3f1d3ae4074711eb0968aea11e097bcf7083b5ab50aad896f418668db2/gpudb-7.2.2.3-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5834b097c7089f3d1f55353f693eb36f2acc034ca4bd2f270c0b20ce1aac7c56",
"md5": "257edc0279e18e279fb03c4879f7eb1e",
"sha256": "c1f9f4fa3344cc7c26d642df67f77c797fe0d1b420f548e4caf836ab3bb1a74a"
},
"downloads": -1,
"filename": "gpudb-7.2.2.3-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "257edc0279e18e279fb03c4879f7eb1e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 559038,
"upload_time": "2024-11-21T04:21:30",
"upload_time_iso_8601": "2024-11-21T04:21:30.389363Z",
"url": "https://files.pythonhosted.org/packages/58/34/b097c7089f3d1f55353f693eb36f2acc034ca4bd2f270c0b20ce1aac7c56/gpudb-7.2.2.3-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-21 04:18:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gpudb"
}