Algorithm OS: An extensible operating system for algorithmic development
Project description
AlgOS: Algorithm Operating System
Algorithm Operating System (AlgOS) is an unopinionated, extensible, modular framework for algorithmic implementations. AlgOS offers numerous features: integration with Optuna for automated hyperparameter tuning; automated argument parsing for generic command-line interfaces; automated registration of new classes; and a centralised database for logging experiments and studies. These features are designed to reduce the overhead of implementing new algorithms and to standardise the comparison of algorithms. The standardisation of algorithmic implementations is crucial for reproducibility and reliability in research. AlgOS combines Abstract Syntax Trees with a novel implementation of the Observer pattern to control the logical flow of algorithmic segments.
Installation
Install via pip:
pip install algos_core
Install from cloned repository:
pip install -e .
Use in python via
import algos
Modules
AlgOS is designed to be extensible for any algorithm that can be constructed as a cyclic or acyclic graph.
Currently the available modules are:
- Reinforcement Learning: AlgOSRL
The intention is to expand this in the future. If you use this library and would like to include a module please let us know.
Examples
The tests contain some examples of how to construct basic algorithms using AlgOS. AlgOSRL contains concrete examples of how to construct reinforcement learning algorithms using AlgOS.
Documentation
TBA
Citing the Project
To cite this repository in publications:
@misc{algos,
title={AlgOS: Algorithm Operating System},
author={Llewyn Salt and Marcus Gallagher},
year={2025},
eprint={2504.04909},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2504.04909},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file algos-0.1.0.tar.gz.
File metadata
- Download URL: algos-0.1.0.tar.gz
- Upload date:
- Size: 65.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9beec74ddcf410e7ff2bae17ed6b2821f64c3d41f1205155c1dfd780118fccb3
|
|
| MD5 |
1a10fe108d05b9011bf3f161e52a8e5f
|
|
| BLAKE2b-256 |
a86b35f09fd933017d755fc691b5f9b77ad6f5eff49597aa3d09027a289ac72c
|
File details
Details for the file algos-0.1.0-py3-none-any.whl.
File metadata
- Download URL: algos-0.1.0-py3-none-any.whl
- Upload date:
- Size: 76.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f348f32ed02eec5439c1e28e49d2b6aa9fdce8573dcc357e0b92059264e22f9
|
|
| MD5 |
c6c9094dfb1c14c3f89c3b71de8e503b
|
|
| BLAKE2b-256 |
7dd92c9c97424bbf769e79aafa11364bb14b72d033c6b3081009ebeedb135b48
|