Metadata-Version: 2.1
Name: pms-inference-engine
Version: 1.1.0
Summary: Inference Engine for pms
Author: HyeongSeok Kim
Author-email: tiryul@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: loguru (>=0.7.2,<0.8.0)
Requires-Dist: numpy (>=1.26.4,<2.0.0)
Requires-Dist: ray[serve] (==2.24)
Requires-Dist: uvloop (>=0.19.0,<0.20.0)
Description-Content-Type: text/markdown

# pms-inference-engine

pms에서 사용하기 위한 inference engine입니다.

## Install

```bash
pip install pms-inference-engine
```

## Use

```python
import pms_inference_engine as E

# processor type in engine
processor_type = "SleepAndPassProcessor"

# number of processor in engine
nprocessors = 4

# params for construct processor
processor_kwargs = {
    "concurrency": 2,
    "sleep_time": 0.1,
} 

# create engine
engine = E.Engine(
    processor_type=processor_type,
    number_of_processors=nprocessors,
    processor_kwargs=processor_kwargs,
)

# create queue for engine
dequeue = Queue()
enqueue = Queue()

# input data
for i in range(nframe):
    dequeue.put(E.EngineIOData(i, np.zeros((10, 10))))

# add exit flag
# - if you don't add the exit flag, the engine will run forever
dequeue.put(None)

# run engine
engine.run(dequeue=dequeue, enqueue=enqueue)
```

