Metadata-Version: 2.1
Name: autonomi-nos
Version: 0.0.1
Summary: Nitrous oxide system (NOS) for computer-vision.
License: MIT License
        
        Copyright (c) 2023 Autonomi AI
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        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. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS 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.
        
Project-URL: Documentation, https://autonomi-ai.github.io/nos/
Project-URL: Source Code, https://github.com/autonomi-ai/nos
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: av
Requires-Dist: cloudpickle
Requires-Dist: docker
Requires-Dist: grpcio-tools
Requires-Dist: loguru
Requires-Dist: opencv-python-headless
Requires-Dist: pandas
Requires-Dist: psutil
Requires-Dist: rich
Requires-Dist: typer
Requires-Dist: accelerate
Requires-Dist: diffusers
Requires-Dist: huggingface-hub
Requires-Dist: pyarrow
Requires-Dist: ray[serve]
Requires-Dist: torch
Requires-Dist: torchaudio
Requires-Dist: torchvision
Requires-Dist: transformers
Provides-Extra: dev
Requires-Dist: black[jupyter] (==22.3.0) ; extra == 'dev'
Requires-Dist: build (==0.10.0) ; extra == 'dev'
Requires-Dist: pre-commit (==3.2.2) ; extra == 'dev'
Requires-Dist: ruff (==0.0.262) ; extra == 'dev'
Requires-Dist: twine (==3.7.1) ; extra == 'dev'
Requires-Dist: chardet (==4.0.0) ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs (==1.4.2) ; extra == 'docs'
Requires-Dist: mkdocs-material (==9.0.14) ; extra == 'docs'
Requires-Dist: mkdocstrings (==0.20.0) ; extra == 'docs'
Requires-Dist: mkdocstrings-python (==0.8.3) ; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest (==7.1.2) ; extra == 'test'
Requires-Dist: pytest-xdist (==2.5.0) ; extra == 'test'
Requires-Dist: pytest-asyncio (==0.21.0) ; extra == 'test'
Requires-Dist: typeguard (==2.13.3) ; extra == 'test'

# nos 🔥: Nitrous Oxide System (NOS) for Computer Vision

<p align="center">
    <a href="https://pypi.org/project/autonomi-nos/">
        <img alt="PyPi Version" src="https://badge.fury.io/py/autonomi-nos.svg">
    </a>
    <a href="https://pypi.org/project/autonomi-nos/">
        <img alt="PyPi Version" src="https://img.shields.io/pypi/pyversions/autonomi-nos">
    </a>
    <a href="https://pypi.org/project/autonomi-nos/">
        <img alt="PyPi Downloads" src="https://img.shields.io/pypi/dm/autonomi-nos">
    </a>
    <a href="https://discord.gg/QAGgvTuvgg">
        <img alt="Discord" src="https://img.shields.io/badge/discord-chat-purple?color=%235765F2&label=discord&logo=discord">
    </a>
</p>

**NOS** is a PyTorch library for optimizing and running lightning-fast inference of popular computer vision models. NOS inherits its name from "Nitrous Oxide System", the performance-enhancing system typically used in racing cars. NOS is designed to be modular and easy to extend.

## Why NOS?
- ⚡️ **Fast**: NOS is built on top of PyTorch and is designed to run models faster.
- 🔥 **Out-of-the-box Performance**: Run stable diffusion or object detection in under 5 lines, 2-3x faster than vanilla PyTorch.
- 👩‍💻 **Reduce barrier-to-entry**: NOS is designed to be easy to use. No ML optimizations or compilers knowledge necessary.
- 📦 **Modular**: NOS is designed to be modular and easy to extend. Optimize Pytorch models in a few lines of code.
- ⚙️ **HW-accelerated:** NOS is designed to leverage hardware-acceleration down to the metal (GPUs, TPUs, ASICs etc).
- ☁️ **Cloud-agnostic:** NOS is designed to run on any cloud (AWS, GCP, Azure, Lambda Labs, on-prem, etc.).

## Batteries Included
 - 💪 **SOTA Model Support:** NOS comes with support for popular CV models such as Stable Diffusion, ViT, CLIP, and more.
 - 🐳 **Docker:** NOS comes with optimized docker images for accelerated CV workloads (runtime libs, drivers, optimized models).
 - 🔌 **Interfaces:** NOS comes with a REST/gRPC API out-of-the-box to help you use your models.
 - 📈 **Benchmarks**: NOS comes with a suite of benchmarks to help you compare performance of your models.

## Hardware Support
We currently plan to support the following hardware:
 - [ ] GPU (NVIDIA GPUs, AMD GPUs)
   - [ ] AWS (g4/g5dn/p3/p4dn)
   - [ ] GCP (g2/a1/n1)
 - [ ] AWS Inferentia inf1/inf2
 - [ ] Intel Habana Gaudi
 - [ ] Google TPUv3


## Lint
```bash
make lint  # Runs all the linters using ruff/pre-commit
```

## Test
```bash
make test  # Runs all the basic tests using pytest
```

## Benchmark
```bash
make test-benchmarks  # Runs all the benchmarks setting NOS_TEST_BENCHMARK=1
```

## Contribute
We welcome contributions! Please see our [contributing guide](CONTRIBUTING.md) for more information.
