Skip to main content

Python Client for the JOC Cockpit REST API

Project description

JS7 Python Client

PyPI version Python versions

The JS7 Python Client provides methods for accessing the JS7 JOC Cockpit REST API. It offers functionality similar to the JS7 Unix CLI: JS7 Unix CLI.

Requirements

  • Python version 3.8 or later
  • A JS7 installation with version 2.6.5–2.8.3
  • A Java JVM version 17 or later for encryption and decryption functionality

Installation

pip install js7-client-python

Quick Start

The following example shows how to create a client instance and perform an operation.

Note: Additional examples showing how the client can be used can be found in the ./example directory of this repository.

Client Initialization

Client initialization begins with configuring the JOC Cockpit API endpoint and the user’s credentials.

import js7

client = js7.Client(
    http_config=js7.model.HTTPConfiguration(
        host="192.168.1.14",
        port=4443
    ),
    auth_config=js7.model.AuthConfiguration(
        basic_auth=js7.model.BasicAuth(
            username="root",
            password="changeit"
        )
    )
)

SSL and Certificate-Based Authentication

The code snippet above shows authentication using Basic Auth. However, the JS7 Python Client also supports certificate-based authentication and client certificates for HTTPS connections.

client = js7.Client(
    http_config=js7.model.HTTPConfiguration(
        host="192.168.1.14",
        port=4446,
        ssl=True,
        cafile_path="./certificate.crt"
    ),
    auth_config=js7.model.AuthConfiguration(
        cert_auth=js7.model.CertAuth(
            certfile_path="./client.crt",
            keyfile_path="./client.key"
        )
    )
)

Import Inventory Configurations

A common use case is importing inventory configurations into JS7 JOC Cockpit. We use the previously created client instance to import configurations.

ok = client.inventory.manage.import_configurations(
    file_path="/path/to/file/or/folder",
    inventory_target_folder="/test-folder"
)

print(f"Operation successful: {ok}")

Namespaces

The Client class follows the domains of the JS7 JOC Cockpit REST API, but groups its methods into three namespaces:

  • Manage: Used to manage configurations and resources, such as importing, updating, or removing them.
  • Operate: Used to control runtime behavior, such as resuming a workflow or canceling an order.
  • Deploy: Used to deploy configurations, such as workflows.

Resources

Project details


Download files

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

Source Distribution

js7_client_python-2.0.12.tar.gz (16.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

js7_client_python-2.0.12-py3-none-any.whl (16.8 MB view details)

Uploaded Python 3

File details

Details for the file js7_client_python-2.0.12.tar.gz.

File metadata

  • Download URL: js7_client_python-2.0.12.tar.gz
  • Upload date:
  • Size: 16.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for js7_client_python-2.0.12.tar.gz
Algorithm Hash digest
SHA256 c4a2de3ac7c234b55b8e1681d48e5a6aa621b173b8996b4d1a4c89f23e74f295
MD5 4be4bd36e4778cbd1e5c4d77fe2d0a44
BLAKE2b-256 4727a31f566ff8049563d1f541b1194663292a81fab48dec94bafba89a6f64b5

See more details on using hashes here.

File details

Details for the file js7_client_python-2.0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for js7_client_python-2.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 a9dba75b96845129216f757a284287ec7ca8d1faf1bf56409781b3c5f1b3907c
MD5 2ed8fb53ce0446205fdf9ed33814edf1
BLAKE2b-256 946cc042eff3e7cecef7fa6abd4c9aa8da6d79ea6f8cab2d08c1de1efbfc8ff8

See more details on using hashes here.

Supported by

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