Installation
This section explains how to install the Saner Python SDK, upgrade it, and prepare a recommended development environment for reliable usage.
Requirements
Before installing the SDK, ensure your environment meets the following prerequisites:
| Requirement | Version |
|---|---|
| Python | 3.9 or higher |
| pip | Latest recommended |
| Operating System | Linux, macOS, or Windows |
The SDK depends on:
requests >= 2.32.4This dependency is installed automatically during SDK installation, and pip/uv will refuse to resolve an older requests alongside it.
Install the SDK
Install the latest version using pip:
pip install secpod-saner-sdkThis installs the SDK and all required dependencies. The importable package name stays saner regardless of the install name. from saner import SanerClient works after either command below.
Upgrade the SDK
To upgrade to the newest available version:
pip install --upgrade secpod-saner-sdkIt is recommended to upgrade periodically to receive improvements, bug fixes, and new API support.
Recommended: Use a Virtual Environment
Using a virtual environment helps isolate dependencies and avoid version conflicts with other Python projects.
Create a virtual environment
Linux / macOS:
python3 -m venv venvWindows:
python -m venv venvActivate the virtual environment
Linux / macOS:
source venv/bin/activateWindows (PowerShell):
venv\Scripts\ActivateInstall the SDK inside the virtual environment
pip install secpod-saner-sdkThis ensures your Saner SDK setup remains clean and reproducible across environments.
OS-Specific Notes
Linux / macOS
- If
python3isn't found after installing Python via your package manager, check that/usr/local/bin(or your package manager's bin directory) is onPATH. - Use
python3/pip3explicitly if your system also ships a Python 2python/pipalias; runningpip install secpod-saner-sdkagainst the wrong interpreter is the most common "installed but can't import it" report. pipxis a good alternative to a manual venv if you're installing SDK-dependent CLI tooling rather than writing a library that importssanerdirectly; it isolates the install automatically without you managing activation.
Windows
- Use
python(notpython3) for both venv creation and pip commands; the Python installer for Windows registers thepythoncommand, notpython3. - Activating a venv in PowerShell (
venv\Scripts\Activate.ps1) can fail with... cannot be loaded because running scripts is disabled on this systemif your execution policy blocks it. Fix it for the current user without changing system-wide policy:Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned - If
pip install secpod-saner-sdkreports success butimport sanerfails in your editor/IDE, confirm your IDE's selected Python interpreter is the venv's, not a system-wide install; this is the most common cause on Windows when multiple Python versions are installed side by side.
Verifying the Installed Version Matches Your Python Version
The one-liner below confirms the SDK imported successfully and reports its version:
python -c "from saner._version import __version__; print('saner version:', __version__)"If installed correctly, this prints the version string without errors. If it raises ModuleNotFoundError: No module named 'saner' instead, the interpreter running this command is not the one you installed the SDK into; this happens most often when a virtual environment exists but isn't activated, or when python/python3/pip/pip3 resolve to different interpreters on your system.
Confirm which interpreter and site-packages you're actually using alongside the version check:
python --version
python -c "import saner, sys; print(saner.__file__); print(sys.executable)"sys.executable should point inside your virtual environment's directory (e.g. venv/bin/python or venv\Scripts\python.exe) if you're using one. If it points to a system Python instead, activate the venv (see "Activate the virtual environment" above) and re-run the install.
Dependency Conflict Troubleshooting
The SDK depends on requests>=2.32.4 and nothing else at runtime. In most environments this installs without conflict, but if another package in your project pins an older requests version, pip will report a resolution conflict at install time rather than silently installing an incompatible version.
Diagnose an existing environment:
pip show requests
pip checkpip show requests reports the currently installed version; pip check reports any unmet dependency constraints across your entire environment, not just the SDK's.
If you hit a conflict, the fix is almost always to either upgrade the other package to a version that accepts requests>=2.32.4, or (the more reliable option) give the SDK its own virtual environment (see above) so its dependency resolution never has to reconcile with an unrelated project's pins.
Installing for Platform-Only or CVEM-Only Usage
pip install secpod-saner-sdk always installs the complete package. There is no separate [platform]/[cvem] extra and no partial-install mechanism. Whether you use the platform-only, cvem-only, or universal client is an import-time choice, not an install-time one:
from saner.platform import PlatformClient # platform resources only
from saner.cvem import CvemClient # cvem resources only
from saner import SanerClient # both, nestedSee the "Client Types" guide for the full comparison and how to choose between them.
Updated 5 days ago
