Skip to main content

Introduction

This repo contains the reference manual for the RSSeismic scripting library. The RSSeismic scripting library is used to interact with the RSSeismic application through Python.

Resource Link
Reference manual (this site) https://rocscience.github.io/rsseismic-scripting/
PyPI package https://pypi.org/project/RSSeismicScripting/
RSSeismic release notes https://www.rocscience.com/support/rsseismic/release-notes
Program downloads https://www.rocscience.com/support/program-downloads

Goal

Each function exposed corresponds to an equivalent operation you could have done through the UI. Using this idea, the user should be able to edit models and get results without having to go through the UI at all. Although only a limited set of functionality is exposed for now, the library covers the main scripting workflows. For a list of what is exposed in the current library, see Exposed Functionality.

Python UI equivalents

Events and workflows done in the UI will have equivalents in the Python library. Wherever a dialog is shown in the UI, there will be an equivalent class with methods that mimic the dialog's behavior. Wherever a warning or error dialog is displayed, an exception will be thrown, or a warning will be displayed in Python instead. Wherever you can select and manipulate an entity, identifiers can be used in the library to get references to those entities in Python and objects will be constructed to help you interface with them.

How it works

Each function in the library is a wrapper to make an API call to the application. Objects retrieved through function calls will often not contain any data themselves, but will instead be proxies, allowing you to get information from the objects in the application. For this reason, debugging will sometimes be tricky, as not all data will always be available for you to inspect unless you get it and assign it to a variable yourself.

Warnings

References can be invalidated whenever the corresponding object in the application is destroyed or reloaded. You will need to watch out for expired references and renew them when needed as it can cause crashes or incorrect results if not managed properly.

Exposed Functionality

The library exposes a focused set of RSSeismic workflows through Python. In this version you can:

  • Application connection: Launch RSSeismic with the scripting server (startApplication), connect on a port, ping, open .rsseismicfile projects, create blank projects, adjust maxConcurrentAnalyses, run batch compute across many project files, and close the client connection.

  • Project lifecycle (Model): Save, save as, close, run compute (with optional timeout and partial-success handling), clear results, and automatic profile generate / reset when that feature is enabled on the project.

  • Profiles (model.Profiles): List, create, copy, delete, and rename profiles; active profile; list soil layers and bedrock; output depths; get SoilLayer / BedrockLayer property proxies.

  • Profile layer CRUD (model.SoilLayers): Insert, append, delete, duplicate, and move soil layers on the active profile.

  • Mean profile (model.MeanProfile): Structure CRUD on the automatic-generation template; MeanProfileSoilLayer properties including vary-with-depth shear wave / shear strength tables and ReferenceCurve (without auto-generate on template layers).

  • Profile generation settings (model.ProfileGenerationSettings): Typed getters/setters for randomization, profile count, and related generation parameters.

  • Project settings (model.ProjectSettings): Typed project properties (analysis mode, solver, motions configuration, automatic profile generation, etc.), plus unit system get/change.

  • Ground motions (model.Motions): Motion directory preferences (add/remove/list), refresh project motion list, uni-directional motion list/selection or bi-directional pair list/selection, select-all and per-directory select/deselect.

  • Layer properties: SoilLayer (thickness, soil model, unit weight, …), ReferenceCurve (curve model, points, generate reference curve on profile layers), SoilLayerCurve (dynamics, discrete points, curve fit via FittingProcedureModel), BedrockLayer on realized profiles.

  • Results (model.Results): Result paths and database metadata; compute-aligned motion/layer discovery; pandas DataFrames for profile/layer time histories, profile summaries, result series (ResultSeriesKind), strain convergence, and real-time displacement; bulk fetch helpers for many motions/layers.

  • Public types and enums: Summary dataclasses (ProfileSummary, MotionInfo, ResultDatabaseInfo, …), ResultSeriesKind, ResultMotionType, UnitSystem, and property enums under rsseismic.enums (for example SoilModel, AnalysisMode, InputMotionConfiguration, FittingProcedureModel).

RPC failures raise ScriptingError. Some successful RPCs carry advisory text in errorMessage; the client logs those as warnings (for example duplicate motion directory add).

For method-level detail, use the Scripting reference manual (API reference and example scripts).

Getting Started

Metadata

Release files for RSSeismicScripting 3.0.0

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

Source distribution (sdist)

Source distribution for RSSeismicScripting 3.0.0
File Size Uploaded Provenance
rsseismicscripting-3.0.0.tar.gz 101.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for RSSeismicScripting 3.0.0
File Interpreter ABI Platform
rsseismicscripting-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 222.2 kB

Release files / rsseismicscripting-3.0.0.tar.gz

Download URL rsseismicscripting-3.0.0.tar.gz
Size 101.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4122c4c082b9cd1486de6fbc3f2a67effef3f9e935fb7bd27bd443f0347fbfc1
BLAKE2b-256 checksum
How to use checksums
8049d6e065b27507ee314ec5dd5ec938f90867f101c04fe066ce0d21b31e21a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.0

Release files / rsseismicscripting-3.0.0-py3-none-any.whl

Download URL rsseismicscripting-3.0.0-py3-none-any.whl
Size 120.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
790dedbbd5c000d2cb8624c13adf727f10f32d89e10a443e0c1d600508f105fb
BLAKE2b-256 checksum
How to use checksums
7e9702b563ed91e68a12394ecc73e83e5c9ac3fc3db4a83d88f0bec02fc0f00a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.0

Security for RSSeismicScripting 3.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files No provenance

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