-
Notifications
You must be signed in to change notification settings - Fork 29
feat: add domain API architecture with lazy loading namespaces #1965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: add domain API architecture with lazy loading namespaces #1965
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
4066b49
to
e278d87
Compare
- Add new domain_api module with base namespace system - Add lazy loading mechanism for domain namespaces - Update client to support both legacy and domain API modes
e278d87
to
4f42437
Compare
9a395ec
to
eb94dd6
Compare
I'll remove the new recipes once the review is complete |
a7f7e30
to
ed37edc
Compare
For an asset in Labeling - Done, the first call pass but the second one never ends :
|
is that intentional ? |
This leads to an error :
I think this'll happen a lot when client will try the domain SDK for the first time. Maybe we can have a better error message? Something like :
|
BTW we still have very long & indigestible error messages when there is a GraphQLError error involved Traceback (most recent call last):File "/Users/paulruelle/kili-python-sdk/src/kili/core/graphql/graphql_client.py", line 265, in execute The above exception was the direct cause of the following exception: Traceback (most recent call last): The above exception was the direct cause of the following exception: Traceback (most recent call last): Process finished with exit code 1 |
Yes, but this should be a separated ticket / PR, as it should profit to both legacy or non legacy api methods |
-> error message is ambiguous: we talk about ids in the plural, but we can also put asset_id |
Sometime we use Same for : |
I now have a geospatial project with videos inside 😬 I think we can remove it, |
I think it's a bit confusing to have :
|
return a weird type for members :
I would expect :
|
return self._parent.client.delete_from_roles(role_id=role_id) | ||
|
||
@typechecked | ||
def update(self, role_id: str, project_id: str, user_id: str, role: str) -> Dict: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
role
is not typed correctly here (should be role: Literal["ADMIN", "TEAM_MANAGER", "REVIEWER", "LABELER"]
like above).
Assets
assets
as_generator
count_assets
append_many_to_dataset
delete_many_from_dataset
assign_assets_to_labelers
send_back_to_queue
return_to_queue
add_to_review
submit_for_review
update_properties_in_assets
kili.assets.update_processing_parameters
change_asset_external_ids
add_metadata
set_metadata
Storages
cloud_storage_connections
add_cloud_storage_connection
synchronize_cloud_storage_connection
cloud_storage_integrations
count_cloud_storage_integrations
create_cloud_storage_integration
update_cloud_storage_integration
delete_cloud_storage_integration
Issues
issues
count_issues
create_issues
update_issue_status
update_issue_status
update_issue_status
Label Subscriptions
label_created_or_updated
Labels
labels
count_labels
append_labels
append_labels_from_geojson_files
append_labels_from_shapefiles
delete_labels
export_labels
create_predictions
predictions
inferences
create_honeypot
Notifications
Not sure for notification what we want to do. Remove it, or let user push notifications to other notifications (plugin case ?)
notifications
count_notifications
create_notification
update_properties_in_notification
Organizations
organizations
count_organizations
organization_metrics
Plugins
list_plugins
get_plugin_status
get_plugin_logs
get_plugin_build_errors
activate_plugin_on_project
deactivate_plugin_on_project
create_webhook
update_webhook
upload_plugin
update_plugin
delete_plugin
Project → Users
project_users
count_project_users
Project → Versions
project_version
count_project_versions
update_properties_in_project_version
Projects
projects
count_projects
create_project
update_properties_in_project
archive_project
unarchive_project
copy_project
delete_project
update_project_anonymization
append_to_roles
delete_from_roles
update_properties_in_role
update_project_workflow
get_steps
Tags
tags
create_tag
update_tag
delete_tag
tag_project
untag_project
Users
users
count_users
create_user
update_properties_in_user
update_password