Name | pyds-stubs JSON |
Version |
1.1.8.2
JSON |
| download |
home_page | None |
Summary | Typing stubs for NVIDIA DeepStream Python Bindings |
upload_time | 2025-06-22 17:55:34 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.9,>=3.8 |
license | None |
keywords |
bindings
deepstream
nvidia
stubs
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Typing stubs for NVIDIA DeepStream Python Bindings
[](https://github.com/nkaaf/pyds-stubs/actions/workflows/audit.yml)
[](https://pypi.org/project/pyds-stubs)
This project provides type stubs for [pyds](https://github.com/NVIDIA-AI-IOT/deepstream_python_apps)
to improve the support of these important bindings in IDEs.
These are generated by [pybind11-stubgen](https://github.com/sizmailov/pybind11-stubgen) and further
post-processed. For the post-processing steps, check out
the [Post-Processing Chapter](#post-processing)
With the usage of this project, you agree to the license terms, found in the [License](#license)
chapter. This project is not affiliated with NVIDIA or the authors and maintainer of
the [pyds](https://github.com/NVIDIA-AI-IOT/deepstream_python_apps) repository. It is the result of
the need for type hints for a simpler and more stable implementation of DeepStream pipelines in
Python.
## Index
* [Installation](#installation)
* [Usage](#usage)
* [Versioning](#versioning)
* [Development](#development)
* [Installation of Prerequisites](#installation-of-prerequisites)
* [Build wheel](#build-wheel)
* [Generation](#generation)
* [Post-Processing](#post-processing)
* [License](#license)
* [Appendix](#appendix)
* [Python venv](#python-venv)
* [Links](#links)
* [Notice for NVIDIA](#notice-for-nvidia)
## Installation
This library can be easily installed with pip:
```bash
pip install pyds-stubs
```
## Usage
There is no magic, just only import pyds as you would normally do. This package is intended to be
used during the development and can be omitted in runtime environments.
## Versioning
The stub versions matches the versions of pyds. For example, stub version `1.1.8` fits to pyds
version
`1.1.8`. If any fix has to be applied, the fourth position would be incremented. So the first fix of
`1.1.8` results in `1.1.8.1`.
Please pin your version directly or limit it upper-wise like:
`pyds-stubs>=1.1.8,<1.1.9`
## Development
### Installation of Prerequisites
* Python 3 (latest) (https://www.python.org/downloads)
* Python venv (optional, recommended) <sub>[GoTo Installation](#python-venv)</sub>
* Installation of development requirements:
```bash
pip install -r requirements/dev/requirements.txt
```
* Installation of requirements:
```bash
pip install -r requirements/library/requirements.txt
```
### Build wheel
```bash
python3 -m build
```
### Generation
The stubs are generated by pybind11-stubgen. It is contained in the development requirements. The
stubs can be generated with the following command, if it is executed in the environment, where pyds
is installed.
```bash
pybind11-stubgen pyds
```
### Post-Processing
For correct usage, the generated stubs are post-processed. Following steps are applied:
* Format with ruff
* add generic class for `capsule` with information about the class of the object.
* remove class `GList` and add generic `GList` class with information about the class of the data.
* `cast` functions with `capsule` datatype: `capsule` is replaced by `capsule[class]` where `class`
is the target class.
* `array` datatype: Replace with numpy.ndarray
* `numpy.ndarray[float32]`: Replace with `NDArray[numpy.float32]` with
`from numpy.typing import NDArray`
* Datatype of `eglImage` of `NvBufSurfaceMappedAddr`: `typing.Any` instead of `capsule`
* Datatype of `dataPtr` of `NvBufSurfaceParams`: `typing.Any` instead of `capsule`
* Datatype of `batch_meta` of `NvDsBaseMeta`: `NvDsBatchMeta` instead of `_NvDsBatchMeta`
* Datatype of `uContext` of `NvDsBaseMeta`: `typing.Any` instead of `capsule`
* Datatype of `batch_user_meta_list` of `NvDsBatchMeta`: `typing.Optional[GList[NvDsUserMeta]]` instead of `GList`
* Datatype of `frame_meta_list` of `NvDsBatchMeta`: `typing.Optional[GList[NvDsFrameMeta]]` instead of `GList`
* Datatype of `meta_mutex` of `NvDsBatchMeta`: `GLib.RecMutex` instead of `_GRecMutex` with `from gi.repository import GLib`
* Datatype of `label_info_list` of `NvDsClassifierMeta`: `typing.Optional[GList[NvDsLabelInfo]]` instead of `GList`
* Datatype of `extMsg` of `NvDsEventMsgMeta`: `typing.Any` instead of `capsule`
* Datatype of `mask` of `NvDsFaceObjectWithExt`: `typing.Optional[GList[typing.Any]]` instead of `GList`
* Datatype of `display_meta_list` of `NvDsFrameMeta`: `typing.Optional[GList[NvDsDisplayMeta]]` instead of `GList`
* Datatype of `frame_user_meta_list` of `NvDsFrameMeta`: `typing.Optional[GList[NvDsUserMeta]]` instead of `GList`
* Datatype of `obj_meta_list` of `NvDsFrameMeta`: `typing.Optional[GList[NvDsObjectMeta]]` instead of `GList`
* Datatype of `buffer` of `NvDsInferLayerInfo`: `typing.Any` instead of `capsule`
* Returntype of `priv_data` property of `NvDsInferSegmentationMeta`: `typing.Any` instead of `capsule`
* Returntype of `out_buf_ptrs_dev` property of `NvDsInferTensorMeta`: `typing.Any` instead of `capsule`
* Returntype of `out_buf_ptrs_host` property of `NvDsInferTensorMeta`: `typing.Any` instead of `capsule`
* Returntype of `priv_data` property of `NvDsInferTensorMeta`: `typing.Any` instead of `capsule`
* Datatype of `meta` of `NvDsMeta`: `Gst.Meta` instead of `_GstMeta` with `from gi.repository import Gst`
* Datatype of `meta_data` of `NvDsMeta`: `typing.Any` instead of `capsule`
* Datatype of `user_data` of `NvDsMeta`: `typing.Any` instead of `capsule`
* Add `NvDsMetaList` as an alias of `typing.Optional[GList[NvDsMeta]]`
* Datatype of `empty_list` of `NvDsMetaPool`: `NvDsMetaList` instead of `GList`
* Datatype of `full_list` of `NvDsMetaPool`: `NvDsMetaList` instead of `GList`
* Datatype of `classifier_meta_list` of `NvDsObjectMeta`: `typing.Optional[GList[NvDsClassifierMeta]]` instead of `GList`
* Datatype of `obj_user_meta_list` of `NvDsObjectMeta`: `typing.Optional[GList[NvDsUserMeta]]` instead of `GList`
* Datatype of `data` of `NvDsOpticalFlowMeta`: `typing.Any` instead of `capsule`
* Datatype of `priv` of `NvDsOpticalFlowMeta`: `typing.Any` instead of `capsule`
* Datatype of `reserved` of `NvDsOpticalFlowMeta`: `typing.Any` instead of `capsule`
* Datatype of `mask` of `NvDsPersonObjectExt`: `typing.Optional[GList[typing.Any]]` instead of `GList`
* Datatype of `payload` of `NvDsPayload`: `typing.Any` instead of `capsule`
* Datatype of `user_meta_data` of `NvDsUserMeta`: `typing.Any` instead of `capsule`
* Datatype of `mask` of `NvDsVehicleObjectExt`: `typing.Optional[GList[typing.Any]]` instead of `GList`
* Datatype of `text` of `RectDim`: `typing.Any` instead of `capsule`
* Datatype of `buffer` of `NvBufSurfaceFromFd`: `capsule[NvBufSurface]` instead of `capsule`
* Datatype of `buffer` of `free_gbuffer`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `get_detections`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `get_nvds_LayerInfo`: `typing.Any` instead of `capsule`
* Datatype of `data` of `get_optical_flow_vectors`: `capsule[NvDsOpticalFlowMeta]` instead of `capsule`
* Datatype of `ptr` of `get_ptr`: `typing.Any` instead of `capsule`
* Datatype of `data` of `get_segmentation_masks`: `capsule[NvDsInferSegmentationMeta]` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_Surface_Params`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_batch_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_classifier_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_display_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_event_msg_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_frame_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_label_info`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_object_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_person_object`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_tensor_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_user_meta`: `typing.Any` instead of `capsule`
* Datatype of `arg0` of `glist_get_nvds_vehicle_object`: `typing.Any` instead of `capsule`
* Datatype of `buffer` of `gst_buffer_add_nvds_meta`: `Gst.Buffer` instead of `_GstBuffer`
* Datatype of `meta_data` of `gst_buffer_add_nvds_meta`: `typing.Any` instead of `capsule`
* Datatype of `user_data` of `gst_buffer_add_nvds_meta`: `typing.Any` instead of `capsule`
* Returntype of `gst_buffer_add_nvds_meta`: `NvDsMeta` instead of `_NvDsMeta`
* Datatype of `data` of `nvds_batch_meta_copy_func`: `capsule[NvDsBatchMeta]` instead of `capsule`
* Datatype of `user_data` of `nvds_batch_meta_copy_func`: `typing.Any` instead of `capsule`
* Datatype of `data` of `nvds_batch_meta_release_func`: `capsule[NvDsBatchMeta]` instead of `capsule`
* Datatype of `meta_list` of `nvds_clear_batch_user_meta_list`: `NvDsUserMetaList` instead of `GList`
* Add `NvDisplayMetaList` as an alias of `typing.Optional[GList[NvDsDisplayMeta]]`
* Datatype of `meta_list` of `nvds_clear_display_meta_list`: `NvDisplayMetaList` instead of `GList`
* Add `NvDsFrameMetaList` as an alias of `typing.Optional[GList[NvDsFrameMeta]]`
* Datatype of `meta_list` of `nvds_clear_frame_meta_list`: `NvDsFrameMetaList` instead of `GList`
* Add `NvDsUserMetaList` as an alias of `typing.Optional[GList[NvDsUserMeta]]`
* Datatype of `meta_list` of `nvds_clear_frame_user_meta_list`: `NvDsUserMetaList` instead of `GList`
* Datatype of `meta_list` of `nvds_clear_meta_list`: `NvDsMetaList` instead of `GList`
* Returntype of `nvds_clear_meta_list`: `NvDsMetaList` instead of `GList`
* Add `NvDsObjectMetaList` as an alias of `typing.Optional[GList[NvDsObjectMeta]]`
* Datatype of `meta_list` of `nvds_clear_obj_meta_list`: `NvDsObjectMetaList` instead of `GList`
* Datatype of `meta_list` of `nvds_clear_obj_user_meta_list`: `NvDsObjectMetaList` instead of `GList`
* Datatype of `src_user_meta_list` of `nvds_copy_batch_user_meta_list`: `NvDsObjectMetaList` instead of `GList`
* Datatype of `src_user_meta_list` of `nvds_copy_display_meta_list`: `NvDisplayMetaList` instead of `GList`
* Datatype of `src_user_meta_list` of `nvds_copy_frame_meta_list`: `NvDsFrameMetaList` instead of `GList`
* Datatype of `src_user_meta_list` of `nvds_copy_frame_user_meta_list`: `NvDsUserMetaList` instead of `GList`
* Datatype of `src_user_meta_list` of `nvds_copy_obj_meta_list`: `NvDsObjectMetaList` instead of `GList`
* Datatype of `frame_meta_list` of `nvds_get_nth_frame_meta`: `GList[NvDsFrameMeta]` instead of `GList`
* Datatype of `arg0` of `register_user_copyfunc`: `typing.Callable[[typing.Any, typing.Any], typing.Any]` instead of `typing.Callable[[capsule, capsule], capsule]`
* Datatype of `arg0` of `register_user_releasefunc`: `typing.Callable[[typing.Any, typing.Any], None]` instead of `typing.Callable[[capsule, capsule], None]`
* Datatype of `arg1` of `set_user_copyfunc`: `typing.Callable[[typing.Any, typing.Any], typing.Any]` instead of `typing.Callable[[capsule, capsule], capsule]`
* Datatype of `arg1` of `set_user_releasefunc`: `typing.Callable[[typing.Any, typing.Any], None]` instead of `typing.Callable[[capsule, capsule], None]`
* Datatype of `func` of `user_copyfunc`: `typing.Callable[[typing.Any, typing.Any], typing.Any]` instead of `typing.Callable[[capsule, capsule], capsule]`
* Datatype of `func` of `user_releasefunc`: `typing.Callable[[typing.Any, typing.Any], None]` instead of `typing.Callable[[capsule, capsule], None]`
## License
This project is published
under [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) - please comply
with it, if you use/modify/distribute it. The license can be found in "LICENSE".
## Appendix
### Python venv
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip setuptools
```
### Links
* [Project Home](https://github.com/nkaaf/pyds-stubs)
* [pyds - NVIDIA DeepStream Python Bindings](https://github.com/NVIDIA-AI-IOT/deepstream_python_apps)
* [pybind11-stubgen](https://github.com/sizmailov/pybind11-stubgen)
### Notice for NVIDIA
I recently (Jun, 2025) saw
a [discussion](https://forums.developer.nvidia.com/t/feature-request-add-python-stubs-to-pyds-library/333191/4)
on your forum. If there is any official stub support by NVIDIA, this project will be deprecated and
publicly archived. I hope to hear from you ;)
Raw data
{
"_id": null,
"home_page": null,
"name": "pyds-stubs",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.9,>=3.8",
"maintainer_email": "Niklas Kaaf <nkaaf@protonmail.com>",
"keywords": "bindings, deepstream, nvidia, stubs",
"author": null,
"author_email": "Niklas Kaaf <nkaaf@protonmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ac/53/193628f90a6d9c32fe9876ab23c8e253061e29f1109e25a25a8b9e443f9d/pyds_stubs-1.1.8.2.tar.gz",
"platform": null,
"description": "# Typing stubs for NVIDIA DeepStream Python Bindings\n\n[](https://github.com/nkaaf/pyds-stubs/actions/workflows/audit.yml)\n[](https://pypi.org/project/pyds-stubs)\n\nThis project provides type stubs for [pyds](https://github.com/NVIDIA-AI-IOT/deepstream_python_apps)\nto improve the support of these important bindings in IDEs.\n\nThese are generated by [pybind11-stubgen](https://github.com/sizmailov/pybind11-stubgen) and further\npost-processed. For the post-processing steps, check out\nthe [Post-Processing Chapter](#post-processing)\n\nWith the usage of this project, you agree to the license terms, found in the [License](#license)\nchapter. This project is not affiliated with NVIDIA or the authors and maintainer of\nthe [pyds](https://github.com/NVIDIA-AI-IOT/deepstream_python_apps) repository. It is the result of\nthe need for type hints for a simpler and more stable implementation of DeepStream pipelines in\nPython.\n\n## Index\n\n* [Installation](#installation)\n* [Usage](#usage)\n* [Versioning](#versioning)\n* [Development](#development)\n * [Installation of Prerequisites](#installation-of-prerequisites)\n * [Build wheel](#build-wheel)\n * [Generation](#generation)\n * [Post-Processing](#post-processing)\n* [License](#license)\n* [Appendix](#appendix)\n * [Python venv](#python-venv)\n * [Links](#links)\n * [Notice for NVIDIA](#notice-for-nvidia)\n\n## Installation\n\nThis library can be easily installed with pip:\n\n```bash\npip install pyds-stubs\n```\n\n## Usage\n\nThere is no magic, just only import pyds as you would normally do. This package is intended to be\nused during the development and can be omitted in runtime environments.\n\n## Versioning\n\nThe stub versions matches the versions of pyds. For example, stub version `1.1.8` fits to pyds\nversion\n`1.1.8`. If any fix has to be applied, the fourth position would be incremented. So the first fix of\n`1.1.8` results in `1.1.8.1`.\n\nPlease pin your version directly or limit it upper-wise like:\n\n`pyds-stubs>=1.1.8,<1.1.9`\n\n## Development\n\n### Installation of Prerequisites\n\n* Python 3 (latest) (https://www.python.org/downloads)\n* Python venv (optional, recommended) <sub>[GoTo Installation](#python-venv)</sub>\n* Installation of development requirements:\n\n```bash\npip install -r requirements/dev/requirements.txt\n```\n\n* Installation of requirements:\n\n```bash\npip install -r requirements/library/requirements.txt\n```\n\n### Build wheel\n\n```bash\npython3 -m build\n```\n\n### Generation\n\nThe stubs are generated by pybind11-stubgen. It is contained in the development requirements. The\nstubs can be generated with the following command, if it is executed in the environment, where pyds\nis installed.\n\n```bash\npybind11-stubgen pyds\n```\n\n### Post-Processing\n\nFor correct usage, the generated stubs are post-processed. Following steps are applied:\n\n* Format with ruff\n* add generic class for `capsule` with information about the class of the object.\n* remove class `GList` and add generic `GList` class with information about the class of the data.\n* `cast` functions with `capsule` datatype: `capsule` is replaced by `capsule[class]` where `class`\n is the target class.\n* `array` datatype: Replace with numpy.ndarray\n* `numpy.ndarray[float32]`: Replace with `NDArray[numpy.float32]` with\n `from numpy.typing import NDArray`\n* Datatype of `eglImage` of `NvBufSurfaceMappedAddr`: `typing.Any` instead of `capsule`\n* Datatype of `dataPtr` of `NvBufSurfaceParams`: `typing.Any` instead of `capsule`\n* Datatype of `batch_meta` of `NvDsBaseMeta`: `NvDsBatchMeta` instead of `_NvDsBatchMeta`\n* Datatype of `uContext` of `NvDsBaseMeta`: `typing.Any` instead of `capsule`\n* Datatype of `batch_user_meta_list` of `NvDsBatchMeta`: `typing.Optional[GList[NvDsUserMeta]]` instead of `GList`\n* Datatype of `frame_meta_list` of `NvDsBatchMeta`: `typing.Optional[GList[NvDsFrameMeta]]` instead of `GList`\n* Datatype of `meta_mutex` of `NvDsBatchMeta`: `GLib.RecMutex` instead of `_GRecMutex` with `from gi.repository import GLib`\n* Datatype of `label_info_list` of `NvDsClassifierMeta`: `typing.Optional[GList[NvDsLabelInfo]]` instead of `GList`\n* Datatype of `extMsg` of `NvDsEventMsgMeta`: `typing.Any` instead of `capsule`\n* Datatype of `mask` of `NvDsFaceObjectWithExt`: `typing.Optional[GList[typing.Any]]` instead of `GList`\n* Datatype of `display_meta_list` of `NvDsFrameMeta`: `typing.Optional[GList[NvDsDisplayMeta]]` instead of `GList`\n* Datatype of `frame_user_meta_list` of `NvDsFrameMeta`: `typing.Optional[GList[NvDsUserMeta]]` instead of `GList`\n* Datatype of `obj_meta_list` of `NvDsFrameMeta`: `typing.Optional[GList[NvDsObjectMeta]]` instead of `GList`\n* Datatype of `buffer` of `NvDsInferLayerInfo`: `typing.Any` instead of `capsule`\n* Returntype of `priv_data` property of `NvDsInferSegmentationMeta`: `typing.Any` instead of `capsule`\n* Returntype of `out_buf_ptrs_dev` property of `NvDsInferTensorMeta`: `typing.Any` instead of `capsule`\n* Returntype of `out_buf_ptrs_host` property of `NvDsInferTensorMeta`: `typing.Any` instead of `capsule`\n* Returntype of `priv_data` property of `NvDsInferTensorMeta`: `typing.Any` instead of `capsule`\n* Datatype of `meta` of `NvDsMeta`: `Gst.Meta` instead of `_GstMeta` with `from gi.repository import Gst`\n* Datatype of `meta_data` of `NvDsMeta`: `typing.Any` instead of `capsule`\n* Datatype of `user_data` of `NvDsMeta`: `typing.Any` instead of `capsule`\n* Add `NvDsMetaList` as an alias of `typing.Optional[GList[NvDsMeta]]`\n* Datatype of `empty_list` of `NvDsMetaPool`: `NvDsMetaList` instead of `GList`\n* Datatype of `full_list` of `NvDsMetaPool`: `NvDsMetaList` instead of `GList`\n* Datatype of `classifier_meta_list` of `NvDsObjectMeta`: `typing.Optional[GList[NvDsClassifierMeta]]` instead of `GList`\n* Datatype of `obj_user_meta_list` of `NvDsObjectMeta`: `typing.Optional[GList[NvDsUserMeta]]` instead of `GList`\n* Datatype of `data` of `NvDsOpticalFlowMeta`: `typing.Any` instead of `capsule`\n* Datatype of `priv` of `NvDsOpticalFlowMeta`: `typing.Any` instead of `capsule`\n* Datatype of `reserved` of `NvDsOpticalFlowMeta`: `typing.Any` instead of `capsule`\n* Datatype of `mask` of `NvDsPersonObjectExt`: `typing.Optional[GList[typing.Any]]` instead of `GList`\n* Datatype of `payload` of `NvDsPayload`: `typing.Any` instead of `capsule`\n* Datatype of `user_meta_data` of `NvDsUserMeta`: `typing.Any` instead of `capsule`\n* Datatype of `mask` of `NvDsVehicleObjectExt`: `typing.Optional[GList[typing.Any]]` instead of `GList`\n* Datatype of `text` of `RectDim`: `typing.Any` instead of `capsule`\n* Datatype of `buffer` of `NvBufSurfaceFromFd`: `capsule[NvBufSurface]` instead of `capsule`\n* Datatype of `buffer` of `free_gbuffer`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `get_detections`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `get_nvds_LayerInfo`: `typing.Any` instead of `capsule`\n* Datatype of `data` of `get_optical_flow_vectors`: `capsule[NvDsOpticalFlowMeta]` instead of `capsule`\n* Datatype of `ptr` of `get_ptr`: `typing.Any` instead of `capsule`\n* Datatype of `data` of `get_segmentation_masks`: `capsule[NvDsInferSegmentationMeta]` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_Surface_Params`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_batch_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_classifier_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_display_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_event_msg_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_frame_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_label_info`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_object_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_person_object`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_tensor_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_user_meta`: `typing.Any` instead of `capsule`\n* Datatype of `arg0` of `glist_get_nvds_vehicle_object`: `typing.Any` instead of `capsule`\n* Datatype of `buffer` of `gst_buffer_add_nvds_meta`: `Gst.Buffer` instead of `_GstBuffer`\n* Datatype of `meta_data` of `gst_buffer_add_nvds_meta`: `typing.Any` instead of `capsule`\n* Datatype of `user_data` of `gst_buffer_add_nvds_meta`: `typing.Any` instead of `capsule`\n* Returntype of `gst_buffer_add_nvds_meta`: `NvDsMeta` instead of `_NvDsMeta`\n* Datatype of `data` of `nvds_batch_meta_copy_func`: `capsule[NvDsBatchMeta]` instead of `capsule`\n* Datatype of `user_data` of `nvds_batch_meta_copy_func`: `typing.Any` instead of `capsule`\n* Datatype of `data` of `nvds_batch_meta_release_func`: `capsule[NvDsBatchMeta]` instead of `capsule`\n* Datatype of `meta_list` of `nvds_clear_batch_user_meta_list`: `NvDsUserMetaList` instead of `GList`\n* Add `NvDisplayMetaList` as an alias of `typing.Optional[GList[NvDsDisplayMeta]]`\n* Datatype of `meta_list` of `nvds_clear_display_meta_list`: `NvDisplayMetaList` instead of `GList`\n* Add `NvDsFrameMetaList` as an alias of `typing.Optional[GList[NvDsFrameMeta]]`\n* Datatype of `meta_list` of `nvds_clear_frame_meta_list`: `NvDsFrameMetaList` instead of `GList`\n* Add `NvDsUserMetaList` as an alias of `typing.Optional[GList[NvDsUserMeta]]`\n* Datatype of `meta_list` of `nvds_clear_frame_user_meta_list`: `NvDsUserMetaList` instead of `GList`\n* Datatype of `meta_list` of `nvds_clear_meta_list`: `NvDsMetaList` instead of `GList`\n* Returntype of `nvds_clear_meta_list`: `NvDsMetaList` instead of `GList`\n* Add `NvDsObjectMetaList` as an alias of `typing.Optional[GList[NvDsObjectMeta]]`\n* Datatype of `meta_list` of `nvds_clear_obj_meta_list`: `NvDsObjectMetaList` instead of `GList`\n* Datatype of `meta_list` of `nvds_clear_obj_user_meta_list`: `NvDsObjectMetaList` instead of `GList`\n* Datatype of `src_user_meta_list` of `nvds_copy_batch_user_meta_list`: `NvDsObjectMetaList` instead of `GList`\n* Datatype of `src_user_meta_list` of `nvds_copy_display_meta_list`: `NvDisplayMetaList` instead of `GList`\n* Datatype of `src_user_meta_list` of `nvds_copy_frame_meta_list`: `NvDsFrameMetaList` instead of `GList`\n* Datatype of `src_user_meta_list` of `nvds_copy_frame_user_meta_list`: `NvDsUserMetaList` instead of `GList`\n* Datatype of `src_user_meta_list` of `nvds_copy_obj_meta_list`: `NvDsObjectMetaList` instead of `GList`\n* Datatype of `frame_meta_list` of `nvds_get_nth_frame_meta`: `GList[NvDsFrameMeta]` instead of `GList`\n* Datatype of `arg0` of `register_user_copyfunc`: `typing.Callable[[typing.Any, typing.Any], typing.Any]` instead of `typing.Callable[[capsule, capsule], capsule]`\n* Datatype of `arg0` of `register_user_releasefunc`: `typing.Callable[[typing.Any, typing.Any], None]` instead of `typing.Callable[[capsule, capsule], None]`\n* Datatype of `arg1` of `set_user_copyfunc`: `typing.Callable[[typing.Any, typing.Any], typing.Any]` instead of `typing.Callable[[capsule, capsule], capsule]`\n* Datatype of `arg1` of `set_user_releasefunc`: `typing.Callable[[typing.Any, typing.Any], None]` instead of `typing.Callable[[capsule, capsule], None]`\n* Datatype of `func` of `user_copyfunc`: `typing.Callable[[typing.Any, typing.Any], typing.Any]` instead of `typing.Callable[[capsule, capsule], capsule]`\n* Datatype of `func` of `user_releasefunc`: `typing.Callable[[typing.Any, typing.Any], None]` instead of `typing.Callable[[capsule, capsule], None]`\n\n## License\n\nThis project is published\nunder [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) - please comply\nwith it, if you use/modify/distribute it. The license can be found in \"LICENSE\".\n\n## Appendix\n\n### Python venv\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install --upgrade pip setuptools\n```\n\n### Links\n\n* [Project Home](https://github.com/nkaaf/pyds-stubs)\n* [pyds - NVIDIA DeepStream Python Bindings](https://github.com/NVIDIA-AI-IOT/deepstream_python_apps)\n* [pybind11-stubgen](https://github.com/sizmailov/pybind11-stubgen)\n\n### Notice for NVIDIA\n\nI recently (Jun, 2025) saw\na [discussion](https://forums.developer.nvidia.com/t/feature-request-add-python-stubs-to-pyds-library/333191/4)\non your forum. If there is any official stub support by NVIDIA, this project will be deprecated and\npublicly archived. I hope to hear from you ;)\n",
"bugtrack_url": null,
"license": null,
"summary": "Typing stubs for NVIDIA DeepStream Python Bindings",
"version": "1.1.8.2",
"project_urls": {
"Bug Tracker": "https://github.com/nkaaf/pyds-stubs/issues",
"Releases": "https://github.com/nkaaf/pyds-stubs/releases",
"Repository": "https://github.com/nkaaf/pyds-stubs"
},
"split_keywords": [
"bindings",
" deepstream",
" nvidia",
" stubs"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "545671b4dbc0e5b203174366bf50c8664919cfcfc0af2651035607a775f79744",
"md5": "3843ef6efb71a7098046672c76e589e2",
"sha256": "4843fcee2c186fab0fa6d8926293155d42d03e0fb259a841f0dd979219dc01a9"
},
"downloads": -1,
"filename": "pyds_stubs-1.1.8.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3843ef6efb71a7098046672c76e589e2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.9,>=3.8",
"size": 40830,
"upload_time": "2025-06-22T17:55:33",
"upload_time_iso_8601": "2025-06-22T17:55:33.421733Z",
"url": "https://files.pythonhosted.org/packages/54/56/71b4dbc0e5b203174366bf50c8664919cfcfc0af2651035607a775f79744/pyds_stubs-1.1.8.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ac53193628f90a6d9c32fe9876ab23c8e253061e29f1109e25a25a8b9e443f9d",
"md5": "4b54ca1700313c7d4d08d7ffc709b4b0",
"sha256": "12227fabf9cf9743143c9dc2b1877ff2c46afd79c524de5e3c0e31757ae37587"
},
"downloads": -1,
"filename": "pyds_stubs-1.1.8.2.tar.gz",
"has_sig": false,
"md5_digest": "4b54ca1700313c7d4d08d7ffc709b4b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.9,>=3.8",
"size": 40828,
"upload_time": "2025-06-22T17:55:34",
"upload_time_iso_8601": "2025-06-22T17:55:34.698383Z",
"url": "https://files.pythonhosted.org/packages/ac/53/193628f90a6d9c32fe9876ab23c8e253061e29f1109e25a25a8b9e443f9d/pyds_stubs-1.1.8.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-06-22 17:55:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nkaaf",
"github_project": "pyds-stubs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyds-stubs"
}