sym-sdk
Advanced tools
+1
-1
| Metadata-Version: 2.1 | ||
| Name: sym-sdk | ||
| Version: 0.56.0 | ||
| Version: 0.57.0 | ||
| Summary: Sym's Python SDK | ||
@@ -5,0 +5,0 @@ Home-page: https://sdk.docs.symops.com/ |
+1
-1
| [tool.poetry] | ||
| name = "sym-sdk" | ||
| version = "v0.56.0" | ||
| version = "v0.57.0" | ||
| description = "Sym's Python SDK" | ||
@@ -5,0 +5,0 @@ authors = ["Sym Engineering <pypi@symops.io>"] |
+1
-1
@@ -26,3 +26,3 @@ # -*- coding: utf-8 -*- | ||
| 'name': 'sym-sdk', | ||
| 'version': '0.56.0', | ||
| 'version': '0.57.0', | ||
| 'description': "Sym's Python SDK", | ||
@@ -29,0 +29,0 @@ 'long_description': 'Sym Python SDK\n================\n\n`Sym <https://symops.com/>`_ is the security workflow platform made for engineers, by engineers.\n\nWe solve the intent-to-execution gap between policies and workflows by providing fast-moving engineering teams with the just-right primitives to roll out best-practice controls.\n\nThis is the Python SDK for Sym.\nFor guides and other help, check out our `main docs site <https://docs.symops.com/>`_.\n\nThe SDK docs are broken into several core modules, which are described below.\nClick on one to see the classes and functions available in your `Handlers <https://docs.symops.com/docs/workflow-handlers>`_.\n\nThe Sym SDK is used to customize workflow templates that are exposed by our `Terraform provider <https://registry.terraform.io/providers/symopsio/sym/latest/docs>`_. Here\'s an example using the ``sym:approve`` Template!\n\n.. code-block:: python\n\n from sym.sdk.annotations import reducer\n from sym.sdk.integrations import pagerduty, okta, slack\n\n @reducer\n def get_approvers(evt):\n # The import here uses credentials defined in an Integration in Terraform\n if pagerduty.is_on_call(evt.user, schedule="id_of_eng_on_call"):\n # This is a self-approval in a DM\n return slack.user(evt.user)\n\n if evt.payload.fields["urgency"] == "Emergency":\n # This is a self-approval in a channel\n return slack.channel("#break-glass", allow_self=True)\n\n on_call_mgrs = okta.group("OnCallManagers").members()\n # This would cause each on-call manager to be DMed\n return slack.group([slack.user(x) for x in on_call_mgrs])\n\nIf you\'re interested in using Sym, please `reach out <https://symops.com/sales>`_!\n', |
+12
-1
@@ -7,5 +7,7 @@ """Representations of Users in both Sym and third parties.""" | ||
| from enum import Enum | ||
| from typing import TYPE_CHECKING, Dict, List, Literal, Optional | ||
| from typing import TYPE_CHECKING, Dict, List, Literal, Optional, Set | ||
| from uuid import UUID | ||
| from sym.sdk.request_permission import PermissionLevel | ||
| from .resource import SymBaseResource | ||
@@ -76,3 +78,12 @@ | ||
| def permission_levels(self) -> Set[PermissionLevel]: | ||
| """Returns a set of PermissionLevels that apply to the role.""" | ||
| if self == self.ADMIN: | ||
| return {PermissionLevel.ADMIN, PermissionLevel.MEMBER, PermissionLevel.ALL_USERS} | ||
| elif self == self.MEMBER: | ||
| return {PermissionLevel.MEMBER, PermissionLevel.ALL_USERS} | ||
| else: | ||
| return {PermissionLevel.ALL_USERS} | ||
| class User(ABC, SymBaseResource): | ||
@@ -79,0 +90,0 @@ """The atomic representation of a user in Sym. |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
186762
0.26%3709
0.24%