- Updated URL to new server (v0.14) at https://api.daptics.ai, with new task API for "create", "update" and "analytics" tasks.
- GraphQL schema breaking changes:
❌ Type
Loadavg
was removed ❌ TypeSessionAuth
was removed ❌ TypeFinalizeTaskResult
was removed ❌ TypeServer
was removed ❌ Input FieldpasswordConfirmation
removed from input typeNewUserInput
❌ FieldregDate
was removed from object typeUser
❌ FieldfinalizeCampaign
was removed from object typeRootMutationType
❌ FieldsaveSessionParameters
was removed from object typeRootMutationType
❌ FieldverifyUser
was removed from object typeRootMutationType
❌ FieldsaveExperiments
was removed from object typeRootMutationType
❌RootMutationType.createAnalytics
type changed fromAnalytics
toTask
❌ FielduserLevel
was removed from object typeUserSummary
❌ FieldregDate
was removed from object typeUserSummary
❌ FieldregDate
was removed from object typeUserCreated
❌ FieldstartedAt
was removed from object typeSession
❌ Fieldpath
was removed from object typeSession
❌ FieldrestartedAt
was removed from object typeSession
❌Session.auth
type changed fromSessionAuth
toAuthenticationToken
❌ Fieldpath
was removed from object typeSessionSummary
❌ Fieldcampaign
was removed from object typeSessionSummary
❌ Fieldparams
was removed from object typeSessionSummary
❌ Fielduser
was removed from object typeSessionSummary
❌ Fieldserver
was removed from object typeRootQueryType
❌ Fieldservers
was removed from object typeRootQueryType
❌ Removed argumentincludeArchivedTasks
fromRootQueryType.tasks
❌ FieldregDate
was removed from object typeUserProfile
❌ Input Fieldtype: String!
was added to input typeExperimentsInput
❌ Input FieldpasswordConfirmation
removed from input typeChangePasswordInput
❌ Union memberFinalizeTaskResult
was removed fromTaskResult
Union type ❌ Schema subscription root has changed fromNone
toRootSubscriptionType
- Dangerous changes:
⚠️ Union memberAnalyticsTaskResult
was added toTaskResult
Union type⚠️ Union memberUpdateTaskResult
was added toTaskResult
Union type⚠️ Union memberCreateTaskResult
was added toTaskResult
Union type - Non-breaking changes:
✔️ Type
SchemaChange
was added ✔️ TypeSchemaVersionInfo
was added ✔️ TypeRootSubscriptionType
was added ✔️ TypeSessionUpdated
was added ✔️ TypeAnalyticsTaskResult
was added ✔️ TypeUpdateSessionInput
was added ✔️ TypeCreateTaskResult
was added ✔️ TypeUpdateTaskResult
was added ✔️ FieldconfirmedAt
was added to object typeUser
✔️ FieldlastActiveSession
was added to object typeUser
✔️ FieldtermsVersionAgreed
was added to object typeUser
✔️ FielddisabledAt
was added to object typeUser
✔️ FieldregisteredAt
was added to object typeUser
✔️ Fieldpath
was added to object typeCategorizedError
✔️ Fieldgen
was added to object typeTaskSummary
✔️ Fieldarchived
was added to object typeTaskSummary
✔️ FieldputExperimentalParameters
was added to object typeRootMutationType
✔️ FieldconfirmUser
was added to object typeRootMutationType
✔️ FieldagreeToTerms
was added to object typeRootMutationType
✔️ FieldgenerateDesign
was added to object typeRootMutationType
✔️ FieldputExperiments
was added to object typeRootMutationType
✔️ FieldupdateSession
was added to object typeRootMutationType
✔️ FieldlastActiveSession
was added to object typeUserSummary
✔️ FieldregisteredAt
was added to object typeUserSummary
✔️ FieldtermsVersionAgreed
was added to object typeUserSummary
✔️ FieldregisteredAt
was added to object typeUserCreated
✔️ FieldlastStartedAt
was added to object typeSession
✔️ FielddesignedExperimentsCount
was added to object typeSession
✔️ FieldextraExperimentsCount
was added to object typeSession
✔️ FieldtotalCost
was added to object typeSession
✔️ FieldparameterCount
was added to object typeSessionSummary
✔️ FieldtotalCost
was added to object typeSessionSummary
✔️ FielduserId
was added to object typeSessionSummary
✔️ FieldlastStartedAt
was added to object typeSessionSummary
✔️ FieldspaceType
was added to object typeSessionSummary
✔️ Fieldgen
was added to object typeSessionSummary
✔️ FielddesignedExperimentsCount
was added to object typeSessionSummary
✔️ FieldextraExperimentsCount
was added to object typeSessionSummary
✔️ FielddesignCost
was added to object typeSessionSummary
✔️ Fieldgen
was added to object typeTask
✔️ FieldclientCompatibility
was added to object typeRootQueryType
✔️ Argumentactive: Boolean
added toRootQueryType.sessions
✔️ Argumentdemo: Boolean
added toRootQueryType.sessions
✔️ ArgumentincludeArchived: Boolean
added toRootQueryType.tasks
✔️ FieldtermsVersionAgreed
was added to object typeUserProfile
✔️ FieldupdatedAt
was added to object typeUserProfile
✔️ Fieldstatus
was added to object typeUserProfile
✔️ FieldregisteredAt
was added to object typeUserProfile
- Bug fix for _auto_task method.
- https://api-alpha.daptics.ai is now the API server URL
Changes in daptics_client.py
:
- Better return value from get_all_analytics_files
Better documentation using mkdocs and pdoc3.
Changes in daptics_client.py
:
- export_experimental_space_csv no longer has a timeout argument
Changes in daptics_client.py
:
- Fixed export_csv bugs for auto exports
- No other code changes
Changes in notebooks:
- Added 06_AutomationWorkflow.ipynb
Changes in daptics_client.py
:
- Fixed pydocmd-markdown errors
- No code changes
Changes in notebooks:
- Fixed incorrect localhost URL in 03_SimpleTutorial.ipynb
Changes in daptics_client.py
:
- New error classes added
- New
DapticsTaskType
andDapticsExperimentsType
enumerations added
Changes to DapticsClient class attributes:
- New
auto_export_path
option added that automatically saves generated CSV files - New
auto_generate_next_design
option added to allow manual control of when designs are generated - New
auto_task_timeout
option added to allow manual control of polling of active tasks - New
credentials
andsession_path
attributes added - New
task_info
attribute replaces removedcurrent_task
attribute
Changes to DapticsClient methods:
- Constructor - A new
config
argument was added toDapticsClient
constructor, to allow for easier configuration from a JSON file. Ifconfig
is not provided, configuration parameters may also be read from environment variables. See the documentation indaptics_client.py
for more information. login
method - If no email or password arguments are supplied, use the values from thecredentials
attribute.get_experiments
method - adesign_only
argument was added, so that users can request just the designed experiments for a particular generation, without previously submitted responses or extra experiments- New
get_experimental_space
andget_generated_design
convenience methods added - New
generate_design
method was added to give users manual control of the design generation process, either when the user has no initial experiments, or when theauto_generate_next_design
option is disabled. - New
put_experimental_parameters
andput_experimental_parameters_csv
methods replace the removedsave_experimental_and_space_parameters...
methods, and the key for the GraphQL data result was renamed toputExperimentalParameters
. The newauto_task_timeout
option can be used to block until a result has been received. - New
put_experiments
andput_experiments_csv
methods replace the removedsave_initial_experiments...
andsave_experiment_responses...
methods, and the key for the GraphQL data result was renamed toputExperiments
. The newauto_generate_next_design
option can be used to start a "generate" task after the experiments have been saved, and the newauto_task_timeout
option can then be used to wait until the next generation design result has been received. - New
get_analytics_file_list
method replaces removedget_analytics
method - New
get_analytics_file
andget_all_analytics_files
methods replace the removedsave_analytics_file
andsave_all_analytics_files
methods.
Notebook changes:
API changes in daptics_client.py
:
restore_session
method now correctly setsdesign
attributesave_analytics_file
andsave_all_analytics_files
use required authorization token in get query string, per changes in server functionality- other minor bug fixes
Notebook changes:
None.
API changes in daptics_client.py
:
- added
halt_session
method to fully disconnect from connected session.
Notebook changes:
None.
API changes in daptics_client.py
:
- added
remaining
andcompleted
attributes that can be read to determine whether to proceed with design generations. - added
experiments_history
attribute - added
finalize_campaign
method to be used after all generations are finished (e.g. whenremaining
equals zero). A "finalize" task is created by this method, and it can be polled for a result, just like the "space" and "generate" tasks. - added
start_simulation
andstart_simulation_csv
methods to run an automated simulation of a campaign for an arbitrary experimental space and number of generations. - added
get_experiments_history
andexport_experiments_history_csv
methods to retrieve all the experiments in the session and save them to a CSV file. - added a
save_all_analytics_files
method to create and save all the available analytics files to a specified location. - augmented the
poll_for_current_task
method to handle the new "finalize" and "simulate" task types. - added an
error_messages
method to nicely format GraphQL error messages from response. - BREAKING - changed return value of
poll_for_current_task
method, so that errors can be inspected. - BREAKING - changed return value of
call_api
method, so that errors can be inspected. - BREAKING - changed order of arguments in
export_csv
method (so that all "export" and "save" csv methods now takefname
as their first argument). - BREAKING - changed order of arguments in
save_experimental_and_space_parameters_csv
method (so that all "export" and "save" csv methods now takefname
as their first argument). - BREAKING - removed the
gen
argument from theget_analytics
method, which always returns analytics for all the generations in a session. - BREAKING - renamed the
get_analytics_file
tosave_analytics_file
.
Notebook changes:
Changed method names, arguments and return values as required, for the save_analytics_file
,
poll_for_current_task
, export_csv
, and save_experimental_and_space_parameters_csv
calls.
API changes in daptics_client.py
:
- Wrapped all GraphQL calls in
call_api
method to trap exceptions - Added
print
method - Added
wait_for_current_task
method - Removed
demo
argument fromcreate_session
method
Notebook changes:
03_SimpleTutorial.ipynb
substantially reworked to take advantage ofwait_for_current_task
API, and more documentation added.
API changes in daptics_client.py
:
- Added
list_sessions
method - Changed interface for
get_analytics
method - Documented timeout defaults for each method
- Better documentation for
simulate_experiment_responses
method - Better documentation for
simulate_experiment_responses_csv
method
Added two more interactive notebooks:
04_GetAnalytics.ipynb
- Testingget_analytics
method05_RestartSession.ipynb
- Example of connecting to existing session
Initial public API release with Python client and interactive notebook:
daptics_client.py
- Python GraphQL client with persistence03_SimpleTutorial.ipynb
- notebook that uses client to demonstrate basic functions