Skip to main content

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:

  1. Make sure that all relevant merge requests and commits have been merged to the main and/or poc-release branch.
  2. Run git checkout main or git checkout poc-release to switch to the release branch.
  3. Run git pull origin main or git pull origin poc-release to pull all latest changes.
  4. Run git tag <new_version> where <new_version> is the new version number.
  5. Run git push origin <new_version> to push the tag to Github.
  6. Check Github to confirm the release is processed without errors.
  7. 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)

Source distribution for nwnsdk 0.0.12
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)

Table of built distributions (wheels) for nwnsdk 0.0.12
File Interpreter ABI Platform Actions
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.

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