diff --git a/experiments/README.md b/experiments/README.md new file mode 100644 index 00000000..e6dca486 --- /dev/null +++ b/experiments/README.md @@ -0,0 +1,10 @@ +# BrowserGym experiments + +This package provides `browsergym.experiments`, a suite of experimentation tools for [BrowserGym](https://github.com/ServiceNow/BrowserGym). + +## Setup + +1. Install the package +```sh +pip install browsergym-experiments +``` diff --git a/experiments/pyproject.toml b/experiments/pyproject.toml new file mode 100644 index 00000000..d4690419 --- /dev/null +++ b/experiments/pyproject.toml @@ -0,0 +1,37 @@ +[build-system] +requires = ["hatchling", "hatch-requirements-txt"] +build-backend = "hatchling.build" + +[project] +name = "browsergym-experiments" +description = "Experimentation tools for BrowserGym" +authors = [ + {name = "Alex Lacoste"}, + {name = "Massimo Caccia"}, + {name = "Maxime Gasse"}, + {name = "Thibault Le Sellier De Chezelles"}, +] +readme = "README.md" +requires-python = ">3.7" +license = {text = "Apache-2.0"} +classifiers = [ + "Development Status :: 2 - Pre-Alpha", + "Programming Language :: Python :: 3", + "Operating System :: OS Independent", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "License :: OSI Approved :: Apache Software License", +] +dynamic = ["dependencies", "version"] + +[project.urls] +homepage = "https://github.com/ServiceNow/BrowserGym" + +[tool.hatch.version] +path = "../core/src/browsergym/core/__init__.py" + +[tool.hatch.metadata.hooks.requirements_txt] +files = ["requirements.txt"] + +[tool.hatch.build.targets.wheel] +packages = ["src/browsergym"] diff --git a/experiments/requirements.txt b/experiments/requirements.txt new file mode 100644 index 00000000..ad10ce1d --- /dev/null +++ b/experiments/requirements.txt @@ -0,0 +1 @@ +browsergym-core==0.2.2 diff --git a/experiments/src/browsergym/experiments/agent.py b/experiments/src/browsergym/experiments/agent.py new file mode 100644 index 00000000..857d54af --- /dev/null +++ b/experiments/src/browsergym/experiments/agent.py @@ -0,0 +1,5 @@ +from abc import ABC + + +class Agent(ABC): + pass diff --git a/experiments/src/browsergym/experiments/loop.py b/experiments/src/browsergym/experiments/loop.py new file mode 100644 index 00000000..be2ca62e --- /dev/null +++ b/experiments/src/browsergym/experiments/loop.py @@ -0,0 +1,22 @@ +import dataclasses + + +@dataclasses.dataclass +class EnvArgs: + + def make_env(self): + pass + + +@dataclasses.dataclass +class AgentArgs: + + def make_env(self): + pass + + +@dataclasses.dataclass +class ExpArgs: + + def run(self): + pass diff --git a/experiments/src/browsergym/experiments/utils.py b/experiments/src/browsergym/experiments/utils.py new file mode 100644 index 00000000..e69de29b