{"action":"created","comment":{"url":"https://api.github.com/repos/IBM/CAST/pulls/comments/219311528","pull_request_review_id":157458669,"id":219311528,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxOTMxMTUyOA==","diff_hunk":"@@ -0,0 +1,206 @@\n+# CSM API Python Bindings Guide\n+\n+## Tables of Contents:\n+1. [About](#about)\n+1. [User Notes](#user-notes)\n+1. [Importing](#importing)\n+1. [Connection to CSM](#connection-to-csm)\n+1. [Accessing the CSM API](#accessing-the-csm-api)\n+1. [Cleaning Up and Closing Connection to CSM](#cleaning-up-and-closing-connection-to-csm)\n+1. [Conclusion](#conclusion)\n+1. [FAQ - Frequently Asked Questions](#faq---frequently-asked-questions)\n+   1. [How do I access and set arrays in the CSM Python library?](#how-do-i-access-and-set-arrays-in-the-csm-python-library)\n+\n+## About\n+The CSM API Python Bindings library works similar to other C Python binding libraries. CSM APIs can be accessed in Python because they are bound to C via Boost. More technical details can be found here: https://wiki.python.org/moin/boost.python/GettingStarted but understanding all of this is not required to use CSM APIs in Python. This guide provides a central location for users looking to utilize CSM APIs via Python. If you believe this guide to be incomplete, then please make a pull request with your additional content. \n+\n+## User Notes\n+Accessing CSM APIs in Python is very similar to accessing them in C. If you are familiar with the process, then you are already in a good position. If not, then the CSM API team suggest reading up on some CSM API documentation and guides. \n+\n+## Importing\n+Before writing your script and accessing CSM APIs, you must first import the CSM library into your script. \n+\n+```Python\n+\n+import sys\n+sys.path.append('.')\n+\n+#add the python library to the path \n+sys.path.append('/u/nbuonar/repos/CAST/work/csm/lib')\n+\n+# eventually append the path as part of an rpm install \n+\n+import lib_csm_py as csm\n+import lib_csm_inv_py as inv\n+```\n+\n+*ToDo:* \n+* The above import path: `'/u/nbuonar/repos/CAST/work/csm/lib'` is user relative. This should be replaces with the RPM install location when CSM determines where this libary is shipped. \n+\n+First you should say where the library is located. Which is what we did above in the first section.\n+```Python\n+\n+import sys\n+sys.path.append('.')\n+\n+#add the python library to the path \n+sys.path.append('/u/nbuonar/repos/CAST/work/csm/lib')\n+```\n+\n+Second, you should import the main CSM library `lib_csm_py`. We did this and then nicknamed it `csm` for ease of use later in our script. \n+\n+```Python\n+import lib_csm_py as csm\n+```\n+\n+Then, you should import any appropriate sub libraries for the CSM APIs that you will be using. If you want workload manager APIs such as `csm_allocation_query` then import the workload manager library `lib_csm_wm_py`. If you want inventory APIs, such as `csm_node_attributes_update`, then import the inventory library `lib_csm_inv_py`. Look at CSM API documentation for a full list of all CSM API libraries. \n+\n+For my example, I have imported the inventory library and nicknamed it `inv` for ease of use later.\n+```Python\n+import lib_csm_inv_py as inv\n+```\n+\n+\n+## Connection to CSM\n+\n+At this point, a Python script can connect to CSM the same way a user would connect to CSM in the C language. You must connect to CSM by running the CSM init function before calling any CSM APIs. This init function is located in the main CSM library we imported earlier. \n+\n+In Python, we do this below:\n+```Python\n+csm.init_lib()\n+```\n+\n+Just like in C, this function takes care of connecting to CSM.\n+\n+## Accessing the CSM API\n+\n+Below I have some code from an example script of setting a node to `IN_SERVICE` via `csm_node_attributes_update`\n+\n+```Python\n+input = inv.node_attributes_update_input_t()\n+nodes=[\"allie\",\"node_01\",\"bobby\"]\n+input.set_node_names(nodes)\n+input.state = csm.csmi_node_state_t.CSM_NODE_IN_SERVICE\n+\n+rc,handler,output = inv.node_attributes_update(input)\n+\n+print rc \n+\n+if rc == csm.csmi_cmd_err_t.CSMERR_UPDATE_MISMATCH:\n+    print output.failure_count\n+    for i in range(0, output.failure_count):\n+        print output.get_failure_node_names(i)\n+```\n+\n+Let's break down some important lines here for first time users of the CSM Python library. \n+\n+```Python\n+input = inv.node_attributes_update_input_t()\n+```\n+\n+Here we are doing a few things. Just like in C, before we call the API we need to set up the input for the API. We do this on this line. Because this is an inventory API, we can find its input struct in the inventory library we imported earlier via `inv`, and we create this as `input`. \n+\n+We now fill `input`. \n+\n+When using the CSM Python library arrays must be `set` and `get`. \n+\n+```Python\n+nodes=[\"allie\",\"node_01\",\"bobby\"]\n+input.set_node_names(nodes)\n+input.state = csm.csmi_node_state_t.CSM_NODE_IN_SERVICE\n+```\n+\n+First we create an awway in Python. `nodes=[\"allie\",\"node_01\",\"bobby\"]` Then we use the CSM Python library function `set_ARRAYNAME(array)` to set the `node_names` field of `input`. We do not need to set `node_names_count` like we do in C. the `set_` function will take care of that for you. Finally, we call `input.state = csm.csmi_node_state_t.CSM_NODE_IN_SERVICE` to set the state field of input to `IN_SERVICE`. This will tell CSM to set these 3 nodes to `IN_SERVICE`.\n+\n+In the next line of code we call the csm API passing in the input we just populated. \n+\n+```Python\n+rc,handler,output = inv.node_attributes_update(input)\n+```\n+\n+Our CSM library returns 3 values. \n+* A return code - Here defined as `rc`. This is the same as the return code found in the C version of the API.\n+* A handler - ","path":"csmi/python_samples/guide.md","position":null,"original_position":123,"commit_id":"2dd75363f95d2e5ca9fe1ad4eb188bd60687e00a","original_commit_id":"ba028d6a73589bf9bc6a68112b5ecc5d20f64ff0","user":{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false},"body":"addressed in: \r\ne5ab4f6 ","created_at":"2018-09-20T20:44:24Z","updated_at":"2018-09-20T20:44:24Z","html_url":"https://github.com/IBM/CAST/pull/264#discussion_r219311528","pull_request_url":"https://api.github.com/repos/IBM/CAST/pulls/264","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/IBM/CAST/pulls/comments/219311528"},"html":{"href":"https://github.com/IBM/CAST/pull/264#discussion_r219311528"},"pull_request":{"href":"https://api.github.com/repos/IBM/CAST/pulls/264"}},"in_reply_to_id":219222444},"pull_request":{"url":"https://api.github.com/repos/IBM/CAST/pulls/264","id":216722088,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2NzIyMDg4","html_url":"https://github.com/IBM/CAST/pull/264","diff_url":"https://github.com/IBM/CAST/pull/264.diff","patch_url":"https://github.com/IBM/CAST/pull/264.patch","issue_url":"https://api.github.com/repos/IBM/CAST/issues/264","number":264,"state":"open","locked":false,"title":"Research/csm python apis","user":{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false},"body":"# CSM APIs Python library Guide\r\n\r\n## Purpose\r\n- give our users more guidance on how to use CSM APIs through python. \r\n- addresses issue: https://github.com/IBM/CAST/issues/238\r\n- addresses issue: https://github.com/NickyDaB/CAST/issues/14\r\n\r\n## Approach\r\n- This pull request gives our user base a short and direct guide on how to use the CSM API python library. \r\n- Adds in some more samples.\r\n\r\n#### Open Questions and Pre-Merge TODOs\r\n- [ ] In a future CSM release, we plan to make 1-1 matches of CSM API binaries with python scripts to further show examples of CSM APIs in Python. \r\n\r\n## How to Test\r\n\r\n1. Is this guide straight forward?\r\n1. Is it understandable?\r\n1. Can you write a small script in python that uses the csm library? \r\n\r\n","created_at":"2018-09-19T17:44:25Z","updated_at":"2018-09-20T20:44:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"658b54ad6b0bf27f70ccc9cbdd82996be25aad83","assignee":{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false},"assignees":[{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"pdlun92","id":8116711,"node_id":"MDQ6VXNlcjgxMTY3MTE=","avatar_url":"https://avatars3.githubusercontent.com/u/8116711?v=4","gravatar_id":"","url":"https://api.github.com/users/pdlun92","html_url":"https://github.com/pdlun92","followers_url":"https://api.github.com/users/pdlun92/followers","following_url":"https://api.github.com/users/pdlun92/following{/other_user}","gists_url":"https://api.github.com/users/pdlun92/gists{/gist_id}","starred_url":"https://api.github.com/users/pdlun92/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pdlun92/subscriptions","organizations_url":"https://api.github.com/users/pdlun92/orgs","repos_url":"https://api.github.com/users/pdlun92/repos","events_url":"https://api.github.com/users/pdlun92/events{/privacy}","received_events_url":"https://api.github.com/users/pdlun92/received_events","type":"User","site_admin":false},{"login":"lasch","id":8330521,"node_id":"MDQ6VXNlcjgzMzA1MjE=","avatar_url":"https://avatars0.githubusercontent.com/u/8330521?v=4","gravatar_id":"","url":"https://api.github.com/users/lasch","html_url":"https://github.com/lasch","followers_url":"https://api.github.com/users/lasch/followers","following_url":"https://api.github.com/users/lasch/following{/other_user}","gists_url":"https://api.github.com/users/lasch/gists{/gist_id}","starred_url":"https://api.github.com/users/lasch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lasch/subscriptions","organizations_url":"https://api.github.com/users/lasch/orgs","repos_url":"https://api.github.com/users/lasch/repos","events_url":"https://api.github.com/users/lasch/events{/privacy}","received_events_url":"https://api.github.com/users/lasch/received_events","type":"User","site_admin":false},{"login":"besawn","id":38794505,"node_id":"MDQ6VXNlcjM4Nzk0NTA1","avatar_url":"https://avatars2.githubusercontent.com/u/38794505?v=4","gravatar_id":"","url":"https://api.github.com/users/besawn","html_url":"https://github.com/besawn","followers_url":"https://api.github.com/users/besawn/followers","following_url":"https://api.github.com/users/besawn/following{/other_user}","gists_url":"https://api.github.com/users/besawn/gists{/gist_id}","starred_url":"https://api.github.com/users/besawn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/besawn/subscriptions","organizations_url":"https://api.github.com/users/besawn/orgs","repos_url":"https://api.github.com/users/besawn/repos","events_url":"https://api.github.com/users/besawn/events{/privacy}","received_events_url":"https://api.github.com/users/besawn/received_events","type":"User","site_admin":false},{"login":"fpizzano","id":38796818,"node_id":"MDQ6VXNlcjM4Nzk2ODE4","avatar_url":"https://avatars3.githubusercontent.com/u/38796818?v=4","gravatar_id":"","url":"https://api.github.com/users/fpizzano","html_url":"https://github.com/fpizzano","followers_url":"https://api.github.com/users/fpizzano/followers","following_url":"https://api.github.com/users/fpizzano/following{/other_user}","gists_url":"https://api.github.com/users/fpizzano/gists{/gist_id}","starred_url":"https://api.github.com/users/fpizzano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fpizzano/subscriptions","organizations_url":"https://api.github.com/users/fpizzano/orgs","repos_url":"https://api.github.com/users/fpizzano/repos","events_url":"https://api.github.com/users/fpizzano/events{/privacy}","received_events_url":"https://api.github.com/users/fpizzano/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":905034050,"node_id":"MDU6TGFiZWw5MDUwMzQwNTA=","url":"https://api.github.com/repos/IBM/CAST/labels/Comp:%20CSM","name":"Comp: CSM","color":"ffff66","default":false},{"id":905029668,"node_id":"MDU6TGFiZWw5MDUwMjk2Njg=","url":"https://api.github.com/repos/IBM/CAST/labels/Comp:%20CSM.api","name":"Comp: CSM.api","color":"ffff66","default":false},{"id":907855727,"node_id":"MDU6TGFiZWw5MDc4NTU3Mjc=","url":"https://api.github.com/repos/IBM/CAST/labels/PhaseFound:%20Customer","name":"PhaseFound: Customer","color":"9966ff","default":false},{"id":907858453,"node_id":"MDU6TGFiZWw5MDc4NTg0NTM=","url":"https://api.github.com/repos/IBM/CAST/labels/Sev:%202","name":"Sev: 2","color":"ff3366","default":false},{"id":907864699,"node_id":"MDU6TGFiZWw5MDc4NjQ2OTk=","url":"https://api.github.com/repos/IBM/CAST/labels/Status:%20Open","name":"Status: Open","color":"99ccff","default":false},{"id":907867820,"node_id":"MDU6TGFiZWw5MDc4Njc4MjA=","url":"https://api.github.com/repos/IBM/CAST/labels/Type:%20Documentation","name":"Type: Documentation","color":"ccff33","default":false},{"id":907868132,"node_id":"MDU6TGFiZWw5MDc4NjgxMzI=","url":"https://api.github.com/repos/IBM/CAST/labels/Type:%20Epic","name":"Type: Epic","color":"ccff33","default":false},{"id":907868577,"node_id":"MDU6TGFiZWw5MDc4Njg1Nzc=","url":"https://api.github.com/repos/IBM/CAST/labels/Type:%20Example","name":"Type: Example","color":"ccff33","default":false}],"milestone":{"url":"https://api.github.com/repos/IBM/CAST/milestones/4","html_url":"https://github.com/IBM/CAST/milestone/4","labels_url":"https://api.github.com/repos/IBM/CAST/milestones/4/labels","id":3512803,"node_id":"MDk6TWlsZXN0b25lMzUxMjgwMw==","number":4,"title":"CSM 1.3.0 - Development Ends","description":"CSM 1.3.0 - Development Ends - Add an issue here if it is a development item that needs to be completed before we spin off the release candidate. At this date, we grab the \"working\" branch and spin up a candidate release for the test team. Test team will rigorously test this build as we prepare it for shipment to the labs.","creator":{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":16,"state":"open","created_at":"2018-07-20T19:58:38Z","updated_at":"2018-09-20T18:43:14Z","due_on":"2018-09-28T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/IBM/CAST/pulls/264/commits","review_comments_url":"https://api.github.com/repos/IBM/CAST/pulls/264/comments","review_comment_url":"https://api.github.com/repos/IBM/CAST/pulls/comments{/number}","comments_url":"https://api.github.com/repos/IBM/CAST/issues/264/comments","statuses_url":"https://api.github.com/repos/IBM/CAST/statuses/2dd75363f95d2e5ca9fe1ad4eb188bd60687e00a","head":{"label":"NickyDaB:research/csm_python_apis","ref":"research/csm_python_apis","sha":"2dd75363f95d2e5ca9fe1ad4eb188bd60687e00a","user":{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false},"repo":{"id":131635492,"node_id":"MDEwOlJlcG9zaXRvcnkxMzE2MzU0OTI=","name":"CAST","full_name":"NickyDaB/CAST","private":false,"owner":{"login":"NickyDaB","id":4662139,"node_id":"MDQ6VXNlcjQ2NjIxMzk=","avatar_url":"https://avatars2.githubusercontent.com/u/4662139?v=4","gravatar_id":"","url":"https://api.github.com/users/NickyDaB","html_url":"https://github.com/NickyDaB","followers_url":"https://api.github.com/users/NickyDaB/followers","following_url":"https://api.github.com/users/NickyDaB/following{/other_user}","gists_url":"https://api.github.com/users/NickyDaB/gists{/gist_id}","starred_url":"https://api.github.com/users/NickyDaB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickyDaB/subscriptions","organizations_url":"https://api.github.com/users/NickyDaB/orgs","repos_url":"https://api.github.com/users/NickyDaB/repos","events_url":"https://api.github.com/users/NickyDaB/events{/privacy}","received_events_url":"https://api.github.com/users/NickyDaB/received_events","type":"User","site_admin":false},"html_url":"https://github.com/NickyDaB/CAST","description":"CAST can enhance the system management of cluster-wide resources. It consists of the open source tools: cluster system management (CSM) and burst buffer.  ","fork":true,"url":"https://api.github.com/repos/NickyDaB/CAST","forks_url":"https://api.github.com/repos/NickyDaB/CAST/forks","keys_url":"https://api.github.com/repos/NickyDaB/CAST/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NickyDaB/CAST/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NickyDaB/CAST/teams","hooks_url":"https://api.github.com/repos/NickyDaB/CAST/hooks","issue_events_url":"https://api.github.com/repos/NickyDaB/CAST/issues/events{/number}","events_url":"https://api.github.com/repos/NickyDaB/CAST/events","assignees_url":"https://api.github.com/repos/NickyDaB/CAST/assignees{/user}","branches_url":"https://api.github.com/repos/NickyDaB/CAST/branches{/branch}","tags_url":"https://api.github.com/repos/NickyDaB/CAST/tags","blobs_url":"https://api.github.com/repos/NickyDaB/CAST/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NickyDaB/CAST/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NickyDaB/CAST/git/refs{/sha}","trees_url":"https://api.github.com/repos/NickyDaB/CAST/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NickyDaB/CAST/statuses/{sha}","languages_url":"https://api.github.com/repos/NickyDaB/CAST/languages","stargazers_url":"https://api.github.com/repos/NickyDaB/CAST/stargazers","contributors_url":"https://api.github.com/repos/NickyDaB/CAST/contributors","subscribers_url":"https://api.github.com/repos/NickyDaB/CAST/subscribers","subscription_url":"https://api.github.com/repos/NickyDaB/CAST/subscription","commits_url":"https://api.github.com/repos/NickyDaB/CAST/commits{/sha}","git_commits_url":"https://api.github.com/repos/NickyDaB/CAST/git/commits{/sha}","comments_url":"https://api.github.com/repos/NickyDaB/CAST/comments{/number}","issue_comment_url":"https://api.github.com/repos/NickyDaB/CAST/issues/comments{/number}","contents_url":"https://api.github.com/repos/NickyDaB/CAST/contents/{+path}","compare_url":"https://api.github.com/repos/NickyDaB/CAST/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NickyDaB/CAST/merges","archive_url":"https://api.github.com/repos/NickyDaB/CAST/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NickyDaB/CAST/downloads","issues_url":"https://api.github.com/repos/NickyDaB/CAST/issues{/number}","pulls_url":"https://api.github.com/repos/NickyDaB/CAST/pulls{/number}","milestones_url":"https://api.github.com/repos/NickyDaB/CAST/milestones{/number}","notifications_url":"https://api.github.com/repos/NickyDaB/CAST/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NickyDaB/CAST/labels{/name}","releases_url":"https://api.github.com/repos/NickyDaB/CAST/releases{/id}","deployments_url":"https://api.github.com/repos/NickyDaB/CAST/deployments","created_at":"2018-04-30T19:04:19Z","updated_at":"2018-09-20T19:16:15Z","pushed_at":"2018-09-20T20:41:05Z","git_url":"git://github.com/NickyDaB/CAST.git","ssh_url":"git@github.com:NickyDaB/CAST.git","clone_url":"https://github.com/NickyDaB/CAST.git","svn_url":"https://github.com/NickyDaB/CAST","homepage":null,"size":6247,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":6,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0","node_id":"MDc6TGljZW5zZTc="},"forks":1,"open_issues":6,"watchers":0,"default_branch":"master"}},"base":{"label":"IBM:master","ref":"master","sha":"d45300b95a2ff759dc01f1fde3fa5b7a004c1119","user":{"login":"IBM","id":1459110,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NTkxMTA=","avatar_url":"https://avatars0.githubusercontent.com/u/1459110?v=4","gravatar_id":"","url":"https://api.github.com/users/IBM","html_url":"https://github.com/IBM","followers_url":"https://api.github.com/users/IBM/followers","following_url":"https://api.github.com/users/IBM/following{/other_user}","gists_url":"https://api.github.com/users/IBM/gists{/gist_id}","starred_url":"https://api.github.com/users/IBM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IBM/subscriptions","organizations_url":"https://api.github.com/users/IBM/orgs","repos_url":"https://api.github.com/users/IBM/repos","events_url":"https://api.github.com/users/IBM/events{/privacy}","received_events_url":"https://api.github.com/users/IBM/received_events","type":"Organization","site_admin":false},"repo":{"id":127909233,"node_id":"MDEwOlJlcG9zaXRvcnkxMjc5MDkyMzM=","name":"CAST","full_name":"IBM/CAST","private":false,"owner":{"login":"IBM","id":1459110,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NTkxMTA=","avatar_url":"https://avatars0.githubusercontent.com/u/1459110?v=4","gravatar_id":"","url":"https://api.github.com/users/IBM","html_url":"https://github.com/IBM","followers_url":"https://api.github.com/users/IBM/followers","following_url":"https://api.github.com/users/IBM/following{/other_user}","gists_url":"https://api.github.com/users/IBM/gists{/gist_id}","starred_url":"https://api.github.com/users/IBM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IBM/subscriptions","organizations_url":"https://api.github.com/users/IBM/orgs","repos_url":"https://api.github.com/users/IBM/repos","events_url":"https://api.github.com/users/IBM/events{/privacy}","received_events_url":"https://api.github.com/users/IBM/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/IBM/CAST","description":"CAST can enhance the system management of cluster-wide resources. It consists of the open source tools: cluster system management (CSM) and burst buffer.  ","fork":false,"url":"https://api.github.com/repos/IBM/CAST","forks_url":"https://api.github.com/repos/IBM/CAST/forks","keys_url":"https://api.github.com/repos/IBM/CAST/keys{/key_id}","collaborators_url":"https://api.github.com/repos/IBM/CAST/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/IBM/CAST/teams","hooks_url":"https://api.github.com/repos/IBM/CAST/hooks","issue_events_url":"https://api.github.com/repos/IBM/CAST/issues/events{/number}","events_url":"https://api.github.com/repos/IBM/CAST/events","assignees_url":"https://api.github.com/repos/IBM/CAST/assignees{/user}","branches_url":"https://api.github.com/repos/IBM/CAST/branches{/branch}","tags_url":"https://api.github.com/repos/IBM/CAST/tags","blobs_url":"https://api.github.com/repos/IBM/CAST/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/IBM/CAST/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/IBM/CAST/git/refs{/sha}","trees_url":"https://api.github.com/repos/IBM/CAST/git/trees{/sha}","statuses_url":"https://api.github.com/repos/IBM/CAST/statuses/{sha}","languages_url":"https://api.github.com/repos/IBM/CAST/languages","stargazers_url":"https://api.github.com/repos/IBM/CAST/stargazers","contributors_url":"https://api.github.com/repos/IBM/CAST/contributors","subscribers_url":"https://api.github.com/repos/IBM/CAST/subscribers","subscription_url":"https://api.github.com/repos/IBM/CAST/subscription","commits_url":"https://api.github.com/repos/IBM/CAST/commits{/sha}","git_commits_url":"https://api.github.com/repos/IBM/CAST/git/commits{/sha}","comments_url":"https://api.github.com/repos/IBM/CAST/comments{/number}","issue_comment_url":"https://api.github.com/repos/IBM/CAST/issues/comments{/number}","contents_url":"https://api.github.com/repos/IBM/CAST/contents/{+path}","compare_url":"https://api.github.com/repos/IBM/CAST/compare/{base}...{head}","merges_url":"https://api.github.com/repos/IBM/CAST/merges","archive_url":"https://api.github.com/repos/IBM/CAST/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/IBM/CAST/downloads","issues_url":"https://api.github.com/repos/IBM/CAST/issues{/number}","pulls_url":"https://api.github.com/repos/IBM/CAST/pulls{/number}","milestones_url":"https://api.github.com/repos/IBM/CAST/milestones{/number}","notifications_url":"https://api.github.com/repos/IBM/CAST/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/IBM/CAST/labels{/name}","releases_url":"https://api.github.com/repos/IBM/CAST/releases{/id}","deployments_url":"https://api.github.com/repos/IBM/CAST/deployments","created_at":"2018-04-03T13:03:01Z","updated_at":"2018-09-20T18:43:17Z","pushed_at":"2018-09-20T20:41:07Z","git_url":"git://github.com/IBM/CAST.git","ssh_url":"git@github.com:IBM/CAST.git","clone_url":"https://github.com/IBM/CAST.git","svn_url":"https://github.com/IBM/CAST","homepage":null,"size":6525,"stargazers_count":6,"watchers_count":6,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"archived":false,"open_issues_count":44,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0","node_id":"MDc6TGljZW5zZTc="},"forks":17,"open_issues":44,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/IBM/CAST/pulls/264"},"html":{"href":"https://github.com/IBM/CAST/pull/264"},"issue":{"href":"https://api.github.com/repos/IBM/CAST/issues/264"},"comments":{"href":"https://api.github.com/repos/IBM/CAST/issues/264/comments"},"review_comments":{"href":"https://api.github.com/repos/IBM/CAST/pulls/264/comments"},"review_comment":{"href":"https://api.github.com/repos/IBM/CAST/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/IBM/CAST/pulls/264/commits"},"statuses":{"href":"https://api.github.com/repos/IBM/CAST/statuses/2dd75363f95d2e5ca9fe1ad4eb188bd60687e00a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"NickyDaB"}}