# gstflow\_interface
`gstflow_interface` is a lightweight Python module for interacting with native C/C++ libraries that implement the GSTFlow processing interface. It enables efficient image and video processing by bridging Python and native code.
## Features
* Interacts with native C/C++ libraries that implement `gstflow_custom_process`
* Handles buffer allocation and deallocation automatically
* Supports NumPy image arrays
* Easily integrates with automation pipelines or DeepStream applications
## Requirements
* Operating System: Linux
* Python 3.7 or higher
* NumPy
* A compiled shared library exposing the following functions:
```c
void gstflow_custom_process(GstflowBuffer* input, GstflowBuffer* output);
void gstflow_free_buffer(GstflowBuffer* buffer);
```
## Usage
### 1. Copy Header File
Copy the header file `gstflow_user_api.h` into your native project directory:
```bash
cp "$(python3 -c "import os, gstflow_interface; print(os.path.join(os.path.dirname(gstflow_interface.__file__), 'include', 'gstflow_user_api.h'))")" .
```
Include it in your C/C++ source:
```cpp
#include "gstflow_user_api.h"
```
### 2. Python Integration
```python
import os
import numpy as np
from gstflow_interface import gstflow_process_image
# Set the path to your compiled shared library
os.environ["GSTFLOW_USER_LIB"] = "/path/to/your/library.so"
# Example input image (NumPy array)
image = np.zeros((480, 640, 3), dtype=np.uint8)
# Process the image
output_images = gstflow_process_image(image)
# output_images is a list of NumPy arrays
```
---
Raw data
{
"_id": null,
"home_page": null,
"name": "gstflow-interface",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "deepstream, gstreamer, automation, ai, artificial intelligence, computer vision, edge, intelligent edge, craftifai, intelligent edge systems, ies, nvidia, jetson, inference, opencv",
"author": null,
"author_email": "Mohd Yusuf <yusuf.intelligentedgesystems@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/85/c4/41ad97953916fc0ed674767c7302ed8a86a21bcfd3933af8fc90bddce2eb/gstflow_interface-1.1.0.tar.gz",
"platform": null,
"description": "# gstflow\\_interface\n\n`gstflow_interface` is a lightweight Python module for interacting with native C/C++ libraries that implement the GSTFlow processing interface. It enables efficient image and video processing by bridging Python and native code.\n\n## Features\n\n* Interacts with native C/C++ libraries that implement `gstflow_custom_process`\n* Handles buffer allocation and deallocation automatically\n* Supports NumPy image arrays\n* Easily integrates with automation pipelines or DeepStream applications\n\n## Requirements\n\n* Operating System: Linux\n* Python 3.7 or higher\n* NumPy\n* A compiled shared library exposing the following functions:\n\n ```c\n void gstflow_custom_process(GstflowBuffer* input, GstflowBuffer* output);\n void gstflow_free_buffer(GstflowBuffer* buffer);\n ```\n\n## Usage\n\n### 1. Copy Header File\n\nCopy the header file `gstflow_user_api.h` into your native project directory:\n\n```bash\ncp \"$(python3 -c \"import os, gstflow_interface; print(os.path.join(os.path.dirname(gstflow_interface.__file__), 'include', 'gstflow_user_api.h'))\")\" .\n```\n\nInclude it in your C/C++ source:\n\n```cpp\n#include \"gstflow_user_api.h\"\n```\n\n### 2. Python Integration\n\n```python\nimport os\nimport numpy as np\nfrom gstflow_interface import gstflow_process_image\n\n# Set the path to your compiled shared library\nos.environ[\"GSTFLOW_USER_LIB\"] = \"/path/to/your/library.so\"\n\n# Example input image (NumPy array)\nimage = np.zeros((480, 640, 3), dtype=np.uint8)\n\n# Process the image\noutput_images = gstflow_process_image(image)\n\n# output_images is a list of NumPy arrays\n```\n\n---\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python interface for interacting with native C/C++ libraries with defined Gstflow function signature",
"version": "1.1.0",
"project_urls": null,
"split_keywords": [
"deepstream",
" gstreamer",
" automation",
" ai",
" artificial intelligence",
" computer vision",
" edge",
" intelligent edge",
" craftifai",
" intelligent edge systems",
" ies",
" nvidia",
" jetson",
" inference",
" opencv"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e42caa4e04fa5d5889ca594a23aa63d7545177c271a29cc8abbdb45d5fdaebf1",
"md5": "e7d402cbbcb529ec3d96761ef888fa57",
"sha256": "7dc6fe0239caa20679c310f876295de5b940f69ec16b0aa9da7704a987ccb297"
},
"downloads": -1,
"filename": "gstflow_interface-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e7d402cbbcb529ec3d96761ef888fa57",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 6917,
"upload_time": "2025-07-25T09:31:12",
"upload_time_iso_8601": "2025-07-25T09:31:12.210087Z",
"url": "https://files.pythonhosted.org/packages/e4/2c/aa4e04fa5d5889ca594a23aa63d7545177c271a29cc8abbdb45d5fdaebf1/gstflow_interface-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "85c441ad97953916fc0ed674767c7302ed8a86a21bcfd3933af8fc90bddce2eb",
"md5": "ad9869662c06a1edc8ffecb160b61aae",
"sha256": "8ceb7ed8da2e721f7efb1a0e96537edfcf47851dc3d32d894298cf44bb5dddee"
},
"downloads": -1,
"filename": "gstflow_interface-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "ad9869662c06a1edc8ffecb160b61aae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 6345,
"upload_time": "2025-07-25T09:31:13",
"upload_time_iso_8601": "2025-07-25T09:31:13.475934Z",
"url": "https://files.pythonhosted.org/packages/85/c4/41ad97953916fc0ed674767c7302ed8a86a21bcfd3933af8fc90bddce2eb/gstflow_interface-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-25 09:31:13",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gstflow-interface"
}