Py42

Latest version: v1.27.1

Safety actively analyzes 681844 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 14

0.8.0

Not secure
Added

- `sdk.detectionlists` methods:
- `update_notes()`
- `remove_risk_tag()`
- `add_risk_tag()`
- `add_cloud_alias()`
- `remove_cloud_alias()`
- `create()`
- `get()`
- `get_by_id()`

- `sdk.detectionlists.high_risk_employee` methods:
- `add()`
- `remove()`
- `get()`
- `search()`
- `set_alerts_enabled()`

0.7.0

Not secure
Removed

- Parameter `classification` removed from `OrgClient.create_org()`
- Parameter `legal_hold_membership_uid` removed from `LegalHoldClient.get_all_matter_custodians()`
- Removed `ArchiveClient`. Use `ArchiveModule`.
- Removed function `ArchiveModule.get_data_key_token()`.
- Removed function `ArchiveModule.get_web_restore_info()`.
- Parameter `classification` removed from `OrgClient.create_org()`.
- Parameter `legal_hold_membership_uid` removed from `LegalHoldClient.get_all_matter_custodians()`.
- Removed `SecurityClient`. Use `SecurityModule`.
- `py42.sdk.util`. Use `py42.util` instead.
- `py42.sdk.settings`. Use `py42.settings` instead.
- `py42.sdk.response`. Use `py42.response` instead.
- `py42.sdk.usercontext`. Use `py42.usercontext` instead.

Changed

- Parameter `active_state` was renamed to `active` and now accepts (True, False, or None)
instead of ("ACTIVE", "INACTIVE", or "ALL") on the following `LegalHoldClient` methods:
- `get_all_matters()`
- `get_all_matter_custodians()`
- Parameter `storageaccess` was removed from `SDKClient`. To restore files, just use
`SDKClient.archive.stream_from_backup()`.
- Parameter `active_state` was renamed to `active` and now accepts (True, False, or None)
instead of ("ACTIVE", "INACTIVE", or "ALL") on the following `LegalHoldClient` methods:
- `get_all_matters()`
- `get_all_matter_custodians()`
- `py42.sdk.archive.stream_from_backup()` now raises `Py42ArchiveFileNotFoundError` when it does not find a file.
- `py42.sdk.alerts` and `py42.sdk.detectionlists` raise `Py42SessionInitializationError` if they are unable to
connect to the necessary microservice and `Py42FeatureUnavailableError` if their environment does not support
the microservice.
- `py42.sdk.securitydata.get_security_plan_storage_info_list()` raises `Py42SecurityPlanConnectionError` if it can't
connect to get plan info.
- Storage node connection issues may raise `Py42StorageSessionInitializationError`.
- All requests may raise a subclass of `Py42HTTPError` denoting which type of HTTP error it is:
- `Py42BadRequestError`
- `Py42UnauthorizedError`
- `Py42ForbiddenError`
- `Py42NotFoundError`
- `Py42InternalServerError`
- `py42.modules.ArchiveModule` methods:
- `get_all_device_restore_history()` (formerly `get_restore_history_by_device_id()`)
- `get_all_user_restore_history()` (formerly `get_restore_history_by_user_id()`)
- `get_all_org_restore_history()` (formerly `get_restore_history_by_org_id()`)
now all return generator objects that handle paging through restore history.
- Renamed `AlertClient.get_query_details()` to `AlertClient.get_details()`.
- Renamed `SecurityModule.get_plan_security_events()` to `get_all_plan_security_events()`.
- Renamed `SecurityModule.get_user_security_events()` to `get_all_user_security_events()`.

Added

- py42 specific exceptions at new module `py42.exceptions`:
- `Py42Error`
- `Py42ArchiveFileNotFoundError`
- `Py42SessionInitializationError`
- `Py42FeatureUnavailableError`
- `Py42SecurityPlanConnectionError`
- `Py42HTTPError`
- `Py42BadRequestError`
- `Py42UnauthorizedError`
- `Py42ForbiddenError`
- `Py42NotFoundError`
- `Py42InternalServerError`
- Parameters `archive_password` and `encryption_key` added to `ArchiveModule.stream_from_backup()`.

0.6.1

Not secure
Changed

- To import alert filters, do: `from py42.sdk.queries.alerts.filters import *`
instead of importing them individually.

0.6.0

Not secure
Removed

- The following methods from `py42.util`:
- `get_obj_from_response()`
- `filter_out_none()`
- `print_dict()`

- `py42.debug` module. Use `py42.settings.debug` instead.
- `py42.util` module. Use `py42.sdk.util` instead.
- `ArchiveModule.download_from_backup()`. Use `ArchiveModule.stream_from_backup()` instead.

Changed

All client methods now return a `Py42Response` object that simplifies accessing the most meaningful parts
of the returned JSON object.

Renamed methods to reduce redundancy:

- `SDK` > `SDKClient`
- `create_using_local_account()` > `from_local_account()`
- `administration` > `serveradmin`
- `legal_hold` > `legalhold`
- `storage` > `storageacess`
- `security` > `securitydata`
- `user_context` > `usercontext`
- `employee_case_management` > `detectionlists`

- `StorageClientFactory`
- `get_storage_client_from_device_guid()` > `from_device_guid()`
- `get_storage_client_from_plan_uid()` > `from_plan_info()`

- `StorageClient`
- `security` > `securitydata`

- `StorageSecurityClient`
- `get_security_detection_events_for_plan()` > `get_plan_security_events()`
- `get_security_detection_events_for_user()` > `get_user_security_events()`

- `FileEventClient`
- `search_file_events()` > `search()`

- `StorageArchiveClient`
- `search_archive()` > `search()`
- `get_archive_tree_node()` > `get_file_path_metadata()`
- `create_web_restore_session()` > `create_restore_session()`
- `submit_web_restore_job()` > `start_restore()`
- `get_web_restore_job()` > `get_restore_status()`
- `cancel_web_restore_job()` > `cancel_restore()`
- `get_web_restore_job_result()` > `stream_restore_result()`

- `DepartingEmployeeClient`
- `create_departing_employee()` > `create()`
- `resolve_departing_employee()` > `resolve()`
- `get_all_departing_employees()` > `get_all()`
- `get_case_by_username()` > `get_by_username()`
- `get_case_by_id()` > `get_by_id()`
- `update_case()` > `update()`

- `LegalHoldClient`
- `create_legal_hold()` > `create_matter()`
- `get_legal_hold_policy_by_uid()` > `get_policy_by_uid()`
- `get_all_legal_hold_policies()` > `get_all_policies()`
- `get_legal_hold_by_uid()` > `get_matter_by_uid()`
- `get_legal_holds()` > `get_all_matters()`
- `get_legal_hold_memberships()` > `get_all_matter_custodians()`
- `add_user_to_legal_hold()` > `add_to_matter()`
- `remove_user_from_legal_hold()` > `remove_from_matter()`
- `deactivate_legal_hold()` > `deactivate_matter()`
- `reactivate_legal_hold()` > `reactivate_matter()`
- `create_legal_hold_policy()` > `create_policy()`
- `create_legal_hold()` > `create_matter()`

- `AlertClient`
- `search_alerts()` > `search()`
- `resolve_alert()` > `resolve()`
- `reopen_alert()` > `reopen()`

- `OrgClient`
- `get_orgs()` > `get_all()`
- `get_org_by_id()` > `get_by_id()`
- `get_org_by_uid()` > `get_by_uid()`
- `block_org()` > `block()`
- `unblock_org()` > `unblock()`
- `deactivate_org()` > `deactivate()`
- `reactivate_org()` > `reactivate()`
- `get_current_user_org` > `get_current`

- `UserClient`
- `get_user_by_id()` > `get_by_id()`
- `get_user_by_uid()` > `get_by_uid()`
- `get_user_by_username()` > `get_by_username()`
- `get_current_user()` > `get_current()`
- `get_users()` > `get_all()`
- `block_user()` > `block()`
- `unblock_user()` > `unblock()`
- `deactivate_user()` > `deactivate()`
- `reactivate_user()` > `reactivate()`
- `change_user_org_assignment()` > `change_org_assignment()`

- `DeviceClient`
- `get_device_by_id()` > `get_by_id()`
- `get_device_by_guid()` > `get_by_guid()`
- `get_devices()` > `get_all()`
- `block_device()` > `block()`
- `unblock_device()` > `unblock()`
- `deactivate_device()` > `deactivate()`
- `reactivate_device()` > `reactivate()`
- `deauthorize_device()` > `deauthorize()`
- `get_device_settings()` > `get_settings()`

0.5.1

Not secure
Fixed

Issue where large API responses were read very slowly.

0.5.0

Not secure
Added

Support for querying file events by:
- DirectoryID
- EmailRecipients
- EmailSender
- FileCategory
- FileOwner
- ProcessOwner
- ProcessName
- RemovableMediaName
- Shared
- SharedWith
- SharingTypeAdded
- Source
- SyncDestination
- TabURL
- WindowTitle

Page 10 of 14

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.