Skip to content

Commit

Permalink
Remove reliance on singleton when possible
Browse files Browse the repository at this point in the history
  • Loading branch information
Delaunay committed Jun 7, 2022
1 parent 6fd116d commit d548376
Show file tree
Hide file tree
Showing 8 changed files with 381 additions and 362 deletions.
15 changes: 8 additions & 7 deletions src/orion/client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,10 +209,10 @@ def build_experiment(
"max_idle_time is deprecated. Use experiment.workon(reservation_timeout) instead."
)

setup_storage(storage=storage, debug=debug)
builder = experiment_builder.ExperimentBuilder(storage, debug)

try:
experiment = experiment_builder.build(
experiment = builder.build(
name,
version=version,
space=space,
Expand All @@ -227,7 +227,7 @@ def build_experiment(
# Try again, but if it fails again, raise. Race conditions due to version increment should
# only occur once in a short window of time unless code version is changing at a crazy pace.
try:
experiment = experiment_builder.build(
experiment = builder.build(
name,
version=version,
space=space,
Expand Down Expand Up @@ -279,9 +279,10 @@ def get_experiment(name, version=None, mode="r", storage=None):
`orion.core.utils.exceptions.NoConfigurationError`
The experiment is not in the database provided by the user.
"""
setup_storage(storage)
assert mode in set("rw")
experiment = experiment_builder.load(name, version, mode)

builder = experiment_builder.ExperimentBuilder(storage)
experiment = builder.load(name, version, mode)
return ExperimentClient(experiment)


Expand Down Expand Up @@ -327,9 +328,9 @@ def workon(
singletons = update_singletons()

try:
setup_storage(storage={"type": "legacy", "database": {"type": "EphemeralDB"}})
builder = experiment_builder.ExperimentBuilder(storage={"type": "legacy", "database": {"type": "EphemeralDB"}})

experiment = experiment_builder.build(
experiment = builder.build(
name,
version=1,
space=space,
Expand Down
4 changes: 2 additions & 2 deletions src/orion/core/cli/db/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,10 @@ def release_locks(storage, root, name, force):
def main(args):
"""Remove the experiment(s) or trial(s)."""
config = experiment_builder.get_cmd_config(args)
experiment_builder.setup_storage(config.get("storage"))
builder = experiment_builder.ExperimentBuilder(config.get("storage"))

# Find root experiment
root = experiment_builder.load(
root = builder.load(
name=args["name"], version=args.get("version", None)
).node

Expand Down
4 changes: 2 additions & 2 deletions src/orion/core/cli/db/rm.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,10 +186,10 @@ def delete_trials(storage, root, name, status, force):
def main(args):
"""Remove the experiment(s) or trial(s)."""
config = experiment_builder.get_cmd_config(args)
experiment_builder.setup_storage(config.get("storage"))
builder = experiment_builder.ExperimentBuilder(config.get("storage"))

# Find root experiment
root = experiment_builder.load(
root = builder.load(
name=args["name"], version=args.get("version", None)
).node

Expand Down
4 changes: 2 additions & 2 deletions src/orion/core/cli/db/set.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,10 @@ def build_update(update):
def main(args):
"""Remove the experiment(s) or trial(s)."""
config = experiment_builder.get_cmd_config(args)
experiment_builder.setup_storage(config.get("storage"))
builder = experiment_builder.ExperimentBuilder(config.get("storage"))

# Find root experiment
root = experiment_builder.load(
root = builder.load(
name=args["name"], version=args.get("version", None)
).node

Expand Down
8 changes: 3 additions & 5 deletions src/orion/core/cli/db/upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,12 @@ def main(args):

storage_config["setup"] = False

experiment_builder.setup_storage(storage_config)
builder = experiment_builder.ExperimentBuilder(storage_config)

storage = get_storage()

upgrade_db_specifics(storage)
upgrade_db_specifics(builder.storage)

print("Updating documents...")
upgrade_documents(storage)
upgrade_documents(builder.storage)
print("Database upgrade completed successfully")


Expand Down
6 changes: 3 additions & 3 deletions src/orion/core/cli/list.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ def add_subparser(parser):
def main(args):
"""List all experiments inside database."""
config = experiment_builder.get_cmd_config(args)
experiment_builder.setup_storage(config.get("storage"))
builder = experiment_builder.ExperimentBuilder(config.get("storage"))

query = {}

if args["name"]:
query["name"] = args["name"]
query["version"] = args.get("version", None) or 1

experiments = get_storage().fetch_experiments(query)
experiments = builder.sotrage.fetch_experiments(query)

if args["name"]:
root_experiments = experiments
Expand All @@ -61,7 +61,7 @@ def main(args):
return

for root_experiment in root_experiments:
root = experiment_builder.load(
root = builder.load(
name=root_experiment["name"], version=root_experiment.get("version")
).node
print_tree(root, nameattr="tree_name")
Loading

0 comments on commit d548376

Please sign in to comment.