| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!doctype html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> |
| |
| <title>nexuscli.nexuscli API documentation</title> |
| <meta name="description" content="This module provides a native python client interface to the NEXUS (https://github.com/apache/incuba..." /> |
| |
| <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300' rel='stylesheet' type='text/css'> |
| |
| <style type="text/css"> |
| |
| * { |
| box-sizing: border-box; |
| } |
| /*! normalize.css v1.1.1 | MIT License | git.io/normalize */ |
| |
| /* ========================================================================== |
| HTML5 display definitions |
| ========================================================================== */ |
| |
| /** |
| * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. |
| */ |
| |
| article, |
| aside, |
| details, |
| figcaption, |
| figure, |
| footer, |
| header, |
| hgroup, |
| main, |
| nav, |
| section, |
| summary { |
| display: block; |
| } |
| |
| /** |
| * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. |
| */ |
| |
| audio, |
| canvas, |
| video { |
| display: inline-block; |
| *display: inline; |
| *zoom: 1; |
| } |
| |
| /** |
| * Prevent modern browsers from displaying `audio` without controls. |
| * Remove excess height in iOS 5 devices. |
| */ |
| |
| audio:not([controls]) { |
| display: none; |
| height: 0; |
| } |
| |
| /** |
| * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. |
| * Known issue: no IE 6 support. |
| */ |
| |
| [hidden] { |
| display: none; |
| } |
| |
| /* ========================================================================== |
| Base |
| ========================================================================== */ |
| |
| /** |
| * 1. Prevent system color scheme's background color being used in Firefox, IE, |
| * and Opera. |
| * 2. Prevent system color scheme's text color being used in Firefox, IE, and |
| * Opera. |
| * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using |
| * `em` units. |
| * 4. Prevent iOS text size adjust after orientation change, without disabling |
| * user zoom. |
| */ |
| |
| html { |
| background: #fff; /* 1 */ |
| color: #000; /* 2 */ |
| font-size: 100%; /* 3 */ |
| -webkit-text-size-adjust: 100%; /* 4 */ |
| -ms-text-size-adjust: 100%; /* 4 */ |
| } |
| |
| /** |
| * Address `font-family` inconsistency between `textarea` and other form |
| * elements. |
| */ |
| |
| html, |
| button, |
| input, |
| select, |
| textarea { |
| font-family: sans-serif; |
| } |
| |
| /** |
| * Address margins handled incorrectly in IE 6/7. |
| */ |
| |
| body { |
| margin: 0; |
| } |
| |
| /* ========================================================================== |
| Links |
| ========================================================================== */ |
| |
| /** |
| * Address `outline` inconsistency between Chrome and other browsers. |
| */ |
| |
| a:focus { |
| outline: thin dotted; |
| } |
| |
| /** |
| * Improve readability when focused and also mouse hovered in all browsers. |
| */ |
| |
| a:active, |
| a:hover { |
| outline: 0; |
| } |
| |
| /* ========================================================================== |
| Typography |
| ========================================================================== */ |
| |
| /** |
| * Address font sizes and margins set differently in IE 6/7. |
| * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, |
| * and Chrome. |
| */ |
| |
| h1 { |
| font-size: 2em; |
| margin: 0.67em 0; |
| } |
| |
| h2 { |
| font-size: 1.5em; |
| margin: 0.83em 0; |
| } |
| |
| h3 { |
| font-size: 1.17em; |
| margin: 1em 0; |
| } |
| |
| h4 { |
| font-size: 1em; |
| margin: 1.33em 0; |
| } |
| |
| h5 { |
| font-size: 0.83em; |
| margin: 1.67em 0; |
| } |
| |
| h6 { |
| font-size: 0.67em; |
| margin: 2.33em 0; |
| } |
| |
| /** |
| * Address styling not present in IE 7/8/9, Safari 5, and Chrome. |
| */ |
| |
| abbr[title] { |
| border-bottom: 1px dotted; |
| } |
| |
| /** |
| * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. |
| */ |
| |
| b, |
| strong { |
| font-weight: bold; |
| } |
| |
| blockquote { |
| margin: 1em 40px; |
| } |
| |
| /** |
| * Address styling not present in Safari 5 and Chrome. |
| */ |
| |
| dfn { |
| font-style: italic; |
| } |
| |
| /** |
| * Address differences between Firefox and other browsers. |
| * Known issue: no IE 6/7 normalization. |
| */ |
| |
| hr { |
| -moz-box-sizing: content-box; |
| box-sizing: content-box; |
| height: 0; |
| } |
| |
| /** |
| * Address styling not present in IE 6/7/8/9. |
| */ |
| |
| mark { |
| background: #ff0; |
| color: #000; |
| } |
| |
| /** |
| * Address margins set differently in IE 6/7. |
| */ |
| |
| p, |
| pre { |
| margin: 1em 0; |
| } |
| |
| /** |
| * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. |
| */ |
| |
| code, |
| kbd, |
| pre, |
| samp { |
| font-family: monospace, serif; |
| _font-family: 'courier new', monospace; |
| font-size: 1em; |
| } |
| |
| /** |
| * Improve readability of pre-formatted text in all browsers. |
| */ |
| |
| pre { |
| white-space: pre; |
| white-space: pre-wrap; |
| word-wrap: break-word; |
| } |
| |
| /** |
| * Address CSS quotes not supported in IE 6/7. |
| */ |
| |
| q { |
| quotes: none; |
| } |
| |
| /** |
| * Address `quotes` property not supported in Safari 4. |
| */ |
| |
| q:before, |
| q:after { |
| content: ''; |
| content: none; |
| } |
| |
| /** |
| * Address inconsistent and variable font size in all browsers. |
| */ |
| |
| small { |
| font-size: 80%; |
| } |
| |
| /** |
| * Prevent `sub` and `sup` affecting `line-height` in all browsers. |
| */ |
| |
| sub, |
| sup { |
| font-size: 75%; |
| line-height: 0; |
| position: relative; |
| vertical-align: baseline; |
| } |
| |
| sup { |
| top: -0.5em; |
| } |
| |
| sub { |
| bottom: -0.25em; |
| } |
| |
| /* ========================================================================== |
| Lists |
| ========================================================================== */ |
| |
| /** |
| * Address margins set differently in IE 6/7. |
| */ |
| |
| dl, |
| menu, |
| ol, |
| ul { |
| margin: 1em 0; |
| } |
| |
| dd { |
| margin: 0 0 0 40px; |
| } |
| |
| /** |
| * Address paddings set differently in IE 6/7. |
| */ |
| |
| menu, |
| ol, |
| ul { |
| padding: 0 0 0 40px; |
| } |
| |
| /** |
| * Correct list images handled incorrectly in IE 7. |
| */ |
| |
| nav ul, |
| nav ol { |
| list-style: none; |
| list-style-image: none; |
| } |
| |
| /* ========================================================================== |
| Embedded content |
| ========================================================================== */ |
| |
| /** |
| * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. |
| * 2. Improve image quality when scaled in IE 7. |
| */ |
| |
| img { |
| border: 0; /* 1 */ |
| -ms-interpolation-mode: bicubic; /* 2 */ |
| } |
| |
| /** |
| * Correct overflow displayed oddly in IE 9. |
| */ |
| |
| svg:not(:root) { |
| overflow: hidden; |
| } |
| |
| /* ========================================================================== |
| Figures |
| ========================================================================== */ |
| |
| /** |
| * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. |
| */ |
| |
| figure { |
| margin: 0; |
| } |
| |
| /* ========================================================================== |
| Forms |
| ========================================================================== */ |
| |
| /** |
| * Correct margin displayed oddly in IE 6/7. |
| */ |
| |
| form { |
| margin: 0; |
| } |
| |
| /** |
| * Define consistent border, margin, and padding. |
| */ |
| |
| fieldset { |
| border: 1px solid #c0c0c0; |
| margin: 0 2px; |
| padding: 0.35em 0.625em 0.75em; |
| } |
| |
| /** |
| * 1. Correct color not being inherited in IE 6/7/8/9. |
| * 2. Correct text not wrapping in Firefox 3. |
| * 3. Correct alignment displayed oddly in IE 6/7. |
| */ |
| |
| legend { |
| border: 0; /* 1 */ |
| padding: 0; |
| white-space: normal; /* 2 */ |
| *margin-left: -7px; /* 3 */ |
| } |
| |
| /** |
| * 1. Correct font size not being inherited in all browsers. |
| * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, |
| * and Chrome. |
| * 3. Improve appearance and consistency in all browsers. |
| */ |
| |
| button, |
| input, |
| select, |
| textarea { |
| font-size: 100%; /* 1 */ |
| margin: 0; /* 2 */ |
| vertical-align: baseline; /* 3 */ |
| *vertical-align: middle; /* 3 */ |
| } |
| |
| /** |
| * Address Firefox 3+ setting `line-height` on `input` using `!important` in |
| * the UA stylesheet. |
| */ |
| |
| button, |
| input { |
| line-height: normal; |
| } |
| |
| /** |
| * Address inconsistent `text-transform` inheritance for `button` and `select`. |
| * All other form control elements do not inherit `text-transform` values. |
| * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. |
| * Correct `select` style inheritance in Firefox 4+ and Opera. |
| */ |
| |
| button, |
| select { |
| text-transform: none; |
| } |
| |
| /** |
| * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` |
| * and `video` controls. |
| * 2. Correct inability to style clickable `input` types in iOS. |
| * 3. Improve usability and consistency of cursor style between image-type |
| * `input` and others. |
| * 4. Remove inner spacing in IE 7 without affecting normal text inputs. |
| * Known issue: inner spacing remains in IE 6. |
| */ |
| |
| button, |
| html input[type="button"], /* 1 */ |
| input[type="reset"], |
| input[type="submit"] { |
| -webkit-appearance: button; /* 2 */ |
| cursor: pointer; /* 3 */ |
| *overflow: visible; /* 4 */ |
| } |
| |
| /** |
| * Re-set default cursor for disabled elements. |
| */ |
| |
| button[disabled], |
| html input[disabled] { |
| cursor: default; |
| } |
| |
| /** |
| * 1. Address box sizing set to content-box in IE 8/9. |
| * 2. Remove excess padding in IE 8/9. |
| * 3. Remove excess padding in IE 7. |
| * Known issue: excess padding remains in IE 6. |
| */ |
| |
| input[type="checkbox"], |
| input[type="radio"] { |
| box-sizing: border-box; /* 1 */ |
| padding: 0; /* 2 */ |
| *height: 13px; /* 3 */ |
| *width: 13px; /* 3 */ |
| } |
| |
| /** |
| * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. |
| * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome |
| * (include `-moz` to future-proof). |
| */ |
| |
| input[type="search"] { |
| -webkit-appearance: textfield; /* 1 */ |
| -moz-box-sizing: content-box; |
| -webkit-box-sizing: content-box; /* 2 */ |
| box-sizing: content-box; |
| } |
| |
| /** |
| * Remove inner padding and search cancel button in Safari 5 and Chrome |
| * on OS X. |
| */ |
| |
| input[type="search"]::-webkit-search-cancel-button, |
| input[type="search"]::-webkit-search-decoration { |
| -webkit-appearance: none; |
| } |
| |
| /** |
| * Remove inner padding and border in Firefox 3+. |
| */ |
| |
| button::-moz-focus-inner, |
| input::-moz-focus-inner { |
| border: 0; |
| padding: 0; |
| } |
| |
| /** |
| * 1. Remove default vertical scrollbar in IE 6/7/8/9. |
| * 2. Improve readability and alignment in all browsers. |
| */ |
| |
| textarea { |
| overflow: auto; /* 1 */ |
| vertical-align: top; /* 2 */ |
| } |
| |
| /* ========================================================================== |
| Tables |
| ========================================================================== */ |
| |
| /** |
| * Remove most spacing between table cells. |
| */ |
| |
| table { |
| border-collapse: collapse; |
| border-spacing: 0; |
| } |
| |
| </style> |
| |
| <style type="text/css"> |
| |
| html, body { |
| margin: 0; |
| padding: 0; |
| min-height: 100%; |
| } |
| body { |
| background: #fff; |
| font-family: "Source Sans Pro", "Helvetica Neueue", Helvetica, sans; |
| font-weight: 300; |
| font-size: 16px; |
| line-height: 1.6em; |
| } |
| #content { |
| width: 70%; |
| max-width: 850px; |
| float: left; |
| padding: 30px 60px; |
| border-left: 1px solid #ddd; |
| } |
| #sidebar { |
| width: 25%; |
| float: left; |
| padding: 30px; |
| overflow: hidden; |
| } |
| #nav { |
| font-size: 130%; |
| margin: 0 0 15px 0; |
| } |
| |
| #top { |
| display: block; |
| position: fixed; |
| bottom: 5px; |
| left: 5px; |
| font-size: .85em; |
| text-transform: uppercase; |
| } |
| |
| #footer { |
| font-size: .75em; |
| padding: 5px 30px; |
| border-top: 1px solid #ddd; |
| text-align: right; |
| } |
| #footer p { |
| margin: 0 0 0 30px; |
| display: inline-block; |
| } |
| |
| h1, h2, h3, h4, h5 { |
| font-weight: 300; |
| } |
| h1 { |
| font-size: 2.5em; |
| line-height: 1.1em; |
| margin: 0 0 .50em 0; |
| } |
| |
| h2 { |
| font-size: 1.75em; |
| margin: 1em 0 .50em 0; |
| } |
| |
| h3 { |
| margin: 25px 0 10px 0; |
| } |
| |
| h4 { |
| margin: 0; |
| font-size: 105%; |
| } |
| |
| a { |
| color: #058; |
| text-decoration: none; |
| transition: color .3s ease-in-out; |
| } |
| |
| a:hover { |
| color: #e08524; |
| transition: color .3s ease-in-out; |
| } |
| |
| pre, code, .mono, .name { |
| font-family: "Ubuntu Mono", "Cousine", "DejaVu Sans Mono", monospace; |
| } |
| |
| .title .name { |
| font-weight: bold; |
| } |
| .section-title { |
| margin-top: 2em; |
| } |
| .ident { |
| color: #900; |
| } |
| |
| code { |
| background: #f9f9f9; |
| } |
| |
| pre { |
| background: #fefefe; |
| border: 1px solid #ddd; |
| box-shadow: 2px 2px 0 #f3f3f3; |
| margin: 0 30px; |
| padding: 15px 30px; |
| } |
| |
| .codehilite { |
| margin: 0 30px 10px 30px; |
| } |
| |
| .codehilite pre { |
| margin: 0; |
| } |
| .codehilite .err { background: #ff3300; color: #fff !important; } |
| |
| table#module-list { |
| font-size: 110%; |
| } |
| |
| table#module-list tr td:first-child { |
| padding-right: 10px; |
| white-space: nowrap; |
| } |
| |
| table#module-list td { |
| vertical-align: top; |
| padding-bottom: 8px; |
| } |
| |
| table#module-list td p { |
| margin: 0 0 7px 0; |
| } |
| |
| .def { |
| display: table; |
| } |
| |
| .def p { |
| display: table-cell; |
| vertical-align: top; |
| text-align: left; |
| } |
| |
| .def p:first-child { |
| white-space: nowrap; |
| } |
| |
| .def p:last-child { |
| width: 100%; |
| } |
| |
| |
| #index { |
| list-style-type: none; |
| margin: 0; |
| padding: 0; |
| } |
| ul#index .class_name { |
| /* font-size: 110%; */ |
| font-weight: bold; |
| } |
| #index ul { |
| margin: 0; |
| } |
| |
| .item { |
| margin: 0 0 15px 0; |
| } |
| |
| .item .class { |
| margin: 0 0 25px 30px; |
| } |
| |
| .item .class ul.class_list { |
| margin: 0 0 20px 0; |
| } |
| |
| .item .name { |
| background: #fafafa; |
| margin: 0; |
| font-weight: bold; |
| padding: 5px 10px; |
| border-radius: 3px; |
| display: inline-block; |
| min-width: 40%; |
| } |
| .item .name:hover { |
| background: #f6f6f6; |
| } |
| |
| .item .empty_desc { |
| margin: 0 0 5px 0; |
| padding: 0; |
| } |
| |
| .item .inheritance { |
| margin: 3px 0 0 30px; |
| } |
| |
| .item .inherited { |
| color: #666; |
| } |
| |
| .item .desc { |
| padding: 0 8px; |
| margin: 0; |
| } |
| |
| .item .desc p { |
| margin: 0 0 10px 0; |
| } |
| |
| .source_cont { |
| margin: 0; |
| padding: 0; |
| } |
| |
| .source_link a { |
| background: #ffc300; |
| font-weight: 400; |
| font-size: .75em; |
| text-transform: uppercase; |
| color: #fff; |
| text-shadow: 1px 1px 0 #f4b700; |
| |
| padding: 3px 8px; |
| border-radius: 2px; |
| transition: background .3s ease-in-out; |
| } |
| .source_link a:hover { |
| background: #FF7200; |
| text-shadow: none; |
| transition: background .3s ease-in-out; |
| } |
| |
| .source { |
| display: none; |
| max-height: 600px; |
| overflow-y: scroll; |
| margin-bottom: 15px; |
| } |
| |
| .source .codehilite { |
| margin: 0; |
| } |
| |
| .desc h1, .desc h2, .desc h3 { |
| font-size: 100% !important; |
| } |
| .clear { |
| clear: both; |
| } |
| |
| @media all and (max-width: 950px) { |
| #sidebar { |
| width: 35%; |
| } |
| #content { |
| width: 65%; |
| } |
| } |
| @media all and (max-width: 650px) { |
| #top { |
| display: none; |
| } |
| #sidebar { |
| float: none; |
| width: auto; |
| } |
| #content { |
| float: none; |
| width: auto; |
| padding: 30px; |
| } |
| |
| #index ul { |
| padding: 0; |
| margin-bottom: 15px; |
| } |
| #index ul li { |
| display: inline-block; |
| margin-right: 30px; |
| } |
| #footer { |
| text-align: left; |
| } |
| #footer p { |
| display: block; |
| margin: inherit; |
| } |
| } |
| |
| /*****************************/ |
| |
| </style> |
| |
| <style type="text/css"> |
| .codehilite .hll { background-color: #ffffcc } |
| .codehilite { background: #f8f8f8; } |
| .codehilite .c { color: #408080; font-style: italic } /* Comment */ |
| .codehilite .err { border: 1px solid #FF0000 } /* Error */ |
| .codehilite .k { color: #008000; font-weight: bold } /* Keyword */ |
| .codehilite .o { color: #666666 } /* Operator */ |
| .codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ |
| .codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */ |
| .codehilite .cp { color: #BC7A00 } /* Comment.Preproc */ |
| .codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ |
| .codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */ |
| .codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */ |
| .codehilite .gd { color: #A00000 } /* Generic.Deleted */ |
| .codehilite .ge { font-style: italic } /* Generic.Emph */ |
| .codehilite .gr { color: #FF0000 } /* Generic.Error */ |
| .codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ |
| .codehilite .gi { color: #00A000 } /* Generic.Inserted */ |
| .codehilite .go { color: #888888 } /* Generic.Output */ |
| .codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ |
| .codehilite .gs { font-weight: bold } /* Generic.Strong */ |
| .codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ |
| .codehilite .gt { color: #0044DD } /* Generic.Traceback */ |
| .codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ |
| .codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ |
| .codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ |
| .codehilite .kp { color: #008000 } /* Keyword.Pseudo */ |
| .codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ |
| .codehilite .kt { color: #B00040 } /* Keyword.Type */ |
| .codehilite .m { color: #666666 } /* Literal.Number */ |
| .codehilite .s { color: #BA2121 } /* Literal.String */ |
| .codehilite .na { color: #7D9029 } /* Name.Attribute */ |
| .codehilite .nb { color: #008000 } /* Name.Builtin */ |
| .codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */ |
| .codehilite .no { color: #880000 } /* Name.Constant */ |
| .codehilite .nd { color: #AA22FF } /* Name.Decorator */ |
| .codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */ |
| .codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ |
| .codehilite .nf { color: #0000FF } /* Name.Function */ |
| .codehilite .nl { color: #A0A000 } /* Name.Label */ |
| .codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ |
| .codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */ |
| .codehilite .nv { color: #19177C } /* Name.Variable */ |
| .codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ |
| .codehilite .w { color: #bbbbbb } /* Text.Whitespace */ |
| .codehilite .mb { color: #666666 } /* Literal.Number.Bin */ |
| .codehilite .mf { color: #666666 } /* Literal.Number.Float */ |
| .codehilite .mh { color: #666666 } /* Literal.Number.Hex */ |
| .codehilite .mi { color: #666666 } /* Literal.Number.Integer */ |
| .codehilite .mo { color: #666666 } /* Literal.Number.Oct */ |
| .codehilite .sa { color: #BA2121 } /* Literal.String.Affix */ |
| .codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */ |
| .codehilite .sc { color: #BA2121 } /* Literal.String.Char */ |
| .codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */ |
| .codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ |
| .codehilite .s2 { color: #BA2121 } /* Literal.String.Double */ |
| .codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ |
| .codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */ |
| .codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ |
| .codehilite .sx { color: #008000 } /* Literal.String.Other */ |
| .codehilite .sr { color: #BB6688 } /* Literal.String.Regex */ |
| .codehilite .s1 { color: #BA2121 } /* Literal.String.Single */ |
| .codehilite .ss { color: #19177C } /* Literal.String.Symbol */ |
| .codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */ |
| .codehilite .fm { color: #0000FF } /* Name.Function.Magic */ |
| .codehilite .vc { color: #19177C } /* Name.Variable.Class */ |
| .codehilite .vg { color: #19177C } /* Name.Variable.Global */ |
| .codehilite .vi { color: #19177C } /* Name.Variable.Instance */ |
| .codehilite .vm { color: #19177C } /* Name.Variable.Magic */ |
| .codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */ |
| </style> |
| |
| <style type="text/css"> |
| |
| /* ========================================================================== |
| EXAMPLE Media Queries for Responsive Design. |
| These examples override the primary ('mobile first') styles. |
| Modify as content requires. |
| ========================================================================== */ |
| |
| @media only screen and (min-width: 35em) { |
| /* Style adjustments for viewports that meet the condition */ |
| } |
| |
| @media print, |
| (-o-min-device-pixel-ratio: 5/4), |
| (-webkit-min-device-pixel-ratio: 1.25), |
| (min-resolution: 120dpi) { |
| /* Style adjustments for high resolution devices */ |
| } |
| |
| /* ========================================================================== |
| Print styles. |
| Inlined to avoid required HTTP connection: h5bp.com/r |
| ========================================================================== */ |
| |
| @media print { |
| * { |
| background: transparent !important; |
| color: #000 !important; /* Black prints faster: h5bp.com/s */ |
| box-shadow: none !important; |
| text-shadow: none !important; |
| } |
| |
| a, |
| a:visited { |
| text-decoration: underline; |
| } |
| |
| a[href]:after { |
| content: " (" attr(href) ")"; |
| } |
| |
| abbr[title]:after { |
| content: " (" attr(title) ")"; |
| } |
| |
| /* |
| * Don't show links for images, or javascript/internal links |
| */ |
| |
| .ir a:after, |
| a[href^="javascript:"]:after, |
| a[href^="#"]:after { |
| content: ""; |
| } |
| |
| pre, |
| blockquote { |
| border: 1px solid #999; |
| page-break-inside: avoid; |
| } |
| |
| thead { |
| display: table-header-group; /* h5bp.com/t */ |
| } |
| |
| tr, |
| img { |
| page-break-inside: avoid; |
| } |
| |
| img { |
| max-width: 100% !important; |
| } |
| |
| @page { |
| margin: 0.5cm; |
| } |
| |
| p, |
| h2, |
| h3 { |
| orphans: 3; |
| widows: 3; |
| } |
| |
| h2, |
| h3 { |
| page-break-after: avoid; |
| } |
| } |
| |
| </style> |
| |
| <script type="text/javascript"> |
| function toggle(id, $link) { |
| $node = document.getElementById(id); |
| if (!$node) |
| return; |
| if (!$node.style.display || $node.style.display == 'none') { |
| $node.style.display = 'block'; |
| $link.innerHTML = 'Hide source ≢'; |
| } else { |
| $node.style.display = 'none'; |
| $link.innerHTML = 'Show source ≡'; |
| } |
| } |
| </script> |
| </head> |
| <body> |
| <a href="#" id="top">Top</a> |
| |
| <div id="container"> |
| |
| |
| <div id="sidebar"> |
| <h1>Index</h1> |
| <ul id="index"> |
| <li class="set"><h3><a href="#header-variables">Module variables</a></h3> |
| |
| <ul> |
| <li class="mono"><a href="#nexuscli.nexuscli.ISO_FORMAT">ISO_FORMAT</a></li> |
| <li class="mono"><a href="#nexuscli.nexuscli.session">session</a></li> |
| <li class="mono"><a href="#nexuscli.nexuscli.target">target</a></li> |
| </ul> |
| |
| </li> |
| |
| <li class="set"><h3><a href="#header-functions">Functions</a></h3> |
| |
| <ul> |
| <li class="mono"><a href="#nexuscli.nexuscli.daily_difference_average">daily_difference_average</a></li> |
| <li class="mono"><a href="#nexuscli.nexuscli.dataset_list">dataset_list</a></li> |
| <li class="mono"><a href="#nexuscli.nexuscli.set_target">set_target</a></li> |
| <li class="mono"><a href="#nexuscli.nexuscli.subset">subset</a></li> |
| <li class="mono"><a href="#nexuscli.nexuscli.time_series">time_series</a></li> |
| </ul> |
| |
| </li> |
| |
| <li class="set"><h3><a href="#header-classes">Classes</a></h3> |
| <ul> |
| <li class="mono"> |
| <span class="class_name"><a href="#nexuscli.nexuscli.Point">Point</a></span> |
| |
| </li> |
| <li class="mono"> |
| <span class="class_name"><a href="#nexuscli.nexuscli.TimeSeries">TimeSeries</a></span> |
| |
| </li> |
| </ul> |
| </li> |
| |
| </ul> |
| </div> |
| |
| <article id="content"> |
| |
| |
| |
| |
| |
| |
| <header id="section-intro"> |
| <h1 class="title"><span class="name">nexuscli.nexuscli</span> module</h1> |
| <p>This module provides a native python client interface to the NEXUS (https://github.com/apache/incubator-sdap-nexus) |
| webservice API.</p> |
| <p>Usage:</p> |
| <div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">nexuscli</span> |
| |
| <span class="n">nexuscli</span><span class="o">.</span><span class="n">set_target</span><span class="p">(</span><span class="s2">"http://nexus-webapp:8083"</span><span class="p">)</span> |
| <span class="n">nexuscli</span><span class="o">.</span><span class="n">dataset_list</span><span class="p">()</span> |
| </pre></div> |
| |
| <p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-nexuscli.nexuscli', this);">Show source ≡</a></p> |
| <div id="source-nexuscli.nexuscli" class="source"> |
| <div class="codehilite"><pre><span></span><span class="c1"># Licensed to the Apache Software Foundation (ASF) under one or more</span> |
| <span class="c1"># contributor license agreements. See the NOTICE file distributed with</span> |
| <span class="c1"># this work for additional information regarding copyright ownership.</span> |
| <span class="c1"># The ASF licenses this file to You under the Apache License, Version 2.0</span> |
| <span class="c1"># (the "License"); you may not use this file except in compliance with</span> |
| <span class="c1"># the License. You may obtain a copy of the License at</span> |
| <span class="c1">#</span> |
| <span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span> |
| <span class="c1">#</span> |
| <span class="c1"># Unless required by applicable law or agreed to in writing, software</span> |
| <span class="c1"># distributed under the License is distributed on an "AS IS" BASIS,</span> |
| <span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> |
| <span class="c1"># See the License for the specific language governing permissions and</span> |
| <span class="c1"># limitations under the License.</span> |
| <span class="sd">"""</span> |
| <span class="sd">This module provides a native python client interface to the NEXUS (https://github.com/apache/incubator-sdap-nexus)</span> |
| <span class="sd">webservice API.</span> |
| |
| <span class="sd">Usage:</span> |
| |
| <span class="sd"> import nexuscli</span> |
| <span class="sd"> </span> |
| <span class="sd"> nexuscli.set_target("http://nexus-webapp:8083")</span> |
| <span class="sd"> nexuscli.dataset_list()</span> |
| <span class="sd"> </span> |
| <span class="sd">"""</span> |
| <span class="kn">import</span> <span class="nn">requests</span> |
| <span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span> |
| <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span> |
| <span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">namedtuple</span><span class="p">,</span> <span class="n">OrderedDict</span> |
| <span class="kn">from</span> <span class="nn">pytz</span> <span class="kn">import</span> <span class="n">UTC</span> |
| |
| <span class="n">__pdoc__</span> <span class="o">=</span> <span class="p">{}</span> |
| <span class="n">TimeSeries</span> <span class="o">=</span> <span class="n">namedtuple</span><span class="p">(</span><span class="s1">'TimeSeries'</span><span class="p">,</span> <span class="p">(</span><span class="s1">'dataset'</span><span class="p">,</span> <span class="s1">'time'</span><span class="p">,</span> <span class="s1">'mean'</span><span class="p">,</span> <span class="s1">'standard_deviation'</span><span class="p">,</span> <span class="s1">'count'</span><span class="p">,</span> <span class="s1">'minimum'</span><span class="p">,</span> <span class="s1">'maximum'</span><span class="p">))</span> |
| <span class="n">TimeSeries</span><span class="o">.</span><span class="vm">__doc__</span> <span class="o">=</span> <span class="s1">'''</span><span class="se">\</span> |
| <span class="s1">An object containing Time Series arrays.</span> |
| <span class="s1">'''</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.dataset'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Name of the Dataset"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.time'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"`numpy` array containing times as `datetime` objects"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.mean'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"`numpy` array containing means"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.standard_deviation'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"`numpy` array containing standard deviations"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.count'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"`numpy` array containing counts"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.minimum'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"`numpy` array containing minimums"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'TimeSeries.maximum'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"`numpy` array containing maximums"</span> |
| |
| <span class="n">Point</span> <span class="o">=</span> <span class="n">namedtuple</span><span class="p">(</span><span class="s1">'Point'</span><span class="p">,</span> <span class="p">(</span><span class="s1">'time'</span><span class="p">,</span> <span class="s1">'latitude'</span><span class="p">,</span> <span class="s1">'longitude'</span><span class="p">,</span> <span class="s1">'variable'</span><span class="p">))</span> |
| <span class="n">Point</span><span class="o">.</span><span class="vm">__doc__</span> <span class="o">=</span> <span class="s1">'''</span><span class="se">\</span> |
| <span class="s1">An object containing Point attributes.</span> |
| <span class="s1">'''</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'Point.time'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"time value as `datetime` object"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'Point.latitude'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"latitude value"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'Point.longitude'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"longitude value"</span> |
| <span class="n">__pdoc__</span><span class="p">[</span><span class="s1">'Point.variable'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"dictionary of variable values"</span> |
| |
| <span class="n">ISO_FORMAT</span> <span class="o">=</span> <span class="s2">"%Y-%m-</span><span class="si">%d</span><span class="s2">T%H:%M:%SZ"</span> |
| |
| <span class="n">target</span> <span class="o">=</span> <span class="s1">'http://localhost:8083'</span> |
| |
| <span class="n">session</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">session</span><span class="p">()</span> |
| |
| |
| <span class="k">def</span> <span class="nf">set_target</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">use_session</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Set the URL for the NEXUS webapp endpoint. </span> |
| <span class="sd"> </span> |
| <span class="sd"> __url__ URL for NEXUS webapp endpoint </span> |
| <span class="sd"> __return__ None</span> |
| <span class="sd"> """</span> |
| <span class="k">global</span> <span class="n">target</span> |
| <span class="n">target</span> <span class="o">=</span> <span class="n">url</span> |
| |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">use_session</span><span class="p">:</span> |
| <span class="k">global</span> <span class="n">session</span> |
| <span class="n">session</span> <span class="o">=</span> <span class="n">requests</span> |
| |
| |
| <span class="k">def</span> <span class="nf">dataset_list</span><span class="p">():</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Get a list of datasets and the start and end time for each.</span> |
| <span class="sd"> </span> |
| <span class="sd"> __return__ list of datasets. Each entry in the list contains `shortname`, `start`, and `end`</span> |
| <span class="sd"> """</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"{}/list"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">))</span> |
| <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">list_response</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">dataset</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> |
| <span class="n">dataset</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">dataset</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="o">/</span> <span class="mi">1000</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">)</span> |
| <span class="n">dataset</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">dataset</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> <span class="o">/</span> <span class="mi">1000</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">)</span> |
| |
| <span class="n">ordered_dict</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">()</span> |
| <span class="n">ordered_dict</span><span class="p">[</span><span class="s1">'shortName'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[</span><span class="s1">'shortName'</span><span class="p">]</span> |
| <span class="n">ordered_dict</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> |
| <span class="n">ordered_dict</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> |
| <span class="n">list_response</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ordered_dict</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">list_response</span> |
| |
| |
| <span class="k">def</span> <span class="nf">daily_difference_average</span><span class="p">(</span><span class="n">dataset</span><span class="p">,</span> <span class="n">bounding_box</span><span class="p">,</span> <span class="n">start_datetime</span><span class="p">,</span> <span class="n">end_datetime</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Generate an anomaly Time series for a given dataset, bounding box, and timeframe.</span> |
| <span class="sd"> </span> |
| <span class="sd"> __dataset__ Name of the dataset as a String </span> |
| <span class="sd"> __bounding_box__ Bounding box for area of interest as a `shapely.geometry.polygon.Polygon` </span> |
| <span class="sd"> __start_datetime__ Start time as a `datetime.datetime` </span> |
| <span class="sd"> __end_datetime__ End time as a `datetime.datetime` </span> |
| <span class="sd"> </span> |
| <span class="sd"> __return__ List of `nexuscli.nexuscli.TimeSeries` namedtuples</span> |
| <span class="sd"> """</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/dailydifferenceaverage_spark?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| |
| <span class="n">params</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'dataset'</span><span class="p">:</span> <span class="n">dataset</span><span class="p">,</span> |
| <span class="s1">'climatology'</span><span class="p">:</span> <span class="s2">"{}_CLIM"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dataset</span><span class="p">),</span> |
| <span class="s1">'b'</span><span class="p">:</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">bounding_box</span><span class="o">.</span><span class="n">bounds</span><span class="p">),</span> |
| <span class="s1">'startTime'</span><span class="p">:</span> <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'endTime'</span><span class="p">:</span> <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="p">}</span> |
| |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span> |
| <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> |
| |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"No data found in {} between {} and {} for Datasets {}."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bounding_box</span><span class="o">.</span><span class="n">wkt</span><span class="p">,</span> |
| <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">dataset</span><span class="p">)</span> |
| |
| <span class="n">time_series_result</span> <span class="o">=</span> <span class="p">[]</span> |
| |
| <span class="n">key_to_index</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">())}</span> |
| |
| <span class="n">time_series_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="nb">tuple</span><span class="p">(</span><span class="n">each</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="k">for</span> <span class="n">each</span> <span class="ow">in</span> <span class="p">[</span><span class="n">entry</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">data</span><span class="p">]])</span> |
| |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">time_series_data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">time_series_result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> |
| <span class="n">TimeSeries</span><span class="p">(</span> |
| <span class="n">dataset</span><span class="o">=</span><span class="n">dataset</span><span class="p">,</span> |
| <span class="n">time</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">t</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> |
| <span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'time'</span><span class="p">]]]),</span> |
| <span class="n">mean</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'mean'</span><span class="p">]],</span> |
| <span class="n">standard_deviation</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'std'</span><span class="p">]],</span> |
| <span class="n">count</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> |
| <span class="n">minimum</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> |
| <span class="n">maximum</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">time_series_result</span> |
| |
| |
| <span class="k">def</span> <span class="nf">time_series</span><span class="p">(</span><span class="n">datasets</span><span class="p">,</span> <span class="n">bounding_box</span><span class="p">,</span> <span class="n">start_datetime</span><span class="p">,</span> <span class="n">end_datetime</span><span class="p">,</span> <span class="n">spark</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Send a request to NEXUS to calculate a time series.</span> |
| <span class="sd"> </span> |
| <span class="sd"> __datasets__ Sequence (max length 2) of the name of the dataset(s) </span> |
| <span class="sd"> __bounding_box__ Bounding box for area of interest as a `shapely.geometry.polygon.Polygon` </span> |
| <span class="sd"> __start_datetime__ Start time as a `datetime.datetime` </span> |
| <span class="sd"> __end_datetime__ End time as a `datetime.datetime` </span> |
| <span class="sd"> __spark__ Optionally use spark. Default: `False`</span> |
| <span class="sd"> </span> |
| <span class="sd"> __return__ List of `nexuscli.nexuscli.TimeSeries` namedtuples</span> |
| <span class="sd"> """</span> |
| |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">datasets</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span> |
| <span class="n">datasets</span> <span class="o">=</span> <span class="p">[</span><span class="n">datasets</span><span class="p">]</span> |
| |
| <span class="k">assert</span> <span class="mi">0</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">datasets</span><span class="p">)</span> <span class="o"><=</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">"datasets must be a sequence of 1 or 2 items"</span> |
| |
| <span class="n">params</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'ds'</span><span class="p">:</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">datasets</span><span class="p">),</span> |
| <span class="s1">'b'</span><span class="p">:</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">bounding_box</span><span class="o">.</span><span class="n">bounds</span><span class="p">),</span> |
| <span class="s1">'startTime'</span><span class="p">:</span> <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'endTime'</span><span class="p">:</span> <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="p">}</span> |
| |
| <span class="k">if</span> <span class="n">spark</span><span class="p">:</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/timeSeriesSpark?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| <span class="n">params</span><span class="p">[</span><span class="s1">'spark'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"mesos,16,32"</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/stats?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span> |
| <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> |
| |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"No data found in {} between {} and {} for Datasets {}."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bounding_box</span><span class="o">.</span><span class="n">wkt</span><span class="p">,</span> |
| <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">datasets</span><span class="p">)</span> |
| |
| <span class="n">time_series_result</span> <span class="o">=</span> <span class="p">[]</span> |
| |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'meta'</span><span class="p">])):</span> |
| <span class="n">key_to_index</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">())}</span> |
| |
| <span class="n">time_series_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="nb">tuple</span><span class="p">(</span><span class="n">each</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="k">for</span> <span class="n">each</span> <span class="ow">in</span> <span class="p">[</span><span class="n">entry</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">data</span> <span class="k">if</span> <span class="n">entry</span><span class="p">[</span><span class="s1">'ds'</span><span class="p">]</span> <span class="o">==</span> <span class="n">i</span><span class="p">]])</span> |
| |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">time_series_data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">time_series_result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> |
| <span class="n">TimeSeries</span><span class="p">(</span> |
| <span class="n">dataset</span><span class="o">=</span><span class="n">response</span><span class="p">[</span><span class="s1">'meta'</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="s1">'shortName'</span><span class="p">],</span> |
| <span class="n">time</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">t</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> |
| <span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'time'</span><span class="p">]]]),</span> |
| <span class="n">mean</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'mean'</span><span class="p">]],</span> |
| <span class="n">standard_deviation</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'std'</span><span class="p">]],</span> |
| <span class="n">count</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'cnt'</span><span class="p">]],</span> |
| <span class="n">minimum</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'min'</span><span class="p">]],</span> |
| <span class="n">maximum</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'max'</span><span class="p">]],</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">time_series_result</span> |
| |
| |
| <span class="k">def</span> <span class="nf">subset</span><span class="p">(</span><span class="n">dataset</span><span class="p">,</span> <span class="n">bounding_box</span><span class="p">,</span> <span class="n">start_datetime</span><span class="p">,</span> <span class="n">end_datetime</span><span class="p">,</span> <span class="n">parameter</span><span class="p">,</span> <span class="n">metadata_filter</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Fetches point values for a given dataset and geographical area or metadata criteria and time range.</span> |
| |
| <span class="sd"> __dataset__ Name of the dataset as a String </span> |
| <span class="sd"> __bounding_box__ Bounding box for area of interest as a `shapely.geometry.polygon.Polygon` </span> |
| <span class="sd"> __start_datetime__ Start time as a `datetime.datetime` </span> |
| <span class="sd"> __end_datetime__ End time as a `datetime.datetime` </span> |
| <span class="sd"> __parameter__ The parameter of interest. One of 'sst', 'sss', 'wind' or None </span> |
| <span class="sd"> __metadata_filter__ List of key:value String metadata criteria </span> |
| |
| <span class="sd"> __return__ List of `nexuscli.nexuscli.Point` namedtuples</span> |
| <span class="sd"> """</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/datainbounds?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| |
| <span class="n">params</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'ds'</span><span class="p">:</span> <span class="n">dataset</span><span class="p">,</span> |
| <span class="s1">'startTime'</span><span class="p">:</span> <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'endTime'</span><span class="p">:</span> <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'parameter'</span><span class="p">:</span> <span class="n">parameter</span><span class="p">,</span> |
| <span class="p">}</span> |
| <span class="k">if</span> <span class="n">bounding_box</span><span class="p">:</span> |
| <span class="n">params</span><span class="p">[</span><span class="s1">'b'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">bounding_box</span><span class="o">.</span><span class="n">bounds</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">metadata_filter</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">metadata_filter</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">params</span><span class="p">[</span><span class="s1">'metadataFilter'</span><span class="p">]</span> <span class="o">=</span> <span class="n">metadata_filter</span> |
| |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span> |
| <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> |
| |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"No data found in {} between {} and {} for Datasets {}."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bounding_box</span><span class="o">.</span><span class="n">wkt</span> <span class="k">if</span> <span class="n">bounding_box</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">metadata_filter</span><span class="p">,</span> |
| <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">dataset</span><span class="p">)</span> |
| |
| <span class="n">subset_result</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> |
| <span class="n">subset_result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> |
| <span class="n">Point</span><span class="p">(</span> |
| <span class="n">time</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="s1">'time'</span><span class="p">])</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">),</span> |
| <span class="n">longitude</span><span class="o">=</span><span class="n">d</span><span class="p">[</span><span class="s1">'longitude'</span><span class="p">],</span> |
| <span class="n">latitude</span><span class="o">=</span><span class="n">d</span><span class="p">[</span><span class="s1">'latitude'</span><span class="p">],</span> |
| <span class="n">variable</span><span class="o">=</span><span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">subset_result</span> |
| </pre></div> |
| |
| </div> |
| |
| </header> |
| |
| <section id="section-items"> |
| <h2 class="section-title" id="header-variables">Module variables</h2> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.ISO_FORMAT" class="name">var <span class="ident">ISO_FORMAT</span></p> |
| |
| |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.session" class="name">var <span class="ident">session</span></p> |
| |
| |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.target" class="name">var <span class="ident">target</span></p> |
| |
| |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| |
| <h2 class="section-title" id="header-functions">Functions</h2> |
| |
| <div class="item"> |
| <div class="name def" id="nexuscli.nexuscli.daily_difference_average"> |
| <p>def <span class="ident">daily_difference_average</span>(</p><p>dataset, bounding_box, start_datetime, end_datetime)</p> |
| </div> |
| |
| |
| |
| |
| <div class="desc"><p>Generate an anomaly Time series for a given dataset, bounding box, and timeframe.</p> |
| <p><strong>dataset</strong> Name of the dataset as a String<br /> |
| <strong>bounding_box</strong> Bounding box for area of interest as a <code>shapely.geometry.polygon.Polygon</code><br /> |
| <strong>start_datetime</strong> Start time as a <code>datetime.datetime</code><br /> |
| <strong>end_datetime</strong> End time as a <code>datetime.datetime</code> </p> |
| <p><strong>return</strong> List of <a href="#nexuscli.nexuscli.TimeSeries"><code>TimeSeries</code></a> namedtuples</p></div> |
| <div class="source_cont"> |
| <p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-nexuscli.nexuscli.daily_difference_average', this);">Show source ≡</a></p> |
| <div id="source-nexuscli.nexuscli.daily_difference_average" class="source"> |
| <div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">daily_difference_average</span><span class="p">(</span><span class="n">dataset</span><span class="p">,</span> <span class="n">bounding_box</span><span class="p">,</span> <span class="n">start_datetime</span><span class="p">,</span> <span class="n">end_datetime</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Generate an anomaly Time series for a given dataset, bounding box, and timeframe.</span> |
| <span class="sd"> </span> |
| <span class="sd"> __dataset__ Name of the dataset as a String </span> |
| <span class="sd"> __bounding_box__ Bounding box for area of interest as a `shapely.geometry.polygon.Polygon` </span> |
| <span class="sd"> __start_datetime__ Start time as a `datetime.datetime` </span> |
| <span class="sd"> __end_datetime__ End time as a `datetime.datetime` </span> |
| <span class="sd"> </span> |
| <span class="sd"> __return__ List of `nexuscli.nexuscli.TimeSeries` namedtuples</span> |
| <span class="sd"> """</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/dailydifferenceaverage_spark?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| |
| <span class="n">params</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'dataset'</span><span class="p">:</span> <span class="n">dataset</span><span class="p">,</span> |
| <span class="s1">'climatology'</span><span class="p">:</span> <span class="s2">"{}_CLIM"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dataset</span><span class="p">),</span> |
| <span class="s1">'b'</span><span class="p">:</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">bounding_box</span><span class="o">.</span><span class="n">bounds</span><span class="p">),</span> |
| <span class="s1">'startTime'</span><span class="p">:</span> <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'endTime'</span><span class="p">:</span> <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="p">}</span> |
| |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span> |
| <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> |
| |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"No data found in {} between {} and {} for Datasets {}."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bounding_box</span><span class="o">.</span><span class="n">wkt</span><span class="p">,</span> |
| <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">dataset</span><span class="p">)</span> |
| |
| <span class="n">time_series_result</span> <span class="o">=</span> <span class="p">[]</span> |
| |
| <span class="n">key_to_index</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">())}</span> |
| |
| <span class="n">time_series_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="nb">tuple</span><span class="p">(</span><span class="n">each</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="k">for</span> <span class="n">each</span> <span class="ow">in</span> <span class="p">[</span><span class="n">entry</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">data</span><span class="p">]])</span> |
| |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">time_series_data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">time_series_result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> |
| <span class="n">TimeSeries</span><span class="p">(</span> |
| <span class="n">dataset</span><span class="o">=</span><span class="n">dataset</span><span class="p">,</span> |
| <span class="n">time</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">t</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> |
| <span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'time'</span><span class="p">]]]),</span> |
| <span class="n">mean</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'mean'</span><span class="p">]],</span> |
| <span class="n">standard_deviation</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'std'</span><span class="p">]],</span> |
| <span class="n">count</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> |
| <span class="n">minimum</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> |
| <span class="n">maximum</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">time_series_result</span> |
| </pre></div> |
| |
| </div> |
| </div> |
| |
| </div> |
| |
| |
| <div class="item"> |
| <div class="name def" id="nexuscli.nexuscli.dataset_list"> |
| <p>def <span class="ident">dataset_list</span>(</p><p>)</p> |
| </div> |
| |
| |
| |
| |
| <div class="desc"><p>Get a list of datasets and the start and end time for each.</p> |
| <p><strong>return</strong> list of datasets. Each entry in the list contains <code>shortname</code>, <code>start</code>, and <code>end</code></p></div> |
| <div class="source_cont"> |
| <p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-nexuscli.nexuscli.dataset_list', this);">Show source ≡</a></p> |
| <div id="source-nexuscli.nexuscli.dataset_list" class="source"> |
| <div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">dataset_list</span><span class="p">():</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Get a list of datasets and the start and end time for each.</span> |
| <span class="sd"> </span> |
| <span class="sd"> __return__ list of datasets. Each entry in the list contains `shortname`, `start`, and `end`</span> |
| <span class="sd"> """</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"{}/list"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">))</span> |
| <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">list_response</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">dataset</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> |
| <span class="n">dataset</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">dataset</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="o">/</span> <span class="mi">1000</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">)</span> |
| <span class="n">dataset</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">dataset</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> <span class="o">/</span> <span class="mi">1000</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">)</span> |
| |
| <span class="n">ordered_dict</span> <span class="o">=</span> <span class="n">OrderedDict</span><span class="p">()</span> |
| <span class="n">ordered_dict</span><span class="p">[</span><span class="s1">'shortName'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[</span><span class="s1">'shortName'</span><span class="p">]</span> |
| <span class="n">ordered_dict</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> |
| <span class="n">ordered_dict</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[</span><span class="s1">'end'</span><span class="p">]</span> |
| <span class="n">list_response</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ordered_dict</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">list_response</span> |
| </pre></div> |
| |
| </div> |
| </div> |
| |
| </div> |
| |
| |
| <div class="item"> |
| <div class="name def" id="nexuscli.nexuscli.set_target"> |
| <p>def <span class="ident">set_target</span>(</p><p>url, use_session=True)</p> |
| </div> |
| |
| |
| |
| |
| <div class="desc"><p>Set the URL for the NEXUS webapp endpoint. </p> |
| <p><strong>url</strong> URL for NEXUS webapp endpoint <br /> |
| <strong>return</strong> None</p></div> |
| <div class="source_cont"> |
| <p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-nexuscli.nexuscli.set_target', this);">Show source ≡</a></p> |
| <div id="source-nexuscli.nexuscli.set_target" class="source"> |
| <div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">set_target</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">use_session</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Set the URL for the NEXUS webapp endpoint. </span> |
| <span class="sd"> </span> |
| <span class="sd"> __url__ URL for NEXUS webapp endpoint </span> |
| <span class="sd"> __return__ None</span> |
| <span class="sd"> """</span> |
| <span class="k">global</span> <span class="n">target</span> |
| <span class="n">target</span> <span class="o">=</span> <span class="n">url</span> |
| |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">use_session</span><span class="p">:</span> |
| <span class="k">global</span> <span class="n">session</span> |
| <span class="n">session</span> <span class="o">=</span> <span class="n">requests</span> |
| </pre></div> |
| |
| </div> |
| </div> |
| |
| </div> |
| |
| |
| <div class="item"> |
| <div class="name def" id="nexuscli.nexuscli.subset"> |
| <p>def <span class="ident">subset</span>(</p><p>dataset, bounding_box, start_datetime, end_datetime, parameter, metadata_filter)</p> |
| </div> |
| |
| |
| |
| |
| <div class="desc"><p>Fetches point values for a given dataset and geographical area or metadata criteria and time range.</p> |
| <p><strong>dataset</strong> Name of the dataset as a String<br /> |
| <strong>bounding_box</strong> Bounding box for area of interest as a <code>shapely.geometry.polygon.Polygon</code><br /> |
| <strong>start_datetime</strong> Start time as a <code>datetime.datetime</code><br /> |
| <strong>end_datetime</strong> End time as a <code>datetime.datetime</code><br /> |
| <strong>parameter</strong> The parameter of interest. One of 'sst', 'sss', 'wind' or None<br /> |
| <strong>metadata_filter</strong> List of key:value String metadata criteria </p> |
| <p><strong>return</strong> List of <a href="#nexuscli.nexuscli.Point"><code>Point</code></a> namedtuples</p></div> |
| <div class="source_cont"> |
| <p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-nexuscli.nexuscli.subset', this);">Show source ≡</a></p> |
| <div id="source-nexuscli.nexuscli.subset" class="source"> |
| <div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">subset</span><span class="p">(</span><span class="n">dataset</span><span class="p">,</span> <span class="n">bounding_box</span><span class="p">,</span> <span class="n">start_datetime</span><span class="p">,</span> <span class="n">end_datetime</span><span class="p">,</span> <span class="n">parameter</span><span class="p">,</span> <span class="n">metadata_filter</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Fetches point values for a given dataset and geographical area or metadata criteria and time range.</span> |
| |
| <span class="sd"> __dataset__ Name of the dataset as a String </span> |
| <span class="sd"> __bounding_box__ Bounding box for area of interest as a `shapely.geometry.polygon.Polygon` </span> |
| <span class="sd"> __start_datetime__ Start time as a `datetime.datetime` </span> |
| <span class="sd"> __end_datetime__ End time as a `datetime.datetime` </span> |
| <span class="sd"> __parameter__ The parameter of interest. One of 'sst', 'sss', 'wind' or None </span> |
| <span class="sd"> __metadata_filter__ List of key:value String metadata criteria </span> |
| |
| <span class="sd"> __return__ List of `nexuscli.nexuscli.Point` namedtuples</span> |
| <span class="sd"> """</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/datainbounds?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| |
| <span class="n">params</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'ds'</span><span class="p">:</span> <span class="n">dataset</span><span class="p">,</span> |
| <span class="s1">'startTime'</span><span class="p">:</span> <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'endTime'</span><span class="p">:</span> <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'parameter'</span><span class="p">:</span> <span class="n">parameter</span><span class="p">,</span> |
| <span class="p">}</span> |
| <span class="k">if</span> <span class="n">bounding_box</span><span class="p">:</span> |
| <span class="n">params</span><span class="p">[</span><span class="s1">'b'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">bounding_box</span><span class="o">.</span><span class="n">bounds</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">metadata_filter</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">metadata_filter</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">params</span><span class="p">[</span><span class="s1">'metadataFilter'</span><span class="p">]</span> <span class="o">=</span> <span class="n">metadata_filter</span> |
| |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span> |
| <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> |
| |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"No data found in {} between {} and {} for Datasets {}."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bounding_box</span><span class="o">.</span><span class="n">wkt</span> <span class="k">if</span> <span class="n">bounding_box</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">metadata_filter</span><span class="p">,</span> |
| <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">dataset</span><span class="p">)</span> |
| |
| <span class="n">subset_result</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> |
| <span class="n">subset_result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> |
| <span class="n">Point</span><span class="p">(</span> |
| <span class="n">time</span><span class="o">=</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="s1">'time'</span><span class="p">])</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">),</span> |
| <span class="n">longitude</span><span class="o">=</span><span class="n">d</span><span class="p">[</span><span class="s1">'longitude'</span><span class="p">],</span> |
| <span class="n">latitude</span><span class="o">=</span><span class="n">d</span><span class="p">[</span><span class="s1">'latitude'</span><span class="p">],</span> |
| <span class="n">variable</span><span class="o">=</span><span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">subset_result</span> |
| </pre></div> |
| |
| </div> |
| </div> |
| |
| </div> |
| |
| |
| <div class="item"> |
| <div class="name def" id="nexuscli.nexuscli.time_series"> |
| <p>def <span class="ident">time_series</span>(</p><p>datasets, bounding_box, start_datetime, end_datetime, spark=False)</p> |
| </div> |
| |
| |
| |
| |
| <div class="desc"><p>Send a request to NEXUS to calculate a time series.</p> |
| <p><strong>datasets</strong> Sequence (max length 2) of the name of the dataset(s)<br /> |
| <strong>bounding_box</strong> Bounding box for area of interest as a <code>shapely.geometry.polygon.Polygon</code><br /> |
| <strong>start_datetime</strong> Start time as a <code>datetime.datetime</code><br /> |
| <strong>end_datetime</strong> End time as a <code>datetime.datetime</code><br /> |
| <strong>spark</strong> Optionally use spark. Default: <code>False</code></p> |
| <p><strong>return</strong> List of <a href="#nexuscli.nexuscli.TimeSeries"><code>TimeSeries</code></a> namedtuples</p></div> |
| <div class="source_cont"> |
| <p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-nexuscli.nexuscli.time_series', this);">Show source ≡</a></p> |
| <div id="source-nexuscli.nexuscli.time_series" class="source"> |
| <div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">time_series</span><span class="p">(</span><span class="n">datasets</span><span class="p">,</span> <span class="n">bounding_box</span><span class="p">,</span> <span class="n">start_datetime</span><span class="p">,</span> <span class="n">end_datetime</span><span class="p">,</span> <span class="n">spark</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Send a request to NEXUS to calculate a time series.</span> |
| <span class="sd"> </span> |
| <span class="sd"> __datasets__ Sequence (max length 2) of the name of the dataset(s) </span> |
| <span class="sd"> __bounding_box__ Bounding box for area of interest as a `shapely.geometry.polygon.Polygon` </span> |
| <span class="sd"> __start_datetime__ Start time as a `datetime.datetime` </span> |
| <span class="sd"> __end_datetime__ End time as a `datetime.datetime` </span> |
| <span class="sd"> __spark__ Optionally use spark. Default: `False`</span> |
| <span class="sd"> </span> |
| <span class="sd"> __return__ List of `nexuscli.nexuscli.TimeSeries` namedtuples</span> |
| <span class="sd"> """</span> |
| |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">datasets</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span> |
| <span class="n">datasets</span> <span class="o">=</span> <span class="p">[</span><span class="n">datasets</span><span class="p">]</span> |
| |
| <span class="k">assert</span> <span class="mi">0</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">datasets</span><span class="p">)</span> <span class="o"><=</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">"datasets must be a sequence of 1 or 2 items"</span> |
| |
| <span class="n">params</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'ds'</span><span class="p">:</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">datasets</span><span class="p">),</span> |
| <span class="s1">'b'</span><span class="p">:</span> <span class="s1">','</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">bounding_box</span><span class="o">.</span><span class="n">bounds</span><span class="p">),</span> |
| <span class="s1">'startTime'</span><span class="p">:</span> <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="s1">'endTime'</span><span class="p">:</span> <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="p">}</span> |
| |
| <span class="k">if</span> <span class="n">spark</span><span class="p">:</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/timeSeriesSpark?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| <span class="n">params</span><span class="p">[</span><span class="s1">'spark'</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"mesos,16,32"</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">url</span> <span class="o">=</span> <span class="s2">"{}/stats?"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">target</span><span class="p">)</span> |
| |
| <span class="n">response</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">)</span> |
| <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span> |
| <span class="n">response</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> |
| |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span> |
| |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"No data found in {} between {} and {} for Datasets {}."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">bounding_box</span><span class="o">.</span><span class="n">wkt</span><span class="p">,</span> |
| <span class="n">start_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">end_datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span> |
| <span class="n">ISO_FORMAT</span><span class="p">),</span> |
| <span class="n">datasets</span><span class="p">)</span> |
| |
| <span class="n">time_series_result</span> <span class="o">=</span> <span class="p">[]</span> |
| |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">response</span><span class="p">[</span><span class="s1">'meta'</span><span class="p">])):</span> |
| <span class="n">key_to_index</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">())}</span> |
| |
| <span class="n">time_series_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="nb">tuple</span><span class="p">(</span><span class="n">each</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="k">for</span> <span class="n">each</span> <span class="ow">in</span> <span class="p">[</span><span class="n">entry</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">data</span> <span class="k">if</span> <span class="n">entry</span><span class="p">[</span><span class="s1">'ds'</span><span class="p">]</span> <span class="o">==</span> <span class="n">i</span><span class="p">]])</span> |
| |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">time_series_data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">time_series_result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> |
| <span class="n">TimeSeries</span><span class="p">(</span> |
| <span class="n">dataset</span><span class="o">=</span><span class="n">response</span><span class="p">[</span><span class="s1">'meta'</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="s1">'shortName'</span><span class="p">],</span> |
| <span class="n">time</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">t</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> |
| <span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'time'</span><span class="p">]]]),</span> |
| <span class="n">mean</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'mean'</span><span class="p">]],</span> |
| <span class="n">standard_deviation</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'std'</span><span class="p">]],</span> |
| <span class="n">count</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'cnt'</span><span class="p">]],</span> |
| <span class="n">minimum</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'min'</span><span class="p">]],</span> |
| <span class="n">maximum</span><span class="o">=</span><span class="n">time_series_data</span><span class="p">[:,</span> <span class="n">key_to_index</span><span class="p">[</span><span class="s1">'max'</span><span class="p">]],</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">time_series_result</span> |
| </pre></div> |
| |
| </div> |
| </div> |
| |
| </div> |
| |
| |
| <h2 class="section-title" id="header-classes">Classes</h2> |
| |
| <div class="item"> |
| <p id="nexuscli.nexuscli.Point" class="name">class <span class="ident">Point</span></p> |
| |
| |
| <div class="desc"><p>An object containing Point attributes.</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| |
| <div class="class"> |
| <h3>Ancestors (in MRO)</h3> |
| <ul class="class_list"> |
| <li><a href="#nexuscli.nexuscli.Point">Point</a></li> |
| <li>builtins.tuple</li> |
| <li>builtins.object</li> |
| </ul> |
| <h3>Instance variables</h3> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.Point.latitude" class="name">var <span class="ident">latitude</span></p> |
| |
| |
| |
| |
| <div class="desc"><p>latitude value</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.Point.longitude" class="name">var <span class="ident">longitude</span></p> |
| |
| |
| |
| |
| <div class="desc"><p>longitude value</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.Point.time" class="name">var <span class="ident">time</span></p> |
| |
| |
| |
| |
| <div class="desc"><p>time value as <code>datetime</code> object</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.Point.variable" class="name">var <span class="ident">variable</span></p> |
| |
| |
| |
| |
| <div class="desc"><p>dictionary of variable values</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| </div> |
| </div> |
| |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries" class="name">class <span class="ident">TimeSeries</span></p> |
| |
| |
| <div class="desc"><p>An object containing Time Series arrays.</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| |
| <div class="class"> |
| <h3>Ancestors (in MRO)</h3> |
| <ul class="class_list"> |
| <li><a href="#nexuscli.nexuscli.TimeSeries">TimeSeries</a></li> |
| <li>builtins.tuple</li> |
| <li>builtins.object</li> |
| </ul> |
| <h3>Instance variables</h3> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.count" class="name">var <span class="ident">count</span></p> |
| |
| |
| |
| |
| <div class="desc"><p><code>numpy</code> array containing counts</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.dataset" class="name">var <span class="ident">dataset</span></p> |
| |
| |
| |
| |
| <div class="desc"><p>Name of the Dataset</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.maximum" class="name">var <span class="ident">maximum</span></p> |
| |
| |
| |
| |
| <div class="desc"><p><code>numpy</code> array containing maximums</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.mean" class="name">var <span class="ident">mean</span></p> |
| |
| |
| |
| |
| <div class="desc"><p><code>numpy</code> array containing means</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.minimum" class="name">var <span class="ident">minimum</span></p> |
| |
| |
| |
| |
| <div class="desc"><p><code>numpy</code> array containing minimums</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.standard_deviation" class="name">var <span class="ident">standard_deviation</span></p> |
| |
| |
| |
| |
| <div class="desc"><p><code>numpy</code> array containing standard deviations</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| <div class="item"> |
| <p id="nexuscli.nexuscli.TimeSeries.time" class="name">var <span class="ident">time</span></p> |
| |
| |
| |
| |
| <div class="desc"><p><code>numpy</code> array containing times as <code>datetime</code> objects</p></div> |
| <div class="source_cont"> |
| </div> |
| |
| </div> |
| </div> |
| </div> |
| |
| </section> |
| |
| </article> |
| <div class="clear"> </div> |
| <footer id="footer"> |
| <p> |
| Documentation generated by |
| <a href="https://github.com/BurntSushi/pdoc">pdoc 0.3.2</a> |
| </p> |
| |
| <p>pdoc is in the public domain with the |
| <a href="http://unlicense.org">UNLICENSE</a></p> |
| |
| <p>Design by <a href="http://nadh.in">Kailash Nadh</a></p> |
| </footer> |
| </div> |
| </body> |
| </html> |