Skip to main content

NERSC implementation of the IRI api

Project description

nersc-iri

IRI facility API for NERSC.

For more information, see: https://iri.science/

<img src="https://iri.science/images/doe-icon-old.png\" height=50 /> <img src="https://www.nersc.gov/_resources/themes/nersc/images/NERSC_logo_no_spacing.svg\" height=50 />

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Generator version: 7.19.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://www.nersc.gov/about/contact-us/

Requirements.

Python 3.9+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import nersc_iri

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import nersc_iri

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import nersc_iri
from nersc_iri.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.iri.nersc.gov
# See configuration.py for a list of all supported configuration parameters.
configuration = nersc_iri.Configuration(
    host = "https://api.iri.nersc.gov"
)



# Enter a context with an instance of the API client
with nersc_iri.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = nersc_iri.AccountApi(api_client)
    name = 'name_example' # str |  (optional)
    modified_since = '2026-02-21T12:00:00Z' # datetime |  (optional)
    offset = 0 # int |  (optional) (default to 0)
    limit = 100 # int |  (optional) (default to 100)

    try:
        # Get the list of capabilities
        api_response = api_instance.get_capabilities(name=name, modified_since=modified_since, offset=offset, limit=limit)
        print("The response of AccountApi->get_capabilities:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AccountApi->get_capabilities: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.iri.nersc.gov

Class Method HTTP request Description
AccountApi get_capabilities GET /api/v1/account/capabilities Get the list of capabilities
AccountApi get_capability GET /api/v1/account/capabilities/{capability_id} Get a single capability
AccountApi get_project GET /api/v1/account/projects/{project_id} Get a single project
AccountApi get_project_allocation_by_project GET /api/v1/account/projects/{project_id}/project_allocations/{project_allocation_id} Get a single project allocation
AccountApi get_project_allocations_by_project GET /api/v1/account/projects/{project_id}/project_allocations Get the allocations of the current user's projects
AccountApi get_projects GET /api/v1/account/projects Get the projects of the current user
AccountApi get_user_allocation_by_project_allocation GET /api/v1/account/projects/{project_id}/project_allocations/{project_allocation_id}/user_allocations/{user_allocation_id} Get a user allocation of the current user's projects
AccountApi get_user_allocations_by_project_allocation GET /api/v1/account/projects/{project_id}/project_allocations/{project_allocation_id}/user_allocations Get the user allocations of the current user's projects
ComputeApi cancel_job DELETE /api/v1/compute/cancel/{resource_id}/{job_id} Cancel Job
ComputeApi get_job GET /api/v1/compute/status/{resource_id}/{job_id} Get Job Status
ComputeApi get_jobs POST /api/v1/compute/status/{resource_id} Get Job Statuses
ComputeApi launch_job POST /api/v1/compute/job/{resource_id} Submit Job
ComputeApi update_job PUT /api/v1/compute/job/{resource_id}/{job_id} Update Job
FacilityApi get_facility GET /api/v1/facility Get Facility
FacilityApi get_site GET /api/v1/facility/sites/{site_id} Get Site
FacilityApi get_sites GET /api/v1/facility/sites List Sites
FilesystemApi checksum GET /api/v1/filesystem/checksum/{resource_id} Get Checksum
FilesystemApi chmod PUT /api/v1/filesystem/chmod/{resource_id} Put Chmod
FilesystemApi chown PUT /api/v1/filesystem/chown/{resource_id} Put Chown
FilesystemApi compress POST /api/v1/filesystem/compress/{resource_id} Post Compress
FilesystemApi cp POST /api/v1/filesystem/cp/{resource_id} Post Cp
FilesystemApi download GET /api/v1/filesystem/download/{resource_id} Get Download
FilesystemApi extract POST /api/v1/filesystem/extract/{resource_id} Post Extract
FilesystemApi file GET /api/v1/filesystem/file/{resource_id} Get File
FilesystemApi head GET /api/v1/filesystem/head/{resource_id} Get Head
FilesystemApi ls GET /api/v1/filesystem/ls/{resource_id} Get Ls Async
FilesystemApi mkdir POST /api/v1/filesystem/mkdir/{resource_id} Post Mkdir
FilesystemApi mv POST /api/v1/filesystem/mv/{resource_id} Move Mv
FilesystemApi rm DELETE /api/v1/filesystem/rm/{resource_id} Delete Rm
FilesystemApi stat GET /api/v1/filesystem/stat/{resource_id} Get Stat
FilesystemApi symlink POST /api/v1/filesystem/symlink/{resource_id} Post Symlink
FilesystemApi tail GET /api/v1/filesystem/tail/{resource_id} Get Tail
FilesystemApi upload POST /api/v1/filesystem/upload/{resource_id} Post Upload
FilesystemApi view GET /api/v1/filesystem/view/{resource_id} Get View
StatusApi get_event_by_incident GET /api/v1/status/events/{event_id} Get a specific event
StatusApi get_events_by_incident GET /api/v1/status/events Get all events
StatusApi get_incident GET /api/v1/status/incidents/{incident_id} Get a specific incident and its events
StatusApi get_incidents GET /api/v1/status/incidents Get all incidents without their events
StatusApi get_resource GET /api/v1/status/resources/{resource_id} Get a specific resource
StatusApi get_resources GET /api/v1/status/resources Get all resources
TaskApi delete_task DELETE /api/v1/task/{task_id} Delete Task
TaskApi get_task GET /api/v1/task/{task_id} Get Task
TaskApi get_tasks GET /api/v1/task Get Tasks

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

HTTPBearer

  • Type: Bearer authentication

Author

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

nersc_iri-1.0.0.post3.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

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

nersc_iri-1.0.0.post3-py3-none-any.whl (107.3 kB view details)

Uploaded Python 3

File details

Details for the file nersc_iri-1.0.0.post3.tar.gz.

File metadata

  • Download URL: nersc_iri-1.0.0.post3.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for nersc_iri-1.0.0.post3.tar.gz
Algorithm Hash digest
SHA256 f0b5c16e1976777c93fcb7da7412107158165c21c8b526779c82529f86991cb6
MD5 a9aa0d9441c35862aab8b56478974488
BLAKE2b-256 45d30f3318bebf05b9e8090b51032ff9225970fbdebd3f2cccd4e2029680e52f

See more details on using hashes here.

File details

Details for the file nersc_iri-1.0.0.post3-py3-none-any.whl.

File metadata

  • Download URL: nersc_iri-1.0.0.post3-py3-none-any.whl
  • Upload date:
  • Size: 107.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for nersc_iri-1.0.0.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 37667edbe8cd4104145aafcdb13e318c3588522ce291c6845972bff0904c5353
MD5 1634d70bfabd940201f4d07c107db04f
BLAKE2b-256 5a6ce2e77984d08b29bbdfeddeb3386d520f977d555c7609cb53029945770258

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