{"id":34984165,"url":"https://github.com/erdc/pyuit","last_synced_at":"2025-12-27T01:23:50.170Z","repository":{"id":34371914,"uuid":"168219244","full_name":"erdc/pyuit","owner":"erdc","description":"Python module for creating PBS scripts and interacting with the UIT Plus web service","archived":false,"fork":false,"pushed_at":"2025-06-09T22:21:21.000Z","size":400,"stargazers_count":3,"open_issues_count":15,"forks_count":3,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-09T23:26:52.119Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erdc.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-01-29T19:59:12.000Z","updated_at":"2025-06-09T22:20:51.000Z","dependencies_parsed_at":"2023-10-20T19:42:33.219Z","dependency_job_id":"211d6ec2-6ac1-4624-922d-34d4ae4d389e","html_url":"https://github.com/erdc/pyuit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/erdc/pyuit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdc%2Fpyuit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdc%2Fpyuit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdc%2Fpyuit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdc%2Fpyuit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erdc","download_url":"https://codeload.github.com/erdc/pyuit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdc%2Fpyuit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28067555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-26T02:00:06.189Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-27T01:23:49.373Z","updated_at":"2025-12-27T01:23:50.153Z","avatar_url":"https://github.com/erdc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=====\nPyUIT\n=====\n\n\n.. image:: https://img.shields.io/travis/erdc/pyuit.svg\n        :target: https://travis-ci.com/erdc/pyuit\n\n\nPython wrapper for DoD HPCMP UIT+ REST interface\n\n**INSTALL**\n\nconda install::\n\n    conda install -c erdc/label/dev -c conda-forge pyuit\n\ndevelopment install::\n\n    git clone https://github.com/erdc/pyuit.git\n    cd pyuit\n    conda env create -f environment.yml\n    conda activate uit\n    pip install -e .\n\n\n**CONFIGURE**\n\nFor PyUIT to communicate with the UITP+ REST API you must first register a client application on the `UIT+ site \u003chttps://www.uitplus.hpc.mil/uapi/dash_clients\u003e`_ (refer to the `UIT+ docs \u003chttps://www.uitplus.hpc.mil/files/README.pdf\u003e`_ for more details). When registering the client application you should select `Web Application` for \"Client Type\", and use the following URL as the \"Return URL\"::\n\n  http://localhost:5000/save_token\n\nOnce you have registered a client application you should have a ``Client ID`` and a ``Client Secret``. You need to use these two keys to configure PyUIT locally.\n\nThere are three ways that you can configure PyUIT to use the ``Client ID`` and the ``Client Secret``. PyUIT search for these keys in this order:\n\n1. Pass in the keys using the ``client_id`` and ``client_secret`` key word arguments to the ``Client`` constructor\n\n::\n\n  from uit import Client\n\n  c = Client(client_id='\u003cYOUR_CLIENT_ID\u003e', client_secret='\u003cYOUR_CLIENT_SECRET\u003e')\n\n2. Set the ``UIT_ID`` and ``UIT_SECRET`` environmental variables\n\nIf the ``client_id`` or the ``client_secret`` are not passed into the ``Client`` when it is instantiated, then it will next look for those values from environmental variables. On UNIX systems you can set the environmental variables as follows::\n\n  export UIT_ID=\"\u003cYOUR_CLIENT_ID\u003e\"\n  export UIT_SECRET=\"\u003cYOUR_CLIENT_SECRET\u003e\"\n\n3. Store the keys in a :file:`~/.uit` configuration file\n\nIf the ``Client`` does not receive they ``Client ID`` and ``Client Secret`` keys from either the key word arguments or environmental variables it will finally look in a configuration file. By default it will look for a configuration file in the user's home directory called :file:`.uit`. The file should look like this::\n\n  client_id: \u003cYOUR_CLIENT_ID\u003e\n  client_secret: \u003cYOUR_CLIENT_SECRET\u003e\n\nIf you have a configuration file located somewhere other than :file:`~/.uit` then you either need to specify the path in the `UIT_CONFIG_FILE` environment variable or pass the path to the file into the ``Client`` constructor::\n\n  export UIT_CONFIG_FILE=\"/path/to/your/uit/config/file\"\n  c = Client(config_file=\"/path/to/your/uit/config/file\")\n\nPyUIT comes with a default specification of the nodes types for the DSRC HPC systems which should work in most situations. In the rare event that the default is not sufficient, it can be overridden by specifying a custom file in the :file:`~/.uit` configuration file or by defining a `UIT_NODE_TYPES_FILE` environment variable::\n\n  node_types_file: /path/to/your/node_types/file\n  export UIT_NODE_TYPES_FILE=\"/path/to/your/node_types/file\"\n\nThe file should be a CSV file with a header row specifying the system and then the node types and value rows specifying the system and then number of cores on each node type. For example::\n\n  system,compute,gpu,bigmem,transfer,mla,highclock\n  nautilus,128,128,128,1,128,32\n\nThe ``dodcerts`` library is used to provide the default Certificate Authority bundle. If a custom certificate bundle file is required it can be specified in the :file:`~/.uit` configuration file or by using the ``UIT_CA_FILE`` environment variable. It can also be passed into the ``Client`` constructor::\n\n  ca_file: /path/to/custom/dod/ca/bundle\n  export UIT_CA_FILE=\"/path/to/custom/dod/ca/bundle\"\n  c = Client(ca_file=\"/path/to/custom/dod/ca/bundle\")\n\n**CONDA BUILD**\n\nconda build -c erdc -c conda-forge conda.recipe","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdc%2Fpyuit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferdc%2Fpyuit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdc%2Fpyuit/lists"}