Compute engine sdk python
Nieuwe Warmte Nu
Usage
Install in development mode, in root directory:
pip install -e .
or install from pypi:
pip install nwnsdk
For testing locally with RabbitMQ and Postgres on docker desktop clone https://github.com/Nieuwe-Warmte-Nu/computation-engine, copy .env-template to .env and in the root directory:
docker-compose up
Example usage
from uuid import uuid4
from nwnsdk import NwnClient, WorkFlowType, PostgresConfig, RabbitmqConfig
postgres_config = PostgresConfig(
"localhost",
5432,
"nieuwewarmtenu",
"root",
"1234",
)
rabbitmq_config = RabbitmqConfig(
"localhost",
5672,
"nwn",
"root",
"5678",
)
nwn_client = NwnClient(postgres_config, rabbitmq_config)
try:
nwn_client.connect()
job_id1: uuid4 = nwn_client.start_work_flow(
WorkFlowType.GROW_OPTIMIZER, "test_job1", "esdl_string", "test_user1", "test_proj"
)
job_id2: uuid4 = nwn_client.start_work_flow(
WorkFlowType.GROW_OPTIMIZER, "test_job2", "esdl_string", "test_user2", "test_proj"
)
print(job_id1)
job1_input_esdl = nwn_client.get_job_input_esdl(job_id1)
print(f"===== job1 input ESDL: {job1_input_esdl}")
job1_status = nwn_client.get_job_status(job_id1)
print(f"===== job1 status: {job1_status}")
job1 = nwn_client.get_job_details(job_id1)
print(f"===== {job1.job_name} input esdl: {job1.input_esdl}")
jobs_all = nwn_client.get_all_jobs()
print(f"===== {jobs_all[1].job_name} added at: {jobs_all[1].added_at}")
jobs_from_ids = nwn_client.get_jobs_from_ids([job_id1, job_id2])
print(f"===== {jobs_from_ids[1].job_name} added at: {jobs_from_ids[1].added_at}")
jobs_from_user = nwn_client.get_jobs_from_user("test_user1")
print(f"===== Jobs from test_user1 added at: {','.join([str(job.added_at) for job in jobs_from_user])}")
jobs_from_project = nwn_client.get_jobs_from_project("test_proj")
print(f"===== Jobs from test_proj added at: {','.join([str(job.added_at) for job in jobs_from_project])}")
print(f"===== Deleted job with id '{job_id1}': {nwn_client.delete_job(job_id1)}")
finally:
nwn_client.stop()
Release
This package is released on pypi here whenever a new tag is pushed. In order to release this package:
- Make sure that all relevant merge requests and commits have been merged to the main and/or poc-release branch.
- Run
git checkout mainorgit checkout poc-releaseto switch to the release branch. - Run
git pull origin mainorgit pull origin poc-releaseto pull all latest changes. - Run
git tag <new_version>where<new_version>is the new version number. - Run
git push origin <new_version>to push the tag to Github. - Check Github to confirm the release is processed without errors.
- Once the release has finished, confirm the new version is available on pypi.
Metadata
Release files for nwnsdk 0.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nwnsdk-0.0.12.tar.gz | 21.1 kB | Without provenance | Details for nwnsdk-0.0.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nwnsdk-0.0.12-py3-none-any.whl | Python 3 | none | any | Details for nwnsdk-0.0.12-py3-none-any.whl |
Total release size: 43.1 kB
Release files / nwnsdk-0.0.12.tar.gz
| Download URL | nwnsdk-0.0.12.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ab5a102755400ac64e25a237456e3b0d1dfbf6e8b724a2c5902439c20422f90
|
|
BLAKE2b-256 checksum How to use checksums |
36a6f4f7ad4d307fd17af84bd8696f1638dd993841bee8791f15226ed5c0ad8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / nwnsdk-0.0.12-py3-none-any.whl
| Download URL | nwnsdk-0.0.12-py3-none-any.whl |
|---|---|
| Size | 22.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2276d7617a9cbabf1eea4b4c28f6c574277fecf6df3e60eef278bcb661c10993
|
|
BLAKE2b-256 checksum How to use checksums |
8f07fd2dfebdbe1b97df0059fb9b1129f9a25455bb864d631878074ef1d42441
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Security for nwnsdk 0.0.12
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.