Skip to main content

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()

Metadata

Release files for ws-sdk 23.12.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for ws-sdk 23.12.2
File Interpreter ABI Platform
ws_sdk-23.12.2-py3-none-any.whl Python 3 none any Details

Release files / ws_sdk-23.12.2-py3-none-any.whl

Download URL ws_sdk-23.12.2-py3-none-any.whl
Size 49.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc95032b75cdfddc0b811156371c6add6195077c017321efcd8a702ad0ad3961
BLAKE2b-256 checksum
How to use checksums
b96f89c98544879743423ac9a629b5d85282de3be8cc1cf91e4e22d2d87d9e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

23.12.2 This release

1 release file

23.12.1

1 release file

23.8.3

1 release file

22.8.3

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.2

1 release file

1.0.0

1 release file

0.11.68

1 release file

0.11.8

1 release file

0.11.6

1 release file

0.11.4

1 release file

0.11.2

1 release file

0.11.0

1 release file

0.10.8

1 release file

0.10.7

1 release file

0.10.6

1 release file

0.10.5

1 release file

0.10.4

1 release file

0.10.3

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10.0

1 release file

0.9.6

1 release file

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0.8

1 release file

0.9.0.7

1 release file

0.9.0.6

1 release file

0.9.0.5

1 release file

0.9.0.3

1 release file

0.9.0.2

1 release file

0.9.0.1

1 release file

0.9

1 release file

0.8.9.1

1 release file

0.8.9

1 release file

0.8.8

1 release file

0.8.7

1 release file

0.8.6

1 release file

0.8.5

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2.2

1 release file

0.8.2.1

1 release file

0.8.2

1 release file

0.8.1.2

1 release file

0.8.1.1

1 release file

0.8.1

1 release file

0.8.0.2

1 release file

0.8.0.1

1 release file

0.8

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.9.2

1 release file

0.6.9.1

1 release file

0.6.9

1 release file

0.6.1

1 release file

0.6.0.4

1 release file

0.6.0.3

1 release file

0.6

2 release files

0.5.1

1 release file

0.5

1 release file

0.4

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page