# esnet-iri

A simple implementation of the IRI facility API using python and the fastApi library.

For more information, see: [https://iri.science/](https://iri.science/)

<img src=\"https://iri.science/images/doe-icon-old.png\" height=50 />


This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) 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://es.net/](https://es.net/)

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

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

```sh
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:
```python
import esnet_iri
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import esnet_iri
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import esnet_iri
from esnet_iri.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://iri-dev.ppg.es.net
# See configuration.py for a list of all supported configuration parameters.
configuration = esnet_iri.Configuration(
    host = "https://iri-dev.ppg.es.net"
)



# Enter a context with an instance of the API client
with esnet_iri.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = esnet_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://iri-dev.ppg.es.net*

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


## Documentation For Models

 - [AllocationEntry](docs/AllocationEntry.md)
 - [AllocationUnit](docs/AllocationUnit.md)
 - [Capability](docs/Capability.md)
 - [CompressionType](docs/CompressionType.md)
 - [Container](docs/Container.md)
 - [Event](docs/Event.md)
 - [Facility](docs/Facility.md)
 - [Incident](docs/Incident.md)
 - [IncidentType](docs/IncidentType.md)
 - [Job](docs/Job.md)
 - [JobAttributes](docs/JobAttributes.md)
 - [JobSpecInput](docs/JobSpecInput.md)
 - [JobSpecOutput](docs/JobSpecOutput.md)
 - [JobState](docs/JobState.md)
 - [JobStatus](docs/JobStatus.md)
 - [PostCompressRequest](docs/PostCompressRequest.md)
 - [PostCopyRequest](docs/PostCopyRequest.md)
 - [PostExtractRequest](docs/PostExtractRequest.md)
 - [PostFileSymlinkRequest](docs/PostFileSymlinkRequest.md)
 - [PostMakeDirRequest](docs/PostMakeDirRequest.md)
 - [PostMoveRequest](docs/PostMoveRequest.md)
 - [Problem](docs/Problem.md)
 - [Project](docs/Project.md)
 - [ProjectAllocation](docs/ProjectAllocation.md)
 - [PutFileChmodRequest](docs/PutFileChmodRequest.md)
 - [PutFileChownRequest](docs/PutFileChownRequest.md)
 - [Resolution](docs/Resolution.md)
 - [Resource](docs/Resource.md)
 - [ResourceSpec](docs/ResourceSpec.md)
 - [ResourceType](docs/ResourceType.md)
 - [Site](docs/Site.md)
 - [Status](docs/Status.md)
 - [Task](docs/Task.md)
 - [TaskCommand](docs/TaskCommand.md)
 - [TaskStatus](docs/TaskStatus.md)
 - [TaskSubmitResponse](docs/TaskSubmitResponse.md)
 - [UserAllocation](docs/UserAllocation.md)
 - [VolumeMount](docs/VolumeMount.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="HTTPBearer"></a>
### HTTPBearer

- **Type**: Bearer authentication


## Author




