diff --git a/.gitignore b/.gitignore index 4c915d1..41ce8da 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ wheels/ *.egg-info/ .installed.cfg *.egg +uv.lock # PyInstaller # Usually these files are written by a python script from a template @@ -104,3 +105,8 @@ ENV/ # IDE settings .vscode/ .idea/ + +# result files +tmp/ +examples/tmp/ + diff --git a/README.md b/README.md index e4a7d1f..4a8ece3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,20 @@ Hydra sweeper integration of our favorite optimization packages, utilizing ask-a - Documentation: https://automl.github.io/hypersweeper ## Installation -We recommend installing hypersweeper in a fresh conda environment: +We recommend installing hypersweeper via a uv virtual environment: + +```bash +pip install uv +uv init +uv sync +``` + +For extra dependencies, add them to the sync command like this: +```bash +uv sync --extra dev --extra carps +``` + +Alternatively you can also install in a fresh conda environment: ```bash conda create -n hypersweeper python=3.10 @@ -32,13 +45,14 @@ python examples/branin.py -m ``` You should see the launched configurations in the terminal. The results are located in 'tmp', including a record of each run, the final config and a full runhistory. +For more information, see our example ReadMe. ## Current Sweeper Integrations - Random Search - SMAC - HEBO - PBT -- CARP-S +- CARP-S (whcih contains many different optimizers in itself) ## Cite Us diff --git a/pyproject.toml b/pyproject.toml index 6bba74f..6441212 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,17 +8,18 @@ dependencies = [ "pytest>=7.0", "coverage", "ruff", - "hydra-core", + "hydra-core~=1.3.2", "hydra-submitit-launcher", "hydra_colorlog", "mypy", "tox==3.14.0", - "twine", + "twine~=5.1.1", "bump-my-version", - "configspace", - "numpy", + "configspace~=1.2.0", + "numpy~=1.24.4", "wandb==0.16.6", - "smac>=2.1" + "smac>=2.1", + "pandas~=2.1.0" ] requires-python = ">=3.10" @@ -55,6 +56,10 @@ pbt = ["GPy"] carps = ["carps[dehb,hebo,nevergrad,optuna,skopt,smac,synetune]"] all = ["HyperSweeper[hebo,nevergrad,dehb,pbt,carps]"] +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + # https://docs.pytest.org/en/7.2.x/reference/reference.html#ini-options-ref [tool.pytest.ini_options] testpaths = ["tests"]