Metadata-Version: 2.4
Name: auspex-vision
Version: 0.2.2
Summary: Multi-task vision model: boxes, polygons, keypoints, polylines, and image tags in one network
Author: Md. Sohanur Islam Shuvo
License: AUSPEX END-USER LICENSE AGREEMENT (EULA)
        
        Copyright (c) 2026 Md. Sohanur Islam Shuvo (github.com/sohanurislamshuvo)
        ("Licensor"). All rights reserved.
        
        This End-User License Agreement governs use of the Auspex software, including
        its binary distributions, source code, model architecture, configuration
        files, documentation, and tools (the "Software"). By installing or using the
        Software you agree to these terms.
        
        1. LICENSE GRANT. Subject to this Agreement, Licensor grants you ("Licensee")
           a limited, non-exclusive, non-transferable, revocable license to:
           a) install and run the Software, in the binary form provided to you, on
              systems under your control;
           b) train, fine-tune, validate, and run models with the Software using
              Licensee's own data; and
           c) use the resulting model weights and predictions for Licensee's own
              internal business purposes.
        
        2. OWNERSHIP. The Software, its architecture, and all intellectual property
           therein remain the exclusive property of Licensor. Model weights that
           Licensee trains with the Software on Licensee's own data belong to
           Licensee; this does not transfer any rights in the Software itself.
        
        3. RESTRICTIONS. Except with Licensor's prior written permission, Licensee
           shall NOT:
           a) copy (other than as required to install and run), redistribute, sell,
              rent, lease, sublicense, or otherwise make the Software available to
              any third party;
           b) modify, adapt, translate, or create derivative works of the Software;
           c) decompile, disassemble, reverse engineer, or otherwise attempt to
              derive the source code, architecture details, or algorithms of the
              Software, except to the extent such restriction is prohibited by
              applicable law;
           d) use the Software or knowledge gained from it to develop a competing
              product or service; or
           e) remove or alter any copyright or proprietary notices.
        
        4. TERMINATION. This license terminates automatically if Licensee breaches
           this Agreement. Upon termination, Licensee must cease use and destroy all
           copies of the Software; Sections 2, 5, and 6 survive termination, and
           Licensee's rights under Section 1(c) to weights already trained on
           Licensee's own data survive any termination not caused by breach.
        
        5. NO WARRANTY. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
           KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
           MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
        
        6. LIMITATION OF LIABILITY. IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY
           CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
           OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
           THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        
        For licensing inquiries, contact the copyright holder.
        
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=2.3
Requires-Dist: torchvision>=0.18
Requires-Dist: numpy>=1.26
Requires-Dist: opencv-python>=4.9
Requires-Dist: PyYAML>=6.0
Dynamic: license-file

# Auspex

One model for every annotation type used in computer-vision labeling work:
**bounding boxes, instance polygons, keypoints, polylines, and image-level
tags** — trained on your own data with a few lines of code.

Supported annotation formats: **COCO JSON, CVAT-for-images 1.1 XML, Pascal VOC
XML** — mixed freely in one training run.

## Install

```bash
pip install auspex-vision        # import name: auspex
```

Wheels for Linux x86_64, Windows, and macOS Apple Silicon, Python 3.10–3.13.
An NVIDIA GPU is recommended for training (precision is picked automatically
for your hardware); CPU works for inference.

## Use

```python
from auspex import Auspex

model = Auspex(labelspace="labelspace.yaml")
model.train(data="data.yaml", epochs=150)          # train on your own data
results = model.predict("images/", save=True)      # detect

model = Auspex(weights="best.pt")                  # checkpoints are self-contained
model.val(data="data.yaml")
```

Or the console command: `auspex train --data data.yaml --labelspace
labelspace.yaml`, `auspex predict --weights best.pt --source images/`,
`auspex val --weights best.pt --data data.yaml`.

## Data configuration

`labelspace.yaml` — your categories (order = class id), keypoint names +
`flip_pairs` for skeleton classes, `is_polyline: true` for polyline classes,
and image-level `tags`.

`data.yaml` — one entry per annotation source:

```yaml
sources:
  - name: batch1
    path: annotations/batch1.xml   # CVAT 1.1 XML | COCO .json | VOC xml dir
    images_root: images/
    split: train
    provides: {rect: true, polygon: true, keypoint: false, polyline: false, tag: false}
```

`provides` declares which tasks a source actually labels — unlabeled tasks
contribute nothing to training, so sources with different annotation coverage
mix safely.

Growing a model over time: `--transfer <checkpoint>` continues from existing
weights even when classes were added or reordered; `--source-balance`
rebalances very unequal sources; `--cache-records` keeps memory flat on large
datasets.

## License

Proprietary software under an End-User License Agreement: licensed users may
install and run Auspex and train models on their own data (the resulting
weights are theirs); copying, redistribution, modification, and reverse
engineering are prohibited. Contact the author for licensing inquiries.
