Metadata-Version: 2.1
Name: arflow
Version: 0.2.0
Summary: 
Home-page: https://cake.wpi.edu/ARFlow/
License: GPL-3.0
Author: Yiqin Zhao
Author-email: yiqinzhao@outlook.com
Requires-Python: >=3.8,<3.13
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: grpcio (>=1.60.0,<2.0.0)
Requires-Dist: grpcio-tools (>=1.60.0,<2.0.0)
Requires-Dist: rerun-sdk (>=0.12.1,<0.13.0)
Project-URL: Repository, https://github.com/cake-lab/ARFlow
Description-Content-Type: text/markdown

# ARFlow

[ARFlow: A Framework for Simplifying AR Experimentation Workflow](https://doi.org/10.1145/3638550.3643617)

[Paper](https://doi.org/10.1145/3638550.3643617) | [BibTeX](#bibtex) | [Project Page](https://cake.wpi.edu/ARFlow/) | [Video](https://youtu.be/mml8YrCgfTk)

Watch our demo video:

[![Demo video](https://img.youtube.com/vi/mml8YrCgfTk/maxresdefault.jpg)](https://youtu.be/mml8YrCgfTk)

# Get Started With the ARFlow Server

ARFlow server can be simply installed via `pip`:

```bash
pip install arflow
```

Next, you may integrate ARFlow with your own research prototype via the Python API:

```python
"""A simple example of extending the ARFlow server."""
import arflow


class CustomService(arflow.ARFlowService):
    def on_frame_received(self, frame: arflow.DataFrameRequest):
        """Called when a frame is received."""
        print("Frame received!")


def main():
    arflow.create_server(CustomService, port=8500, path_to_save="./")


if __name__ == "__main__":
    main()
```

