# Isarsoft Model Utility
A command-line utility for exporting object detection models to ONNX format for Isarsoft Perception, complete with metadata generation and optional packaging.
## Features
* Convert PyTorch `.pt` models from RFDETR to ONNX
* Embed metadata: class labels, model description, company attribution
* Options to anonymize or georeference specific classes
* Support for custom input image sizes
* Generate a thumbnail for frontend display (optional)
* Package outputs into a ZIP archive (optional)
* Verbose logging for debugging and audit trails
## Requirements
* Python 3.10 or later
## Installation
```bash
# Create a conda environment (recommended)
conda create -n isarsoft-export python=3.10 -y
conda activate isarsoft-export
# Install the package
pip install isarsoft-model-utility
```
## Usage
```bash
isarsoft-export --model <MODEL_PATH> \
--output <OUTPUT_DIR> \
--classes <CLASS_LIST>
--model-name <MODEL>
```
All flags and options are described below.
### Required Arguments
| Flag | Shortcut | Description |
| ----------- | -------- | ------------------------------------------------------------- |
| `--model` | `-m` | Path to model file (`.pt`) or use `default` for pretrained |
| `--output` | `-o` | Directory where exported files will be saved |
| `--classes` | `-c` | Comma-separated list of class names (e.g., `person,car,bike`) |
### Optional Arguments
| Flag | Shortcut | Type | Default | Description |
| ------------------------ | -------- | ------- | -------------------------------- | ----------------------------------------------------------- |
| `--model-name` | `-n` | String | `rfdetr` | Model Name for the Frontend |
| `--description` | `-d` | String | `Object detection model` | Model description for metadata |
| `--company` | | String | `Generated` | Company name for metadata |
| `--anonymize-classes` | | String | None | Comma-separated class indices to anonymize (e.g., `0,1`) |
| `--georeference-classes` | | String | None | Comma-separated class indices to georeference (e.g., `2,3`) |
| `--imgsz` | | Integer | `560` | Input image size for export |
| `--thumbnail` | | String | None | Location of thumbnail for Frontend |
| `--no-zip` | | Flag | Disabled | Skip creating zip package |
| `--verbose` | `-v` | Flag | Disabled | Enable verbose logging |
### Examples
Basic export with class names:
```bash
isarsoft-export \
--model model.pt \
--output ./exported \
--classes person,car,bike
--model-name custom
```
Export with custom metadata and class options:
```bash
isarsoft-export \
--model model.pt \
--output ./exported \
--classes person,vehicle,animal \
--description "Multi-class detector" \
--company "MyCompany" \
--anonymize-classes 0 \
--georeference-classes 1,2 \
--model-name custom
```
Export with custom image size and thumbnail:
```bash
isarsoft-export \
--model model.pt \
--output ./exported \
--classes person \
--imgsz 728 \
--thumbnail ./thumbnail.svg \
--model-name custom
```
## Exit Codes
* `0` on successful export
* `1` on failure (errors are printed; use `--verbose` for traceback)
## Logging
Verbose mode (`--verbose`) outputs detailed logs to the console, including validation steps and stack traces on error.
Raw data
{
"_id": null,
"home_page": null,
"name": "isarsoft-model-utility",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "onnx, object-detection, export, machine-learning, perception",
"author": null,
"author_email": "Isarsoft <support@isarsoft.com>",
"download_url": "https://files.pythonhosted.org/packages/fd/b0/023aa5c47b0aff2dac1c9ec21d64fcd53223d91af22f1070490d0cbf4eb9/isarsoft_model_utility-0.1.0.tar.gz",
"platform": null,
"description": "# Isarsoft Model Utility\n\nA command-line utility for exporting object detection models to ONNX format for Isarsoft Perception, complete with metadata generation and optional packaging.\n\n## Features\n\n* Convert PyTorch `.pt` models from RFDETR to ONNX\n* Embed metadata: class labels, model description, company attribution\n* Options to anonymize or georeference specific classes\n* Support for custom input image sizes\n* Generate a thumbnail for frontend display (optional)\n* Package outputs into a ZIP archive (optional)\n* Verbose logging for debugging and audit trails\n\n## Requirements\n\n* Python 3.10 or later\n\n## Installation\n\n```bash\n\n# Create a conda environment (recommended)\nconda create -n isarsoft-export python=3.10 -y\nconda activate isarsoft-export\n\n# Install the package\npip install isarsoft-model-utility\n```\n\n## Usage\n\n```bash\nisarsoft-export --model <MODEL_PATH> \\\n --output <OUTPUT_DIR> \\\n --classes <CLASS_LIST> \n --model-name <MODEL>\n```\n\nAll flags and options are described below.\n\n### Required Arguments\n\n| Flag | Shortcut | Description |\n| ----------- | -------- | ------------------------------------------------------------- |\n| `--model` | `-m` | Path to model file (`.pt`) or use `default` for pretrained |\n| `--output` | `-o` | Directory where exported files will be saved |\n| `--classes` | `-c` | Comma-separated list of class names (e.g., `person,car,bike`) |\n\n\n### Optional Arguments\n\n| Flag | Shortcut | Type | Default | Description |\n| ------------------------ | -------- | ------- | -------------------------------- | ----------------------------------------------------------- |\n| `--model-name` | `-n` | String | `rfdetr` | Model Name for the Frontend |\n| `--description` | `-d` | String | `Object detection model` | Model description for metadata |\n| `--company` | | String | `Generated` | Company name for metadata |\n| `--anonymize-classes` | | String | None | Comma-separated class indices to anonymize (e.g., `0,1`) |\n| `--georeference-classes` | | String | None | Comma-separated class indices to georeference (e.g., `2,3`) |\n| `--imgsz` | | Integer | `560` | Input image size for export |\n| `--thumbnail` | | String | None | Location of thumbnail for Frontend |\n| `--no-zip` | | Flag | Disabled | Skip creating zip package |\n| `--verbose` | `-v` | Flag | Disabled | Enable verbose logging |\n\n### Examples\n\nBasic export with class names:\n\n```bash\nisarsoft-export \\\n --model model.pt \\\n --output ./exported \\\n --classes person,car,bike\n --model-name custom\n```\n\nExport with custom metadata and class options:\n\n```bash\nisarsoft-export \\\n --model model.pt \\\n --output ./exported \\\n --classes person,vehicle,animal \\\n --description \"Multi-class detector\" \\\n --company \"MyCompany\" \\\n --anonymize-classes 0 \\\n --georeference-classes 1,2 \\\n --model-name custom\n```\n\nExport with custom image size and thumbnail:\n\n```bash\nisarsoft-export \\\n --model model.pt \\\n --output ./exported \\\n --classes person \\\n --imgsz 728 \\\n --thumbnail ./thumbnail.svg \\\n --model-name custom\n```\n\n## Exit Codes\n\n* `0` on successful export\n* `1` on failure (errors are printed; use `--verbose` for traceback)\n\n## Logging\n\nVerbose mode (`--verbose`) outputs detailed logs to the console, including validation steps and stack traces on error.\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Isarsoft Model Export Toolkit - Export models for Perception",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://isarsoft.com",
"Issues": "https://gitlab.com/isarsoft/isarsoft-model-utility/issues",
"Repository": "https://gitlab.com/isarsoft/isarsoft-model-utility"
},
"split_keywords": [
"onnx",
" object-detection",
" export",
" machine-learning",
" perception"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "86e200d3517e52ddc60c2ea6966c9f2f9b17a116883e8d18ed82403cc46c2414",
"md5": "a00580f04b1719d4a6297d886136c171",
"sha256": "5b3679222738d3f71c372a33ea0edf473a0cd43de96dfa0f6e33f3dd6be0a72d"
},
"downloads": -1,
"filename": "isarsoft_model_utility-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a00580f04b1719d4a6297d886136c171",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1047528,
"upload_time": "2025-07-22T11:37:35",
"upload_time_iso_8601": "2025-07-22T11:37:35.672466Z",
"url": "https://files.pythonhosted.org/packages/86/e2/00d3517e52ddc60c2ea6966c9f2f9b17a116883e8d18ed82403cc46c2414/isarsoft_model_utility-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fdb0023aa5c47b0aff2dac1c9ec21d64fcd53223d91af22f1070490d0cbf4eb9",
"md5": "b81eae0d3d131aaa571d4de1af721744",
"sha256": "354dfa4e73bbe5626def5fd8ecf95827ea3213db49b6ef0e6184da5b7b2a2226"
},
"downloads": -1,
"filename": "isarsoft_model_utility-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b81eae0d3d131aaa571d4de1af721744",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1048475,
"upload_time": "2025-07-22T11:37:37",
"upload_time_iso_8601": "2025-07-22T11:37:37.305112Z",
"url": "https://files.pythonhosted.org/packages/fd/b0/023aa5c47b0aff2dac1c9ec21d64fcd53223d91af22f1070490d0cbf4eb9/isarsoft_model_utility-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-22 11:37:37",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "isarsoft",
"gitlab_project": "isarsoft-model-utility",
"lcname": "isarsoft-model-utility"
}