{"action":"created","comment":{"url":"https://api.github.com/repos/pvlib/pvlib-python/pulls/comments/221334564","pull_request_review_id":159963952,"id":221334564,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMTMzNDU2NA==","diff_hunk":"@@ -0,0 +1,148 @@\n+\"\"\"Collection of functions to get data from UO SRML.\n+\"\"\"\n+import numpy as np\n+import pandas as pd\n+\n+\n+def read_srml(filename):\n+    \"\"\"\n+    Read SRML file into pandas dataframe.\n+\n+    Parameters\n+    ----------\n+    filename: str\n+        filepath or url to read for the tsv file.\n+\n+    Returns\n+    -------\n+    data: Dataframe\n+        A dataframe with datetime index and all of the variables listed\n+        in the `var_map` dict inside of the map_columns function, along\n+        with their associated quality control flags.\n+\n+    Notes\n+    -----\n+    Note that the time index is shifted back one minute to account for\n+    2400 hours, and to avoid time parsing errors on leap years. Data values\n+    on a given line should now be understood to occur during the interval\n+    extending from the time of the line in which they are listed to\n+    the ending time on the next line, rather than the previous line.\n+    \"\"\"\n+    tsv_data = pd.read_csv(filename, delimiter='\\t')\n+    year = tsv_data.columns[1]\n+    data = format_index(tsv_data, year)\n+    # Rename and drop datetime columns\n+    data = data[data.columns[2:]].rename(columns=map_columns)\n+\n+    # Quality flags are all labeled 0, but occur immediately after their\n+    # associated var so we create a dict mapping them to var_flag for renaming\n+    columns = data.columns\n+    flag_label_map = {flag: columns[columns.get_loc(flag) - 1] + '_flag'\n+                      for flag in columns[1::2]}\n+    data = data.rename(columns=flag_label_map)\n+    # For data flagged bad or missing, replace the value with np.NaN\n+    for col in columns[::2]:\n+        data[col] = data[col].where(~(data[col + '_flag'] == 99), np.NaN)\n+    return data\n+\n+\n+def map_columns(col):\n+    \"\"\"Map column labels to pvlib names.\n+\n+    Parameters\n+    ----------\n+    col: str\n+        Column label to be mapped.\n+\n+    Returns\n+    -------\n+    str\n+        The pvlib label if it was found in the mapping,\n+        else the original label.\n+\n+    Notes\n+    -----\n+    var_map is a dictionary mapping SRML data element numbers\n+    to their pvlib names. For most variables, only the first\n+    three digits are used, the fourth indicating the instrument.\n+    Spectral data (7xxx) uses all four digits to indicate the\n+    variable.\n+    \"\"\"\n+    var_map = {\n+        '100': 'ghi',\n+        '201': 'dni',\n+        '300': 'dhi',\n+        '920': 'wind_dir',\n+        '921': 'wind_speed',\n+        '930': 'temp_air',\n+        '931': 'temp_dew',\n+        '933': 'relative_humidity',\n+        '937': 'temp_cell',\n+    }\n+    if col.startswith('7'):\n+        # spectral data\n+        try:\n+            return var_map[col]\n+        except KeyError:\n+            return col\n+    try:\n+        return var_map[col[:3]] + '_' + col[3:]\n+    except KeyError:\n+        return col\n+\n+\n+def format_index(df, year):\n+    \"\"\" Create a datetime index from day of year, and time columns.\n+\n+    Parameters\n+    ----------\n+    df: pd.Dataframe\n+        The srml data to reindex.\n+    year: int\n+        The year of the file\n+\n+    Returns\n+    -------\n+    df: pd.Dataframe\n+        The Dataframe with a datetime index applied.\n+    \"\"\"\n+    df_time = df[df.columns[1]] - 1\n+    df_doy = df[df.columns[0]]\n+    fifty_nines = df_time % 100 == 99\n+    times = df_time.where(~fifty_nines, df_time - 40)\n+    times = times.apply(lambda x: '{:04.0f}'.format(x))\n+    doy = df_doy.apply(lambda x: '{:03.0f}'.format(x))\n+    dts = pd.to_datetime(str(year) + '-' + doy + '-' + times,\n+                         format='%Y-%j-%H%M')\n+    df.index = dts\n+    df = df.tz_localize('Etc/GMT+8')\n+    return df\n+\n+\n+def request_srml_data(station, year, month, filetype='PO'):","path":"pvlib/iotools/srml.py","position":122,"original_position":122,"commit_id":"57262713d4e4b9c673510529195683b5a374c582","original_commit_id":"57262713d4e4b9c673510529195683b5a374c582","user":{"login":"lboeman","id":21206164,"node_id":"MDQ6VXNlcjIxMjA2MTY0","avatar_url":"https://avatars0.githubusercontent.com/u/21206164?v=4","gravatar_id":"","url":"https://api.github.com/users/lboeman","html_url":"https://github.com/lboeman","followers_url":"https://api.github.com/users/lboeman/followers","following_url":"https://api.github.com/users/lboeman/following{/other_user}","gists_url":"https://api.github.com/users/lboeman/gists{/gist_id}","starred_url":"https://api.github.com/users/lboeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lboeman/subscriptions","organizations_url":"https://api.github.com/users/lboeman/orgs","repos_url":"https://api.github.com/users/lboeman/repos","events_url":"https://api.github.com/users/lboeman/events{/privacy}","received_events_url":"https://api.github.com/users/lboeman/received_events","type":"User","site_admin":false},"body":"Should this module include these kind of util functions? I wasn't sure about including this here, or a function to stitch together due to their function signatures being pretty far off from read_<data_type> functions.","created_at":"2018-09-28T17:58:34Z","updated_at":"2018-09-28T17:58:34Z","html_url":"https://github.com/pvlib/pvlib-python/pull/594#discussion_r221334564","pull_request_url":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/pvlib/pvlib-python/pulls/comments/221334564"},"html":{"href":"https://github.com/pvlib/pvlib-python/pull/594#discussion_r221334564"},"pull_request":{"href":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594"}},"in_reply_to_id":221321235},"pull_request":{"url":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594","id":218730214,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NzMwMjE0","html_url":"https://github.com/pvlib/pvlib-python/pull/594","diff_url":"https://github.com/pvlib/pvlib-python/pull/594.diff","patch_url":"https://github.com/pvlib/pvlib-python/pull/594.patch","issue_url":"https://api.github.com/repos/pvlib/pvlib-python/issues/594","number":594,"state":"open","locked":false,"title":"Add UO SRML data reader","user":{"login":"lboeman","id":21206164,"node_id":"MDQ6VXNlcjIxMjA2MTY0","avatar_url":"https://avatars0.githubusercontent.com/u/21206164?v=4","gravatar_id":"","url":"https://api.github.com/users/lboeman","html_url":"https://github.com/lboeman","followers_url":"https://api.github.com/users/lboeman/followers","following_url":"https://api.github.com/users/lboeman/following{/other_user}","gists_url":"https://api.github.com/users/lboeman/gists{/gist_id}","starred_url":"https://api.github.com/users/lboeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lboeman/subscriptions","organizations_url":"https://api.github.com/users/lboeman/orgs","repos_url":"https://api.github.com/users/lboeman/repos","events_url":"https://api.github.com/users/lboeman/events{/privacy}","received_events_url":"https://api.github.com/users/lboeman/received_events","type":"User","site_admin":false},"body":"pvlib python pull request guidelines\r\n====================================\r\n\r\nThank you for your contribution to pvlib python! You may delete all of these instructions except for the list below.\r\n\r\nYou may submit a pull request with your code at any stage of completion.\r\n\r\nThe following items must be addressed before the code can be merged. Please don't hesitate to ask for help if you're unsure of how to accomplish any of the items below:\r\n\r\n - [x] Closes issue #589 \r\n - [x] I am familiar with the [contributing guidelines](http://pvlib-python.readthedocs.io/en/latest/contributing.html).\r\n - [ ] Fully tested. Added and/or modified tests to ensure correct behavior for all reasonable inputs. Tests (usually) must pass on the TravisCI and Appveyor testing services.\r\n - [ ] Updates entries to `docs/sphinx/source/api.rst` for API changes.\r\n - [ ] Adds description and name entries in the appropriate `docs/sphinx/source/whatsnew` file for all changes.\r\n - [ ] Code quality and style is sufficient. Passes LGTM and SticklerCI checks.\r\n - [ ] New code is fully documented. Includes sphinx/numpydoc compliant docstrings and comments in the code where necessary.\r\n - [ ] Pull request is nearly complete and ready for detailed review.\r\n\r\nBrief description of the problem and proposed solution (if not already fully described in the issue linked to above): \r\n","created_at":"2018-09-27T17:25:23Z","updated_at":"2018-09-28T17:58:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78970a90435fd4e78483a61a998c5d3c7a926ace","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":177800479,"node_id":"MDU6TGFiZWwxNzc4MDA0Nzk=","url":"https://api.github.com/repos/pvlib/pvlib-python/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":1065226181,"node_id":"MDU6TGFiZWwxMDY1MjI2MTgx","url":"https://api.github.com/repos/pvlib/pvlib-python/labels/io","name":"io","color":"f2b5e1","default":false},{"id":1065216627,"node_id":"MDU6TGFiZWwxMDY1MjE2NjI3","url":"https://api.github.com/repos/pvlib/pvlib-python/labels/solarfx2","name":"solarfx2","color":"60a5bc","default":false}],"milestone":{"url":"https://api.github.com/repos/pvlib/pvlib-python/milestones/22","html_url":"https://github.com/pvlib/pvlib-python/milestone/22","labels_url":"https://api.github.com/repos/pvlib/pvlib-python/milestones/22/labels","id":3333501,"node_id":"MDk6TWlsZXN0b25lMzMzMzUwMQ==","number":22,"title":"0.6.1","description":"","creator":{"login":"wholmgren","id":4383303,"node_id":"MDQ6VXNlcjQzODMzMDM=","avatar_url":"https://avatars0.githubusercontent.com/u/4383303?v=4","gravatar_id":"","url":"https://api.github.com/users/wholmgren","html_url":"https://github.com/wholmgren","followers_url":"https://api.github.com/users/wholmgren/followers","following_url":"https://api.github.com/users/wholmgren/following{/other_user}","gists_url":"https://api.github.com/users/wholmgren/gists{/gist_id}","starred_url":"https://api.github.com/users/wholmgren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wholmgren/subscriptions","organizations_url":"https://api.github.com/users/wholmgren/orgs","repos_url":"https://api.github.com/users/wholmgren/repos","events_url":"https://api.github.com/users/wholmgren/events{/privacy}","received_events_url":"https://api.github.com/users/wholmgren/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":4,"state":"open","created_at":"2018-05-09T15:16:47Z","updated_at":"2018-09-28T16:37:59Z","due_on":"2018-07-15T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594/commits","review_comments_url":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594/comments","review_comment_url":"https://api.github.com/repos/pvlib/pvlib-python/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pvlib/pvlib-python/issues/594/comments","statuses_url":"https://api.github.com/repos/pvlib/pvlib-python/statuses/57262713d4e4b9c673510529195683b5a374c582","head":{"label":"lboeman:master","ref":"master","sha":"57262713d4e4b9c673510529195683b5a374c582","user":{"login":"lboeman","id":21206164,"node_id":"MDQ6VXNlcjIxMjA2MTY0","avatar_url":"https://avatars0.githubusercontent.com/u/21206164?v=4","gravatar_id":"","url":"https://api.github.com/users/lboeman","html_url":"https://github.com/lboeman","followers_url":"https://api.github.com/users/lboeman/followers","following_url":"https://api.github.com/users/lboeman/following{/other_user}","gists_url":"https://api.github.com/users/lboeman/gists{/gist_id}","starred_url":"https://api.github.com/users/lboeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lboeman/subscriptions","organizations_url":"https://api.github.com/users/lboeman/orgs","repos_url":"https://api.github.com/users/lboeman/repos","events_url":"https://api.github.com/users/lboeman/events{/privacy}","received_events_url":"https://api.github.com/users/lboeman/received_events","type":"User","site_admin":false},"repo":{"id":149522755,"node_id":"MDEwOlJlcG9zaXRvcnkxNDk1MjI3NTU=","name":"pvlib-python","full_name":"lboeman/pvlib-python","private":false,"owner":{"login":"lboeman","id":21206164,"node_id":"MDQ6VXNlcjIxMjA2MTY0","avatar_url":"https://avatars0.githubusercontent.com/u/21206164?v=4","gravatar_id":"","url":"https://api.github.com/users/lboeman","html_url":"https://github.com/lboeman","followers_url":"https://api.github.com/users/lboeman/followers","following_url":"https://api.github.com/users/lboeman/following{/other_user}","gists_url":"https://api.github.com/users/lboeman/gists{/gist_id}","starred_url":"https://api.github.com/users/lboeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lboeman/subscriptions","organizations_url":"https://api.github.com/users/lboeman/orgs","repos_url":"https://api.github.com/users/lboeman/repos","events_url":"https://api.github.com/users/lboeman/events{/privacy}","received_events_url":"https://api.github.com/users/lboeman/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lboeman/pvlib-python","description":"A set of documented functions for simulating the performance of photovoltaic energy systems.","fork":true,"url":"https://api.github.com/repos/lboeman/pvlib-python","forks_url":"https://api.github.com/repos/lboeman/pvlib-python/forks","keys_url":"https://api.github.com/repos/lboeman/pvlib-python/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lboeman/pvlib-python/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lboeman/pvlib-python/teams","hooks_url":"https://api.github.com/repos/lboeman/pvlib-python/hooks","issue_events_url":"https://api.github.com/repos/lboeman/pvlib-python/issues/events{/number}","events_url":"https://api.github.com/repos/lboeman/pvlib-python/events","assignees_url":"https://api.github.com/repos/lboeman/pvlib-python/assignees{/user}","branches_url":"https://api.github.com/repos/lboeman/pvlib-python/branches{/branch}","tags_url":"https://api.github.com/repos/lboeman/pvlib-python/tags","blobs_url":"https://api.github.com/repos/lboeman/pvlib-python/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lboeman/pvlib-python/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lboeman/pvlib-python/git/refs{/sha}","trees_url":"https://api.github.com/repos/lboeman/pvlib-python/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lboeman/pvlib-python/statuses/{sha}","languages_url":"https://api.github.com/repos/lboeman/pvlib-python/languages","stargazers_url":"https://api.github.com/repos/lboeman/pvlib-python/stargazers","contributors_url":"https://api.github.com/repos/lboeman/pvlib-python/contributors","subscribers_url":"https://api.github.com/repos/lboeman/pvlib-python/subscribers","subscription_url":"https://api.github.com/repos/lboeman/pvlib-python/subscription","commits_url":"https://api.github.com/repos/lboeman/pvlib-python/commits{/sha}","git_commits_url":"https://api.github.com/repos/lboeman/pvlib-python/git/commits{/sha}","comments_url":"https://api.github.com/repos/lboeman/pvlib-python/comments{/number}","issue_comment_url":"https://api.github.com/repos/lboeman/pvlib-python/issues/comments{/number}","contents_url":"https://api.github.com/repos/lboeman/pvlib-python/contents/{+path}","compare_url":"https://api.github.com/repos/lboeman/pvlib-python/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lboeman/pvlib-python/merges","archive_url":"https://api.github.com/repos/lboeman/pvlib-python/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lboeman/pvlib-python/downloads","issues_url":"https://api.github.com/repos/lboeman/pvlib-python/issues{/number}","pulls_url":"https://api.github.com/repos/lboeman/pvlib-python/pulls{/number}","milestones_url":"https://api.github.com/repos/lboeman/pvlib-python/milestones{/number}","notifications_url":"https://api.github.com/repos/lboeman/pvlib-python/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lboeman/pvlib-python/labels{/name}","releases_url":"https://api.github.com/repos/lboeman/pvlib-python/releases{/id}","deployments_url":"https://api.github.com/repos/lboeman/pvlib-python/deployments","created_at":"2018-09-19T23:14:18Z","updated_at":"2018-09-27T21:45:57Z","pushed_at":"2018-09-27T21:45:55Z","git_url":"git://github.com/lboeman/pvlib-python.git","ssh_url":"git@github.com:lboeman/pvlib-python.git","clone_url":"https://github.com/lboeman/pvlib-python.git","svn_url":"https://github.com/lboeman/pvlib-python","homepage":"http://pvlib-python.readthedocs.io/en/latest/","size":88613,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pvlib:master","ref":"master","sha":"20879795b77418f0f47a479d4d51725c603773d1","user":{"login":"pvlib","id":11037261,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMDM3MjYx","avatar_url":"https://avatars3.githubusercontent.com/u/11037261?v=4","gravatar_id":"","url":"https://api.github.com/users/pvlib","html_url":"https://github.com/pvlib","followers_url":"https://api.github.com/users/pvlib/followers","following_url":"https://api.github.com/users/pvlib/following{/other_user}","gists_url":"https://api.github.com/users/pvlib/gists{/gist_id}","starred_url":"https://api.github.com/users/pvlib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pvlib/subscriptions","organizations_url":"https://api.github.com/users/pvlib/orgs","repos_url":"https://api.github.com/users/pvlib/repos","events_url":"https://api.github.com/users/pvlib/events{/privacy}","received_events_url":"https://api.github.com/users/pvlib/received_events","type":"Organization","site_admin":false},"repo":{"id":30895522,"node_id":"MDEwOlJlcG9zaXRvcnkzMDg5NTUyMg==","name":"pvlib-python","full_name":"pvlib/pvlib-python","private":false,"owner":{"login":"pvlib","id":11037261,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExMDM3MjYx","avatar_url":"https://avatars3.githubusercontent.com/u/11037261?v=4","gravatar_id":"","url":"https://api.github.com/users/pvlib","html_url":"https://github.com/pvlib","followers_url":"https://api.github.com/users/pvlib/followers","following_url":"https://api.github.com/users/pvlib/following{/other_user}","gists_url":"https://api.github.com/users/pvlib/gists{/gist_id}","starred_url":"https://api.github.com/users/pvlib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pvlib/subscriptions","organizations_url":"https://api.github.com/users/pvlib/orgs","repos_url":"https://api.github.com/users/pvlib/repos","events_url":"https://api.github.com/users/pvlib/events{/privacy}","received_events_url":"https://api.github.com/users/pvlib/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pvlib/pvlib-python","description":"A set of documented functions for simulating the performance of photovoltaic energy systems.","fork":false,"url":"https://api.github.com/repos/pvlib/pvlib-python","forks_url":"https://api.github.com/repos/pvlib/pvlib-python/forks","keys_url":"https://api.github.com/repos/pvlib/pvlib-python/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pvlib/pvlib-python/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pvlib/pvlib-python/teams","hooks_url":"https://api.github.com/repos/pvlib/pvlib-python/hooks","issue_events_url":"https://api.github.com/repos/pvlib/pvlib-python/issues/events{/number}","events_url":"https://api.github.com/repos/pvlib/pvlib-python/events","assignees_url":"https://api.github.com/repos/pvlib/pvlib-python/assignees{/user}","branches_url":"https://api.github.com/repos/pvlib/pvlib-python/branches{/branch}","tags_url":"https://api.github.com/repos/pvlib/pvlib-python/tags","blobs_url":"https://api.github.com/repos/pvlib/pvlib-python/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pvlib/pvlib-python/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pvlib/pvlib-python/git/refs{/sha}","trees_url":"https://api.github.com/repos/pvlib/pvlib-python/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pvlib/pvlib-python/statuses/{sha}","languages_url":"https://api.github.com/repos/pvlib/pvlib-python/languages","stargazers_url":"https://api.github.com/repos/pvlib/pvlib-python/stargazers","contributors_url":"https://api.github.com/repos/pvlib/pvlib-python/contributors","subscribers_url":"https://api.github.com/repos/pvlib/pvlib-python/subscribers","subscription_url":"https://api.github.com/repos/pvlib/pvlib-python/subscription","commits_url":"https://api.github.com/repos/pvlib/pvlib-python/commits{/sha}","git_commits_url":"https://api.github.com/repos/pvlib/pvlib-python/git/commits{/sha}","comments_url":"https://api.github.com/repos/pvlib/pvlib-python/comments{/number}","issue_comment_url":"https://api.github.com/repos/pvlib/pvlib-python/issues/comments{/number}","contents_url":"https://api.github.com/repos/pvlib/pvlib-python/contents/{+path}","compare_url":"https://api.github.com/repos/pvlib/pvlib-python/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pvlib/pvlib-python/merges","archive_url":"https://api.github.com/repos/pvlib/pvlib-python/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pvlib/pvlib-python/downloads","issues_url":"https://api.github.com/repos/pvlib/pvlib-python/issues{/number}","pulls_url":"https://api.github.com/repos/pvlib/pvlib-python/pulls{/number}","milestones_url":"https://api.github.com/repos/pvlib/pvlib-python/milestones{/number}","notifications_url":"https://api.github.com/repos/pvlib/pvlib-python/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pvlib/pvlib-python/labels{/name}","releases_url":"https://api.github.com/repos/pvlib/pvlib-python/releases{/id}","deployments_url":"https://api.github.com/repos/pvlib/pvlib-python/deployments","created_at":"2015-02-17T00:21:33Z","updated_at":"2018-09-26T06:16:20Z","pushed_at":"2018-09-27T21:45:57Z","git_url":"git://github.com/pvlib/pvlib-python.git","ssh_url":"git@github.com:pvlib/pvlib-python.git","clone_url":"https://github.com/pvlib/pvlib-python.git","svn_url":"https://github.com/pvlib/pvlib-python","homepage":"http://pvlib-python.readthedocs.io/en/latest/","size":87333,"stargazers_count":179,"watchers_count":179,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":213,"mirror_url":null,"archived":false,"open_issues_count":69,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":213,"open_issues":69,"watchers":179,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594"},"html":{"href":"https://github.com/pvlib/pvlib-python/pull/594"},"issue":{"href":"https://api.github.com/repos/pvlib/pvlib-python/issues/594"},"comments":{"href":"https://api.github.com/repos/pvlib/pvlib-python/issues/594/comments"},"review_comments":{"href":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594/comments"},"review_comment":{"href":"https://api.github.com/repos/pvlib/pvlib-python/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pvlib/pvlib-python/pulls/594/commits"},"statuses":{"href":"https://api.github.com/repos/pvlib/pvlib-python/statuses/57262713d4e4b9c673510529195683b5a374c582"}},"author_association":"NONE"}}
{"actor":{"display_login":"lboeman"}}