Metadata-Version: 2.1
Name: osin
Version: 1.8.5
Summary: Research and Experiments
License: MIT
Author: Binh Vu
Author-email: binh@toan2.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: Flask (>=2.2.2,<3.0.0)
Requires-Dist: certifi (>=2022.9.24,<2023.0.0)
Requires-Dist: gena (>=1.6.2,<2.0.0)
Requires-Dist: h5py (>=3.7.0,<4.0.0)
Requires-Dist: loguru (>=0.6.0,<0.7.0)
Requires-Dist: orjson (>=3.8.0,<4.0.0)
Requires-Dist: peewee (>=3.15.2,<4.0.0)
Requires-Dist: psutil (>=5.9.2,<6.0.0)
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
Requires-Dist: python-slugify (>=6.1.2,<7.0.0)
Requires-Dist: ream2 (>=1.5.4,<2.0.0)
Requires-Dist: t2-yada (>=1.0.4,<2.0.0)
Requires-Dist: tornado (>=6.2,<7.0)
Description-Content-Type: text/markdown

# osin &middot; [![PyPI](https://img.shields.io/pypi/v/osin)](https://pypi.org/project/osin)

There are existing systems (e.g., neptune.ai, sacred) helping you organize, log data of your experiments. However, typically, the tasks of running the experiments are your responsible to bear. If you update your code and need to re-run your experiments, you may want to delete previous runs, which would be painful to have to do manually many times.

We rethink the experimenting process. Why don't we start with specifying the designed report (e.g., charts) and how to run/query to get the numbers to fill the report? This would free ones from manually starting/running the experiments and managing the experiment data. `osin` is a tool that helps you to achieve that goal.

Note: this tool is expected to use locally or inside VPN network as it doesn't provide any protection against attackers.

## Quick start

Start the application:

```bash
DBFILE=%PATH_TO_DBFILE% python -m osin.main
```

Or start the services manually:

```bash
export DBFILE=%PATH_TO_DBFILE%
python -m osin.worker # start worker to run jobs
python -m osin.server # start the server so clients can send job result
streamlit run osin/ui/dashboard.py # start a dashboard to view/create reports
```

You will start by designing the output that your experiments will produce. For example:

```yaml

```

