This is the repository regarding the Agentic DBA system, defined in "Agentic Artificial Intelligence applied to Dynamic Bus Allocation", by Katie Page, 2026 (submitted in part for BSc Computer Science at the University of Lincoln). The dissertation is held internally by the university; however, it may be accessed on request by contacting me directly. The publicly available research paper for ADBAS is forthcoming.
The bustimes_importer system uses the BusTimes API, which retrieves data from the Bus Open Data Service (BODS), under the Open Government License (OGL)
If you use ADBAS in your research, please cite:
@software{page2026adbas,
author = {Katie Page},
title = {Agentic Dynamic Bus Allocator (ADBAS)},
year = {2026},
doi = {10.5281/zenodo.20601140},
url = {https://github.com/peddyjet/Agentic-Dynamic-Bus-Allocator}
}To run the program, the following dependencies must be met:
- camel-ai
- python-dotenv
- numpy
- PyQt6
- requests
- haversine
- pydantic
- qtawesomeThe full list can be found in requirements.txt, assuming a Microsoft Windows operating system.
It is highly recommended that you run the project inside a python virtual environment (venv) to maintain consistency between dependency locations.
By default, the system uses GPT-5-mini (by OpenAI) for its reasoning agent. Consequently, a OPENAI_API_KEY must be stored inside a .env file in the base directory of the project. Do not include the .env file in any fork of the project, as this will compromise your key.
echo OPENAI_API_KEY=your_api_key > .env
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.pyAll other runs, you may run
source .venv/bin/activate # On Windows: .venv\Scripts\activate
python main.py