%global _empty_manifest_terminate_build 0
Name: python-sym-sdk
Version: 0.35.0
Release: 1
Summary: Sym's Python SDK
License: Proprietary
URL: https://sdk.docs.symops.com/
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1b/61/24a9d2a46d367e0a327cafab931abf2a3e56bf39d85f3a2d9388ea154a41/sym_sdk-0.35.0.tar.gz
BuildArch: noarch
Requires: python3-bcrypt
Requires: python3-structlog
Requires: python3-pydantic
Requires: python3-virtualenv
Requires: python3-requests
%description
`Sym `_ is the security workflow platform made for engineers, by engineers.
We 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.
This is the Python SDK for Sym.
For guides and other help, check out our `main docs site `_.
The SDK docs are broken into several core modules, which are described below.
Click on one to see the classes and functions available in your `Handlers `_.
The Sym SDK is used to customize workflow templates that are exposed by our `Terraform provider `_. Here's an example using the ``sym:approve`` Template!
from sym.sdk.annotations import reducer
from sym.sdk.integrations import pagerduty, okta, slack
@reducer
def get_approvers(evt):
# The import here uses credentials defined in an Integration in Terraform
if pagerduty.is_on_call(evt.user, schedule="id_of_eng_on_call"):
# This is a self-approval in a DM
return slack.user(evt.user)
if evt.payload.fields["urgency"] == "Emergency":
# This is a self-approval in a channel
return slack.channel("#break-glass", allow_self=True)
on_call_mgrs = okta.group("OnCallManagers").members()
# This would cause each on-call manager to be DMed
return slack.group([slack.user(x) for x in on_call_mgrs])
If you're interested in using Sym, please `reach out `_!
%package -n python3-sym-sdk
Summary: Sym's Python SDK
Provides: python-sym-sdk
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-sym-sdk
`Sym `_ is the security workflow platform made for engineers, by engineers.
We 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.
This is the Python SDK for Sym.
For guides and other help, check out our `main docs site `_.
The SDK docs are broken into several core modules, which are described below.
Click on one to see the classes and functions available in your `Handlers `_.
The Sym SDK is used to customize workflow templates that are exposed by our `Terraform provider `_. Here's an example using the ``sym:approve`` Template!
from sym.sdk.annotations import reducer
from sym.sdk.integrations import pagerduty, okta, slack
@reducer
def get_approvers(evt):
# The import here uses credentials defined in an Integration in Terraform
if pagerduty.is_on_call(evt.user, schedule="id_of_eng_on_call"):
# This is a self-approval in a DM
return slack.user(evt.user)
if evt.payload.fields["urgency"] == "Emergency":
# This is a self-approval in a channel
return slack.channel("#break-glass", allow_self=True)
on_call_mgrs = okta.group("OnCallManagers").members()
# This would cause each on-call manager to be DMed
return slack.group([slack.user(x) for x in on_call_mgrs])
If you're interested in using Sym, please `reach out `_!
%package help
Summary: Development documents and examples for sym-sdk
Provides: python3-sym-sdk-doc
%description help
`Sym `_ is the security workflow platform made for engineers, by engineers.
We 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.
This is the Python SDK for Sym.
For guides and other help, check out our `main docs site `_.
The SDK docs are broken into several core modules, which are described below.
Click on one to see the classes and functions available in your `Handlers `_.
The Sym SDK is used to customize workflow templates that are exposed by our `Terraform provider `_. Here's an example using the ``sym:approve`` Template!
from sym.sdk.annotations import reducer
from sym.sdk.integrations import pagerduty, okta, slack
@reducer
def get_approvers(evt):
# The import here uses credentials defined in an Integration in Terraform
if pagerduty.is_on_call(evt.user, schedule="id_of_eng_on_call"):
# This is a self-approval in a DM
return slack.user(evt.user)
if evt.payload.fields["urgency"] == "Emergency":
# This is a self-approval in a channel
return slack.channel("#break-glass", allow_self=True)
on_call_mgrs = okta.group("OnCallManagers").members()
# This would cause each on-call manager to be DMed
return slack.group([slack.user(x) for x in on_call_mgrs])
If you're interested in using Sym, please `reach out `_!
%prep
%autosetup -n sym-sdk-0.35.0
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-sym-sdk -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri May 05 2023 Python_Bot - 0.35.0-1
- Package Spec generated