-
Notifications
You must be signed in to change notification settings - Fork 1
Description
This is the main TODO list, and refers to the steps in the 03_SimpleTutorial notebook. Details and discussion on the items in the list are in subsequent comments.
General
-
Review minor documentation edits here.
-
Omit all
printcommands that are currently used for "debugging" purposes (e.g., in Steps 1,2,3, etc.) and replace them with a validation/test within an existing function (e.g., havedaptics.connect()check ifdaptics.gql.__dict__contains thegqlattribute and throw an error if it doesn't). -
Hide (e.g., within existing functions) all variables that the user should not change.
-
Merge steps {5,6}, {9,10}, and {13,10} <--> E.g., hide the
daptics.poll_for_current_task()call in a while loop withindaptics.save_experimental_and_space_parameters_csv()/daptics.save_experimental_and_space_parameters_csv()/daptics.save_experiment_responses_csv()and break the loop whenstatus == success. -
Document how to execute a code block ("getting started")
-
Document how to re-start from scratch ("getting started")
-
Document how to implement the [generate design - upload responses] loop (for users who would benefit from full automation, e.g., users that perform simulated experiments)
-
Document that there is a way to go from design to design + responses = experiments for then next design without using CSV files, using in-memory Python structures only.
-
Document how to retrieve the design/responses of generation n.
-
Keep track of the last completed task/step, so that the function(s) called at step X can return an error message like "You can run this step only after running Step Y" if the user tries to run step X at the wrong time.
-
Document how to recover from a failed step
-
[postpone] Add input/file validation (e.g., return informative errors if file format is wrong).
-
[not natural] Change step index from "Step 1", "Step 2", ... to "Step A", "Step B", ... (to avoid confusion between step index and the index within brackets in
In [ ]on the left side of each code cell).
Step 3
-
If you create a session with the same name of a previously API-generated session you get an error (OK), but the error message is not understandable.
-
Will the user ever want to set
is_Demo=True? If so, explain when/why in the documentation. If not, hide theis_Demo=Falsestatement (e.g., withindaptics.create_session()) -
This piece of documentation may be a bit unclear: "To avoid parsing bugs, add blank padding columns for rows that have fewer parameter values, so that the CSV file has the same number of columns on each row." Maybe add an example?
-
Documentation: A bit unclear what is meant by "home page" of the "Jupyter server".
-
Documentation:
factorial_space.csvis inconsistent withfname = 'esd-mixture-5.csv'.
Step 7
- I don't quite understand this step: why are we exporting to/reimporting from an extra
validated_space.csvfile? Can't we simply print the space file that was specified in Step 5 (or skip Step 7 altogether)?
Step 8
-
Documentation: clarify that we present three different options/ways of running step 8, and that the user should choose one of them.
-
BUG: The first of the three Step-8 options generates an error (
NameError: name 'colHeaders' is not defined) -
Documentation (alternate step): The parameter names in the file are
V11,V12,V13, notparam1,param2,param3,param4. Maybe change names in the file toparam1,param2,param3and removeparam4in the documentation?
Step 9
- Documentation: "Submit the initial experiments file downloaded" --> "Submit the initial experiments file created" ?
Step 11
-
genandfnameshould be calculated automatically, and not be left for the user to define (see 'Hide ...' in General); remove the 'We always need to specify the design generation number to retrieve a design" bit in the documentation. -
Why not saving the N-th design directly to
genN_experiments.csv, rather than saving it togenN_design.csvand having the user manually duplicate and rename that file in the next step?
Step 12
-
Documentation: clarify that we present two different ways of running step 12, and that the user should choose one of them.
-
Documentation: explain what the user should to if he does have extra experiments (and explain what extra experiments are)
Step 13
- Often freezes with errors like:
status = running -- 37 seconds.
Error: HTTPConnectionPool(host='inertia.protolife.com', port=8080): Read timed out. (read timeout=None)