├── docs_html ├── .nojekyll ├── objects.inv ├── _static │ ├── up.png │ ├── down.png │ ├── file.png │ ├── minus.png │ ├── plus.png │ ├── comment.png │ ├── up-pressed.png │ ├── ajax-loader.gif │ ├── comment-close.png │ ├── down-pressed.png │ ├── comment-bright.png │ ├── pygments.css │ ├── doctools.js │ ├── underscore.js │ ├── alabaster.css │ └── basic.css ├── _sources │ ├── napoleon │ │ ├── modules.txt │ │ ├── mainexample.txt │ │ └── awspricingfull.txt │ └── index.txt ├── .buildinfo ├── _modules │ └── index.html ├── search.html ├── napoleon │ ├── modules.html │ └── mainexample.html ├── py-modindex.html ├── index.html └── searchindex.js ├── docs_full ├── _build │ ├── html │ │ ├── .nojekyll │ │ ├── objects.inv │ │ ├── _static │ │ │ ├── up.png │ │ │ ├── down.png │ │ │ ├── file.png │ │ │ ├── minus.png │ │ │ ├── plus.png │ │ │ ├── comment.png │ │ │ ├── ajax-loader.gif │ │ │ ├── up-pressed.png │ │ │ ├── comment-close.png │ │ │ ├── down-pressed.png │ │ │ ├── comment-bright.png │ │ │ ├── pygments.css │ │ │ ├── doctools.js │ │ │ ├── underscore.js │ │ │ ├── alabaster.css │ │ │ └── basic.css │ │ ├── _sources │ │ │ ├── napoleon │ │ │ │ ├── modules.txt │ │ │ │ ├── mainexample.txt │ │ │ │ └── awspricingfull.txt │ │ │ └── index.txt │ │ ├── .buildinfo │ │ ├── _modules │ │ │ └── index.html │ │ ├── search.html │ │ ├── napoleon │ │ │ ├── modules.html │ │ │ └── mainexample.html │ │ ├── py-modindex.html │ │ └── index.html │ └── doctrees │ │ ├── index.doctree │ │ ├── environment.pickle │ │ └── napoleon │ │ ├── modules.doctree │ │ ├── mainexample.doctree │ │ └── awspricingfull.doctree ├── napoleon │ ├── modules.rst │ ├── mainexample.rst │ └── awspricingfull.rst ├── index.rst ├── make.bat ├── Makefile └── conf.py ├── setup.py ├── .gitattributes ├── .gitignore ├── LICENSE.md ├── README.md └── mainexample.py /docs_html/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs_full/_build/html/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs_html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/objects.inv -------------------------------------------------------------------------------- /docs_html/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/up.png -------------------------------------------------------------------------------- /docs_html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/down.png -------------------------------------------------------------------------------- /docs_html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/file.png -------------------------------------------------------------------------------- /docs_html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/minus.png -------------------------------------------------------------------------------- /docs_html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/plus.png -------------------------------------------------------------------------------- /docs_html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/comment.png -------------------------------------------------------------------------------- /docs_html/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/up-pressed.png -------------------------------------------------------------------------------- /docs_full/_build/html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/objects.inv -------------------------------------------------------------------------------- /docs_html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /docs_html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/comment-close.png -------------------------------------------------------------------------------- /docs_html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/down-pressed.png -------------------------------------------------------------------------------- /docs_full/_build/html/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/up.png -------------------------------------------------------------------------------- /docs_full/napoleon/modules.rst: -------------------------------------------------------------------------------- 1 | src 2 | === 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | awspricingfull 8 | mainexample 9 | -------------------------------------------------------------------------------- /docs_html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_html/_static/comment-bright.png -------------------------------------------------------------------------------- /docs_full/_build/doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/doctrees/index.doctree -------------------------------------------------------------------------------- /docs_full/_build/html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/down.png -------------------------------------------------------------------------------- /docs_full/_build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/file.png -------------------------------------------------------------------------------- /docs_full/_build/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/minus.png -------------------------------------------------------------------------------- /docs_full/_build/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/plus.png -------------------------------------------------------------------------------- /docs_html/_sources/napoleon/modules.txt: -------------------------------------------------------------------------------- 1 | src 2 | === 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | awspricingfull 8 | mainexample 9 | -------------------------------------------------------------------------------- /docs_full/_build/html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/comment.png -------------------------------------------------------------------------------- /docs_full/_build/doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/doctrees/environment.pickle -------------------------------------------------------------------------------- /docs_full/_build/html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /docs_full/_build/html/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/up-pressed.png -------------------------------------------------------------------------------- /docs_full/_build/html/_sources/napoleon/modules.txt: -------------------------------------------------------------------------------- 1 | src 2 | === 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | awspricingfull 8 | mainexample 9 | -------------------------------------------------------------------------------- /docs_full/_build/html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/comment-close.png -------------------------------------------------------------------------------- /docs_full/_build/html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/down-pressed.png -------------------------------------------------------------------------------- /docs_full/_build/doctrees/napoleon/modules.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/doctrees/napoleon/modules.doctree -------------------------------------------------------------------------------- /docs_full/_build/html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/html/_static/comment-bright.png -------------------------------------------------------------------------------- /docs_full/_build/doctrees/napoleon/mainexample.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/doctrees/napoleon/mainexample.doctree -------------------------------------------------------------------------------- /docs_full/_build/doctrees/napoleon/awspricingfull.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ilia-semenov/awspricingfull/HEAD/docs_full/_build/doctrees/napoleon/awspricingfull.doctree -------------------------------------------------------------------------------- /docs_full/napoleon/mainexample.rst: -------------------------------------------------------------------------------- 1 | mainexample module 2 | ================== 3 | 4 | .. automodule:: mainexample 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs_html/_sources/napoleon/mainexample.txt: -------------------------------------------------------------------------------- 1 | mainexample module 2 | ================== 3 | 4 | .. automodule:: mainexample 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs_full/napoleon/awspricingfull.rst: -------------------------------------------------------------------------------- 1 | awspricingfull module 2 | ===================== 3 | 4 | .. automodule:: awspricingfull 5 | :members: 6 | :show-inheritance: 7 | :inherited-members: 8 | -------------------------------------------------------------------------------- /docs_full/_build/html/_sources/napoleon/mainexample.txt: -------------------------------------------------------------------------------- 1 | mainexample module 2 | ================== 3 | 4 | .. automodule:: mainexample 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs_html/_sources/napoleon/awspricingfull.txt: -------------------------------------------------------------------------------- 1 | awspricingfull module 2 | ===================== 3 | 4 | .. automodule:: awspricingfull 5 | :members: 6 | :show-inheritance: 7 | :inherited-members: 8 | -------------------------------------------------------------------------------- /docs_full/_build/html/_sources/napoleon/awspricingfull.txt: -------------------------------------------------------------------------------- 1 | awspricingfull module 2 | ===================== 3 | 4 | .. automodule:: awspricingfull 5 | :members: 6 | :show-inheritance: 7 | :inherited-members: 8 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | setup(name='awspricingfull', 3 | version='3.0', 4 | py_modules=['awspricingfull'], 5 | url='https://github.com/ilia-semenov/awspricingfull', 6 | author='Ilia Semenov' 7 | ) 8 | -------------------------------------------------------------------------------- /docs_html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: bff7c6ca07ef72d40a1ed82dedb3183f 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /docs_full/_build/html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: bff7c6ca07ef72d40a1ed82dedb3183f 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /docs_full/index.rst: -------------------------------------------------------------------------------- 1 | .. awspricingfull documentation master file, created by 2 | sphinx-quickstart on Tue May 03 16:52:37 2016. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to awspricingfull's documentation! 7 | ========================================== 8 | 9 | Contents: 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | .. automodule:: awspricingfull 14 | 15 | 16 | Indices and tables 17 | ================== 18 | 19 | * :ref:`genindex` 20 | * :ref:`modindex` 21 | * :ref:`search` 22 | 23 | -------------------------------------------------------------------------------- /docs_html/_sources/index.txt: -------------------------------------------------------------------------------- 1 | .. awspricingfull documentation master file, created by 2 | sphinx-quickstart on Tue May 03 16:52:37 2016. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to awspricingfull's documentation! 7 | ========================================== 8 | 9 | Contents: 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | .. automodule:: awspricingfull 14 | 15 | 16 | Indices and tables 17 | ================== 18 | 19 | * :ref:`genindex` 20 | * :ref:`modindex` 21 | * :ref:`search` 22 | 23 | -------------------------------------------------------------------------------- /docs_full/_build/html/_sources/index.txt: -------------------------------------------------------------------------------- 1 | .. awspricingfull documentation master file, created by 2 | sphinx-quickstart on Tue May 03 16:52:37 2016. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to awspricingfull's documentation! 7 | ========================================== 8 | 9 | Contents: 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | .. automodule:: awspricingfull 14 | 15 | 16 | Indices and tables 17 | ================== 18 | 19 | * :ref:`genindex` 20 | * :ref:`modindex` 21 | * :ref:`search` 22 | 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Ilia Semenov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs_html/_modules/index.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Overview: module code — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |

All modules for which code is available

40 | 42 | 43 |
44 |
45 |
46 | 66 |
67 |
68 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /docs_full/_build/html/_modules/index.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Overview: module code — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |

All modules for which code is available

40 | 42 | 43 |
44 |
45 |
46 | 66 |
67 |
68 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /docs_html/search.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Search — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
43 |
44 |
45 |
46 | 47 |

Search

48 |
49 | 50 |

51 | Please activate JavaScript to enable the search 52 | functionality. 53 |

54 |
55 |

56 | From here you can search these documents. Enter your search 57 | words into the box below and click "search". Note that the search 58 | function will automatically search for all of the words. Pages 59 | containing fewer words won't appear in the result list. 60 |

61 |
62 | 63 | 64 | 65 |
66 | 67 |
68 | 69 |
70 | 71 |
72 |
73 |
74 | 84 |
85 |
86 | 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /docs_full/_build/html/search.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Search — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
43 |
44 |
45 |
46 | 47 |

Search

48 |
49 | 50 |

51 | Please activate JavaScript to enable the search 52 | functionality. 53 |

54 |
55 |

56 | From here you can search these documents. Enter your search 57 | words into the box below and click "search". Note that the search 58 | function will automatically search for all of the words. Pages 59 | containing fewer words won't appear in the result list. 60 |

61 |
62 | 63 | 64 | 65 |
66 | 67 |
68 | 69 |
70 | 71 |
72 |
73 |
74 | 84 |
85 |
86 | 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /docs_html/napoleon/modules.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | src — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |
40 |

src

41 |
42 | 46 |
47 |
48 | 49 | 50 |
51 |
52 |
53 | 80 |
81 |
82 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /docs_full/_build/html/napoleon/modules.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | src — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |
40 |

src

41 |
42 | 46 |
47 |
48 | 49 | 50 |
51 |
52 |
53 | 80 |
81 |
82 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /docs_html/py-modindex.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Python Module Index — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 36 | 37 | 38 | 39 | 40 | 41 |
42 |
43 |
44 |
45 | 46 | 47 |

Python Module Index

48 | 49 |
50 | a | 51 | m 52 |
53 | 54 | 55 | 56 | 58 | 59 | 60 | 63 | 64 | 66 | 67 | 68 | 71 |
 
57 | a
61 | awspricingfull 62 |
 
65 | m
69 | mainexample 70 |
72 | 73 | 74 |
75 |
76 |
77 | 97 |
98 |
99 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs_full/_build/html/py-modindex.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Python Module Index — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 36 | 37 | 38 | 39 | 40 | 41 |
42 |
43 |
44 |
45 | 46 | 47 |

Python Module Index

48 | 49 |
50 | a | 51 | m 52 |
53 | 54 | 55 | 56 | 58 | 59 | 60 | 63 | 64 | 66 | 67 | 68 | 71 |
 
57 | a
61 | awspricingfull 62 |
 
65 | m
69 | mainexample 70 |
72 | 73 | 74 |
75 |
76 |
77 | 97 |
98 |
99 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs_html/_static/pygments.css: -------------------------------------------------------------------------------- 1 | .highlight .hll { background-color: #ffffcc } 2 | .highlight { background: #eeffcc; } 3 | .highlight .c { color: #408090; font-style: italic } /* Comment */ 4 | .highlight .err { border: 1px solid #FF0000 } /* Error */ 5 | .highlight .k { color: #007020; font-weight: bold } /* Keyword */ 6 | .highlight .o { color: #666666 } /* Operator */ 7 | .highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ 8 | .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ 9 | .highlight .cp { color: #007020 } /* Comment.Preproc */ 10 | .highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ 11 | .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ 12 | .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ 13 | .highlight .gd { color: #A00000 } /* Generic.Deleted */ 14 | .highlight .ge { font-style: italic } /* Generic.Emph */ 15 | .highlight .gr { color: #FF0000 } /* Generic.Error */ 16 | .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ 17 | .highlight .gi { color: #00A000 } /* Generic.Inserted */ 18 | .highlight .go { color: #333333 } /* Generic.Output */ 19 | .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ 20 | .highlight .gs { font-weight: bold } /* Generic.Strong */ 21 | .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ 22 | .highlight .gt { color: #0044DD } /* Generic.Traceback */ 23 | .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ 24 | .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ 25 | .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ 26 | .highlight .kp { color: #007020 } /* Keyword.Pseudo */ 27 | .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ 28 | .highlight .kt { color: #902000 } /* Keyword.Type */ 29 | .highlight .m { color: #208050 } /* Literal.Number */ 30 | .highlight .s { color: #4070a0 } /* Literal.String */ 31 | .highlight .na { color: #4070a0 } /* Name.Attribute */ 32 | .highlight .nb { color: #007020 } /* Name.Builtin */ 33 | .highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ 34 | .highlight .no { color: #60add5 } /* Name.Constant */ 35 | .highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ 36 | .highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ 37 | .highlight .ne { color: #007020 } /* Name.Exception */ 38 | .highlight .nf { color: #06287e } /* Name.Function */ 39 | .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ 40 | .highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ 41 | .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ 42 | .highlight .nv { color: #bb60d5 } /* Name.Variable */ 43 | .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ 44 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */ 45 | .highlight .mb { color: #208050 } /* Literal.Number.Bin */ 46 | .highlight .mf { color: #208050 } /* Literal.Number.Float */ 47 | .highlight .mh { color: #208050 } /* Literal.Number.Hex */ 48 | .highlight .mi { color: #208050 } /* Literal.Number.Integer */ 49 | .highlight .mo { color: #208050 } /* Literal.Number.Oct */ 50 | .highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ 51 | .highlight .sc { color: #4070a0 } /* Literal.String.Char */ 52 | .highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ 53 | .highlight .s2 { color: #4070a0 } /* Literal.String.Double */ 54 | .highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ 55 | .highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ 56 | .highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ 57 | .highlight .sx { color: #c65d09 } /* Literal.String.Other */ 58 | .highlight .sr { color: #235388 } /* Literal.String.Regex */ 59 | .highlight .s1 { color: #4070a0 } /* Literal.String.Single */ 60 | .highlight .ss { color: #517918 } /* Literal.String.Symbol */ 61 | .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ 62 | .highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ 63 | .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ 64 | .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ 65 | .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ -------------------------------------------------------------------------------- /docs_full/_build/html/_static/pygments.css: -------------------------------------------------------------------------------- 1 | .highlight .hll { background-color: #ffffcc } 2 | .highlight { background: #eeffcc; } 3 | .highlight .c { color: #408090; font-style: italic } /* Comment */ 4 | .highlight .err { border: 1px solid #FF0000 } /* Error */ 5 | .highlight .k { color: #007020; font-weight: bold } /* Keyword */ 6 | .highlight .o { color: #666666 } /* Operator */ 7 | .highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ 8 | .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ 9 | .highlight .cp { color: #007020 } /* Comment.Preproc */ 10 | .highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ 11 | .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ 12 | .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ 13 | .highlight .gd { color: #A00000 } /* Generic.Deleted */ 14 | .highlight .ge { font-style: italic } /* Generic.Emph */ 15 | .highlight .gr { color: #FF0000 } /* Generic.Error */ 16 | .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ 17 | .highlight .gi { color: #00A000 } /* Generic.Inserted */ 18 | .highlight .go { color: #333333 } /* Generic.Output */ 19 | .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ 20 | .highlight .gs { font-weight: bold } /* Generic.Strong */ 21 | .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ 22 | .highlight .gt { color: #0044DD } /* Generic.Traceback */ 23 | .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ 24 | .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ 25 | .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ 26 | .highlight .kp { color: #007020 } /* Keyword.Pseudo */ 27 | .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ 28 | .highlight .kt { color: #902000 } /* Keyword.Type */ 29 | .highlight .m { color: #208050 } /* Literal.Number */ 30 | .highlight .s { color: #4070a0 } /* Literal.String */ 31 | .highlight .na { color: #4070a0 } /* Name.Attribute */ 32 | .highlight .nb { color: #007020 } /* Name.Builtin */ 33 | .highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ 34 | .highlight .no { color: #60add5 } /* Name.Constant */ 35 | .highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ 36 | .highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ 37 | .highlight .ne { color: #007020 } /* Name.Exception */ 38 | .highlight .nf { color: #06287e } /* Name.Function */ 39 | .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ 40 | .highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ 41 | .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ 42 | .highlight .nv { color: #bb60d5 } /* Name.Variable */ 43 | .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ 44 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */ 45 | .highlight .mb { color: #208050 } /* Literal.Number.Bin */ 46 | .highlight .mf { color: #208050 } /* Literal.Number.Float */ 47 | .highlight .mh { color: #208050 } /* Literal.Number.Hex */ 48 | .highlight .mi { color: #208050 } /* Literal.Number.Integer */ 49 | .highlight .mo { color: #208050 } /* Literal.Number.Oct */ 50 | .highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ 51 | .highlight .sc { color: #4070a0 } /* Literal.String.Char */ 52 | .highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ 53 | .highlight .s2 { color: #4070a0 } /* Literal.String.Double */ 54 | .highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ 55 | .highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ 56 | .highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ 57 | .highlight .sx { color: #c65d09 } /* Literal.String.Other */ 58 | .highlight .sr { color: #235388 } /* Literal.String.Regex */ 59 | .highlight .s1 { color: #4070a0 } /* Literal.String.Single */ 60 | .highlight .ss { color: #517918 } /* Literal.String.Symbol */ 61 | .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ 62 | .highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ 63 | .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ 64 | .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ 65 | .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ -------------------------------------------------------------------------------- /docs_html/napoleon/mainexample.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | mainexample module — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |
40 |

mainexample module

41 |

Simple main routine for awspricingfull module.

42 |

Call the class corresponding to your needs (EC2Prices(), RDSPrices(), etc.), 43 | and use any method with parameters needed. See the awspricingfull documentation for reference.

44 |

In a nutshell: To save CSV use save_csv method for instance of any of the functional classes 45 | (EC2Prices() - EC2, RDSPrices() - RDS, ELCPrices() - ElastiCache, RSPrices() - Redshift, DDBPrices() - DynamoDB). 46 | With save_csv use “reserved” or “ondemand” as first parameter, your path as second (home 47 | dir by default) and file name as third (conventional default). Also, to save prices for all 48 | the products use AllAWSPrices() class and same save_csv method with small difference - you 49 | can set the first parameter to “all” which will return all the pricing (reserved and on-demand 50 | for all the services).

51 |

Method print_table is available for EC2Prices(), RDSPrices(), ELCPrices(), RSPrices(), DDBPrices(). It outputs 52 | the pricing in a table format to console. Prettytable library is required. Method takes only one parameter: 53 | “reserved” or “ondemand”. Not available for AllAWSPrices().

54 |

Method print_json is available for all classes. It returns the pricing in a JSON format 55 | and does not output it to console. Method takes only one parameter: “reserved” or “ondemand” 56 | and additional “all” for AllAWSPrices().

57 |

Created: Mar 26, 2015

58 |

Updated: May 3, 2016

59 |

@author: Ilia Semenov

60 |

@version: 3.0

61 |
62 | 63 | 64 |
65 |
66 |
67 | 94 |
95 |
96 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs_full/_build/html/napoleon/mainexample.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | mainexample module — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |
40 |

mainexample module

41 |

Simple main routine for awspricingfull module.

42 |

Call the class corresponding to your needs (EC2Prices(), RDSPrices(), etc.), 43 | and use any method with parameters needed. See the awspricingfull documentation for reference.

44 |

In a nutshell: To save CSV use save_csv method for instance of any of the functional classes 45 | (EC2Prices() - EC2, RDSPrices() - RDS, ELCPrices() - ElastiCache, RSPrices() - Redshift, DDBPrices() - DynamoDB). 46 | With save_csv use “reserved” or “ondemand” as first parameter, your path as second (home 47 | dir by default) and file name as third (conventional default). Also, to save prices for all 48 | the products use AllAWSPrices() class and same save_csv method with small difference - you 49 | can set the first parameter to “all” which will return all the pricing (reserved and on-demand 50 | for all the services).

51 |

Method print_table is available for EC2Prices(), RDSPrices(), ELCPrices(), RSPrices(), DDBPrices(). It outputs 52 | the pricing in a table format to console. Prettytable library is required. Method takes only one parameter: 53 | “reserved” or “ondemand”. Not available for AllAWSPrices().

54 |

Method print_json is available for all classes. It returns the pricing in a JSON format 55 | and does not output it to console. Method takes only one parameter: “reserved” or “ondemand” 56 | and additional “all” for AllAWSPrices().

57 |

Created: Mar 26, 2015

58 |

Updated: May 3, 2016

59 |

@author: Ilia Semenov

60 |

@version: 3.0

61 |
62 | 63 | 64 |
65 |
66 |
67 | 94 |
95 |
96 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs_html/index.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Welcome to awspricingfull’s documentation! — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |
40 |

Welcome to awspricingfull’s documentation!

41 |

Contents:

42 |
43 |
    44 |
45 |
46 |

AWS Instances (EC2, ElastiCache, RDS, Redshift, DynamoDB) pricing retrieval project.

47 |

Project contains one module which is designed to retrieve the AWS prices for 48 | five major AWS services that have reserved capacity involved: EC2, ElastiCache, 49 | RDS, Redshift and DynamoDB. The prices either On-Demand or Reserved (specified by user) can 50 | be retrieved to Command Line in JSON, Table (Prettytable) or CSV formats. CSV format 51 | option also saves the csv file to the folder specified by user, which is the main 52 | use case.

53 |

The undocumented AWS pricing APIs are used as the sources. The same APIs serve 54 | the data to the AWS pricing pages. 55 | Both current and previous generation instance prices are retrieved.

56 |

Update 2.0: New pricing scheme (noUpfront, allUpfront, PartialUpfront) compatibility for RDS and Redshift is added. Minor bugs fixed.

57 |

Update 3.0: DynamoDB throughput capacity pricing is added. MariaDB and Aurora are added to RDS. New schema for AllPrices table introduced 58 | (DB and OS columns merged).

59 |

Created: 25 March, 2015

60 |

Updated: 3 May, 2016

61 |

@author: Ilia Semenov

62 |

@version: 3.0

63 |
64 |
65 |

Indices and tables

66 | 71 |
72 | 73 | 74 |
75 |
76 |
77 | 110 |
111 |
112 | 123 | 124 | 125 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /docs_full/_build/html/index.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Welcome to awspricingfull’s documentation! — awspricingfull 3.0 documentation 10 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 | 39 |
40 |

Welcome to awspricingfull’s documentation!

41 |

Contents:

42 |
43 |
    44 |
45 |
46 |

AWS Instances (EC2, ElastiCache, RDS, Redshift, DynamoDB) pricing retrieval project.

47 |

Project contains one module which is designed to retrieve the AWS prices for 48 | five major AWS services that have reserved capacity involved: EC2, ElastiCache, 49 | RDS, Redshift and DynamoDB. The prices either On-Demand or Reserved (specified by user) can 50 | be retrieved to Command Line in JSON, Table (Prettytable) or CSV formats. CSV format 51 | option also saves the csv file to the folder specified by user, which is the main 52 | use case.

53 |

The undocumented AWS pricing APIs are used as the sources. The same APIs serve 54 | the data to the AWS pricing pages. 55 | Both current and previous generation instance prices are retrieved.

56 |

Update 2.0: New pricing scheme (noUpfront, allUpfront, PartialUpfront) compatibility for RDS and Redshift is added. Minor bugs fixed.

57 |

Update 3.0: DynamoDB throughput capacity pricing is added. MariaDB and Aurora are added to RDS. New schema for AllPrices table introduced 58 | (DB and OS columns merged).

59 |

Created: 25 March, 2015

60 |

Updated: 3 May, 2016

61 |

@author: Ilia Semenov

62 |

@version: 3.0

63 |
64 |
65 |

Indices and tables

66 | 71 |
72 | 73 | 74 |
75 |
76 |
77 | 110 |
111 |
112 | 123 | 124 | 125 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # awspricingfull.py 2 | 3 | ------------------------------------------ 4 | **UPDATE 12/15/2020: THIS CODE IS DEPRECATED, REPO IS ARCHIVED** 5 | 6 | * This code is for nostalgic reference only 7 | * For the past couple years there official AWS API for pricing retrieval: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html 8 | 9 | 10 | ------------------------------------------ 11 | **MINOR UPDATE 02/14/2017: Canada Central and London Regions** 12 | 13 | * Canada Central region (ca-central-1) is added to the script 14 | * London region (eu-west-2) is added to the script 15 | 16 | 17 | **Program is fully functional and up-to-date.** 18 | 19 | ------------------------------------------- 20 | **MINOR UPDATE 11/16/2016: Ohio Region** 21 | 22 | * Ohio region (us-east-2) is added to the script 23 | * Minor bug fixes 24 | 25 | 26 | **NOTE: Only Standard reservations are included. Convertible reservations are in roadmap.** 27 | 28 | **Program is fully functional and up-to-date.** 29 | 30 | ------------------------------------------- 31 | **MINOR UPDATE 07/01/2016: Mumbai Region** 32 | 33 | * Mumbai region (ap-south-1) is added to the script 34 | * Minor bug fixes 35 | 36 | **Program is fully functional and up-to-date.** 37 | 38 | ------------------------------------------- 39 | **MAJOR UPDATE 04/05/2016: Version 3.0 of program** 40 | 41 | * DynamoDB throughput (Read/Write) pricing is introduced 42 | * Minor bug fixes 43 | 44 | **Program is fully functional and up-to-date.** 45 | 46 | ------------------------------------------- 47 | 48 | **ROADMAP** 49 | 50 | As there had been no AWS updates affecting pricing sheets since June 2015, I stopped the active development of the script and was just checking it from time to time. Moreover, **in December 2015 AWS introduced their own pricing API** which was a great thing. 51 | However, when I had to update my work-related DBs with the new Seoul region pricing, I found out that AWS API implementation is not straightforward: 52 | 53 | * Every region should be accessed separately 54 | * Parsing needed 55 | * Overall, major development effort is neded to use the API 56 | 57 | That is why I came back to my good old tool, added Seoul region into it, and found out that it still produces the top-notch results that I was able to use right away. At the sam=e time I decided to continue the development of the tool, and here is the roadmap for the nearest time: 58 | 59 | * Include convertible reserved instance pricing 60 | * Dictionary dependency fix - make the tool tolerate AWS changes (such as new regions introductions) 61 | * Dedicated instances pricing 62 | 63 | **Please, let me know what else would be good to have in the resulting uniform output of the tool.** 64 | 65 | ------------------------------------ 66 | 67 | **MINOR UPDATE 04/06/2016** 68 | 69 | * Aurora and MariaDB are added to RDS 70 | * New table schema is introduced with the separate method: now columns OS (EC2) and DB (RDS) are merged as they do not intersect; the old schema is still available 71 | 72 | --------------------------------------- 73 | 74 | **MINOR UPDATE 03/24/2016** 75 | 76 | * Seoul region (ap-northeast-2) is added to dictionaries 77 | * Tool is tested to produce accurate up-to-date results 78 | 79 | ------------------------------------- 80 | 81 | **MAJOR UPDATE 06/19/2015: Version 2.0 of program** 82 | 83 | * New RDS pricing scheme is added (noUpfront, partialUpfront, allUpfront) 84 | * Thorough testing is performed and major bugs fixed: 85 | * Redshift "clean" hourly price calculation (from monthly cost) is corrected following AWS correcting it on their pricing website 86 | * Output pricing is checked by random sampling and proven to be accurate 87 | * PrettyTable representation is now fully functional 88 | * JSON functionality now returns the JSON string instead of just printing it to console 89 | * Documentation is accurate and informative 90 | 91 | **Program is fully functional and up-to-date.** 92 | 93 | ------------------------------------- 94 | 95 | 96 | http://ilia-semenov.github.io/awspricingfull 97 | 98 | Written by Ilia Semenov (@ilia-semenov) 99 | 100 | Based on the project by Eran Sandler (@erans): https://github.com/erans/ec2instancespricing 101 | 102 | Compatibility: Python 2 103 | 104 | AWS instance pricing retrieval for EC2, RDS, ElastiCache and Redshift. On-Demand and Reserved pricing schemes covered both for previous and current generation instance types. Contains the most recent updates (new EC2 Reservation pricing scheme, D2 instances and more). 105 | 106 | Module is designed to retrieve the AWS prices for 107 | four major AWS services that have reserved instances involved: EC2, ElastiCache, 108 | RDS and Redshift. The prices either On-Demand or Reserved (specified by user) can 109 | be retrieved to Command Line in JSON, Table (Prettytable) or CSV formats. CSV format 110 | option also saves the csv file to the folder specified by user, which is the main 111 | use case. 112 | 113 | The module also contains the class which consolidates all the pricing data into a single structured JSON, Table or CSV output: all 4 services, reserved and On-Demand. 114 | 115 | The undocumented AWS pricing APIs are used as the sources. The same APIs serve 116 | the data to the AWS pricing pages. 117 | 118 | Both current and previous generation instance prices are retrieved. 119 | 120 | 121 | More information and description of classes contained in the module can be found in Sphinx documentation HTML located at https://github.com/ilia-semenov/awspricingfull/tree/master/docs_html folder. 122 | 123 | -------------------------------------------------------------------------------- /mainexample.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Simple main routine for `awspricingfull` module. 3 | 4 | Call the class corresponding to your needs (EC2Prices(), RDSPrices(), etc.), 5 | and use any method with parameters needed. See the awspricingfull documentation for reference. 6 | 7 | In a nutshell: To save CSV use save_csv method for instance of any of the functional classes 8 | (EC2Prices() - EC2, RDSPrices() - RDS, ELCPrices() - ElastiCache, RSPrices() - Redshift, DDBPrices() - DynamoDB). 9 | With save_csv use "reserved" or "ondemand" as first parameter, your path as second (home 10 | dir by default) and file name as third (conventional default). Also, to save prices for all 11 | the products use AllAWSPrices() class and same save_csv method with small difference - you 12 | can set the first parameter to "all" which will return all the pricing (reserved and on-demand 13 | for all the services). 14 | 15 | Method print_table is available for EC2Prices(), RDSPrices(), ELCPrices(), RSPrices(), DDBPrices(). It outputs 16 | the pricing in a table format to console. Prettytable library is required. Method takes only one parameter: 17 | "reserved" or "ondemand". Not available for AllAWSPrices(). 18 | 19 | Method print_json is available for all classes. It returns the pricing in a JSON format 20 | and does not output it to console. Method takes only one parameter: "reserved" or "ondemand" 21 | and additional "all" for AllAWSPrices(). 22 | 23 | Created: Mar 26, 2015 24 | 25 | Updated: Feb 14, 2017 26 | 27 | @author: Ilia Semenov 28 | 29 | @version: 3.2 30 | ''' 31 | import awspricingfull 32 | 33 | 34 | if __name__ == '__main__': 35 | 36 | ''' 37 | 1. Create 1nstance of the class needed: EC2Prices() - EC2, RDSPrices() - RDS, 38 | ELCPrices() - ElastiCache, RSPrices() - Redshift, DDBPrices - DynamoDB, AllAWSPrices() - full pricing. 39 | 2. Run the method needed: return_json, print_table, save_csv. 40 | ''' 41 | 42 | ''' 43 | FULL PRICING 44 | ''' 45 | 46 | allpricing=awspricingfull.AllAWSPrices2() #Full Pricing class instance 47 | 48 | #print (allpricing.return_json("ondemand")) #JSON - On-Demand Pricing: All Services 49 | #print (allpricing.return_json("reserved")) #JSON - Reserved Pricing: All Services 50 | #print (allpricing.return_json("all")) #JSON - Full Pricing: All Services 51 | #allpricing.save_csv("ondemand") #CSV - On-Demand Pricing: All Services 52 | #allpricing.save_csv("reserved") #CSV - Reserved Pricing: All Services 53 | allpricing.save_csv("all") #CSV - Full Pricing: All Services 54 | 55 | ''' 56 | EC2 57 | ''' 58 | ec2pricing=awspricingfull.EC2Prices() #EC2 Pricing class instance 59 | 60 | #print (ec2pricing.return_json("ondemand")) #JSON - On-Demand Pricing: EC2 61 | #print (ec2pricing.return_json("reserved")) #JSON - Reserved Pricing: EC2 62 | #ec2pricing.print_table("ondemand") #PrettyTable - On-Demand Pricing: EC2 63 | #ec2pricing.print_table("reserved") #PrettyTable - Reserved Pricing: EC2 64 | #ec2pricing.save_csv("ondemand") #CSV - On-Demand Pricing: EC2 65 | #ec2pricing.save_csv("reserved") #CSV - Reserved Pricing: EC2 66 | 67 | ''' 68 | RDS 69 | ''' 70 | rdspricing=awspricingfull.RDSPrices() #RDS Pricing class instance 71 | 72 | #print (rdspricing.return_json("ondemand")) #JSON - On-Demand Pricing: RDS 73 | #print (rdspricing.return_json("reserved")) #JSON - Reserved Pricing: RDS 74 | #rdspricing.print_table("ondemand") #PrettyTable - On-Demand Pricing: RDS 75 | #rdspricing.print_table("reserved") #PrettyTable - Reserved Pricing: RDS 76 | #rdspricing.save_csv("ondemand") #CSV - On-Demand Pricing: RDS 77 | #rdspricing.save_csv("reserved") #CSV - Reserved Pricing: RDS 78 | 79 | ''' 80 | ELASTICACHE 81 | ''' 82 | elcpricing=awspricingfull.ELCPrices() #ElastiCache Pricing class instance 83 | 84 | #print (elcpricing.return_json("ondemand")) #JSON - On-Demand Pricing: ElastiCache 85 | #print (elcpricing.return_json("reserved")) #JSON - Reserved Pricing: ElastiCache 86 | #elcpricing.print_table("ondemand") #PrettyTable - On-Demand Pricing: ElastiCache 87 | #elcpricing.print_table("reserved") #PrettyTable - Reserved Pricing: ElastiCache 88 | #elcpricing.save_csv("ondemand") #CSV - On-Demand Pricing: ElastiCache 89 | #elcpricing.save_csv("reserved") #CSV - Reserved Pricing: ElastiCache 90 | 91 | ''' 92 | REDSHIFT 93 | ''' 94 | rspricing=awspricingfull.RSPrices() #Redshift Pricing class instance 95 | 96 | #print (rspricing.return_json("ondemand")) #JSON - On-Demand Pricing: Redshift 97 | #print (rspricing.return_json("reserved")) #JSON - Reserved Pricing: Redshift 98 | #rspricing.print_table("ondemand") #PrettyTable - On-Demand Pricing: Redshift 99 | #rspricing.print_table("reserved") #PrettyTable - Reserved Pricing: Redshift 100 | #rspricing.save_csv("ondemand") #CSV - On-Demand Pricing: Redshift 101 | #rspricing.save_csv("reserved") #CSV - Reserved Pricing: Redshift 102 | 103 | ''' 104 | DYNAMODB 105 | ''' 106 | ddbpricing=awspricingfull.DDBPrices() #DynamoDB Pricing class instance 107 | 108 | #print (ddbpricing.return_json("ondemand")) #JSON - On-Demand Pricing: DynamoDB 109 | #print (ddbpricing.return_json("reserved")) #JSON - Reserved Pricing: DynamoDB 110 | #ddbpricing.print_table("ondemand") #PrettyTable - On-Demand Pricing: DynamoDB 111 | #ddbpricing.print_table("reserved") #PrettyTable - Reserved Pricing: DynamoDB 112 | #ddbpricing.save_csv("ondemand") #CSV - On-Demand Pricing: DynamoDB 113 | #ddbpricing.save_csv("reserved") #CSV - Reserved Pricing: DynamoDB 114 | 115 | -------------------------------------------------------------------------------- /docs_full/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM Command file for Sphinx documentation 4 | 5 | if "%SPHINXBUILD%" == "" ( 6 | set SPHINXBUILD=sphinx-build 7 | ) 8 | set BUILDDIR=_build 9 | set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . 10 | set I18NSPHINXOPTS=%SPHINXOPTS% . 11 | if NOT "%PAPER%" == "" ( 12 | set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% 13 | set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% 14 | ) 15 | 16 | if "%1" == "" goto help 17 | 18 | if "%1" == "help" ( 19 | :help 20 | echo.Please use `make ^` where ^ is one of 21 | echo. html to make standalone HTML files 22 | echo. dirhtml to make HTML files named index.html in directories 23 | echo. singlehtml to make a single large HTML file 24 | echo. pickle to make pickle files 25 | echo. json to make JSON files 26 | echo. htmlhelp to make HTML files and a HTML help project 27 | echo. qthelp to make HTML files and a qthelp project 28 | echo. devhelp to make HTML files and a Devhelp project 29 | echo. epub to make an epub 30 | echo. epub3 to make an epub3 31 | echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter 32 | echo. text to make text files 33 | echo. man to make manual pages 34 | echo. texinfo to make Texinfo files 35 | echo. gettext to make PO message catalogs 36 | echo. changes to make an overview over all changed/added/deprecated items 37 | echo. xml to make Docutils-native XML files 38 | echo. pseudoxml to make pseudoxml-XML files for display purposes 39 | echo. linkcheck to check all external links for integrity 40 | echo. doctest to run all doctests embedded in the documentation if enabled 41 | echo. coverage to run coverage check of the documentation if enabled 42 | echo. dummy to check syntax errors of document sources 43 | goto end 44 | ) 45 | 46 | if "%1" == "clean" ( 47 | for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i 48 | del /q /s %BUILDDIR%\* 49 | goto end 50 | ) 51 | 52 | 53 | REM Check if sphinx-build is available and fallback to Python version if any 54 | %SPHINXBUILD% 1>NUL 2>NUL 55 | if errorlevel 9009 goto sphinx_python 56 | goto sphinx_ok 57 | 58 | :sphinx_python 59 | 60 | set SPHINXBUILD=python -m sphinx.__init__ 61 | %SPHINXBUILD% 2> nul 62 | if errorlevel 9009 ( 63 | echo. 64 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 65 | echo.installed, then set the SPHINXBUILD environment variable to point 66 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 67 | echo.may add the Sphinx directory to PATH. 68 | echo. 69 | echo.If you don't have Sphinx installed, grab it from 70 | echo.http://sphinx-doc.org/ 71 | exit /b 1 72 | ) 73 | 74 | :sphinx_ok 75 | 76 | 77 | if "%1" == "html" ( 78 | %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html 79 | if errorlevel 1 exit /b 1 80 | echo. 81 | echo.Build finished. The HTML pages are in %BUILDDIR%/html. 82 | goto end 83 | ) 84 | 85 | if "%1" == "dirhtml" ( 86 | %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml 87 | if errorlevel 1 exit /b 1 88 | echo. 89 | echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. 90 | goto end 91 | ) 92 | 93 | if "%1" == "singlehtml" ( 94 | %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml 95 | if errorlevel 1 exit /b 1 96 | echo. 97 | echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. 98 | goto end 99 | ) 100 | 101 | if "%1" == "pickle" ( 102 | %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle 103 | if errorlevel 1 exit /b 1 104 | echo. 105 | echo.Build finished; now you can process the pickle files. 106 | goto end 107 | ) 108 | 109 | if "%1" == "json" ( 110 | %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json 111 | if errorlevel 1 exit /b 1 112 | echo. 113 | echo.Build finished; now you can process the JSON files. 114 | goto end 115 | ) 116 | 117 | if "%1" == "htmlhelp" ( 118 | %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp 119 | if errorlevel 1 exit /b 1 120 | echo. 121 | echo.Build finished; now you can run HTML Help Workshop with the ^ 122 | .hhp project file in %BUILDDIR%/htmlhelp. 123 | goto end 124 | ) 125 | 126 | if "%1" == "qthelp" ( 127 | %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp 128 | if errorlevel 1 exit /b 1 129 | echo. 130 | echo.Build finished; now you can run "qcollectiongenerator" with the ^ 131 | .qhcp project file in %BUILDDIR%/qthelp, like this: 132 | echo.^> qcollectiongenerator %BUILDDIR%\qthelp\awspricingfull.qhcp 133 | echo.To view the help file: 134 | echo.^> assistant -collectionFile %BUILDDIR%\qthelp\awspricingfull.ghc 135 | goto end 136 | ) 137 | 138 | if "%1" == "devhelp" ( 139 | %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp 140 | if errorlevel 1 exit /b 1 141 | echo. 142 | echo.Build finished. 143 | goto end 144 | ) 145 | 146 | if "%1" == "epub" ( 147 | %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub 148 | if errorlevel 1 exit /b 1 149 | echo. 150 | echo.Build finished. The epub file is in %BUILDDIR%/epub. 151 | goto end 152 | ) 153 | 154 | if "%1" == "epub3" ( 155 | %SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3 156 | if errorlevel 1 exit /b 1 157 | echo. 158 | echo.Build finished. The epub3 file is in %BUILDDIR%/epub3. 159 | goto end 160 | ) 161 | 162 | if "%1" == "latex" ( 163 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 164 | if errorlevel 1 exit /b 1 165 | echo. 166 | echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. 167 | goto end 168 | ) 169 | 170 | if "%1" == "latexpdf" ( 171 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 172 | cd %BUILDDIR%/latex 173 | make all-pdf 174 | cd %~dp0 175 | echo. 176 | echo.Build finished; the PDF files are in %BUILDDIR%/latex. 177 | goto end 178 | ) 179 | 180 | if "%1" == "latexpdfja" ( 181 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 182 | cd %BUILDDIR%/latex 183 | make all-pdf-ja 184 | cd %~dp0 185 | echo. 186 | echo.Build finished; the PDF files are in %BUILDDIR%/latex. 187 | goto end 188 | ) 189 | 190 | if "%1" == "text" ( 191 | %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text 192 | if errorlevel 1 exit /b 1 193 | echo. 194 | echo.Build finished. The text files are in %BUILDDIR%/text. 195 | goto end 196 | ) 197 | 198 | if "%1" == "man" ( 199 | %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man 200 | if errorlevel 1 exit /b 1 201 | echo. 202 | echo.Build finished. The manual pages are in %BUILDDIR%/man. 203 | goto end 204 | ) 205 | 206 | if "%1" == "texinfo" ( 207 | %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo 208 | if errorlevel 1 exit /b 1 209 | echo. 210 | echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. 211 | goto end 212 | ) 213 | 214 | if "%1" == "gettext" ( 215 | %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale 216 | if errorlevel 1 exit /b 1 217 | echo. 218 | echo.Build finished. The message catalogs are in %BUILDDIR%/locale. 219 | goto end 220 | ) 221 | 222 | if "%1" == "changes" ( 223 | %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes 224 | if errorlevel 1 exit /b 1 225 | echo. 226 | echo.The overview file is in %BUILDDIR%/changes. 227 | goto end 228 | ) 229 | 230 | if "%1" == "linkcheck" ( 231 | %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck 232 | if errorlevel 1 exit /b 1 233 | echo. 234 | echo.Link check complete; look for any errors in the above output ^ 235 | or in %BUILDDIR%/linkcheck/output.txt. 236 | goto end 237 | ) 238 | 239 | if "%1" == "doctest" ( 240 | %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest 241 | if errorlevel 1 exit /b 1 242 | echo. 243 | echo.Testing of doctests in the sources finished, look at the ^ 244 | results in %BUILDDIR%/doctest/output.txt. 245 | goto end 246 | ) 247 | 248 | if "%1" == "coverage" ( 249 | %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage 250 | if errorlevel 1 exit /b 1 251 | echo. 252 | echo.Testing of coverage in the sources finished, look at the ^ 253 | results in %BUILDDIR%/coverage/python.txt. 254 | goto end 255 | ) 256 | 257 | if "%1" == "xml" ( 258 | %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml 259 | if errorlevel 1 exit /b 1 260 | echo. 261 | echo.Build finished. The XML files are in %BUILDDIR%/xml. 262 | goto end 263 | ) 264 | 265 | if "%1" == "pseudoxml" ( 266 | %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml 267 | if errorlevel 1 exit /b 1 268 | echo. 269 | echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. 270 | goto end 271 | ) 272 | 273 | if "%1" == "dummy" ( 274 | %SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy 275 | if errorlevel 1 exit /b 1 276 | echo. 277 | echo.Build finished. Dummy builder generates no files. 278 | goto end 279 | ) 280 | 281 | :end 282 | -------------------------------------------------------------------------------- /docs_full/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | BUILDDIR = _build 9 | 10 | # User-friendly check for sphinx-build 11 | ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) 12 | $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\'t have Sphinx installed, grab it from http://sphinx-doc.org/) 13 | endif 14 | 15 | # Internal variables. 16 | PAPEROPT_a4 = -D latex_paper_size=a4 17 | PAPEROPT_letter = -D latex_paper_size=letter 18 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 19 | # the i18n builder cannot share the environment and doctrees with the others 20 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 21 | 22 | .PHONY: help 23 | help: 24 | @echo "Please use \`make ' where is one of" 25 | @echo " html to make standalone HTML files" 26 | @echo " dirhtml to make HTML files named index.html in directories" 27 | @echo " singlehtml to make a single large HTML file" 28 | @echo " pickle to make pickle files" 29 | @echo " json to make JSON files" 30 | @echo " htmlhelp to make HTML files and a HTML help project" 31 | @echo " qthelp to make HTML files and a qthelp project" 32 | @echo " applehelp to make an Apple Help Book" 33 | @echo " devhelp to make HTML files and a Devhelp project" 34 | @echo " epub to make an epub" 35 | @echo " epub3 to make an epub3" 36 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 37 | @echo " latexpdf to make LaTeX files and run them through pdflatex" 38 | @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" 39 | @echo " text to make text files" 40 | @echo " man to make manual pages" 41 | @echo " texinfo to make Texinfo files" 42 | @echo " info to make Texinfo files and run them through makeinfo" 43 | @echo " gettext to make PO message catalogs" 44 | @echo " changes to make an overview of all changed/added/deprecated items" 45 | @echo " xml to make Docutils-native XML files" 46 | @echo " pseudoxml to make pseudoxml-XML files for display purposes" 47 | @echo " linkcheck to check all external links for integrity" 48 | @echo " doctest to run all doctests embedded in the documentation (if enabled)" 49 | @echo " coverage to run coverage check of the documentation (if enabled)" 50 | @echo " dummy to check syntax errors of document sources" 51 | 52 | .PHONY: clean 53 | clean: 54 | rm -rf $(BUILDDIR)/* 55 | 56 | .PHONY: html 57 | html: 58 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 59 | @echo 60 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." 61 | 62 | .PHONY: dirhtml 63 | dirhtml: 64 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml 65 | @echo 66 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." 67 | 68 | .PHONY: singlehtml 69 | singlehtml: 70 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml 71 | @echo 72 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." 73 | 74 | .PHONY: pickle 75 | pickle: 76 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle 77 | @echo 78 | @echo "Build finished; now you can process the pickle files." 79 | 80 | .PHONY: json 81 | json: 82 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json 83 | @echo 84 | @echo "Build finished; now you can process the JSON files." 85 | 86 | .PHONY: htmlhelp 87 | htmlhelp: 88 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp 89 | @echo 90 | @echo "Build finished; now you can run HTML Help Workshop with the" \ 91 | ".hhp project file in $(BUILDDIR)/htmlhelp." 92 | 93 | .PHONY: qthelp 94 | qthelp: 95 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp 96 | @echo 97 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \ 98 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:" 99 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/awspricingfull.qhcp" 100 | @echo "To view the help file:" 101 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/awspricingfull.qhc" 102 | 103 | .PHONY: applehelp 104 | applehelp: 105 | $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp 106 | @echo 107 | @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." 108 | @echo "N.B. You won't be able to view it unless you put it in" \ 109 | "~/Library/Documentation/Help or install it in your application" \ 110 | "bundle." 111 | 112 | .PHONY: devhelp 113 | devhelp: 114 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp 115 | @echo 116 | @echo "Build finished." 117 | @echo "To view the help file:" 118 | @echo "# mkdir -p $$HOME/.local/share/devhelp/awspricingfull" 119 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/awspricingfull" 120 | @echo "# devhelp" 121 | 122 | .PHONY: epub 123 | epub: 124 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub 125 | @echo 126 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub." 127 | 128 | .PHONY: epub3 129 | epub3: 130 | $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 131 | @echo 132 | @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." 133 | 134 | .PHONY: latex 135 | latex: 136 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 137 | @echo 138 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." 139 | @echo "Run \`make' in that directory to run these through (pdf)latex" \ 140 | "(use \`make latexpdf' here to do that automatically)." 141 | 142 | .PHONY: latexpdf 143 | latexpdf: 144 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 145 | @echo "Running LaTeX files through pdflatex..." 146 | $(MAKE) -C $(BUILDDIR)/latex all-pdf 147 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 148 | 149 | .PHONY: latexpdfja 150 | latexpdfja: 151 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 152 | @echo "Running LaTeX files through platex and dvipdfmx..." 153 | $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja 154 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 155 | 156 | .PHONY: text 157 | text: 158 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text 159 | @echo 160 | @echo "Build finished. The text files are in $(BUILDDIR)/text." 161 | 162 | .PHONY: man 163 | man: 164 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man 165 | @echo 166 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man." 167 | 168 | .PHONY: texinfo 169 | texinfo: 170 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 171 | @echo 172 | @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." 173 | @echo "Run \`make' in that directory to run these through makeinfo" \ 174 | "(use \`make info' here to do that automatically)." 175 | 176 | .PHONY: info 177 | info: 178 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 179 | @echo "Running Texinfo files through makeinfo..." 180 | make -C $(BUILDDIR)/texinfo info 181 | @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." 182 | 183 | .PHONY: gettext 184 | gettext: 185 | $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale 186 | @echo 187 | @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." 188 | 189 | .PHONY: changes 190 | changes: 191 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes 192 | @echo 193 | @echo "The overview file is in $(BUILDDIR)/changes." 194 | 195 | .PHONY: linkcheck 196 | linkcheck: 197 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck 198 | @echo 199 | @echo "Link check complete; look for any errors in the above output " \ 200 | "or in $(BUILDDIR)/linkcheck/output.txt." 201 | 202 | .PHONY: doctest 203 | doctest: 204 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest 205 | @echo "Testing of doctests in the sources finished, look at the " \ 206 | "results in $(BUILDDIR)/doctest/output.txt." 207 | 208 | .PHONY: coverage 209 | coverage: 210 | $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage 211 | @echo "Testing of coverage in the sources finished, look at the " \ 212 | "results in $(BUILDDIR)/coverage/python.txt." 213 | 214 | .PHONY: xml 215 | xml: 216 | $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml 217 | @echo 218 | @echo "Build finished. The XML files are in $(BUILDDIR)/xml." 219 | 220 | .PHONY: pseudoxml 221 | pseudoxml: 222 | $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml 223 | @echo 224 | @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." 225 | 226 | .PHONY: dummy 227 | dummy: 228 | $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy 229 | @echo 230 | @echo "Build finished. Dummy builder generates no files." 231 | -------------------------------------------------------------------------------- /docs_html/_static/doctools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * doctools.js 3 | * ~~~~~~~~~~~ 4 | * 5 | * Sphinx JavaScript utilities for all documentation. 6 | * 7 | * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /** 13 | * select a different prefix for underscore 14 | */ 15 | $u = _.noConflict(); 16 | 17 | /** 18 | * make the code below compatible with browsers without 19 | * an installed firebug like debugger 20 | if (!window.console || !console.firebug) { 21 | var names = ["log", "debug", "info", "warn", "error", "assert", "dir", 22 | "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", 23 | "profile", "profileEnd"]; 24 | window.console = {}; 25 | for (var i = 0; i < names.length; ++i) 26 | window.console[names[i]] = function() {}; 27 | } 28 | */ 29 | 30 | /** 31 | * small helper function to urldecode strings 32 | */ 33 | jQuery.urldecode = function(x) { 34 | return decodeURIComponent(x).replace(/\+/g, ' '); 35 | }; 36 | 37 | /** 38 | * small helper function to urlencode strings 39 | */ 40 | jQuery.urlencode = encodeURIComponent; 41 | 42 | /** 43 | * This function returns the parsed url parameters of the 44 | * current request. Multiple values per key are supported, 45 | * it will always return arrays of strings for the value parts. 46 | */ 47 | jQuery.getQueryParameters = function(s) { 48 | if (typeof s == 'undefined') 49 | s = document.location.search; 50 | var parts = s.substr(s.indexOf('?') + 1).split('&'); 51 | var result = {}; 52 | for (var i = 0; i < parts.length; i++) { 53 | var tmp = parts[i].split('=', 2); 54 | var key = jQuery.urldecode(tmp[0]); 55 | var value = jQuery.urldecode(tmp[1]); 56 | if (key in result) 57 | result[key].push(value); 58 | else 59 | result[key] = [value]; 60 | } 61 | return result; 62 | }; 63 | 64 | /** 65 | * highlight a given string on a jquery object by wrapping it in 66 | * span elements with the given class name. 67 | */ 68 | jQuery.fn.highlightText = function(text, className) { 69 | function highlight(node) { 70 | if (node.nodeType == 3) { 71 | var val = node.nodeValue; 72 | var pos = val.toLowerCase().indexOf(text); 73 | if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { 74 | var span = document.createElement("span"); 75 | span.className = className; 76 | span.appendChild(document.createTextNode(val.substr(pos, text.length))); 77 | node.parentNode.insertBefore(span, node.parentNode.insertBefore( 78 | document.createTextNode(val.substr(pos + text.length)), 79 | node.nextSibling)); 80 | node.nodeValue = val.substr(0, pos); 81 | } 82 | } 83 | else if (!jQuery(node).is("button, select, textarea")) { 84 | jQuery.each(node.childNodes, function() { 85 | highlight(this); 86 | }); 87 | } 88 | } 89 | return this.each(function() { 90 | highlight(this); 91 | }); 92 | }; 93 | 94 | /* 95 | * backward compatibility for jQuery.browser 96 | * This will be supported until firefox bug is fixed. 97 | */ 98 | if (!jQuery.browser) { 99 | jQuery.uaMatch = function(ua) { 100 | ua = ua.toLowerCase(); 101 | 102 | var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || 103 | /(webkit)[ \/]([\w.]+)/.exec(ua) || 104 | /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || 105 | /(msie) ([\w.]+)/.exec(ua) || 106 | ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || 107 | []; 108 | 109 | return { 110 | browser: match[ 1 ] || "", 111 | version: match[ 2 ] || "0" 112 | }; 113 | }; 114 | jQuery.browser = {}; 115 | jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; 116 | } 117 | 118 | /** 119 | * Small JavaScript module for the documentation. 120 | */ 121 | var Documentation = { 122 | 123 | init : function() { 124 | this.fixFirefoxAnchorBug(); 125 | this.highlightSearchWords(); 126 | this.initIndexTable(); 127 | 128 | }, 129 | 130 | /** 131 | * i18n support 132 | */ 133 | TRANSLATIONS : {}, 134 | PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, 135 | LOCALE : 'unknown', 136 | 137 | // gettext and ngettext don't access this so that the functions 138 | // can safely bound to a different name (_ = Documentation.gettext) 139 | gettext : function(string) { 140 | var translated = Documentation.TRANSLATIONS[string]; 141 | if (typeof translated == 'undefined') 142 | return string; 143 | return (typeof translated == 'string') ? translated : translated[0]; 144 | }, 145 | 146 | ngettext : function(singular, plural, n) { 147 | var translated = Documentation.TRANSLATIONS[singular]; 148 | if (typeof translated == 'undefined') 149 | return (n == 1) ? singular : plural; 150 | return translated[Documentation.PLURALEXPR(n)]; 151 | }, 152 | 153 | addTranslations : function(catalog) { 154 | for (var key in catalog.messages) 155 | this.TRANSLATIONS[key] = catalog.messages[key]; 156 | this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); 157 | this.LOCALE = catalog.locale; 158 | }, 159 | 160 | /** 161 | * add context elements like header anchor links 162 | */ 163 | addContextElements : function() { 164 | $('div[id] > :header:first').each(function() { 165 | $('\u00B6'). 166 | attr('href', '#' + this.id). 167 | attr('title', _('Permalink to this headline')). 168 | appendTo(this); 169 | }); 170 | $('dt[id]').each(function() { 171 | $('\u00B6'). 172 | attr('href', '#' + this.id). 173 | attr('title', _('Permalink to this definition')). 174 | appendTo(this); 175 | }); 176 | }, 177 | 178 | /** 179 | * workaround a firefox stupidity 180 | * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 181 | */ 182 | fixFirefoxAnchorBug : function() { 183 | if (document.location.hash) 184 | window.setTimeout(function() { 185 | document.location.href += ''; 186 | }, 10); 187 | }, 188 | 189 | /** 190 | * highlight the search words provided in the url in the text 191 | */ 192 | highlightSearchWords : function() { 193 | var params = $.getQueryParameters(); 194 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; 195 | if (terms.length) { 196 | var body = $('div.body'); 197 | if (!body.length) { 198 | body = $('body'); 199 | } 200 | window.setTimeout(function() { 201 | $.each(terms, function() { 202 | body.highlightText(this.toLowerCase(), 'highlighted'); 203 | }); 204 | }, 10); 205 | $('') 207 | .appendTo($('#searchbox')); 208 | } 209 | }, 210 | 211 | /** 212 | * init the domain index toggle buttons 213 | */ 214 | initIndexTable : function() { 215 | var togglers = $('img.toggler').click(function() { 216 | var src = $(this).attr('src'); 217 | var idnum = $(this).attr('id').substr(7); 218 | $('tr.cg-' + idnum).toggle(); 219 | if (src.substr(-9) == 'minus.png') 220 | $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); 221 | else 222 | $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); 223 | }).css('display', ''); 224 | if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { 225 | togglers.click(); 226 | } 227 | }, 228 | 229 | /** 230 | * helper function to hide the search marks again 231 | */ 232 | hideSearchWords : function() { 233 | $('#searchbox .highlight-link').fadeOut(300); 234 | $('span.highlighted').removeClass('highlighted'); 235 | }, 236 | 237 | /** 238 | * make the url absolute 239 | */ 240 | makeURL : function(relativeURL) { 241 | return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; 242 | }, 243 | 244 | /** 245 | * get the current relative url 246 | */ 247 | getCurrentURL : function() { 248 | var path = document.location.pathname; 249 | var parts = path.split(/\//); 250 | $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { 251 | if (this == '..') 252 | parts.pop(); 253 | }); 254 | var url = parts.join('/'); 255 | return path.substring(url.lastIndexOf('/') + 1, path.length - 1); 256 | }, 257 | 258 | initOnKeyListeners: function() { 259 | $(document).keyup(function(event) { 260 | var activeElementType = document.activeElement.tagName; 261 | // don't navigate when in search box or textarea 262 | if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { 263 | switch (event.keyCode) { 264 | case 37: // left 265 | var prevHref = $('link[rel="prev"]').prop('href'); 266 | if (prevHref) { 267 | window.location.href = prevHref; 268 | return false; 269 | } 270 | case 39: // right 271 | var nextHref = $('link[rel="next"]').prop('href'); 272 | if (nextHref) { 273 | window.location.href = nextHref; 274 | return false; 275 | } 276 | } 277 | } 278 | }); 279 | } 280 | }; 281 | 282 | // quick alias for translations 283 | _ = Documentation.gettext; 284 | 285 | $(document).ready(function() { 286 | Documentation.init(); 287 | }); -------------------------------------------------------------------------------- /docs_full/_build/html/_static/doctools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * doctools.js 3 | * ~~~~~~~~~~~ 4 | * 5 | * Sphinx JavaScript utilities for all documentation. 6 | * 7 | * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /** 13 | * select a different prefix for underscore 14 | */ 15 | $u = _.noConflict(); 16 | 17 | /** 18 | * make the code below compatible with browsers without 19 | * an installed firebug like debugger 20 | if (!window.console || !console.firebug) { 21 | var names = ["log", "debug", "info", "warn", "error", "assert", "dir", 22 | "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", 23 | "profile", "profileEnd"]; 24 | window.console = {}; 25 | for (var i = 0; i < names.length; ++i) 26 | window.console[names[i]] = function() {}; 27 | } 28 | */ 29 | 30 | /** 31 | * small helper function to urldecode strings 32 | */ 33 | jQuery.urldecode = function(x) { 34 | return decodeURIComponent(x).replace(/\+/g, ' '); 35 | }; 36 | 37 | /** 38 | * small helper function to urlencode strings 39 | */ 40 | jQuery.urlencode = encodeURIComponent; 41 | 42 | /** 43 | * This function returns the parsed url parameters of the 44 | * current request. Multiple values per key are supported, 45 | * it will always return arrays of strings for the value parts. 46 | */ 47 | jQuery.getQueryParameters = function(s) { 48 | if (typeof s == 'undefined') 49 | s = document.location.search; 50 | var parts = s.substr(s.indexOf('?') + 1).split('&'); 51 | var result = {}; 52 | for (var i = 0; i < parts.length; i++) { 53 | var tmp = parts[i].split('=', 2); 54 | var key = jQuery.urldecode(tmp[0]); 55 | var value = jQuery.urldecode(tmp[1]); 56 | if (key in result) 57 | result[key].push(value); 58 | else 59 | result[key] = [value]; 60 | } 61 | return result; 62 | }; 63 | 64 | /** 65 | * highlight a given string on a jquery object by wrapping it in 66 | * span elements with the given class name. 67 | */ 68 | jQuery.fn.highlightText = function(text, className) { 69 | function highlight(node) { 70 | if (node.nodeType == 3) { 71 | var val = node.nodeValue; 72 | var pos = val.toLowerCase().indexOf(text); 73 | if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { 74 | var span = document.createElement("span"); 75 | span.className = className; 76 | span.appendChild(document.createTextNode(val.substr(pos, text.length))); 77 | node.parentNode.insertBefore(span, node.parentNode.insertBefore( 78 | document.createTextNode(val.substr(pos + text.length)), 79 | node.nextSibling)); 80 | node.nodeValue = val.substr(0, pos); 81 | } 82 | } 83 | else if (!jQuery(node).is("button, select, textarea")) { 84 | jQuery.each(node.childNodes, function() { 85 | highlight(this); 86 | }); 87 | } 88 | } 89 | return this.each(function() { 90 | highlight(this); 91 | }); 92 | }; 93 | 94 | /* 95 | * backward compatibility for jQuery.browser 96 | * This will be supported until firefox bug is fixed. 97 | */ 98 | if (!jQuery.browser) { 99 | jQuery.uaMatch = function(ua) { 100 | ua = ua.toLowerCase(); 101 | 102 | var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || 103 | /(webkit)[ \/]([\w.]+)/.exec(ua) || 104 | /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || 105 | /(msie) ([\w.]+)/.exec(ua) || 106 | ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || 107 | []; 108 | 109 | return { 110 | browser: match[ 1 ] || "", 111 | version: match[ 2 ] || "0" 112 | }; 113 | }; 114 | jQuery.browser = {}; 115 | jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; 116 | } 117 | 118 | /** 119 | * Small JavaScript module for the documentation. 120 | */ 121 | var Documentation = { 122 | 123 | init : function() { 124 | this.fixFirefoxAnchorBug(); 125 | this.highlightSearchWords(); 126 | this.initIndexTable(); 127 | 128 | }, 129 | 130 | /** 131 | * i18n support 132 | */ 133 | TRANSLATIONS : {}, 134 | PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, 135 | LOCALE : 'unknown', 136 | 137 | // gettext and ngettext don't access this so that the functions 138 | // can safely bound to a different name (_ = Documentation.gettext) 139 | gettext : function(string) { 140 | var translated = Documentation.TRANSLATIONS[string]; 141 | if (typeof translated == 'undefined') 142 | return string; 143 | return (typeof translated == 'string') ? translated : translated[0]; 144 | }, 145 | 146 | ngettext : function(singular, plural, n) { 147 | var translated = Documentation.TRANSLATIONS[singular]; 148 | if (typeof translated == 'undefined') 149 | return (n == 1) ? singular : plural; 150 | return translated[Documentation.PLURALEXPR(n)]; 151 | }, 152 | 153 | addTranslations : function(catalog) { 154 | for (var key in catalog.messages) 155 | this.TRANSLATIONS[key] = catalog.messages[key]; 156 | this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); 157 | this.LOCALE = catalog.locale; 158 | }, 159 | 160 | /** 161 | * add context elements like header anchor links 162 | */ 163 | addContextElements : function() { 164 | $('div[id] > :header:first').each(function() { 165 | $('\u00B6'). 166 | attr('href', '#' + this.id). 167 | attr('title', _('Permalink to this headline')). 168 | appendTo(this); 169 | }); 170 | $('dt[id]').each(function() { 171 | $('\u00B6'). 172 | attr('href', '#' + this.id). 173 | attr('title', _('Permalink to this definition')). 174 | appendTo(this); 175 | }); 176 | }, 177 | 178 | /** 179 | * workaround a firefox stupidity 180 | * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 181 | */ 182 | fixFirefoxAnchorBug : function() { 183 | if (document.location.hash) 184 | window.setTimeout(function() { 185 | document.location.href += ''; 186 | }, 10); 187 | }, 188 | 189 | /** 190 | * highlight the search words provided in the url in the text 191 | */ 192 | highlightSearchWords : function() { 193 | var params = $.getQueryParameters(); 194 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; 195 | if (terms.length) { 196 | var body = $('div.body'); 197 | if (!body.length) { 198 | body = $('body'); 199 | } 200 | window.setTimeout(function() { 201 | $.each(terms, function() { 202 | body.highlightText(this.toLowerCase(), 'highlighted'); 203 | }); 204 | }, 10); 205 | $('') 207 | .appendTo($('#searchbox')); 208 | } 209 | }, 210 | 211 | /** 212 | * init the domain index toggle buttons 213 | */ 214 | initIndexTable : function() { 215 | var togglers = $('img.toggler').click(function() { 216 | var src = $(this).attr('src'); 217 | var idnum = $(this).attr('id').substr(7); 218 | $('tr.cg-' + idnum).toggle(); 219 | if (src.substr(-9) == 'minus.png') 220 | $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); 221 | else 222 | $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); 223 | }).css('display', ''); 224 | if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { 225 | togglers.click(); 226 | } 227 | }, 228 | 229 | /** 230 | * helper function to hide the search marks again 231 | */ 232 | hideSearchWords : function() { 233 | $('#searchbox .highlight-link').fadeOut(300); 234 | $('span.highlighted').removeClass('highlighted'); 235 | }, 236 | 237 | /** 238 | * make the url absolute 239 | */ 240 | makeURL : function(relativeURL) { 241 | return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; 242 | }, 243 | 244 | /** 245 | * get the current relative url 246 | */ 247 | getCurrentURL : function() { 248 | var path = document.location.pathname; 249 | var parts = path.split(/\//); 250 | $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { 251 | if (this == '..') 252 | parts.pop(); 253 | }); 254 | var url = parts.join('/'); 255 | return path.substring(url.lastIndexOf('/') + 1, path.length - 1); 256 | }, 257 | 258 | initOnKeyListeners: function() { 259 | $(document).keyup(function(event) { 260 | var activeElementType = document.activeElement.tagName; 261 | // don't navigate when in search box or textarea 262 | if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { 263 | switch (event.keyCode) { 264 | case 37: // left 265 | var prevHref = $('link[rel="prev"]').prop('href'); 266 | if (prevHref) { 267 | window.location.href = prevHref; 268 | return false; 269 | } 270 | case 39: // right 271 | var nextHref = $('link[rel="next"]').prop('href'); 272 | if (nextHref) { 273 | window.location.href = nextHref; 274 | return false; 275 | } 276 | } 277 | } 278 | }); 279 | } 280 | }; 281 | 282 | // quick alias for translations 283 | _ = Documentation.gettext; 284 | 285 | $(document).ready(function() { 286 | Documentation.init(); 287 | }); -------------------------------------------------------------------------------- /docs_full/conf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # awspricingfull documentation build configuration file, created by 4 | # sphinx-quickstart on Tue May 03 16:52:37 2016. 5 | # 6 | # This file is execfile()d with the current directory set to its 7 | # containing dir. 8 | # 9 | # Note that not all possible configuration values are present in this 10 | # autogenerated file. 11 | # 12 | # All configuration values have a default; values that are commented out 13 | # serve to show the default. 14 | 15 | import sys 16 | import os 17 | 18 | # If extensions (or modules to document with autodoc) are in another directory, 19 | # add these directories to sys.path here. If the directory is relative to the 20 | # documentation root, use os.path.abspath to make it absolute, like shown here. 21 | sys.path.insert(0,"C:\\Users\\isemenov\\workspace\\awspricingfull\\src") 22 | 23 | # -- General configuration ------------------------------------------------ 24 | 25 | # If your documentation needs a minimal Sphinx version, state it here. 26 | #needs_sphinx = '1.0' 27 | 28 | # Add any Sphinx extension module names here, as strings. They can be 29 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 30 | # ones. 31 | extensions = [ 32 | 'sphinx.ext.autodoc', 33 | 'sphinx.ext.coverage', 34 | 'sphinx.ext.viewcode', 35 | 'sphinx.ext.githubpages', 36 | 'sphinxcontrib.napoleon', 37 | ] 38 | 39 | # Add any paths that contain templates here, relative to this directory. 40 | templates_path = ['_templates'] 41 | 42 | # The suffix(es) of source filenames. 43 | # You can specify multiple suffix as a list of string: 44 | # source_suffix = ['.rst', '.md'] 45 | source_suffix = '.rst' 46 | 47 | # The encoding of source files. 48 | #source_encoding = 'utf-8-sig' 49 | 50 | # The master toctree document. 51 | master_doc = 'index' 52 | 53 | # General information about the project. 54 | project = u'awspricingfull' 55 | copyright = u'2016, Ilia Semenov' 56 | author = u'Ilia Semenov' 57 | 58 | # The version info for the project you're documenting, acts as replacement for 59 | # |version| and |release|, also used in various other places throughout the 60 | # built documents. 61 | # 62 | # The short X.Y version. 63 | version = u'3.0' 64 | # The full version, including alpha/beta/rc tags. 65 | release = u'3.0' 66 | 67 | # The language for content autogenerated by Sphinx. Refer to documentation 68 | # for a list of supported languages. 69 | # 70 | # This is also used if you do content translation via gettext catalogs. 71 | # Usually you set "language" from the command line for these cases. 72 | language = None 73 | 74 | # There are two options for replacing |today|: either, you set today to some 75 | # non-false value, then it is used: 76 | #today = '' 77 | # Else, today_fmt is used as the format for a strftime call. 78 | #today_fmt = '%B %d, %Y' 79 | 80 | # List of patterns, relative to source directory, that match files and 81 | # directories to ignore when looking for source files. 82 | # This patterns also effect to html_static_path and html_extra_path 83 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] 84 | 85 | # The reST default role (used for this markup: `text`) to use for all 86 | # documents. 87 | #default_role = None 88 | 89 | # If true, '()' will be appended to :func: etc. cross-reference text. 90 | #add_function_parentheses = True 91 | 92 | # If true, the current module name will be prepended to all description 93 | # unit titles (such as .. function::). 94 | #add_module_names = True 95 | 96 | # If true, sectionauthor and moduleauthor directives will be shown in the 97 | # output. They are ignored by default. 98 | #show_authors = False 99 | 100 | # The name of the Pygments (syntax highlighting) style to use. 101 | pygments_style = 'sphinx' 102 | 103 | # A list of ignored prefixes for module index sorting. 104 | #modindex_common_prefix = [] 105 | 106 | # If true, keep warnings as "system message" paragraphs in the built documents. 107 | #keep_warnings = False 108 | 109 | # If true, `todo` and `todoList` produce output, else they produce nothing. 110 | todo_include_todos = False 111 | 112 | 113 | # -- Options for HTML output ---------------------------------------------- 114 | 115 | # The theme to use for HTML and HTML Help pages. See the documentation for 116 | # a list of builtin themes. 117 | html_theme = 'alabaster' 118 | 119 | # Theme options are theme-specific and customize the look and feel of a theme 120 | # further. For a list of options available for each theme, see the 121 | # documentation. 122 | #html_theme_options = {} 123 | 124 | # Add any paths that contain custom themes here, relative to this directory. 125 | #html_theme_path = [] 126 | 127 | # The name for this set of Sphinx documents. 128 | # " v documentation" by default. 129 | #html_title = u'awspricingfull v3.0' 130 | 131 | # A shorter title for the navigation bar. Default is the same as html_title. 132 | #html_short_title = None 133 | 134 | # The name of an image file (relative to this directory) to place at the top 135 | # of the sidebar. 136 | #html_logo = None 137 | 138 | # The name of an image file (relative to this directory) to use as a favicon of 139 | # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 140 | # pixels large. 141 | #html_favicon = None 142 | 143 | # Add any paths that contain custom static files (such as style sheets) here, 144 | # relative to this directory. They are copied after the builtin static files, 145 | # so a file named "default.css" will overwrite the builtin "default.css". 146 | html_static_path = ['_static'] 147 | 148 | # Add any extra paths that contain custom files (such as robots.txt or 149 | # .htaccess) here, relative to this directory. These files are copied 150 | # directly to the root of the documentation. 151 | #html_extra_path = [] 152 | 153 | # If not None, a 'Last updated on:' timestamp is inserted at every page 154 | # bottom, using the given strftime format. 155 | # The empty string is equivalent to '%b %d, %Y'. 156 | #html_last_updated_fmt = None 157 | 158 | # If true, SmartyPants will be used to convert quotes and dashes to 159 | # typographically correct entities. 160 | #html_use_smartypants = True 161 | 162 | # Custom sidebar templates, maps document names to template names. 163 | #html_sidebars = {} 164 | 165 | # Additional templates that should be rendered to pages, maps page names to 166 | # template names. 167 | #html_additional_pages = {} 168 | 169 | # If false, no module index is generated. 170 | #html_domain_indices = True 171 | 172 | # If false, no index is generated. 173 | #html_use_index = True 174 | 175 | # If true, the index is split into individual pages for each letter. 176 | #html_split_index = False 177 | 178 | # If true, links to the reST sources are added to the pages. 179 | #html_show_sourcelink = True 180 | 181 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. 182 | #html_show_sphinx = True 183 | 184 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. 185 | #html_show_copyright = True 186 | 187 | # If true, an OpenSearch description file will be output, and all pages will 188 | # contain a tag referring to it. The value of this option must be the 189 | # base URL from which the finished HTML is served. 190 | #html_use_opensearch = '' 191 | 192 | # This is the file name suffix for HTML files (e.g. ".xhtml"). 193 | #html_file_suffix = None 194 | 195 | # Language to be used for generating the HTML full-text search index. 196 | # Sphinx supports the following languages: 197 | # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' 198 | # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' 199 | #html_search_language = 'en' 200 | 201 | # A dictionary with options for the search language support, empty by default. 202 | # 'ja' uses this config value. 203 | # 'zh' user can custom change `jieba` dictionary path. 204 | #html_search_options = {'type': 'default'} 205 | 206 | # The name of a javascript file (relative to the configuration directory) that 207 | # implements a search results scorer. If empty, the default will be used. 208 | #html_search_scorer = 'scorer.js' 209 | 210 | # Output file base name for HTML help builder. 211 | htmlhelp_basename = 'awspricingfulldoc' 212 | 213 | # -- Options for LaTeX output --------------------------------------------- 214 | 215 | latex_elements = { 216 | # The paper size ('letterpaper' or 'a4paper'). 217 | #'papersize': 'letterpaper', 218 | 219 | # The font size ('10pt', '11pt' or '12pt'). 220 | #'pointsize': '10pt', 221 | 222 | # Additional stuff for the LaTeX preamble. 223 | #'preamble': '', 224 | 225 | # Latex figure (float) alignment 226 | #'figure_align': 'htbp', 227 | } 228 | 229 | # Grouping the document tree into LaTeX files. List of tuples 230 | # (source start file, target name, title, 231 | # author, documentclass [howto, manual, or own class]). 232 | latex_documents = [ 233 | (master_doc, 'awspricingfull.tex', u'awspricingfull Documentation', 234 | u'Ilia Semenov', 'manual'), 235 | ] 236 | 237 | # The name of an image file (relative to this directory) to place at the top of 238 | # the title page. 239 | #latex_logo = None 240 | 241 | # For "manual" documents, if this is true, then toplevel headings are parts, 242 | # not chapters. 243 | #latex_use_parts = False 244 | 245 | # If true, show page references after internal links. 246 | #latex_show_pagerefs = False 247 | 248 | # If true, show URL addresses after external links. 249 | #latex_show_urls = False 250 | 251 | # Documents to append as an appendix to all manuals. 252 | #latex_appendices = [] 253 | 254 | # If false, no module index is generated. 255 | #latex_domain_indices = True 256 | 257 | 258 | # -- Options for manual page output --------------------------------------- 259 | 260 | # One entry per manual page. List of tuples 261 | # (source start file, name, description, authors, manual section). 262 | man_pages = [ 263 | (master_doc, 'awspricingfull', u'awspricingfull Documentation', 264 | [author], 1) 265 | ] 266 | 267 | # If true, show URL addresses after external links. 268 | #man_show_urls = False 269 | 270 | 271 | # -- Options for Texinfo output ------------------------------------------- 272 | 273 | # Grouping the document tree into Texinfo files. List of tuples 274 | # (source start file, target name, title, author, 275 | # dir menu entry, description, category) 276 | texinfo_documents = [ 277 | (master_doc, 'awspricingfull', u'awspricingfull Documentation', 278 | author, 'awspricingfull', 'One line description of project.', 279 | 'Miscellaneous'), 280 | ] 281 | 282 | # Documents to append as an appendix to all manuals. 283 | #texinfo_appendices = [] 284 | 285 | # If false, no module index is generated. 286 | #texinfo_domain_indices = True 287 | 288 | # How to display URL addresses: 'footnote', 'no', or 'inline'. 289 | #texinfo_show_urls = 'footnote' 290 | 291 | # If true, do not generate a @detailmenu in the "Top" node's menu. 292 | #texinfo_no_detailmenu = False 293 | -------------------------------------------------------------------------------- /docs_html/_static/underscore.js: -------------------------------------------------------------------------------- 1 | // Underscore.js 1.3.1 2 | // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. 3 | // Underscore is freely distributable under the MIT license. 4 | // Portions of Underscore are inspired or borrowed from Prototype, 5 | // Oliver Steele's Functional, and John Resig's Micro-Templating. 6 | // For all details and documentation: 7 | // http://documentcloud.github.com/underscore 8 | (function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== 9 | c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, 10 | h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= 11 | b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e2;a== 12 | null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= 13 | function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= 14 | e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= 15 | function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;bd?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, 17 | c,d){d||(d=b.identity);for(var e=0,f=a.length;e>1;d(a[g])=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e=0;d--)b=[a[d].apply(this,b)];return b[0]}}; 24 | b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, 25 | 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; 26 | b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; 27 | b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), 28 | function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ 29 | u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= 30 | function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= 31 | true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); 32 | -------------------------------------------------------------------------------- /docs_full/_build/html/_static/underscore.js: -------------------------------------------------------------------------------- 1 | // Underscore.js 1.3.1 2 | // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. 3 | // Underscore is freely distributable under the MIT license. 4 | // Portions of Underscore are inspired or borrowed from Prototype, 5 | // Oliver Steele's Functional, and John Resig's Micro-Templating. 6 | // For all details and documentation: 7 | // http://documentcloud.github.com/underscore 8 | (function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== 9 | c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, 10 | h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= 11 | b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e2;a== 12 | null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= 13 | function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= 14 | e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= 15 | function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;bd?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, 17 | c,d){d||(d=b.identity);for(var e=0,f=a.length;e>1;d(a[g])=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e=0;d--)b=[a[d].apply(this,b)];return b[0]}}; 24 | b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, 25 | 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; 26 | b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; 27 | b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), 28 | function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ 29 | u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= 30 | function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= 31 | true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); 32 | -------------------------------------------------------------------------------- /docs_html/_static/alabaster.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | @import url("basic.css"); 19 | 20 | /* -- page layout ----------------------------------------------------------- */ 21 | 22 | body { 23 | font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; 24 | font-size: 17px; 25 | background-color: white; 26 | color: #000; 27 | margin: 0; 28 | padding: 0; 29 | } 30 | 31 | div.document { 32 | width: 940px; 33 | margin: 30px auto 0 auto; 34 | } 35 | 36 | div.documentwrapper { 37 | float: left; 38 | width: 100%; 39 | } 40 | 41 | div.bodywrapper { 42 | margin: 0 0 0 220px; 43 | } 44 | 45 | div.sphinxsidebar { 46 | width: 220px; 47 | } 48 | 49 | hr { 50 | border: 1px solid #B1B4B6; 51 | } 52 | 53 | div.body { 54 | background-color: #ffffff; 55 | color: #3E4349; 56 | padding: 0 30px 0 30px; 57 | } 58 | 59 | div.body > .section { 60 | text-align: left; 61 | } 62 | 63 | div.footer { 64 | width: 940px; 65 | margin: 20px auto 30px auto; 66 | font-size: 14px; 67 | color: #888; 68 | text-align: right; 69 | } 70 | 71 | div.footer a { 72 | color: #888; 73 | } 74 | 75 | 76 | div.relations { 77 | display: none; 78 | } 79 | 80 | 81 | div.sphinxsidebar a { 82 | color: #444; 83 | text-decoration: none; 84 | border-bottom: 1px dotted #999; 85 | } 86 | 87 | div.sphinxsidebar a:hover { 88 | border-bottom: 1px solid #999; 89 | } 90 | 91 | div.sphinxsidebar { 92 | font-size: 14px; 93 | line-height: 1.5; 94 | } 95 | 96 | div.sphinxsidebarwrapper { 97 | padding: 18px 10px; 98 | } 99 | 100 | div.sphinxsidebarwrapper p.logo { 101 | padding: 0; 102 | margin: -10px 0 0 0px; 103 | text-align: center; 104 | } 105 | 106 | div.sphinxsidebarwrapper h1.logo { 107 | margin-top: -10px; 108 | text-align: center; 109 | margin-bottom: 5px; 110 | text-align: left; 111 | } 112 | 113 | div.sphinxsidebarwrapper h1.logo-name { 114 | margin-top: 0px; 115 | } 116 | 117 | div.sphinxsidebarwrapper p.blurb { 118 | margin-top: 0; 119 | font-style: normal; 120 | } 121 | 122 | div.sphinxsidebar h3, 123 | div.sphinxsidebar h4 { 124 | font-family: 'Garamond', 'Georgia', serif; 125 | color: #444; 126 | font-size: 24px; 127 | font-weight: normal; 128 | margin: 0 0 5px 0; 129 | padding: 0; 130 | } 131 | 132 | div.sphinxsidebar h4 { 133 | font-size: 20px; 134 | } 135 | 136 | div.sphinxsidebar h3 a { 137 | color: #444; 138 | } 139 | 140 | div.sphinxsidebar p.logo a, 141 | div.sphinxsidebar h3 a, 142 | div.sphinxsidebar p.logo a:hover, 143 | div.sphinxsidebar h3 a:hover { 144 | border: none; 145 | } 146 | 147 | div.sphinxsidebar p { 148 | color: #555; 149 | margin: 10px 0; 150 | } 151 | 152 | div.sphinxsidebar ul { 153 | margin: 10px 0; 154 | padding: 0; 155 | color: #000; 156 | } 157 | 158 | div.sphinxsidebar ul li.toctree-l1 > a { 159 | font-size: 120%; 160 | } 161 | 162 | div.sphinxsidebar ul li.toctree-l2 > a { 163 | font-size: 110%; 164 | } 165 | 166 | div.sphinxsidebar input { 167 | border: 1px solid #CCC; 168 | font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; 169 | font-size: 1em; 170 | } 171 | 172 | div.sphinxsidebar hr { 173 | border: none; 174 | height: 1px; 175 | color: #AAA; 176 | background: #AAA; 177 | 178 | text-align: left; 179 | margin-left: 0; 180 | width: 50%; 181 | } 182 | 183 | /* -- body styles ----------------------------------------------------------- */ 184 | 185 | a { 186 | color: #004B6B; 187 | text-decoration: underline; 188 | } 189 | 190 | a:hover { 191 | color: #6D4100; 192 | text-decoration: underline; 193 | } 194 | 195 | div.body h1, 196 | div.body h2, 197 | div.body h3, 198 | div.body h4, 199 | div.body h5, 200 | div.body h6 { 201 | font-family: 'Garamond', 'Georgia', serif; 202 | font-weight: normal; 203 | margin: 30px 0px 10px 0px; 204 | padding: 0; 205 | } 206 | 207 | div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } 208 | div.body h2 { font-size: 180%; } 209 | div.body h3 { font-size: 150%; } 210 | div.body h4 { font-size: 130%; } 211 | div.body h5 { font-size: 100%; } 212 | div.body h6 { font-size: 100%; } 213 | 214 | a.headerlink { 215 | color: #DDD; 216 | padding: 0 4px; 217 | text-decoration: none; 218 | } 219 | 220 | a.headerlink:hover { 221 | color: #444; 222 | background: #EAEAEA; 223 | } 224 | 225 | div.body p, div.body dd, div.body li { 226 | line-height: 1.4em; 227 | } 228 | 229 | div.admonition { 230 | margin: 20px 0px; 231 | padding: 10px 30px; 232 | background-color: #FCC; 233 | border: 1px solid #FAA; 234 | } 235 | 236 | div.admonition tt.xref, div.admonition a tt { 237 | border-bottom: 1px solid #fafafa; 238 | } 239 | 240 | dd div.admonition { 241 | margin-left: -60px; 242 | padding-left: 60px; 243 | } 244 | 245 | div.admonition p.admonition-title { 246 | font-family: 'Garamond', 'Georgia', serif; 247 | font-weight: normal; 248 | font-size: 24px; 249 | margin: 0 0 10px 0; 250 | padding: 0; 251 | line-height: 1; 252 | } 253 | 254 | div.admonition p.last { 255 | margin-bottom: 0; 256 | } 257 | 258 | div.highlight { 259 | background-color: white; 260 | } 261 | 262 | dt:target, .highlight { 263 | background: #FAF3E8; 264 | } 265 | 266 | div.note { 267 | background-color: #EEE; 268 | border: 1px solid #CCC; 269 | } 270 | 271 | div.seealso { 272 | background-color: #EEE; 273 | border: 1px solid #CCC; 274 | } 275 | 276 | div.topic { 277 | background-color: #eee; 278 | } 279 | 280 | p.admonition-title { 281 | display: inline; 282 | } 283 | 284 | p.admonition-title:after { 285 | content: ":"; 286 | } 287 | 288 | pre, tt, code { 289 | font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; 290 | font-size: 0.9em; 291 | } 292 | 293 | .hll { 294 | background-color: #FFC; 295 | margin: 0 -12px; 296 | padding: 0 12px; 297 | display: block; 298 | } 299 | 300 | img.screenshot { 301 | } 302 | 303 | tt.descname, tt.descclassname, code.descname, code.descclassname { 304 | font-size: 0.95em; 305 | } 306 | 307 | tt.descname, code.descname { 308 | padding-right: 0.08em; 309 | } 310 | 311 | img.screenshot { 312 | -moz-box-shadow: 2px 2px 4px #eee; 313 | -webkit-box-shadow: 2px 2px 4px #eee; 314 | box-shadow: 2px 2px 4px #eee; 315 | } 316 | 317 | table.docutils { 318 | border: 1px solid #888; 319 | -moz-box-shadow: 2px 2px 4px #eee; 320 | -webkit-box-shadow: 2px 2px 4px #eee; 321 | box-shadow: 2px 2px 4px #eee; 322 | } 323 | 324 | table.docutils td, table.docutils th { 325 | border: 1px solid #888; 326 | padding: 0.25em 0.7em; 327 | } 328 | 329 | table.field-list, table.footnote { 330 | border: none; 331 | -moz-box-shadow: none; 332 | -webkit-box-shadow: none; 333 | box-shadow: none; 334 | } 335 | 336 | table.footnote { 337 | margin: 15px 0; 338 | width: 100%; 339 | border: 1px solid #EEE; 340 | background: #FDFDFD; 341 | font-size: 0.9em; 342 | } 343 | 344 | table.footnote + table.footnote { 345 | margin-top: -15px; 346 | border-top: none; 347 | } 348 | 349 | table.field-list th { 350 | padding: 0 0.8em 0 0; 351 | } 352 | 353 | table.field-list td { 354 | padding: 0; 355 | } 356 | 357 | table.field-list p { 358 | margin-bottom: 0.8em; 359 | } 360 | 361 | table.footnote td.label { 362 | width: 0px; 363 | padding: 0.3em 0 0.3em 0.5em; 364 | } 365 | 366 | table.footnote td { 367 | padding: 0.3em 0.5em; 368 | } 369 | 370 | dl { 371 | margin: 0; 372 | padding: 0; 373 | } 374 | 375 | dl dd { 376 | margin-left: 30px; 377 | } 378 | 379 | blockquote { 380 | margin: 0 0 0 30px; 381 | padding: 0; 382 | } 383 | 384 | ul, ol { 385 | margin: 10px 0 10px 30px; 386 | padding: 0; 387 | } 388 | 389 | pre { 390 | background: #EEE; 391 | padding: 7px 30px; 392 | margin: 15px 0px; 393 | line-height: 1.3em; 394 | } 395 | 396 | dl pre, blockquote pre, li pre { 397 | margin-left: 0; 398 | padding-left: 30px; 399 | } 400 | 401 | dl dl pre { 402 | margin-left: -90px; 403 | padding-left: 90px; 404 | } 405 | 406 | tt, code { 407 | background-color: #ecf0f3; 408 | color: #222; 409 | /* padding: 1px 2px; */ 410 | } 411 | 412 | tt.xref, code.xref, a tt { 413 | background-color: #FBFBFB; 414 | border-bottom: 1px solid white; 415 | } 416 | 417 | a.reference { 418 | text-decoration: none; 419 | border-bottom: 1px dotted #004B6B; 420 | } 421 | 422 | a.reference:hover { 423 | border-bottom: 1px solid #6D4100; 424 | } 425 | 426 | a.footnote-reference { 427 | text-decoration: none; 428 | font-size: 0.7em; 429 | vertical-align: top; 430 | border-bottom: 1px dotted #004B6B; 431 | } 432 | 433 | a.footnote-reference:hover { 434 | border-bottom: 1px solid #6D4100; 435 | } 436 | 437 | a:hover tt, a:hover code { 438 | background: #EEE; 439 | } 440 | 441 | 442 | @media screen and (max-width: 870px) { 443 | 444 | div.sphinxsidebar { 445 | display: none; 446 | } 447 | 448 | div.document { 449 | width: 100%; 450 | 451 | } 452 | 453 | div.documentwrapper { 454 | margin-left: 0; 455 | margin-top: 0; 456 | margin-right: 0; 457 | margin-bottom: 0; 458 | } 459 | 460 | div.bodywrapper { 461 | margin-top: 0; 462 | margin-right: 0; 463 | margin-bottom: 0; 464 | margin-left: 0; 465 | } 466 | 467 | ul { 468 | margin-left: 0; 469 | } 470 | 471 | .document { 472 | width: auto; 473 | } 474 | 475 | .footer { 476 | width: auto; 477 | } 478 | 479 | .bodywrapper { 480 | margin: 0; 481 | } 482 | 483 | .footer { 484 | width: auto; 485 | } 486 | 487 | .github { 488 | display: none; 489 | } 490 | 491 | 492 | 493 | } 494 | 495 | 496 | 497 | @media screen and (max-width: 875px) { 498 | 499 | body { 500 | margin: 0; 501 | padding: 20px 30px; 502 | } 503 | 504 | div.documentwrapper { 505 | float: none; 506 | background: white; 507 | } 508 | 509 | div.sphinxsidebar { 510 | display: block; 511 | float: none; 512 | width: 102.5%; 513 | margin: 50px -30px -20px -30px; 514 | padding: 10px 20px; 515 | background: #333; 516 | color: #FFF; 517 | } 518 | 519 | div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, 520 | div.sphinxsidebar h3 a { 521 | color: white; 522 | } 523 | 524 | div.sphinxsidebar a { 525 | color: #AAA; 526 | } 527 | 528 | div.sphinxsidebar p.logo { 529 | display: none; 530 | } 531 | 532 | div.document { 533 | width: 100%; 534 | margin: 0; 535 | } 536 | 537 | div.footer { 538 | display: none; 539 | } 540 | 541 | div.bodywrapper { 542 | margin: 0; 543 | } 544 | 545 | div.body { 546 | min-height: 0; 547 | padding: 0; 548 | } 549 | 550 | .rtd_doc_footer { 551 | display: none; 552 | } 553 | 554 | .document { 555 | width: auto; 556 | } 557 | 558 | .footer { 559 | width: auto; 560 | } 561 | 562 | .footer { 563 | width: auto; 564 | } 565 | 566 | .github { 567 | display: none; 568 | } 569 | } 570 | 571 | 572 | /* misc. */ 573 | 574 | .revsys-inline { 575 | display: none!important; 576 | } 577 | 578 | /* Make nested-list/multi-paragraph items look better in Releases changelog 579 | * pages. Without this, docutils' magical list fuckery causes inconsistent 580 | * formatting between different release sub-lists. 581 | */ 582 | div#changelog > div.section > ul > li > p:only-child { 583 | margin-bottom: 0; 584 | } 585 | 586 | /* Hide fugly table cell borders in ..bibliography:: directive output */ 587 | table.docutils.citation, table.docutils.citation td, table.docutils.citation th { 588 | border: none; 589 | /* Below needed in some edge cases; if not applied, bottom shadows appear */ 590 | -moz-box-shadow: none; 591 | -webkit-box-shadow: none; 592 | box-shadow: none; 593 | } -------------------------------------------------------------------------------- /docs_full/_build/html/_static/alabaster.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | @import url("basic.css"); 19 | 20 | /* -- page layout ----------------------------------------------------------- */ 21 | 22 | body { 23 | font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; 24 | font-size: 17px; 25 | background-color: white; 26 | color: #000; 27 | margin: 0; 28 | padding: 0; 29 | } 30 | 31 | div.document { 32 | width: 940px; 33 | margin: 30px auto 0 auto; 34 | } 35 | 36 | div.documentwrapper { 37 | float: left; 38 | width: 100%; 39 | } 40 | 41 | div.bodywrapper { 42 | margin: 0 0 0 220px; 43 | } 44 | 45 | div.sphinxsidebar { 46 | width: 220px; 47 | } 48 | 49 | hr { 50 | border: 1px solid #B1B4B6; 51 | } 52 | 53 | div.body { 54 | background-color: #ffffff; 55 | color: #3E4349; 56 | padding: 0 30px 0 30px; 57 | } 58 | 59 | div.body > .section { 60 | text-align: left; 61 | } 62 | 63 | div.footer { 64 | width: 940px; 65 | margin: 20px auto 30px auto; 66 | font-size: 14px; 67 | color: #888; 68 | text-align: right; 69 | } 70 | 71 | div.footer a { 72 | color: #888; 73 | } 74 | 75 | 76 | div.relations { 77 | display: none; 78 | } 79 | 80 | 81 | div.sphinxsidebar a { 82 | color: #444; 83 | text-decoration: none; 84 | border-bottom: 1px dotted #999; 85 | } 86 | 87 | div.sphinxsidebar a:hover { 88 | border-bottom: 1px solid #999; 89 | } 90 | 91 | div.sphinxsidebar { 92 | font-size: 14px; 93 | line-height: 1.5; 94 | } 95 | 96 | div.sphinxsidebarwrapper { 97 | padding: 18px 10px; 98 | } 99 | 100 | div.sphinxsidebarwrapper p.logo { 101 | padding: 0; 102 | margin: -10px 0 0 0px; 103 | text-align: center; 104 | } 105 | 106 | div.sphinxsidebarwrapper h1.logo { 107 | margin-top: -10px; 108 | text-align: center; 109 | margin-bottom: 5px; 110 | text-align: left; 111 | } 112 | 113 | div.sphinxsidebarwrapper h1.logo-name { 114 | margin-top: 0px; 115 | } 116 | 117 | div.sphinxsidebarwrapper p.blurb { 118 | margin-top: 0; 119 | font-style: normal; 120 | } 121 | 122 | div.sphinxsidebar h3, 123 | div.sphinxsidebar h4 { 124 | font-family: 'Garamond', 'Georgia', serif; 125 | color: #444; 126 | font-size: 24px; 127 | font-weight: normal; 128 | margin: 0 0 5px 0; 129 | padding: 0; 130 | } 131 | 132 | div.sphinxsidebar h4 { 133 | font-size: 20px; 134 | } 135 | 136 | div.sphinxsidebar h3 a { 137 | color: #444; 138 | } 139 | 140 | div.sphinxsidebar p.logo a, 141 | div.sphinxsidebar h3 a, 142 | div.sphinxsidebar p.logo a:hover, 143 | div.sphinxsidebar h3 a:hover { 144 | border: none; 145 | } 146 | 147 | div.sphinxsidebar p { 148 | color: #555; 149 | margin: 10px 0; 150 | } 151 | 152 | div.sphinxsidebar ul { 153 | margin: 10px 0; 154 | padding: 0; 155 | color: #000; 156 | } 157 | 158 | div.sphinxsidebar ul li.toctree-l1 > a { 159 | font-size: 120%; 160 | } 161 | 162 | div.sphinxsidebar ul li.toctree-l2 > a { 163 | font-size: 110%; 164 | } 165 | 166 | div.sphinxsidebar input { 167 | border: 1px solid #CCC; 168 | font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; 169 | font-size: 1em; 170 | } 171 | 172 | div.sphinxsidebar hr { 173 | border: none; 174 | height: 1px; 175 | color: #AAA; 176 | background: #AAA; 177 | 178 | text-align: left; 179 | margin-left: 0; 180 | width: 50%; 181 | } 182 | 183 | /* -- body styles ----------------------------------------------------------- */ 184 | 185 | a { 186 | color: #004B6B; 187 | text-decoration: underline; 188 | } 189 | 190 | a:hover { 191 | color: #6D4100; 192 | text-decoration: underline; 193 | } 194 | 195 | div.body h1, 196 | div.body h2, 197 | div.body h3, 198 | div.body h4, 199 | div.body h5, 200 | div.body h6 { 201 | font-family: 'Garamond', 'Georgia', serif; 202 | font-weight: normal; 203 | margin: 30px 0px 10px 0px; 204 | padding: 0; 205 | } 206 | 207 | div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } 208 | div.body h2 { font-size: 180%; } 209 | div.body h3 { font-size: 150%; } 210 | div.body h4 { font-size: 130%; } 211 | div.body h5 { font-size: 100%; } 212 | div.body h6 { font-size: 100%; } 213 | 214 | a.headerlink { 215 | color: #DDD; 216 | padding: 0 4px; 217 | text-decoration: none; 218 | } 219 | 220 | a.headerlink:hover { 221 | color: #444; 222 | background: #EAEAEA; 223 | } 224 | 225 | div.body p, div.body dd, div.body li { 226 | line-height: 1.4em; 227 | } 228 | 229 | div.admonition { 230 | margin: 20px 0px; 231 | padding: 10px 30px; 232 | background-color: #FCC; 233 | border: 1px solid #FAA; 234 | } 235 | 236 | div.admonition tt.xref, div.admonition a tt { 237 | border-bottom: 1px solid #fafafa; 238 | } 239 | 240 | dd div.admonition { 241 | margin-left: -60px; 242 | padding-left: 60px; 243 | } 244 | 245 | div.admonition p.admonition-title { 246 | font-family: 'Garamond', 'Georgia', serif; 247 | font-weight: normal; 248 | font-size: 24px; 249 | margin: 0 0 10px 0; 250 | padding: 0; 251 | line-height: 1; 252 | } 253 | 254 | div.admonition p.last { 255 | margin-bottom: 0; 256 | } 257 | 258 | div.highlight { 259 | background-color: white; 260 | } 261 | 262 | dt:target, .highlight { 263 | background: #FAF3E8; 264 | } 265 | 266 | div.note { 267 | background-color: #EEE; 268 | border: 1px solid #CCC; 269 | } 270 | 271 | div.seealso { 272 | background-color: #EEE; 273 | border: 1px solid #CCC; 274 | } 275 | 276 | div.topic { 277 | background-color: #eee; 278 | } 279 | 280 | p.admonition-title { 281 | display: inline; 282 | } 283 | 284 | p.admonition-title:after { 285 | content: ":"; 286 | } 287 | 288 | pre, tt, code { 289 | font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; 290 | font-size: 0.9em; 291 | } 292 | 293 | .hll { 294 | background-color: #FFC; 295 | margin: 0 -12px; 296 | padding: 0 12px; 297 | display: block; 298 | } 299 | 300 | img.screenshot { 301 | } 302 | 303 | tt.descname, tt.descclassname, code.descname, code.descclassname { 304 | font-size: 0.95em; 305 | } 306 | 307 | tt.descname, code.descname { 308 | padding-right: 0.08em; 309 | } 310 | 311 | img.screenshot { 312 | -moz-box-shadow: 2px 2px 4px #eee; 313 | -webkit-box-shadow: 2px 2px 4px #eee; 314 | box-shadow: 2px 2px 4px #eee; 315 | } 316 | 317 | table.docutils { 318 | border: 1px solid #888; 319 | -moz-box-shadow: 2px 2px 4px #eee; 320 | -webkit-box-shadow: 2px 2px 4px #eee; 321 | box-shadow: 2px 2px 4px #eee; 322 | } 323 | 324 | table.docutils td, table.docutils th { 325 | border: 1px solid #888; 326 | padding: 0.25em 0.7em; 327 | } 328 | 329 | table.field-list, table.footnote { 330 | border: none; 331 | -moz-box-shadow: none; 332 | -webkit-box-shadow: none; 333 | box-shadow: none; 334 | } 335 | 336 | table.footnote { 337 | margin: 15px 0; 338 | width: 100%; 339 | border: 1px solid #EEE; 340 | background: #FDFDFD; 341 | font-size: 0.9em; 342 | } 343 | 344 | table.footnote + table.footnote { 345 | margin-top: -15px; 346 | border-top: none; 347 | } 348 | 349 | table.field-list th { 350 | padding: 0 0.8em 0 0; 351 | } 352 | 353 | table.field-list td { 354 | padding: 0; 355 | } 356 | 357 | table.field-list p { 358 | margin-bottom: 0.8em; 359 | } 360 | 361 | table.footnote td.label { 362 | width: 0px; 363 | padding: 0.3em 0 0.3em 0.5em; 364 | } 365 | 366 | table.footnote td { 367 | padding: 0.3em 0.5em; 368 | } 369 | 370 | dl { 371 | margin: 0; 372 | padding: 0; 373 | } 374 | 375 | dl dd { 376 | margin-left: 30px; 377 | } 378 | 379 | blockquote { 380 | margin: 0 0 0 30px; 381 | padding: 0; 382 | } 383 | 384 | ul, ol { 385 | margin: 10px 0 10px 30px; 386 | padding: 0; 387 | } 388 | 389 | pre { 390 | background: #EEE; 391 | padding: 7px 30px; 392 | margin: 15px 0px; 393 | line-height: 1.3em; 394 | } 395 | 396 | dl pre, blockquote pre, li pre { 397 | margin-left: 0; 398 | padding-left: 30px; 399 | } 400 | 401 | dl dl pre { 402 | margin-left: -90px; 403 | padding-left: 90px; 404 | } 405 | 406 | tt, code { 407 | background-color: #ecf0f3; 408 | color: #222; 409 | /* padding: 1px 2px; */ 410 | } 411 | 412 | tt.xref, code.xref, a tt { 413 | background-color: #FBFBFB; 414 | border-bottom: 1px solid white; 415 | } 416 | 417 | a.reference { 418 | text-decoration: none; 419 | border-bottom: 1px dotted #004B6B; 420 | } 421 | 422 | a.reference:hover { 423 | border-bottom: 1px solid #6D4100; 424 | } 425 | 426 | a.footnote-reference { 427 | text-decoration: none; 428 | font-size: 0.7em; 429 | vertical-align: top; 430 | border-bottom: 1px dotted #004B6B; 431 | } 432 | 433 | a.footnote-reference:hover { 434 | border-bottom: 1px solid #6D4100; 435 | } 436 | 437 | a:hover tt, a:hover code { 438 | background: #EEE; 439 | } 440 | 441 | 442 | @media screen and (max-width: 870px) { 443 | 444 | div.sphinxsidebar { 445 | display: none; 446 | } 447 | 448 | div.document { 449 | width: 100%; 450 | 451 | } 452 | 453 | div.documentwrapper { 454 | margin-left: 0; 455 | margin-top: 0; 456 | margin-right: 0; 457 | margin-bottom: 0; 458 | } 459 | 460 | div.bodywrapper { 461 | margin-top: 0; 462 | margin-right: 0; 463 | margin-bottom: 0; 464 | margin-left: 0; 465 | } 466 | 467 | ul { 468 | margin-left: 0; 469 | } 470 | 471 | .document { 472 | width: auto; 473 | } 474 | 475 | .footer { 476 | width: auto; 477 | } 478 | 479 | .bodywrapper { 480 | margin: 0; 481 | } 482 | 483 | .footer { 484 | width: auto; 485 | } 486 | 487 | .github { 488 | display: none; 489 | } 490 | 491 | 492 | 493 | } 494 | 495 | 496 | 497 | @media screen and (max-width: 875px) { 498 | 499 | body { 500 | margin: 0; 501 | padding: 20px 30px; 502 | } 503 | 504 | div.documentwrapper { 505 | float: none; 506 | background: white; 507 | } 508 | 509 | div.sphinxsidebar { 510 | display: block; 511 | float: none; 512 | width: 102.5%; 513 | margin: 50px -30px -20px -30px; 514 | padding: 10px 20px; 515 | background: #333; 516 | color: #FFF; 517 | } 518 | 519 | div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, 520 | div.sphinxsidebar h3 a { 521 | color: white; 522 | } 523 | 524 | div.sphinxsidebar a { 525 | color: #AAA; 526 | } 527 | 528 | div.sphinxsidebar p.logo { 529 | display: none; 530 | } 531 | 532 | div.document { 533 | width: 100%; 534 | margin: 0; 535 | } 536 | 537 | div.footer { 538 | display: none; 539 | } 540 | 541 | div.bodywrapper { 542 | margin: 0; 543 | } 544 | 545 | div.body { 546 | min-height: 0; 547 | padding: 0; 548 | } 549 | 550 | .rtd_doc_footer { 551 | display: none; 552 | } 553 | 554 | .document { 555 | width: auto; 556 | } 557 | 558 | .footer { 559 | width: auto; 560 | } 561 | 562 | .footer { 563 | width: auto; 564 | } 565 | 566 | .github { 567 | display: none; 568 | } 569 | } 570 | 571 | 572 | /* misc. */ 573 | 574 | .revsys-inline { 575 | display: none!important; 576 | } 577 | 578 | /* Make nested-list/multi-paragraph items look better in Releases changelog 579 | * pages. Without this, docutils' magical list fuckery causes inconsistent 580 | * formatting between different release sub-lists. 581 | */ 582 | div#changelog > div.section > ul > li > p:only-child { 583 | margin-bottom: 0; 584 | } 585 | 586 | /* Hide fugly table cell borders in ..bibliography:: directive output */ 587 | table.docutils.citation, table.docutils.citation td, table.docutils.citation th { 588 | border: none; 589 | /* Below needed in some edge cases; if not applied, bottom shadows appear */ 590 | -moz-box-shadow: none; 591 | -webkit-box-shadow: none; 592 | box-shadow: none; 593 | } -------------------------------------------------------------------------------- /docs_html/_static/basic.css: -------------------------------------------------------------------------------- 1 | /* 2 | * basic.css 3 | * ~~~~~~~~~ 4 | * 5 | * Sphinx stylesheet -- basic theme. 6 | * 7 | * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /* -- main layout ----------------------------------------------------------- */ 13 | 14 | div.clearer { 15 | clear: both; 16 | } 17 | 18 | /* -- relbar ---------------------------------------------------------------- */ 19 | 20 | div.related { 21 | width: 100%; 22 | font-size: 90%; 23 | } 24 | 25 | div.related h3 { 26 | display: none; 27 | } 28 | 29 | div.related ul { 30 | margin: 0; 31 | padding: 0 0 0 10px; 32 | list-style: none; 33 | } 34 | 35 | div.related li { 36 | display: inline; 37 | } 38 | 39 | div.related li.right { 40 | float: right; 41 | margin-right: 5px; 42 | } 43 | 44 | /* -- sidebar --------------------------------------------------------------- */ 45 | 46 | div.sphinxsidebarwrapper { 47 | padding: 10px 5px 0 10px; 48 | } 49 | 50 | div.sphinxsidebar { 51 | float: left; 52 | width: 230px; 53 | margin-left: -100%; 54 | font-size: 90%; 55 | word-wrap: break-word; 56 | overflow-wrap : break-word; 57 | } 58 | 59 | div.sphinxsidebar ul { 60 | list-style: none; 61 | } 62 | 63 | div.sphinxsidebar ul ul, 64 | div.sphinxsidebar ul.want-points { 65 | margin-left: 20px; 66 | list-style: square; 67 | } 68 | 69 | div.sphinxsidebar ul ul { 70 | margin-top: 0; 71 | margin-bottom: 0; 72 | } 73 | 74 | div.sphinxsidebar form { 75 | margin-top: 10px; 76 | } 77 | 78 | div.sphinxsidebar input { 79 | border: 1px solid #98dbcc; 80 | font-family: sans-serif; 81 | font-size: 1em; 82 | } 83 | 84 | div.sphinxsidebar #searchbox input[type="text"] { 85 | width: 170px; 86 | } 87 | 88 | div.sphinxsidebar #searchbox input[type="submit"] { 89 | width: 30px; 90 | } 91 | 92 | img { 93 | border: 0; 94 | max-width: 100%; 95 | } 96 | 97 | /* -- search page ----------------------------------------------------------- */ 98 | 99 | ul.search { 100 | margin: 10px 0 0 20px; 101 | padding: 0; 102 | } 103 | 104 | ul.search li { 105 | padding: 5px 0 5px 20px; 106 | background-image: url(file.png); 107 | background-repeat: no-repeat; 108 | background-position: 0 7px; 109 | } 110 | 111 | ul.search li a { 112 | font-weight: bold; 113 | } 114 | 115 | ul.search li div.context { 116 | color: #888; 117 | margin: 2px 0 0 30px; 118 | text-align: left; 119 | } 120 | 121 | ul.keywordmatches li.goodmatch a { 122 | font-weight: bold; 123 | } 124 | 125 | /* -- index page ------------------------------------------------------------ */ 126 | 127 | table.contentstable { 128 | width: 90%; 129 | } 130 | 131 | table.contentstable p.biglink { 132 | line-height: 150%; 133 | } 134 | 135 | a.biglink { 136 | font-size: 1.3em; 137 | } 138 | 139 | span.linkdescr { 140 | font-style: italic; 141 | padding-top: 5px; 142 | font-size: 90%; 143 | } 144 | 145 | /* -- general index --------------------------------------------------------- */ 146 | 147 | table.indextable { 148 | width: 100%; 149 | } 150 | 151 | table.indextable td { 152 | text-align: left; 153 | vertical-align: top; 154 | } 155 | 156 | table.indextable dl, table.indextable dd { 157 | margin-top: 0; 158 | margin-bottom: 0; 159 | } 160 | 161 | table.indextable tr.pcap { 162 | height: 10px; 163 | } 164 | 165 | table.indextable tr.cap { 166 | margin-top: 10px; 167 | background-color: #f2f2f2; 168 | } 169 | 170 | img.toggler { 171 | margin-right: 3px; 172 | margin-top: 3px; 173 | cursor: pointer; 174 | } 175 | 176 | div.modindex-jumpbox { 177 | border-top: 1px solid #ddd; 178 | border-bottom: 1px solid #ddd; 179 | margin: 1em 0 1em 0; 180 | padding: 0.4em; 181 | } 182 | 183 | div.genindex-jumpbox { 184 | border-top: 1px solid #ddd; 185 | border-bottom: 1px solid #ddd; 186 | margin: 1em 0 1em 0; 187 | padding: 0.4em; 188 | } 189 | 190 | /* -- general body styles --------------------------------------------------- */ 191 | 192 | div.body p, div.body dd, div.body li, div.body blockquote { 193 | -moz-hyphens: auto; 194 | -ms-hyphens: auto; 195 | -webkit-hyphens: auto; 196 | hyphens: auto; 197 | } 198 | 199 | a.headerlink { 200 | visibility: hidden; 201 | } 202 | 203 | h1:hover > a.headerlink, 204 | h2:hover > a.headerlink, 205 | h3:hover > a.headerlink, 206 | h4:hover > a.headerlink, 207 | h5:hover > a.headerlink, 208 | h6:hover > a.headerlink, 209 | dt:hover > a.headerlink, 210 | caption:hover > a.headerlink, 211 | p.caption:hover > a.headerlink, 212 | div.code-block-caption:hover > a.headerlink { 213 | visibility: visible; 214 | } 215 | 216 | div.body p.caption { 217 | text-align: inherit; 218 | } 219 | 220 | div.body td { 221 | text-align: left; 222 | } 223 | 224 | .field-list ul { 225 | padding-left: 1em; 226 | } 227 | 228 | .first { 229 | margin-top: 0 !important; 230 | } 231 | 232 | p.rubric { 233 | margin-top: 30px; 234 | font-weight: bold; 235 | } 236 | 237 | img.align-left, .figure.align-left, object.align-left { 238 | clear: left; 239 | float: left; 240 | margin-right: 1em; 241 | } 242 | 243 | img.align-right, .figure.align-right, object.align-right { 244 | clear: right; 245 | float: right; 246 | margin-left: 1em; 247 | } 248 | 249 | img.align-center, .figure.align-center, object.align-center { 250 | display: block; 251 | margin-left: auto; 252 | margin-right: auto; 253 | } 254 | 255 | .align-left { 256 | text-align: left; 257 | } 258 | 259 | .align-center { 260 | text-align: center; 261 | } 262 | 263 | .align-right { 264 | text-align: right; 265 | } 266 | 267 | /* -- sidebars -------------------------------------------------------------- */ 268 | 269 | div.sidebar { 270 | margin: 0 0 0.5em 1em; 271 | border: 1px solid #ddb; 272 | padding: 7px 7px 0 7px; 273 | background-color: #ffe; 274 | width: 40%; 275 | float: right; 276 | } 277 | 278 | p.sidebar-title { 279 | font-weight: bold; 280 | } 281 | 282 | /* -- topics ---------------------------------------------------------------- */ 283 | 284 | div.topic { 285 | border: 1px solid #ccc; 286 | padding: 7px 7px 0 7px; 287 | margin: 10px 0 10px 0; 288 | } 289 | 290 | p.topic-title { 291 | font-size: 1.1em; 292 | font-weight: bold; 293 | margin-top: 10px; 294 | } 295 | 296 | /* -- admonitions ----------------------------------------------------------- */ 297 | 298 | div.admonition { 299 | margin-top: 10px; 300 | margin-bottom: 10px; 301 | padding: 7px; 302 | } 303 | 304 | div.admonition dt { 305 | font-weight: bold; 306 | } 307 | 308 | div.admonition dl { 309 | margin-bottom: 0; 310 | } 311 | 312 | p.admonition-title { 313 | margin: 0px 10px 5px 0px; 314 | font-weight: bold; 315 | } 316 | 317 | div.body p.centered { 318 | text-align: center; 319 | margin-top: 25px; 320 | } 321 | 322 | /* -- tables ---------------------------------------------------------------- */ 323 | 324 | table.docutils { 325 | border: 0; 326 | border-collapse: collapse; 327 | } 328 | 329 | table caption span.caption-number { 330 | font-style: italic; 331 | } 332 | 333 | table caption span.caption-text { 334 | } 335 | 336 | table.docutils td, table.docutils th { 337 | padding: 1px 8px 1px 5px; 338 | border-top: 0; 339 | border-left: 0; 340 | border-right: 0; 341 | border-bottom: 1px solid #aaa; 342 | } 343 | 344 | table.field-list td, table.field-list th { 345 | border: 0 !important; 346 | } 347 | 348 | table.footnote td, table.footnote th { 349 | border: 0 !important; 350 | } 351 | 352 | th { 353 | text-align: left; 354 | padding-right: 5px; 355 | } 356 | 357 | table.citation { 358 | border-left: solid 1px gray; 359 | margin-left: 1px; 360 | } 361 | 362 | table.citation td { 363 | border-bottom: none; 364 | } 365 | 366 | /* -- figures --------------------------------------------------------------- */ 367 | 368 | div.figure { 369 | margin: 0.5em; 370 | padding: 0.5em; 371 | } 372 | 373 | div.figure p.caption { 374 | padding: 0.3em; 375 | } 376 | 377 | div.figure p.caption span.caption-number { 378 | font-style: italic; 379 | } 380 | 381 | div.figure p.caption span.caption-text { 382 | } 383 | 384 | 385 | /* -- other body styles ----------------------------------------------------- */ 386 | 387 | ol.arabic { 388 | list-style: decimal; 389 | } 390 | 391 | ol.loweralpha { 392 | list-style: lower-alpha; 393 | } 394 | 395 | ol.upperalpha { 396 | list-style: upper-alpha; 397 | } 398 | 399 | ol.lowerroman { 400 | list-style: lower-roman; 401 | } 402 | 403 | ol.upperroman { 404 | list-style: upper-roman; 405 | } 406 | 407 | dl { 408 | margin-bottom: 15px; 409 | } 410 | 411 | dd p { 412 | margin-top: 0px; 413 | } 414 | 415 | dd ul, dd table { 416 | margin-bottom: 10px; 417 | } 418 | 419 | dd { 420 | margin-top: 3px; 421 | margin-bottom: 10px; 422 | margin-left: 30px; 423 | } 424 | 425 | dt:target, .highlighted { 426 | background-color: #fbe54e; 427 | } 428 | 429 | dl.glossary dt { 430 | font-weight: bold; 431 | font-size: 1.1em; 432 | } 433 | 434 | .field-list ul { 435 | margin: 0; 436 | padding-left: 1em; 437 | } 438 | 439 | .field-list p { 440 | margin: 0; 441 | } 442 | 443 | .optional { 444 | font-size: 1.3em; 445 | } 446 | 447 | .sig-paren { 448 | font-size: larger; 449 | } 450 | 451 | .versionmodified { 452 | font-style: italic; 453 | } 454 | 455 | .system-message { 456 | background-color: #fda; 457 | padding: 5px; 458 | border: 3px solid red; 459 | } 460 | 461 | .footnote:target { 462 | background-color: #ffa; 463 | } 464 | 465 | .line-block { 466 | display: block; 467 | margin-top: 1em; 468 | margin-bottom: 1em; 469 | } 470 | 471 | .line-block .line-block { 472 | margin-top: 0; 473 | margin-bottom: 0; 474 | margin-left: 1.5em; 475 | } 476 | 477 | .guilabel, .menuselection { 478 | font-family: sans-serif; 479 | } 480 | 481 | .accelerator { 482 | text-decoration: underline; 483 | } 484 | 485 | .classifier { 486 | font-style: oblique; 487 | } 488 | 489 | abbr, acronym { 490 | border-bottom: dotted 1px; 491 | cursor: help; 492 | } 493 | 494 | /* -- code displays --------------------------------------------------------- */ 495 | 496 | pre { 497 | overflow: auto; 498 | overflow-y: hidden; /* fixes display issues on Chrome browsers */ 499 | } 500 | 501 | td.linenos pre { 502 | padding: 5px 0px; 503 | border: 0; 504 | background-color: transparent; 505 | color: #aaa; 506 | } 507 | 508 | table.highlighttable { 509 | margin-left: 0.5em; 510 | } 511 | 512 | table.highlighttable td { 513 | padding: 0 0.5em 0 0.5em; 514 | } 515 | 516 | div.code-block-caption { 517 | padding: 2px 5px; 518 | font-size: small; 519 | } 520 | 521 | div.code-block-caption code { 522 | background-color: transparent; 523 | } 524 | 525 | div.code-block-caption + div > div.highlight > pre { 526 | margin-top: 0; 527 | } 528 | 529 | div.code-block-caption span.caption-number { 530 | padding: 0.1em 0.3em; 531 | font-style: italic; 532 | } 533 | 534 | div.code-block-caption span.caption-text { 535 | } 536 | 537 | div.literal-block-wrapper { 538 | padding: 1em 1em 0; 539 | } 540 | 541 | div.literal-block-wrapper div.highlight { 542 | margin: 0; 543 | } 544 | 545 | code.descname { 546 | background-color: transparent; 547 | font-weight: bold; 548 | font-size: 1.2em; 549 | } 550 | 551 | code.descclassname { 552 | background-color: transparent; 553 | } 554 | 555 | code.xref, a code { 556 | background-color: transparent; 557 | font-weight: bold; 558 | } 559 | 560 | h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { 561 | background-color: transparent; 562 | } 563 | 564 | .viewcode-link { 565 | float: right; 566 | } 567 | 568 | .viewcode-back { 569 | float: right; 570 | font-family: sans-serif; 571 | } 572 | 573 | div.viewcode-block:target { 574 | margin: -1px -10px; 575 | padding: 0 10px; 576 | } 577 | 578 | /* -- math display ---------------------------------------------------------- */ 579 | 580 | img.math { 581 | vertical-align: middle; 582 | } 583 | 584 | div.body div.math p { 585 | text-align: center; 586 | } 587 | 588 | span.eqno { 589 | float: right; 590 | } 591 | 592 | /* -- printout stylesheet --------------------------------------------------- */ 593 | 594 | @media print { 595 | div.document, 596 | div.documentwrapper, 597 | div.bodywrapper { 598 | margin: 0 !important; 599 | width: 100%; 600 | } 601 | 602 | div.sphinxsidebar, 603 | div.related, 604 | div.footer, 605 | #top-link { 606 | display: none; 607 | } 608 | } -------------------------------------------------------------------------------- /docs_full/_build/html/_static/basic.css: -------------------------------------------------------------------------------- 1 | /* 2 | * basic.css 3 | * ~~~~~~~~~ 4 | * 5 | * Sphinx stylesheet -- basic theme. 6 | * 7 | * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /* -- main layout ----------------------------------------------------------- */ 13 | 14 | div.clearer { 15 | clear: both; 16 | } 17 | 18 | /* -- relbar ---------------------------------------------------------------- */ 19 | 20 | div.related { 21 | width: 100%; 22 | font-size: 90%; 23 | } 24 | 25 | div.related h3 { 26 | display: none; 27 | } 28 | 29 | div.related ul { 30 | margin: 0; 31 | padding: 0 0 0 10px; 32 | list-style: none; 33 | } 34 | 35 | div.related li { 36 | display: inline; 37 | } 38 | 39 | div.related li.right { 40 | float: right; 41 | margin-right: 5px; 42 | } 43 | 44 | /* -- sidebar --------------------------------------------------------------- */ 45 | 46 | div.sphinxsidebarwrapper { 47 | padding: 10px 5px 0 10px; 48 | } 49 | 50 | div.sphinxsidebar { 51 | float: left; 52 | width: 230px; 53 | margin-left: -100%; 54 | font-size: 90%; 55 | word-wrap: break-word; 56 | overflow-wrap : break-word; 57 | } 58 | 59 | div.sphinxsidebar ul { 60 | list-style: none; 61 | } 62 | 63 | div.sphinxsidebar ul ul, 64 | div.sphinxsidebar ul.want-points { 65 | margin-left: 20px; 66 | list-style: square; 67 | } 68 | 69 | div.sphinxsidebar ul ul { 70 | margin-top: 0; 71 | margin-bottom: 0; 72 | } 73 | 74 | div.sphinxsidebar form { 75 | margin-top: 10px; 76 | } 77 | 78 | div.sphinxsidebar input { 79 | border: 1px solid #98dbcc; 80 | font-family: sans-serif; 81 | font-size: 1em; 82 | } 83 | 84 | div.sphinxsidebar #searchbox input[type="text"] { 85 | width: 170px; 86 | } 87 | 88 | div.sphinxsidebar #searchbox input[type="submit"] { 89 | width: 30px; 90 | } 91 | 92 | img { 93 | border: 0; 94 | max-width: 100%; 95 | } 96 | 97 | /* -- search page ----------------------------------------------------------- */ 98 | 99 | ul.search { 100 | margin: 10px 0 0 20px; 101 | padding: 0; 102 | } 103 | 104 | ul.search li { 105 | padding: 5px 0 5px 20px; 106 | background-image: url(file.png); 107 | background-repeat: no-repeat; 108 | background-position: 0 7px; 109 | } 110 | 111 | ul.search li a { 112 | font-weight: bold; 113 | } 114 | 115 | ul.search li div.context { 116 | color: #888; 117 | margin: 2px 0 0 30px; 118 | text-align: left; 119 | } 120 | 121 | ul.keywordmatches li.goodmatch a { 122 | font-weight: bold; 123 | } 124 | 125 | /* -- index page ------------------------------------------------------------ */ 126 | 127 | table.contentstable { 128 | width: 90%; 129 | } 130 | 131 | table.contentstable p.biglink { 132 | line-height: 150%; 133 | } 134 | 135 | a.biglink { 136 | font-size: 1.3em; 137 | } 138 | 139 | span.linkdescr { 140 | font-style: italic; 141 | padding-top: 5px; 142 | font-size: 90%; 143 | } 144 | 145 | /* -- general index --------------------------------------------------------- */ 146 | 147 | table.indextable { 148 | width: 100%; 149 | } 150 | 151 | table.indextable td { 152 | text-align: left; 153 | vertical-align: top; 154 | } 155 | 156 | table.indextable dl, table.indextable dd { 157 | margin-top: 0; 158 | margin-bottom: 0; 159 | } 160 | 161 | table.indextable tr.pcap { 162 | height: 10px; 163 | } 164 | 165 | table.indextable tr.cap { 166 | margin-top: 10px; 167 | background-color: #f2f2f2; 168 | } 169 | 170 | img.toggler { 171 | margin-right: 3px; 172 | margin-top: 3px; 173 | cursor: pointer; 174 | } 175 | 176 | div.modindex-jumpbox { 177 | border-top: 1px solid #ddd; 178 | border-bottom: 1px solid #ddd; 179 | margin: 1em 0 1em 0; 180 | padding: 0.4em; 181 | } 182 | 183 | div.genindex-jumpbox { 184 | border-top: 1px solid #ddd; 185 | border-bottom: 1px solid #ddd; 186 | margin: 1em 0 1em 0; 187 | padding: 0.4em; 188 | } 189 | 190 | /* -- general body styles --------------------------------------------------- */ 191 | 192 | div.body p, div.body dd, div.body li, div.body blockquote { 193 | -moz-hyphens: auto; 194 | -ms-hyphens: auto; 195 | -webkit-hyphens: auto; 196 | hyphens: auto; 197 | } 198 | 199 | a.headerlink { 200 | visibility: hidden; 201 | } 202 | 203 | h1:hover > a.headerlink, 204 | h2:hover > a.headerlink, 205 | h3:hover > a.headerlink, 206 | h4:hover > a.headerlink, 207 | h5:hover > a.headerlink, 208 | h6:hover > a.headerlink, 209 | dt:hover > a.headerlink, 210 | caption:hover > a.headerlink, 211 | p.caption:hover > a.headerlink, 212 | div.code-block-caption:hover > a.headerlink { 213 | visibility: visible; 214 | } 215 | 216 | div.body p.caption { 217 | text-align: inherit; 218 | } 219 | 220 | div.body td { 221 | text-align: left; 222 | } 223 | 224 | .field-list ul { 225 | padding-left: 1em; 226 | } 227 | 228 | .first { 229 | margin-top: 0 !important; 230 | } 231 | 232 | p.rubric { 233 | margin-top: 30px; 234 | font-weight: bold; 235 | } 236 | 237 | img.align-left, .figure.align-left, object.align-left { 238 | clear: left; 239 | float: left; 240 | margin-right: 1em; 241 | } 242 | 243 | img.align-right, .figure.align-right, object.align-right { 244 | clear: right; 245 | float: right; 246 | margin-left: 1em; 247 | } 248 | 249 | img.align-center, .figure.align-center, object.align-center { 250 | display: block; 251 | margin-left: auto; 252 | margin-right: auto; 253 | } 254 | 255 | .align-left { 256 | text-align: left; 257 | } 258 | 259 | .align-center { 260 | text-align: center; 261 | } 262 | 263 | .align-right { 264 | text-align: right; 265 | } 266 | 267 | /* -- sidebars -------------------------------------------------------------- */ 268 | 269 | div.sidebar { 270 | margin: 0 0 0.5em 1em; 271 | border: 1px solid #ddb; 272 | padding: 7px 7px 0 7px; 273 | background-color: #ffe; 274 | width: 40%; 275 | float: right; 276 | } 277 | 278 | p.sidebar-title { 279 | font-weight: bold; 280 | } 281 | 282 | /* -- topics ---------------------------------------------------------------- */ 283 | 284 | div.topic { 285 | border: 1px solid #ccc; 286 | padding: 7px 7px 0 7px; 287 | margin: 10px 0 10px 0; 288 | } 289 | 290 | p.topic-title { 291 | font-size: 1.1em; 292 | font-weight: bold; 293 | margin-top: 10px; 294 | } 295 | 296 | /* -- admonitions ----------------------------------------------------------- */ 297 | 298 | div.admonition { 299 | margin-top: 10px; 300 | margin-bottom: 10px; 301 | padding: 7px; 302 | } 303 | 304 | div.admonition dt { 305 | font-weight: bold; 306 | } 307 | 308 | div.admonition dl { 309 | margin-bottom: 0; 310 | } 311 | 312 | p.admonition-title { 313 | margin: 0px 10px 5px 0px; 314 | font-weight: bold; 315 | } 316 | 317 | div.body p.centered { 318 | text-align: center; 319 | margin-top: 25px; 320 | } 321 | 322 | /* -- tables ---------------------------------------------------------------- */ 323 | 324 | table.docutils { 325 | border: 0; 326 | border-collapse: collapse; 327 | } 328 | 329 | table caption span.caption-number { 330 | font-style: italic; 331 | } 332 | 333 | table caption span.caption-text { 334 | } 335 | 336 | table.docutils td, table.docutils th { 337 | padding: 1px 8px 1px 5px; 338 | border-top: 0; 339 | border-left: 0; 340 | border-right: 0; 341 | border-bottom: 1px solid #aaa; 342 | } 343 | 344 | table.field-list td, table.field-list th { 345 | border: 0 !important; 346 | } 347 | 348 | table.footnote td, table.footnote th { 349 | border: 0 !important; 350 | } 351 | 352 | th { 353 | text-align: left; 354 | padding-right: 5px; 355 | } 356 | 357 | table.citation { 358 | border-left: solid 1px gray; 359 | margin-left: 1px; 360 | } 361 | 362 | table.citation td { 363 | border-bottom: none; 364 | } 365 | 366 | /* -- figures --------------------------------------------------------------- */ 367 | 368 | div.figure { 369 | margin: 0.5em; 370 | padding: 0.5em; 371 | } 372 | 373 | div.figure p.caption { 374 | padding: 0.3em; 375 | } 376 | 377 | div.figure p.caption span.caption-number { 378 | font-style: italic; 379 | } 380 | 381 | div.figure p.caption span.caption-text { 382 | } 383 | 384 | 385 | /* -- other body styles ----------------------------------------------------- */ 386 | 387 | ol.arabic { 388 | list-style: decimal; 389 | } 390 | 391 | ol.loweralpha { 392 | list-style: lower-alpha; 393 | } 394 | 395 | ol.upperalpha { 396 | list-style: upper-alpha; 397 | } 398 | 399 | ol.lowerroman { 400 | list-style: lower-roman; 401 | } 402 | 403 | ol.upperroman { 404 | list-style: upper-roman; 405 | } 406 | 407 | dl { 408 | margin-bottom: 15px; 409 | } 410 | 411 | dd p { 412 | margin-top: 0px; 413 | } 414 | 415 | dd ul, dd table { 416 | margin-bottom: 10px; 417 | } 418 | 419 | dd { 420 | margin-top: 3px; 421 | margin-bottom: 10px; 422 | margin-left: 30px; 423 | } 424 | 425 | dt:target, .highlighted { 426 | background-color: #fbe54e; 427 | } 428 | 429 | dl.glossary dt { 430 | font-weight: bold; 431 | font-size: 1.1em; 432 | } 433 | 434 | .field-list ul { 435 | margin: 0; 436 | padding-left: 1em; 437 | } 438 | 439 | .field-list p { 440 | margin: 0; 441 | } 442 | 443 | .optional { 444 | font-size: 1.3em; 445 | } 446 | 447 | .sig-paren { 448 | font-size: larger; 449 | } 450 | 451 | .versionmodified { 452 | font-style: italic; 453 | } 454 | 455 | .system-message { 456 | background-color: #fda; 457 | padding: 5px; 458 | border: 3px solid red; 459 | } 460 | 461 | .footnote:target { 462 | background-color: #ffa; 463 | } 464 | 465 | .line-block { 466 | display: block; 467 | margin-top: 1em; 468 | margin-bottom: 1em; 469 | } 470 | 471 | .line-block .line-block { 472 | margin-top: 0; 473 | margin-bottom: 0; 474 | margin-left: 1.5em; 475 | } 476 | 477 | .guilabel, .menuselection { 478 | font-family: sans-serif; 479 | } 480 | 481 | .accelerator { 482 | text-decoration: underline; 483 | } 484 | 485 | .classifier { 486 | font-style: oblique; 487 | } 488 | 489 | abbr, acronym { 490 | border-bottom: dotted 1px; 491 | cursor: help; 492 | } 493 | 494 | /* -- code displays --------------------------------------------------------- */ 495 | 496 | pre { 497 | overflow: auto; 498 | overflow-y: hidden; /* fixes display issues on Chrome browsers */ 499 | } 500 | 501 | td.linenos pre { 502 | padding: 5px 0px; 503 | border: 0; 504 | background-color: transparent; 505 | color: #aaa; 506 | } 507 | 508 | table.highlighttable { 509 | margin-left: 0.5em; 510 | } 511 | 512 | table.highlighttable td { 513 | padding: 0 0.5em 0 0.5em; 514 | } 515 | 516 | div.code-block-caption { 517 | padding: 2px 5px; 518 | font-size: small; 519 | } 520 | 521 | div.code-block-caption code { 522 | background-color: transparent; 523 | } 524 | 525 | div.code-block-caption + div > div.highlight > pre { 526 | margin-top: 0; 527 | } 528 | 529 | div.code-block-caption span.caption-number { 530 | padding: 0.1em 0.3em; 531 | font-style: italic; 532 | } 533 | 534 | div.code-block-caption span.caption-text { 535 | } 536 | 537 | div.literal-block-wrapper { 538 | padding: 1em 1em 0; 539 | } 540 | 541 | div.literal-block-wrapper div.highlight { 542 | margin: 0; 543 | } 544 | 545 | code.descname { 546 | background-color: transparent; 547 | font-weight: bold; 548 | font-size: 1.2em; 549 | } 550 | 551 | code.descclassname { 552 | background-color: transparent; 553 | } 554 | 555 | code.xref, a code { 556 | background-color: transparent; 557 | font-weight: bold; 558 | } 559 | 560 | h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { 561 | background-color: transparent; 562 | } 563 | 564 | .viewcode-link { 565 | float: right; 566 | } 567 | 568 | .viewcode-back { 569 | float: right; 570 | font-family: sans-serif; 571 | } 572 | 573 | div.viewcode-block:target { 574 | margin: -1px -10px; 575 | padding: 0 10px; 576 | } 577 | 578 | /* -- math display ---------------------------------------------------------- */ 579 | 580 | img.math { 581 | vertical-align: middle; 582 | } 583 | 584 | div.body div.math p { 585 | text-align: center; 586 | } 587 | 588 | span.eqno { 589 | float: right; 590 | } 591 | 592 | /* -- printout stylesheet --------------------------------------------------- */ 593 | 594 | @media print { 595 | div.document, 596 | div.documentwrapper, 597 | div.bodywrapper { 598 | margin: 0 !important; 599 | width: 100%; 600 | } 601 | 602 | div.sphinxsidebar, 603 | div.related, 604 | div.footer, 605 | #top-link { 606 | display: none; 607 | } 608 | } -------------------------------------------------------------------------------- /docs_html/searchindex.js: -------------------------------------------------------------------------------- 1 | Search.setIndex({envversion:47,filenames:["index","napoleon/awspricingfull","napoleon/mainexample","napoleon/modules"],objects:{"":{awspricingfull:[1,0,0,"-"],mainexample:[2,0,0,"-"]},"awspricingfull.AWSPrices":{DEFAULT_CURRENCY:[1,2,1,""],JSON_NAME_TO_REGIONS_API:[1,2,1,""],REGIONS:[1,2,1,""],get_ondemand_instances_prices:[1,3,1,""],get_reserved_instances_prices:[1,3,1,""],load_data:[1,3,1,""],none_as_string:[1,3,1,""],return_json:[1,3,1,""]},"awspricingfull.AllAWSPrices":{ddb:[1,2,1,""],ec2:[1,2,1,""],elc:[1,2,1,""],rds:[1,2,1,""],return_json:[1,3,1,""],rs:[1,2,1,""],save_csv:[1,3,1,""]},"awspricingfull.AllAWSPrices2":{ddb:[1,2,1,""],ec2:[1,2,1,""],elc:[1,2,1,""],rds:[1,2,1,""],return_json:[1,3,1,""],rs:[1,2,1,""],save_csv:[1,3,1,""]},"awspricingfull.DDBPrices":{DDB_ON_DEMAND_URL:[1,2,1,""],DDB_RESERVED_URL:[1,2,1,""],INSTANCE_TYPE_MAPPING:[1,2,1,""],get_ondemand_instances_prices:[1,3,1,""],get_reserved_instances_prices:[1,3,1,""],print_table:[1,3,1,""],save_csv:[1,3,1,""]},"awspricingfull.EC2Prices":{INSTANCES_ONDEMAND_LINUX_URL:[1,2,1,""],INSTANCES_ONDEMAND_OS_TYPE_BY_URL:[1,2,1,""],INSTANCES_ONDEMAND_RHEL_URL:[1,2,1,""],INSTANCES_ONDEMAND_SLES_URL:[1,2,1,""],INSTANCES_ONDEMAND_WINDOWS_URL:[1,2,1,""],INSTANCES_ONDEMAND_WINSQLWEB_URL:[1,2,1,""],INSTANCES_ONDEMAND_WINSQL_URL:[1,2,1,""],INSTANCES_RESERVED_LINUX_URL:[1,2,1,""],INSTANCES_RESERVED_OS_TYPE_BY_URL:[1,2,1,""],INSTANCES_RESERVED_RHEL_URL:[1,2,1,""],INSTANCES_RESERVED_SLES_URL:[1,2,1,""],INSTANCES_RESERVED_WINDOWS_URL:[1,2,1,""],INSTANCES_RESERVED_WINSQLWEB_URL:[1,2,1,""],INSTANCES_RESERVED_WINSQL_URL:[1,2,1,""],PG_INSTANCES_ONDEMAND_LINUX_URL:[1,2,1,""],PG_INSTANCES_ONDEMAND_RHEL_URL:[1,2,1,""],PG_INSTANCES_ONDEMAND_SLES_URL:[1,2,1,""],PG_INSTANCES_ONDEMAND_WINDOWS_URL:[1,2,1,""],PG_INSTANCES_ONDEMAND_WINSQLWEB_URL:[1,2,1,""],PG_INSTANCES_ONDEMAND_WINSQL_URL:[1,2,1,""],PG_INSTANCES_RESERVED_LINUX_URL:[1,2,1,""],PG_INSTANCES_RESERVED_RHEL_URL:[1,2,1,""],PG_INSTANCES_RESERVED_SLES_URL:[1,2,1,""],PG_INSTANCES_RESERVED_WINDOWS_URL:[1,2,1,""],PG_INSTANCES_RESERVED_WINSQLWEB_URL:[1,2,1,""],PG_INSTANCES_RESERVED_WINSQL_URL:[1,2,1,""],get_ondemand_instances_prices:[1,3,1,""],get_reserved_instances_prices:[1,3,1,""],print_table:[1,3,1,""],save_csv:[1,3,1,""]},"awspricingfull.ELCPrices":{INSTANCES_ON_DEMAND_URL:[1,2,1,""],INSTANCES_RESERVED_HEAVY_UTILIZATION_URL:[1,2,1,""],INSTANCES_RESERVED_LIGHT_UTILIZATION_URL:[1,2,1,""],INSTANCES_RESERVED_MEDIUM_UTILIZATION_URL:[1,2,1,""],INSTANCES_RESERVED_UTILIZATION_TYPE_BY_URL:[1,2,1,""],INSTANCE_TYPE_MAPPING:[1,2,1,""],PG_INSTANCES_ON_DEMAND_URL:[1,2,1,""],PG_INSTANCES_RESERVED_HEAVY_UTILIZATION_URL:[1,2,1,""],PG_INSTANCES_RESERVED_LIGHT_UTILIZATION_URL:[1,2,1,""],PG_INSTANCES_RESERVED_MEDIUM_UTILIZATION_URL:[1,2,1,""],get_ondemand_instances_prices:[1,3,1,""],get_reserved_instances_prices:[1,3,1,""],print_table:[1,3,1,""],save_csv:[1,3,1,""]},"awspricingfull.RDSPrices":{INSTANCE_TYPE_MAPPING:[1,2,1,""],PG_RDS_MSSQL_BYOL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MSSQL_BYOL_MULTIAZ_RESERVED_URL:[1,2,1,""],PG_RDS_MSSQL_BYOL_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MSSQL_BYOL_RESERVED_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_EXPRESS_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_EX_RESERVED_HEAVY_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_EX_RESERVED_LIGHT_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_EX_RESERVED_MEDIUM_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_STANDARD_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_STANDARD_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_STANDARD_RESERVED_HEAVY_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_STANDARD_RESERVED_LIGHT_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_STANDARD_RESERVED_MEDIUM_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_WEB_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_WEB_RESERVED_HEAVY_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_WEB_RESERVED_LIGHT_URL:[1,2,1,""],PG_RDS_MSSQL_LICENSED_WEB_RESERVED_MEDIUM_URL:[1,2,1,""],PG_RDS_MYSQL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MYSQL_MULTIAZ_RESERVED_URL:[1,2,1,""],PG_RDS_MYSQL_ON_DEMAND_URL:[1,2,1,""],PG_RDS_MYSQL_RESERVED_URL:[1,2,1,""],PG_RDS_ORACLE_BYOL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],PG_RDS_ORACLE_BYOL_MULTIAZ_RESERVED_URL:[1,2,1,""],PG_RDS_ORACLE_BYOL_ON_DEMAND_URL:[1,2,1,""],PG_RDS_ORACLE_BYOL_RESERVED_URL:[1,2,1,""],PG_RDS_ORACLE_LICENSED_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],PG_RDS_ORACLE_LICENSED_MULTIAZ_RESERVED_URL:[1,2,1,""],PG_RDS_ORACLE_LICENSED_ON_DEMAND_URL:[1,2,1,""],PG_RDS_ORACLE_LICENSED_RESERVED_URL:[1,2,1,""],PG_RDS_POSTGRESQL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],PG_RDS_POSTGRESQL_MULTIAZ_RESERVED_URL:[1,2,1,""],PG_RDS_POSTGRESQL_ON_DEMAND_URL:[1,2,1,""],PG_RDS_POSTGRESQL_RESERVED_URL:[1,2,1,""],RDS_ENGINE_TYPES:[1,2,1,""],RDS_MSSQL_BYOL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],RDS_MSSQL_BYOL_MULTIAZ_RESERVED_URL:[1,2,1,""],RDS_MSSQL_BYOL_ON_DEMAND_URL:[1,2,1,""],RDS_MSSQL_BYOL_RESERVED_URL:[1,2,1,""],RDS_MSSQL_LICENSED_EXPRESS_ON_DEMAND_URL:[1,2,1,""],RDS_MSSQL_LICENSED_EX_RESERVED_HEAVY_URL:[1,2,1,""],RDS_MSSQL_LICENSED_EX_RESERVED_LIGHT_URL:[1,2,1,""],RDS_MSSQL_LICENSED_EX_RESERVED_MEDIUM_URL:[1,2,1,""],RDS_MSSQL_LICENSED_STANDARD_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],RDS_MSSQL_LICENSED_STANDARD_ON_DEMAND_URL:[1,2,1,""],RDS_MSSQL_LICENSED_STANDARD_RESERVED_HEAVY_URL:[1,2,1,""],RDS_MSSQL_LICENSED_STANDARD_RESERVED_LIGHT_URL:[1,2,1,""],RDS_MSSQL_LICENSED_STANDARD_RESERVED_MEDIUM_URL:[1,2,1,""],RDS_MSSQL_LICENSED_WEB_ON_DEMAND_URL:[1,2,1,""],RDS_MSSQL_LICENSED_WEB_RESERVED_HEAVY_URL:[1,2,1,""],RDS_MSSQL_LICENSED_WEB_RESERVED_LIGHT_URL:[1,2,1,""],RDS_MSSQL_LICENSED_WEB_RESERVED_MEDIUM_URL:[1,2,1,""],RDS_MULTIAZ_MAPPING:[1,2,1,""],RDS_MULTIAZ_TYPES:[1,2,1,""],RDS_MYSQL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],RDS_MYSQL_MULTIAZ_RESERVED_URL:[1,2,1,""],RDS_MYSQL_ON_DEMAND_URL:[1,2,1,""],RDS_MYSQL_RESERVED_URL:[1,2,1,""],RDS_ONDEMAND_MULTIAZ_TYPE_BY_URL:[1,2,1,""],RDS_ONDEMAND_TYPE_BY_URL:[1,2,1,""],RDS_ORACLE_BYOL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],RDS_ORACLE_BYOL_MULTIAZ_RESERVED_URL:[1,2,1,""],RDS_ORACLE_BYOL_ON_DEMAND_URL:[1,2,1,""],RDS_ORACLE_BYOL_RESERVED_URL:[1,2,1,""],RDS_ORACLE_LICENSED_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],RDS_ORACLE_LICENSED_MULTIAZ_RESERVED_URL:[1,2,1,""],RDS_ORACLE_LICENSED_ON_DEMAND_URL:[1,2,1,""],RDS_ORACLE_LICENSED_RESERVED_URL:[1,2,1,""],RDS_POSTGRESQL_MULTIAZ_ON_DEMAND_URL:[1,2,1,""],RDS_POSTGRESQL_MULTIAZ_RESERVED_URL:[1,2,1,""],RDS_POSTGRESQL_ON_DEMAND_URL:[1,2,1,""],RDS_POSTGRESQL_RESERVED_URL:[1,2,1,""],RDS_RESERVED_MULTIAZ_TYPE_BY_URL_NEW:[1,2,1,""],RDS_RESERVED_TYPE_BY_URL_NEW:[1,2,1,""],RDS_RESERVED_TYPE_BY_URL_OLD:[1,2,1,""],get_ondemand_instances_prices:[1,3,1,""],get_reserved_instances_prices:[1,3,1,""],print_table:[1,3,1,""],save_csv:[1,3,1,""]},"awspricingfull.RSPrices":{PG_RS_ON_DEMAND_URL:[1,2,1,""],PG_RS_RESERVED_URL:[1,2,1,""],RS_ON_DEMAND_URL:[1,2,1,""],RS_RESERVED_URL:[1,2,1,""],get_ondemand_instances_prices:[1,3,1,""],get_reserved_instances_prices:[1,3,1,""],print_table:[1,3,1,""],save_csv:[1,3,1,""]},awspricingfull:{AWSPrices:[1,1,1,""],AllAWSPrices2:[1,1,1,""],AllAWSPrices:[1,1,1,""],DDBPrices:[1,1,1,""],EC2Prices:[1,1,1,""],ELCPrices:[1,1,1,""],RDSPrices:[1,1,1,""],RSPrices:[1,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method"},terms:{"0x0000000003a68eb8":[],"0x0000000003a68ef0":[],"0x0000000003a68f28":[],"0x0000000003a68f60":[],"0x0000000003a68f98":[],"0x0000000003a7d048":[],"0x0000000003a7d080":[],"0x0000000003a7d0b8":[],"0x0000000003a7d0f0":[],"0x0000000003a7d128":[],"0x000000000432a5c0":[],"0x000000000432a5f8":[],"0x000000000432a630":[],"0x000000000432a668":[],"0x000000000432a6a0":[],"0x000000000432a710":[],"0x000000000432a748":[],"0x000000000432a780":[],"0x000000000432a7b8":[],"0x000000000432a7f0":[],"2xlarg":[],"4xlarg":[],"8xl":[],"8xlarg":[],"abstract":1,"case":[0,1],"class":[1,2],"default":[1,2],"function":2,"import":1,"new":[0,1],"return":[1,2],addit:2,all:[1,2],allawspric:[1,2],allawsprices2:1,allpric:[0,1],allupfront:[0,1],also:[0,1,2],analog:1,ani:2,apac:[],api:[0,1],apia:[],aurora:[0,1],author:[0,1,2],avail:2,awspric:1,awsstat:[],base:1,blank:1,both:[0,1],bug:[0,1],byol:1,cach:[],call:2,can:[0,1,2],capac:[0,1],central:[],check:1,child:1,clean:1,clusterhimemdb:[],column:[0,1],com:[],command:[0,1],compat:[0,1],consol:[1,2],contain:[0,1],content:0,convent:[1,2],correspond:[1,2],cpecifi:1,cr1:[],creat:[0,1,2],csv:[0,1,2],currenc:1,current:[0,1],cvonvent:1,data:[0,1],dbinstclass:[],ddb:1,ddb_on_demand_url:1,ddb_ondemand_pr:1,ddb_reserved_pr:1,ddb_reserved_url:1,ddbprice:[1,2],defauilt:1,default_curr:1,demand:[0,1,2],denand:1,deploy:[],dermand:1,design:[0,1],desir:1,dict:1,dictionari:1,differ:[1,2],dir:2,directori:1,doc:1,doe:2,dynamodb:[0,1,2],dynamodb_ondemand_pr:[],dynamodb_reserved_pr:[],east:[],ec2:[0,1,2],ec2_ondemand_pr:1,ec2_reserved_pr:1,ec2pric:[1,2],either:[0,1],elasticach:[0,1,2],elc:1,elc_ondemand_pr:1,elc_reserved_pr:1,elcpric:[1,2],engin:1,eninstclass2:[],enterpris:[],error:1,etc:2,everi:1,express:1,famili:1,few:1,file:[0,1,2],first:2,five:[0,1],fix:[0,1],folder:[0,1],format:[0,1,2],four:[],frankfurt:[],full:1,full_all_pr:1,full_ondemand_pr:1,full_reserved_pr:1,gener:[0,1],get:1,get_ondemand_instances_pric:1,get_reserved_instances_pric:1,gov:[],gpl:1,hat:[],have:[0,1],heavi:1,hicpudbinstclass:[],hicpuxldbinst:[],himemcacheclass:[],himemdbinstclass:[],home:2,http:[],ilia:[0,1,2],implement:1,includ:[],index:0,instanc:[0,1,2],instance_type_map:1,instances_on_demand_linux_url:[],instances_on_demand_rhel_url:[],instances_on_demand_sles_url:[],instances_on_demand_url:1,instances_on_demand_windows_url:[],instances_on_demand_winsql_url:[],instances_on_demand_winsqlweb_url:[],instances_ondemand_linux_url:1,instances_ondemand_os_type_by_url:1,instances_ondemand_rhel_url:1,instances_ondemand_sles_url:1,instances_ondemand_windows_url:1,instances_ondemand_winsql_url:1,instances_ondemand_winsqlweb_url:1,instances_reserved_heavy_utilization_url:1,instances_reserved_light_utilization_url:1,instances_reserved_linux_url:1,instances_reserved_medium_utilization_url:1,instances_reserved_os_type_by_url:1,instances_reserved_rhel_url:1,instances_reserved_sles_url:1,instances_reserved_utilization_type_by_url:1,instances_reserved_windows_url:1,instances_reserved_winsql_url:1,instances_reserved_winsqlweb_url:1,instead:1,intern:1,introduc:[0,1],involv:[0,1],ireland:[],isemenov:1,json:[0,1,2],json_name_to_regions_api:1,june:[],larg:[],latest:[],lgdbinst:[],librari:2,licens:1,light:1,like:1,line:[0,1],linux:1,list:1,load_data:1,locat:1,mai:[0,1,2],main:[0,1,2],major:[0,1],map:1,mar:2,march:[0,1],mariadb:[0,1],maz:[],med:[],meddbinst:[],medinst:[],medium:1,memdbcurrentgen:[],memori:[],merg:[0,1],messag:1,method:[1,2],mic:[],micro:[],microinst:[],microinstclass:[],min:[],minor:[0,1],modul:[],mswin:[],mswinsql:[],mswinsqlweb:[],multi:1,multiaz:[],multiazclusterhimemdb:[],multiazdbinstclass:[],multiazdeployr:[],multiazhimeminstclass:[],mysql:1,name:[1,2],need:2,node:1,none:1,none_as_str:1,northeast:[],notimplementederror:1,noupfront:[0,1],nutshel:2,object:1,old:1,ondemand:[1,2],onli:2,optim:[],option:[0,1],oracl:1,output:2,page:[0,1],paramet:[1,2],partialupfront:[0,1],path:[1,2],per10writ:[],per50read:[],pg_instances_on_demand_linux_url:[],pg_instances_on_demand_rhel_url:[],pg_instances_on_demand_sles_url:[],pg_instances_on_demand_url:1,pg_instances_on_demand_windows_url:[],pg_instances_on_demand_winsql_url:[],pg_instances_on_demand_winsqlweb_url:[],pg_instances_ondemand_linux_url:1,pg_instances_ondemand_rhel_url:1,pg_instances_ondemand_sles_url:1,pg_instances_ondemand_windows_url:1,pg_instances_ondemand_winsql_url:1,pg_instances_ondemand_winsqlweb_url:1,pg_instances_reserved_heavy_utilization_url:1,pg_instances_reserved_light_utilization_url:1,pg_instances_reserved_linux_url:1,pg_instances_reserved_medium_utilization_url:1,pg_instances_reserved_rhel_url:1,pg_instances_reserved_sles_url:1,pg_instances_reserved_windows_url:1,pg_instances_reserved_winsql_url:1,pg_instances_reserved_winsqlweb_url:1,pg_rds_mssql_byol_multiaz_on_demand_url:1,pg_rds_mssql_byol_multiaz_reserved_url:1,pg_rds_mssql_byol_on_demand_url:1,pg_rds_mssql_byol_reserved_url:1,pg_rds_mssql_licensed_ex_reserved_heavy_url:1,pg_rds_mssql_licensed_ex_reserved_light_url:1,pg_rds_mssql_licensed_ex_reserved_medium_url:1,pg_rds_mssql_licensed_express_on_demand_url:1,pg_rds_mssql_licensed_standard_multiaz_on_demand_url:1,pg_rds_mssql_licensed_standard_on_demand_url:1,pg_rds_mssql_licensed_standard_reserved_heavy_url:1,pg_rds_mssql_licensed_standard_reserved_light_url:1,pg_rds_mssql_licensed_standard_reserved_medium_url:1,pg_rds_mssql_licensed_web_on_demand_url:1,pg_rds_mssql_licensed_web_reserved_heavy_url:1,pg_rds_mssql_licensed_web_reserved_light_url:1,pg_rds_mssql_licensed_web_reserved_medium_url:1,pg_rds_mysql_multiaz_on_demand_url:1,pg_rds_mysql_multiaz_reserved_url:1,pg_rds_mysql_on_demand_url:1,pg_rds_mysql_reserved_url:1,pg_rds_oracle_byol_multiaz_on_demand_url:1,pg_rds_oracle_byol_multiaz_reserved_url:1,pg_rds_oracle_byol_on_demand_url:1,pg_rds_oracle_byol_reserved_url:1,pg_rds_oracle_licensed_multiaz_on_demand_url:1,pg_rds_oracle_licensed_multiaz_reserved_url:1,pg_rds_oracle_licensed_on_demand_url:1,pg_rds_oracle_licensed_reserved_url:1,pg_rds_postgresql_multiaz_on_demand_url:1,pg_rds_postgresql_multiaz_reserved_url:1,pg_rds_postgresql_on_demand_url:1,pg_rds_postgresql_reserved_url:1,pg_rs_on_demand_url:1,pg_rs_reserved_url:1,postgr:1,postgresql:[],pretti:1,prettyt:[0,1,2],previou:[0,1],price:[0,1,2],print:1,print_json:2,print_tabl:[1,2],product:2,project:[0,1],rais:1,rds_aurora_multiaz_on_demand_url:[],rds_aurora_multiaz_reserved_url:[],rds_engine_typ:1,rds_mariadb_multiaz_on_demand_url:[],rds_mariadb_multiaz_reserved_url:[],rds_mariadb_on_demand_url:[],rds_mariadb_reserved_url:[],rds_mssql_byol_multiaz_on_demand_url:1,rds_mssql_byol_multiaz_reserved_url:1,rds_mssql_byol_on_demand_url:1,rds_mssql_byol_reserved_url:1,rds_mssql_licensed_ex_reserved_heavy_url:1,rds_mssql_licensed_ex_reserved_light_url:1,rds_mssql_licensed_ex_reserved_medium_url:1,rds_mssql_licensed_express_on_demand_url:1,rds_mssql_licensed_standard_multiaz_on_demand_url:1,rds_mssql_licensed_standard_on_demand_url:1,rds_mssql_licensed_standard_reserved_heavy_url:1,rds_mssql_licensed_standard_reserved_light_url:1,rds_mssql_licensed_standard_reserved_medium_url:1,rds_mssql_licensed_web_on_demand_url:1,rds_mssql_licensed_web_reserved_heavy_url:1,rds_mssql_licensed_web_reserved_light_url:1,rds_mssql_licensed_web_reserved_medium_url:1,rds_multiaz_map:1,rds_multiaz_typ:1,rds_mysql_multiaz_on_demand_url:1,rds_mysql_multiaz_reserved_url:1,rds_mysql_on_demand_url:1,rds_mysql_reserved_url:1,rds_ondemand_multiaz_type_by_url:1,rds_ondemand_pr:1,rds_ondemand_type_by_url:1,rds_oracle_byol_multiaz_on_demand_url:1,rds_oracle_byol_multiaz_reserved_url:1,rds_oracle_byol_on_demand_url:1,rds_oracle_byol_reserved_url:1,rds_oracle_licensed_multiaz_on_demand_url:1,rds_oracle_licensed_multiaz_reserved_url:1,rds_oracle_licensed_on_demand_url:1,rds_oracle_licensed_reserved_url:1,rds_postgresql_multiaz_on_demand_url:1,rds_postgresql_multiaz_reserved_url:1,rds_postgresql_on_demand_url:1,rds_postgresql_reserved_url:1,rds_reserved_multiaz_type_by_url_new:1,rds_reserved_pr:1,rds_reserved_type_by_url_new:1,rds_reserved_type_by_url_old:1,rdsprice:[1,2],read:1,readcapacity100:[],red:[],redshift:[0,1,2],redshift_ondemand_pr:1,redshift_reserved_pr:1,refer:2,region:1,requir:[1,2],reserv:[0,1,2],result:1,retriev:[0,1],return_json:1,rhel:1,routin:2,rs_on_demand_url:1,rs_reserved_url:1,rsprice:[1,2],same:[0,1,2],save:[0,1,2],save_csv:[1,2],scachenod:[],schema:[0,1],scheme:[0,1],se1:[],search:0,second:2,see:2,semenov:[0,1,2],seoul:[],serv:[0,1],server:1,servic:[0,1,2],set:2,share:[],simpl:2,sin:[],singl:1,sle:1,small:2,smdbinst:[],some:1,sourc:[0,1],southeast:[],specifi:[0,1],sql:1,sqlserver:[],standard:[],stddeployr:[],str:1,string:1,suse:[],syd:[],system:1,tag:1,take:2,third:2,throughput:[0,1],tokyo:[],type:1,udbinst:[],udbinstclass:[],undocu:[0,1],unix:[],updat:[0,1,2],url:1,usd:1,user:[0,1],valu:1,version:[0,1,2],web:1,west:[],which:[0,1,2],window:1,workspac:1,write:1,writecapacity100:[],xlarg:[],xldbinst:[],xlen:[],xlhicpu:[],xlhimem:[],xxl:[],xxldbinst:[],xxlen:[],xxlhimem:[],xxxxdbinst:[],xxxxl:[],xxxxlhimem:[],xxxxxxxxl:[],you:2,your:2},titles:["Welcome to awspricingfull’s documentation!","awspricingfull module","mainexample module","src"],titleterms:{awspricingful:[0,1],document:0,indic:0,mainexampl:2,modul:[1,2],src:3,tabl:0,welcom:0}}) --------------------------------------------------------------------------------