Changelog#
Version 3#
- Breaking changes:
some function’s function arguments in the authentication module have been renamed to reflect the fact that they now accepts either an ID or a shortName.
argus_api.sessionno longer points to the global session objects but instead to a module. The global session object can now be retrieved withargus_api.session.get_session().the contents of
argus_api.httphave been movedargus_api.session.the global session object used in
argus_api.libno longer reads theargus-cliconfiguration by default. Previous behavior can be emulated by construction anArgusAPISessionobject withuse_cli_config=True. that is recommended against.the
ArgusAPISessionclass no longer accepts theapi_keyargument - use theauthargument instead.
- new features:
the global session can now be controlled more reliably using
argus_api.session.get_session()andargus_api.session.set_session()the
ArgusAPISessionclass now exposes more parameters and can be used as a context manager to override the global session.support for authentication methods beyond API keys. This release introduces LDAP and password authentication.
all
argus_api.libmethods now accept anapi_sessionargument to explicitly bypass the global session.improvements: - type annotations for common arguments of
argus_api.libmethods have been improved.
Version 3.20#
Regenerated all modules to reflect changes in the API
Version 3.19#
Regenerated all modules to reflect changes in the API
Fixed bug causing recursion error for functions in
authentication.v1.session
Version 3.18#
Regenerated all modules to reflect changes in the API
Fixed bug in
argus_api/files/documents/upload.pywhere folder paths were incorrectly handled
Version 3.17#
Regenerated all API modules to current versions
Removed several decommissioned endpoints
Protected keywords escaped from module names:
assets.v2.importrenamed toassets.v2.import_(non-breaking change, previously unavailable endpoint).
Version 3.16#
Update helper code to use new constrain endpoint.
Version 3.15#
Regenerated sampledb modules to current versions
Version 3.14#
Regenerated all API modules EXCEPT sampledb to current versions
Version 3.13#
Regenerated all API modules to current versions
3.13.x patches#
3.13.1: Added files autodocs, dynamic version number and date to conf.py
Version 3.12#
Regenerated all API modules to reflect changes in the API
3.12.x patches#
3.12.1: fixed a bug that caused session-based authentication to fail when issuing requests requiring a CSRF token (added CSRF token handling).
Version 3.11#
Fixed an issue causing the
argus_api.files.sampledb.upload.add_submission()function to fail on small samples.
422responses will now raise aargus_api.exceptions.http.ServiceUnavailableException
3.11.x patches#
3.11.2: Added typing_extensions as a project dependency.3.11.1: Fixed an issue causing theargus_api.files.sampledb.upload.add_submission()function to fail on small samples when called with json=False.
Version 3.10#
Regenerated the customers v2 API modules, with multiple renames: - in the
customeradmin.v2package,admin_has been removed from method names - in thecustomer.v2package,basic_has been removed from method names - additional methods have been added, notably customer property descriptor management methods
3.10.x patches#
3.10.1: Remove duplicate argparse registrations. argus-api now works with Python 3.113.10.2: Fixed PyPI metadata
Version 3.9#
Regenerated the asset module to reflect changes in the API.
Version 3.8#
added support for specifying an retention time to
argus_api.files.sampledb.upload.add_submission()
Version 3.7#
regenerated all modules to reflect changes in the Argus API
3.7.x patches#
3.7.1re-generated packages to support the latest parameter.3.7.2re-generated assets v2 package to support the newly introduced default limit.
Version 3.6#
added the
paginated_items()helper to iterate directly over items return by a paginated query
Version 3.5#
added a new auth method
OAuth2Auththat reads a session token directly from an OAuth2Session session.added a new extra “oauth” to install the required dependencies to use the new auth method.
Version 3.4#
added support for token authentication :
argus_api.authentication.SessionTokenAuth.added the
new_constrained_session()allowing creation of a new constrained session from an existing session.
3.4.x patches#
3.4.1fixed class:~argus_api.authentication.SessionTokenAuth using the wrong request authentication mechanism, causing authentication failure where used towards multiple endpoints.
Version 3.3#
added File management functions for upload and download of documents and samples.
Version 3.2#
added the
argus_api.session.ArgusAPISession.authenticate()method to explicitly authenticate a session.added the
argus_api.session.ArgusAPISession.check_auth()method to verify that a session’s credential are valid. Can be called directly or by passingcheck=Trueto theauthenticate()method.added the
ArgusAPIAuthenticationErrorexception to be raised if an error occurs during the authentication process.
3.2.x patches#
3.2.1fixed an issue where proxies set on anArgusAPISessionobject would be overwritten by environment variables.
Version 3.1#
added a
proxiesoption toArgusAPISession
3.1.x patches#
3.1.1fixed time hints to indicate the that thebackfoff_factorargument toArgusAPISessioncan be afloat.
3.0.x patches#
3.0.2: fixed a bug that prevented the user-agent sent byargus-apifrom showing the package’s version.
3.0.1: fixed a bug where setting the API URL by other means that theapi_urltheArgusAPISessionclass would be ignored when creating a session object.
Version 2#
Breaking change: some autogenerated
argus-clicommands in theauthentication v1module have changed name.
Version 2.8#
Updated the client to match latest versions of the API.
Version 2.7#
Updated the client to match latest versions of the API.
Swagger specifications for for all services are now bundled as resources and can be
imported as argus_api.schema.<service_name>.schema.
2.7.x patches#
2.7.1: added a missing alias for the movedargus_api.[lib|api].authentication.v1.user.user_apikey.get_user_methodsfunction
2.7.2: fixed a bug where imports fronargus_api.api.authentication.v1.signaturewould cause a crash.
2.7.3: fixed a bug where an inaccurate result count from the API could trigger an infinite loop when fetching paginated results.
Version 2.6#
Updated the alarms endpoints to match the latest API.
Version 2.5#
Updated the library to support new endpoints and parameters added to the API.
A number of functions have been renamed across modules. The old names will still be usable, but will emit a deprecation warning and will be removed in a future version.
Complete list of renamed functions :
- module
authentication.v1.impersonate:
constrain_1: renamed toimpersonate
- module
authentication.v1.apikey:
initiate_1: renamed toinitiate_api_key
list_1: renamed tolist_api_keys
renew_2: renamed torenew_api_key_by_prefix
renew_3: renamed torenew_api_key_by_id
revoke_2: renamed torevoke_api_key_by_id
revoke_3: renamed torevoke_api_key_by_prefix
- module
authentication.v1.signature:
get_webauthn_create_options_1: renamed toget_webauthn_create_options
list_2: renamed tolist_public_keys
- module
authentication.v1.totp:
revoke_5: renamed torevoke
- module
currentuser.v1.password:
set_properties: renamed tochange_password
- module
currentuser.v1.prefs:
set_properties_1: renamed toset_properties
- module
documents.v1.document:
list_document_watchers: renamed tolist_document_watchers_by_id
- module
documents.v1.folder_path_access:
list_document_watchers_2: renamed tolist_document_watchers_by_path_1
list_document_watchers_1: renamed tolist_folder_watchers_by_path
set_current_user_folder_watch_status: renamed toset_current_user_folder_watch_status_by_id
set_current_user_folder_watch_status_1: renamed toset_current_user_folder_watch_status_by_path
update_document_access_settings_1: renamed toupdate_folder_access_settings
update_document_access_settings_by_path_1: renamed toupdate_folder_access_settings_by_path
- module
cases.v2.service:
list_categories_1: renamed tolist_categories_by_service
- module
datastores.v1.store:
put_single_data_store_entry: renamed toput_single_data_store_list_entry
put_single_data_store_entry_1: renamed toput_single_data_store_map_entry
- module
users.v1.subject:
list_subjects: renamed tolist_subjects_v1
- module
users.v1.user:
list_users: renamed tolist_users_v1
- module
useradmin.v2.function:
delete_user: renamed todelete_function
- module
useradmin.v2.subject:
get_subject_1: renamed toget_subject
list_subjects_1: renamed tolist_subjects
- module
useradmin.v2.user:
delete_user_1: renamed todelete_user
get_user_image_1: renamed toadmin_get_user_image
list_users_1: renamed tolist_users
- module
logging.v1.client:
submit_log_events_bulk: renamed tosubmit_client_log_events_bulk
- module
logging.v1.tool:
submit_log_events_bulk_1: renamed tosubmit_tooling_log_events_bulk
- module
componentadmin.v1.lookup:
get_properties_2: renamed tolookup
- module
componentadmin.v1.host.cachedconfigurations:
reboot: renamed toreboot_host
- module
componentadmin.v1.instance.instance_install:
get_instance_status: renamed toget_instance_status_v1
reboot_1: renamed toreboot_instance
- module
componentadmin.v1.property:
get_properties_1: renamed toget_property
- module
componentadmin.v1.host.cachedconfigurations.clear:
reboot: renamed toreboot_host
- module
componentadmin.v2.status:
get_instance_status_1: renamed toget_instance_status
- module
configurationadmin.v1.artifact:
create: renamed tocreate_artifact
create_from_octet_stream: renamed tocreate_artifact_from_octet_stream
delete_unused: renamed todelete_unused_artifacts
download_by_g_a_v: renamed todownload_code_artifact_by_g_a_v
download_by_id: renamed todownload_code_artifact_by_id
get_by_g_a_v: renamed toget_code_artifact_by_g_a_v
get_by_id: renamed toget_code_artifcat_by_id
list: renamed tolist_code_artifacts
list_unused: renamed tolist_unused_code_artifacts
search: renamed tosearch_code_artifacts
- module
configurationadmin.v1.host:
add_comment: renamed toadd_host_comment
create_2: renamed tocreate_host
create_2: renamed tocreate_host
delete_1: renamed todelete_host
disable_monitoring: renamed todisable_host_monitoring
duplicate_1: renamed toduplicate_host
duplicate_2: renamed tosetup_default_configuration
enable_monitoring: renamed toenable_host_monitoring
list_2: renamed tolist_hosts
schedule_monitoring: renamed toschedule_host_monitoring
search_2: renamed tosearch_hosts
update_1: renamed toupdate_host
view: renamed toview_host
- module
configurationadmin.v1.instance:
add_comment_1: renamed toadd_instance_comment
create_3: renamed tocreate_instance
delete_2: renamed todelete_instance
disable_monitoring_1: renamed todisable_instance_monitoring
enable_monitoring_1: renamed toenable_instance_monitoring
revisions: renamed toinstance_revisions
list_3: renamed tolist_instances
schedule_monitoring_1: renamed toschedule_instance_monitoring
search_3: renamed tosearch_instances
update_2: renamed toupdate_instance
update_2: renamed toupdate_instance
view_1: renamed toview_instance
- module
configurationadmin.v1.profile:
attach: renamed toattach_artifact
attach_by_name: renamed toattach_artifact_by_name
attach_detach: renamed toattach_detach_artifacts
create_1: renamed tocreate_code_profile
delete: renamed todelete_code_profile
detach: renamed todetach_artifact
detach_by_artifact_by_g_a: renamed todetach_artifact_by_g_a
detach_by_name: renamed todetach_artifact_by_name
duplicate: renamed toduplicate_code_profile
get_by_id_1: renamed toget_code_profile_by_id
get_by_name: renamed toget_code_profile_by_name
list_1: renamed tolist_code_profiles
search_1: renamed tosearch_code_profiles
update: renamed toupdate_code_profile
- module
configurationadmin.v1.template:
add_comment_2: renamed toadd_template_comment
create_4: renamed tocreate_template
delete_3: renamed todelete_template
duplicate_3: renamed toduplicate_template
list_4: renamed tolist_templates
search_4: renamed tosearch_templates
revisions_1: renamed totemplate_revisions
update_3: renamed toupdate_template
view_2: renamed toview_template
- module
customers.v1.customer:
get_customer_by_shortname: renamed toget_customer
get_customer_by_id: renamed toget_customer
- module
notifications.v1.device:
create_1: renamed tolist_devices
create_2: renamed tocreate_device
revoke: renamed torevoke_device
- module
notifications.v1.notification:
prepare_notification_1: renamed tosend_notification
2.5.x patches#
2.5.1: fixed a bug where thejsonargument to functions would be ignored and improved code formatting.
Version 2.4#
Added a deprecated alias utility to define transitive aliases of renamed methods.
Version 2.3#
2.3.x patches#
2.3.1: added some type annotations toArgusAPISession