Skip to main content

WS Python SDK

Project description

[!Warning]
This project utitilizes Mend API 1.4. While 1.4 and this project are still supported, Mend is actively moving toward a RESTful standard for APIs. All new development is encouraged to utilize Mend API 2.0. API 2.0 will transition more easily into API 3.0 when it is released with the Mend Unified Platform

Logo License CI [Python 3.7 PyPI

Mend Python SDK

SDK written in Python to simplify access to Mend resources

The SDK contains the following modules:

  • web - Module for accessing Mend Application (reports, administration, etc...).
  • client - UA wrapper layer (download UA, execute scan, read UA output files...).

Supported Operating Systems

  • Linux (Bash): CentOS, Debian, Ubuntu, RedHat
  • Windows (PowerShell): 10, 2012, 2016

How to install package from PyPi

  1. Obtain connection details from WS Application (Home > Admin > Integration).
  2. Install package from Pypi: pip install ws-sdk .

How to build and install package from source (for developers)

  1. Download the code: git clone https://github.com/whitesource-ps/ws-sdk.git.
  2. Build wheel package python setup.py bdist_wheel .
  3. Download wheel from GitHub and install : pip install ws-sdk*.whl .

Execution

  • WS_URL should be the URL for your environment without https:// e.g. saas.whitesourcesoftware.com.
  • USER_KEY needs to be generated on the Mend UI. Generating a user key
  • ORG_TOKEN can be found under the 'Integrate' tab of your Mend UI as API Key.
# Unified (can do both WSApp and WSClient)
from ws_sdk.web import WS
ws = WS(url="WS_URL", user_key="USER_KEY", token="ORG_TOKEN", ua_path="/UA/WORKING/DIR")

# Web (Mend Application)
from ws_sdk.app import WSApp
ws = WSApp(url="WS_URL", user_key="USER_KEY", token="ORG_TOKEN")
# Get alerts 
all_alerts = ws.get_alerts()
# Get vulnerabilities report in XLSX format
vul_report = ws.get_vulnerability(report=True)
# Get all projects ()
project_list = ws.get_projects()
# Create user in the organization
ws.create_user(name='USER_TEST1', email="USER_TEST1@EMAIL.COM", inviter_email="INVITER@EMAIL.COM")

# Client (Mend Unified Agent)
from ws_sdk.client import WSClient

ws_client = WSClient(url="WS_URL", user_key="USER_KEY", token="ORG_TOKEN", ua_path="/UA/WORKING/DIR")
# Download latest UA jar and conf file
ws_client.download_ua()
# Execute scan into defined project token
out = ws_client.scan(scan_dir="/PATH/TO/DIR", project_token="PROJ_TOKEN", product_token="PROD_TOKEN")
# Read scan artifact's policy rejection summary 
pol_rej = ws_client.get_policy_rejection_summary()

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

ws_sdk-23.12.2-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file ws_sdk-23.12.2-py3-none-any.whl.

File metadata

  • Download URL: ws_sdk-23.12.2-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ws_sdk-23.12.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cc95032b75cdfddc0b811156371c6add6195077c017321efcd8a702ad0ad3961
MD5 f49fea78f84aacf93b7d3d2f870a05d1
BLAKE2b-256 b96f89c98544879743423ac9a629b5d85282de3be8cc1cf91e4e22d2d87d9e1b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page