Python Client for the JOC Cockpit REST API
Project description
JS7 Python Client
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file js7_client_python-2.0.11.tar.gz.
File metadata
- Download URL: js7_client_python-2.0.11.tar.gz
- Upload date:
- Size: 16.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78bc7b0c1ce1df3757135c1a554b8805a9778ba8271cb4bfde353f4a5bd004b4
|
|
| MD5 |
2a7a0b783020a793282f4767759b99c2
|
|
| BLAKE2b-256 |
91f56de68af0c556a88cf11933c312eb8c53fbd2f6a8e4b89d536f553f3d74e2
|
File details
Details for the file js7_client_python-2.0.11-py3-none-any.whl.
File metadata
- Download URL: js7_client_python-2.0.11-py3-none-any.whl
- Upload date:
- Size: 16.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36f05906a9402c1e11be8879fa951332c33700da6212a4fd044212c59f94ce8c
|
|
| MD5 |
e3f36c954a02fc42b66f492103eb413a
|
|
| BLAKE2b-256 |
ce064e56ebf0a162e8d406aa7f80ee9100c3e06d7562b1052e2a6120f6dfc22b
|