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.session no longer points to the global session objects but instead to a module. The global session object can now be retrieved with argus_api.session.get_session().

    • the contents of argus_api.http have been moved argus_api.session.

    • the global session object used in argus_api.lib no longer reads the argus-cli configuration by default. Previous behavior can be emulated by construction an ArgusAPISession object with use_cli_config=True. that is recommended against.

    • the ArgusAPISession class no longer accepts the api_key argument - use the auth argument instead.

  • new features:
    • the global session can now be controlled more reliably using argus_api.session.get_session() and argus_api.session.set_session()

    • the ArgusAPISession class 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.lib methods now accept an api_session argument to explicitly bypass the global session.

  • improvements: - type annotations for common arguments of argus_api.lib methods have been improved.

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#

3.11.x patches#

Version 3.10#

  • Regenerated the customers v2 API modules, with multiple renames: - in the customeradmin.v2 package, admin_ has been removed from method names - in the customer.v2 package, 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.11

  • 3.10.2: Fixed PyPI metadata

Version 3.9#

  • Regenerated the asset module to reflect changes in the API.

Version 3.8#

Version 3.7#

  • regenerated all modules to reflect changes in the Argus API

3.7.x patches#

  • 3.7.1 re-generated packages to support the latest parameter.

  • 3.7.2 re-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 OAuth2Auth that 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#

3.4.x patches#

  • 3.4.1 fixed 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#

3.2.x patches#

  • 3.2.1 fixed an issue where proxies set on an ArgusAPISession object would be overwritten by environment variables.

Version 3.1#

3.1.x patches#

  • 3.1.1 fixed time hints to indicate the that the backfoff_factor argument to ArgusAPISession can be a float.

3.0.x patches#

  • 3.0.2: fixed a bug that prevented the user-agent sent by argus-api from showing the package’s version.

  • 3.0.1: fixed a bug where setting the API URL by other means that the api_url the ArgusAPISession class would be ignored when creating a session object.

Version 2#

  • Breaking change: some autogenerated argus-cli commands in the authentication v1 module 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 moved argus_api.[lib|api].authentication.v1.user.user_apikey.get_user_methods function

  • 2.7.2: fixed a bug where imports fron argus_api.api.authentication.v1.signature would 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 to impersonate

  • module authentication.v1.apikey:
    • initiate_1: renamed to initiate_api_key

    • list_1: renamed to list_api_keys

    • renew_2: renamed to renew_api_key_by_prefix

    • renew_3: renamed to renew_api_key_by_id

    • revoke_2: renamed to revoke_api_key_by_id

    • revoke_3: renamed to revoke_api_key_by_prefix

  • module authentication.v1.signature:
    • get_webauthn_create_options_1: renamed to get_webauthn_create_options

    • list_2: renamed to list_public_keys

  • module authentication.v1.totp:
    • revoke_5: renamed to revoke

  • module currentuser.v1.password:
    • set_properties: renamed to change_password

  • module currentuser.v1.prefs:
    • set_properties_1: renamed to set_properties

  • module documents.v1.document:
    • list_document_watchers: renamed to list_document_watchers_by_id

  • module documents.v1.folder_path_access:
    • list_document_watchers_2: renamed to list_document_watchers_by_path_1

    • list_document_watchers_1: renamed to list_folder_watchers_by_path

    • set_current_user_folder_watch_status: renamed to set_current_user_folder_watch_status_by_id

    • set_current_user_folder_watch_status_1: renamed to set_current_user_folder_watch_status_by_path

    • update_document_access_settings_1: renamed to update_folder_access_settings

    • update_document_access_settings_by_path_1: renamed to update_folder_access_settings_by_path

  • module cases.v2.service:
    • list_categories_1: renamed to list_categories_by_service

  • module datastores.v1.store:
    • put_single_data_store_entry: renamed to put_single_data_store_list_entry

    • put_single_data_store_entry_1: renamed to put_single_data_store_map_entry

  • module users.v1.subject:
    • list_subjects: renamed to list_subjects_v1

  • module users.v1.user:
    • list_users: renamed to list_users_v1

  • module useradmin.v2.function:
    • delete_user: renamed to delete_function

  • module useradmin.v2.subject:
    • get_subject_1: renamed to get_subject

    • list_subjects_1: renamed to list_subjects

  • module useradmin.v2.user:
    • delete_user_1: renamed to delete_user

    • get_user_image_1: renamed to admin_get_user_image

    • list_users_1: renamed to list_users

  • module logging.v1.client:
    • submit_log_events_bulk: renamed to submit_client_log_events_bulk

  • module logging.v1.tool:
    • submit_log_events_bulk_1: renamed to submit_tooling_log_events_bulk

  • module componentadmin.v1.lookup:
    • get_properties_2: renamed to lookup

  • module componentadmin.v1.host.cachedconfigurations:
    • reboot: renamed to reboot_host

  • module componentadmin.v1.instance.instance_install:
    • get_instance_status: renamed to get_instance_status_v1

    • reboot_1: renamed to reboot_instance

  • module componentadmin.v1.property:
    • get_properties_1: renamed to get_property

  • module componentadmin.v1.host.cachedconfigurations.clear:
    • reboot: renamed to reboot_host

  • module componentadmin.v2.status:
    • get_instance_status_1: renamed to get_instance_status

  • module configurationadmin.v1.artifact:
    • create: renamed to create_artifact

    • create_from_octet_stream: renamed to create_artifact_from_octet_stream

    • delete_unused: renamed to delete_unused_artifacts

    • download_by_g_a_v: renamed to download_code_artifact_by_g_a_v

    • download_by_id: renamed to download_code_artifact_by_id

    • get_by_g_a_v: renamed to get_code_artifact_by_g_a_v

    • get_by_id: renamed to get_code_artifcat_by_id

    • list: renamed to list_code_artifacts

    • list_unused: renamed to list_unused_code_artifacts

    • search: renamed to search_code_artifacts

  • module configurationadmin.v1.host:
    • add_comment: renamed to add_host_comment

    • create_2: renamed to create_host

    • create_2: renamed to create_host

    • delete_1: renamed to delete_host

    • disable_monitoring: renamed to disable_host_monitoring

    • duplicate_1: renamed to duplicate_host

    • duplicate_2: renamed to setup_default_configuration

    • enable_monitoring: renamed to enable_host_monitoring

    • list_2: renamed to list_hosts

    • schedule_monitoring: renamed to schedule_host_monitoring

    • search_2: renamed to search_hosts

    • update_1: renamed to update_host

    • view: renamed to view_host

  • module configurationadmin.v1.instance:
    • add_comment_1: renamed to add_instance_comment

    • create_3: renamed to create_instance

    • delete_2: renamed to delete_instance

    • disable_monitoring_1: renamed to disable_instance_monitoring

    • enable_monitoring_1: renamed to enable_instance_monitoring

    • revisions: renamed to instance_revisions

    • list_3: renamed to list_instances

    • schedule_monitoring_1: renamed to schedule_instance_monitoring

    • search_3: renamed to search_instances

    • update_2: renamed to update_instance

    • update_2: renamed to update_instance

    • view_1: renamed to view_instance

  • module configurationadmin.v1.profile:
    • attach: renamed to attach_artifact

    • attach_by_name: renamed to attach_artifact_by_name

    • attach_detach: renamed to attach_detach_artifacts

    • create_1: renamed to create_code_profile

    • delete: renamed to delete_code_profile

    • detach: renamed to detach_artifact

    • detach_by_artifact_by_g_a: renamed to detach_artifact_by_g_a

    • detach_by_name: renamed to detach_artifact_by_name

    • duplicate: renamed to duplicate_code_profile

    • get_by_id_1: renamed to get_code_profile_by_id

    • get_by_name: renamed to get_code_profile_by_name

    • list_1: renamed to list_code_profiles

    • search_1: renamed to search_code_profiles

    • update: renamed to update_code_profile

  • module configurationadmin.v1.template:
    • add_comment_2: renamed to add_template_comment

    • create_4: renamed to create_template

    • delete_3: renamed to delete_template

    • duplicate_3: renamed to duplicate_template

    • list_4: renamed to list_templates

    • search_4: renamed to search_templates

    • revisions_1: renamed to template_revisions

    • update_3: renamed to update_template

    • view_2: renamed to view_template

  • module customers.v1.customer:
    • get_customer_by_shortname: renamed to get_customer

    • get_customer_by_id: renamed to get_customer

  • module notifications.v1.device:
    • create_1: renamed to list_devices

    • create_2: renamed to create_device

    • revoke: renamed to revoke_device

  • module notifications.v1.notification:
    • prepare_notification_1: renamed to send_notification

2.5.x patches#

  • 2.5.1 : fixed a bug where the json argument 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#