diff --git a/.buildinfo b/.buildinfo index 0c209b3..c38ab4b 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: cac6a737651ef2763a249709de69e78f +config: ef34b1f20bd8e0d5c05be275f911de02 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_modules/cycquery/base.html b/_modules/cycquery/base.html index c403a15..88bdfb8 100644 --- a/_modules/cycquery/base.html +++ b/_modules/cycquery/base.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.base - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.base — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.base

 """Base querier class."""
 
 import logging
@@ -474,63 +605,52 @@ 

Source code for cycquery.base

             setattr(self, schema_name, schema)
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/eicu.html b/_modules/cycquery/eicu.html index 357865a..09f1501 100644 --- a/_modules/cycquery/eicu.html +++ b/_modules/cycquery/eicu.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.eicu - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.eicu — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.eicu

 """EICU-CRD query module.
 
 Supports querying of eICU.
@@ -187,63 +318,52 @@ 

Source code for cycquery.eicu

     """EICU dataset querier."""
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/gemini.html b/_modules/cycquery/gemini.html index 23aea52..a2afa9d 100644 --- a/_modules/cycquery/gemini.html +++ b/_modules/cycquery/gemini.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.gemini - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.gemini — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.gemini

 """GEMINI query module."""
 
 import logging
@@ -404,63 +535,52 @@ 

Source code for cycquery.gemini

 
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/interface.html b/_modules/cycquery/interface.html index 88684b5..aa59e66 100644 --- a/_modules/cycquery/interface.html +++ b/_modules/cycquery/interface.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.interface - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.interface — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.interface

 """A query interface class to wrap database objects and queries."""
 
 import logging
@@ -459,63 +590,52 @@ 

Source code for cycquery.interface

 
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/mimiciii.html b/_modules/cycquery/mimiciii.html index 34b2d2f..d3bcc55 100644 --- a/_modules/cycquery/mimiciii.html +++ b/_modules/cycquery/mimiciii.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.mimiciii - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.mimiciii — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.mimiciii

 """MIMIC-III query module.
 
 Supports querying of MIMIC-III.
@@ -264,63 +395,52 @@ 

Source code for cycquery.mimiciii

 
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/mimiciv.html b/_modules/cycquery/mimiciv.html index bbb22a5..0098075 100644 --- a/_modules/cycquery/mimiciv.html +++ b/_modules/cycquery/mimiciv.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.mimiciv - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.mimiciv — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.mimiciv

 """MIMIC-IV query module.
 
 Supports querying of MIMICIV-2.0.
@@ -359,63 +490,52 @@ 

Source code for cycquery.mimiciv

 
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/omop.html b/_modules/cycquery/omop.html index 4b144b0..ec946ea 100644 --- a/_modules/cycquery/omop.html +++ b/_modules/cycquery/omop.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.omop - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.omop — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.omop

 """OMOP query API."""
 
 import logging
@@ -444,63 +575,52 @@ 

Source code for cycquery.omop

 
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/cycquery/ops.html b/_modules/cycquery/ops.html index 797590c..30bbb16 100644 --- a/_modules/cycquery/ops.html +++ b/_modules/cycquery/ops.html @@ -1,169 +1,300 @@ + + + + + + + + cycquery.ops - cycquery documentation + + + + + + + - - - - - - - - - - cycquery.ops — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for cycquery.ops

 """Query operations."""
 
 from __future__ import annotations
@@ -3743,63 +3874,52 @@ 

Source code for cycquery.ops

 
- -
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_modules/index.html b/_modules/index.html index 13a64aa..220e154 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -1,167 +1,300 @@ + + + + + + + + Overview: module code - cycquery documentation + + + + + + + - - - - - - - - - - Overview: module code — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+ +
+
- + + +
+ - - - + + + + + + + + + + \ No newline at end of file diff --git a/_sources/contributing.rst.txt b/_sources/contributing.rst.txt index 07f23a2..265ee9c 100644 --- a/_sources/contributing.rst.txt +++ b/_sources/contributing.rst.txt @@ -1,7 +1,7 @@ -Contributing to cyclops-query -============================= +Contributing to cycquery +======================== -Thanks for your interest in contributing to the cyclops-query tool! +Thanks for your interest in contributing to the cycquery tool! To submit PRs, please fill out the PR template along with the PR. If the PR fixes an issue, don’t forget to link the PR to the issue! diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index adb9b40..5099527 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -1,5 +1,5 @@ -Welcome to cyclops-query's documentation! -========================================= +Welcome to cycquery's documentation! +==================================== .. toctree:: diff --git a/_sources/intro.rst.txt b/_sources/intro.rst.txt index e5a6c67..cc7fbb4 100644 --- a/_sources/intro.rst.txt +++ b/_sources/intro.rst.txt @@ -1,21 +1,15 @@ -cyclops-query -============= +cycquery +======== -|PyPI| |PyPI - Python Version| |code checks| |integration tests| |docs| -|codecov| |license| +|PyPI| |PyPI - Python Version| |code checks| |integration tests| |docs| |codecov| |license| -``cyclops-query`` is a tool for querying relational databases using a -simple Python API. It is specifically developed to query Electronic -Health Record (EHR) databases. The tool is a wrapper around -`SQLAlchemy `__ and can be used to write -SQL-like queries in Python, including joins, conditions, groupby -aggregation and many more. +``cycquery`` is a tool for querying relational databases using a simple Python API. It is specifically developed to query Electronic Health Record (EHR) databases. The tool is a wrapper around `SQLAlchemy `__ and can be used to write SQL-like queries in Python, including joins, conditions, groupby aggregation and many more. 🐣 Getting Started ================== -Installing cyclops-query using pip ----------------------------------- +Installing cycquery using pip +----------------------------- .. code:: bash @@ -64,25 +58,20 @@ Query postgresql database Using poetry ------------ -The development environment can be set up using -`poetry `__. Hence, make -sure it is installed and then run: +The development environment can be set up using `poetry `__. Hence, make sure it is installed and then run: .. code:: bash python3 -m poetry install source $(poetry env info --path)/bin/activate -In order to install dependencies for testing (codestyle, unit tests, -integration tests), run: +In order to install dependencies for testing (codestyle, unit tests, integration tests), run: .. code:: bash python3 -m poetry install --with test -API documentation is built using -`Sphinx `__ and can be locally -built by: +API documentation is built using `Sphinx `__ and can be locally built by: .. code:: bash @@ -93,42 +82,21 @@ built by: Contributing ------------ -Contributing to ``cyclops-query`` is welcomed. See -`Contributing `__ -for guidelines. +Contributing to ``cycquery`` is welcomed. See `Contributing `__ for guidelines. -📚 `Documentation `__ -======================================================================= - -🎓 Citation -=========== - -Reference to cite when you use ``cyclops-query`` in a project or a -research paper: - -:: - - @article {Krishnan2022.12.02.22283021, - author = {Krishnan, Amrit and Subasri, Vallijah and McKeen, Kaden and Kore, Ali and Ogidi, Franklin and Alinoori, Mahshid and Lalani, Nadim and Dhalla, Azra and Verma, Amol and Razak, Fahad and Pandya, Deval and Dolatabadi, Elham}, - title = {CyclOps: Cyclical development towards operationalizing ML models for health}, - elocation-id = {2022.12.02.22283021}, - year = {2022}, - doi = {10.1101/2022.12.02.22283021}, - publisher = {Cold Spring Harbor Laboratory Press}, - URL = {https://www.medrxiv.org/content/early/2022/12/08/2022.12.02.22283021}, - journal = {medRxiv} - } +📚 `Documentation `__ +================================================================== .. |PyPI| image:: https://img.shields.io/pypi/v/cycquery :target: https://pypi.org/project/cycquery .. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/cycquery -.. |code checks| image:: https://github.com/VectorInstitute/cyclops-query/actions/workflows/code_checks.yml/badge.svg - :target: https://github.com/VectorInstitute/cyclops-query/actions/workflows/code_checks.yml -.. |integration tests| image:: https://github.com/VectorInstitute/cyclops-query/actions/workflows/integration_tests.yml/badge.svg - :target: https://github.com/VectorInstitute/cyclops-query/actions/workflows/integration_tests.yml -.. |docs| image:: https://github.com/VectorInstitute/cyclops-query/actions/workflows/docs_deploy.yml/badge.svg - :target: https://github.com/VectorInstitute/cyclops-query/actions/workflows/docs_deploy.yml -.. |codecov| image:: https://codecov.io/gh/VectorInstitute/cyclops-query/branch/main/graph/badge.svg - :target: https://codecov.io/gh/VectorInstitute/cyclops-query -.. |license| image:: https://img.shields.io/github/license/VectorInstitute/cyclops-query.svg - :target: https://github.com/VectorInstitute/cyclops-query/blob/main/LICENSE +.. |code checks| image:: https://github.com/VectorInstitute/cycquery/actions/workflows/code_checks.yml/badge.svg + :target: https://github.com/VectorInstitute/cycquery/actions/workflows/code_checks.yml +.. |integration tests| image:: https://github.com/VectorInstitute/cycquery/actions/workflows/integration_tests.yml/badge.svg + :target: https://github.com/VectorInstitute/cycquery/actions/workflows/integration_tests.yml +.. |docs| image:: https://github.com/VectorInstitute/cycquery/actions/workflows/docs_deploy.yml/badge.svg + :target: https://github.com/VectorInstitute/cycquery/actions/workflows/docs_deploy.yml +.. |codecov| image:: https://codecov.io/gh/VectorInstitute/cycquery/branch/main/graph/badge.svg + :target: https://codecov.io/gh/VectorInstitute/cycquery +.. |license| image:: https://img.shields.io/github/license/VectorInstitute/cycquery.svg + :target: https://github.com/VectorInstitute/cycquery/blob/main/LICENSE diff --git a/_sources/tutorials.rst.txt b/_sources/tutorials.rst.txt index aa91cba..d83f4d8 100644 --- a/_sources/tutorials.rst.txt +++ b/_sources/tutorials.rst.txt @@ -1,7 +1,7 @@ Tutorials ========= -The cyclops-query tool allows you to query EHR databases. It is a Python API that +The cycquery tool allows you to query EHR databases. It is a Python API that that communicates with postgresql databases. It is a wrapper around the SQLAlchemy ORM and uses SQLAlchemy query objects and functions to build queries. diff --git a/_sources/tutorials/eicu.ipynb.txt b/_sources/tutorials/eicu.ipynb.txt index e0874e7..fd52836 100644 --- a/_sources/tutorials/eicu.ipynb.txt +++ b/_sources/tutorials/eicu.ipynb.txt @@ -13,7 +13,7 @@ "id": "74b155b9-9ba6-455c-b987-4c261c339364", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [eicu-CRD](https://eicu-crd.mit.edu/).\n", + "This notebook shows examples of how to use the cycquery tool on [eicu-CRD](https://eicu-crd.mit.edu/).\n", "\n", "Each query is limit to 100 rows (for quick results).\n", "\n", diff --git a/_sources/tutorials/gemini.ipynb.txt b/_sources/tutorials/gemini.ipynb.txt index 53797d6..759a3fc 100644 --- a/_sources/tutorials/gemini.ipynb.txt +++ b/_sources/tutorials/gemini.ipynb.txt @@ -13,7 +13,7 @@ "id": "57e3214e-f1d5-46cb-bb2a-514a48e0269d", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [GEMINI](https://www.geminimedicine.ca/)." + "This notebook shows examples of how to use the cycquery tool on [GEMINI](https://www.geminimedicine.ca/)." ] }, { @@ -34,7 +34,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:45,449 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Database setup, ready to run queries!\n" + "2023-09-21 09:17:45,449 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -116,8 +116,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:51,902 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:17:51,903 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 6.093352 s\n" + "2023-09-21 09:17:51,902 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:17:51,903 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 6.093352 s\n" ] }, { @@ -159,8 +159,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:52,591 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:17:52,592 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 0.675141 s\n" + "2023-09-21 09:17:52,591 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:17:52,592 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.675141 s\n" ] }, { @@ -201,8 +201,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:52,856 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:17:52,857 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 0.145693 s\n" + "2023-09-21 09:17:52,856 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:17:52,857 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.145693 s\n" ] }, { @@ -237,8 +237,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:26:19,814 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:26:19,815 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 506.939296 s\n" + "2023-09-21 09:26:19,814 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:26:19,815 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 506.939296 s\n" ] }, { diff --git a/_sources/tutorials/mimiciii.ipynb.txt b/_sources/tutorials/mimiciii.ipynb.txt index b935b26..1f10751 100644 --- a/_sources/tutorials/mimiciii.ipynb.txt +++ b/_sources/tutorials/mimiciii.ipynb.txt @@ -13,7 +13,7 @@ "id": "74b155b9-9ba6-455c-b987-4c261c339364", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [MIMIC-III v1.4](https://physionet.org/content/mimiciii/1.4/).\n", + "This notebook shows examples of how to use the cycquery tool on [MIMIC-III v1.4](https://physionet.org/content/mimiciii/1.4/).\n", "\n", "Each query is limit to 100 rows (for quick results).\n", "\n", diff --git a/_sources/tutorials/mimiciv.ipynb.txt b/_sources/tutorials/mimiciv.ipynb.txt index a05874c..7b27081 100644 --- a/_sources/tutorials/mimiciv.ipynb.txt +++ b/_sources/tutorials/mimiciv.ipynb.txt @@ -13,7 +13,7 @@ "id": "1efffc64", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [MIMIC-IV v2.0](https://physionet.org/content/mimiciv/2.0/).\n", + "This notebook shows examples of how to use the cycquery tool on [MIMIC-IV v2.0](https://physionet.org/content/mimiciv/2.0/).\n", "\n", "Each query is limit to 100 rows (for quick results).\n", "\n", @@ -125,7 +125,7 @@ "id": "e2baea54", "metadata": {}, "source": [ - "## Example 3. Advanced - uses `ConditionRegexMatch` from `cyclops.query.ops`. Get all patient encounters with diagnoses (ICD-9 long title contains `schizophrenia` and `chronic` ), in the year 2015." + "## Example 3. Advanced - uses `ConditionRegexMatch` from `cycquery.ops`. Get all patient encounters with diagnoses (ICD-9 long title contains `schizophrenia` and `chronic` ), in the year 2015." ] }, { diff --git a/_sources/tutorials/omop.ipynb.txt b/_sources/tutorials/omop.ipynb.txt index 16b7928..a651f18 100644 --- a/_sources/tutorials/omop.ipynb.txt +++ b/_sources/tutorials/omop.ipynb.txt @@ -13,7 +13,7 @@ "id": "1efffc64", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool to query EHR databases that follow the OMOP common data model. Each query is limit to 100 rows (for quick results).\n", + "This notebook shows examples of how to use the cycquery tool to query EHR databases that follow the OMOP common data model. Each query is limit to 100 rows (for quick results).\n", "\n", "We showcase the examples on:\n", "\n", diff --git a/_static/_sphinx_javascript_frameworks_compat.js b/_static/_sphinx_javascript_frameworks_compat.js deleted file mode 100644 index 8141580..0000000 --- a/_static/_sphinx_javascript_frameworks_compat.js +++ /dev/null @@ -1,123 +0,0 @@ -/* Compatability shim for jQuery and underscores.js. - * - * Copyright Sphinx contributors - * Released under the two clause BSD licence - */ - -/** - * small helper function to urldecode strings - * - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL - */ -jQuery.urldecode = function(x) { - if (!x) { - return x - } - return decodeURIComponent(x.replace(/\+/g, ' ')); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s === 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node, addItems) { - if (node.nodeType === 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && - !jQuery(node.parentNode).hasClass(className) && - !jQuery(node.parentNode).hasClass("nohighlight")) { - var span; - var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.className = className; - } - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - if (isInSVG) { - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - var bbox = node.parentElement.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute('class', className); - addItems.push({ - "parent": node.parentNode, - "target": rect}); - } - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } - } - var addItems = []; - var result = this.each(function() { - highlight(this, addItems); - }); - for (var i = 0; i < addItems.length; ++i) { - jQuery(addItems[i].parent).before(addItems[i].target); - } - return result; -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} diff --git a/_static/basic.css b/_static/basic.css index 30fee9d..f316efc 100644 --- a/_static/basic.css +++ b/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/_static/css/badge_only.css b/_static/css/badge_only.css deleted file mode 100644 index c718cee..0000000 --- a/_static/css/badge_only.css +++ /dev/null @@ -1 +0,0 @@ -.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/_static/css/cyclops.css b/_static/css/cyclops.css index 45fbc6f..56b1c69 100644 --- a/_static/css/cyclops.css +++ b/_static/css/cyclops.css @@ -1,43 +1,3 @@ -@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap'); -@import "theme.css"; /* From sphinx_rtd_theme */ - -html { - --text-color: #24292e; - --heading-color: #404040; - --link-color: #5097ba; - --sidebar-background-color: #2e76d49d; - --content-background-color: #ffffff; -} - -body { - font-family: 'Roboto', sans-serif; - font-weight: 400; - color: var(--text-color); - line-height: 1.5; -} - -.wy-menu-vertical a { color: #98a8f5;; } - -h1, h2, h3, h4, h5, h6, legend, .rst-content .toctree-wrapper p.caption, .rst-content .sidebar .sidebar-title { - font-family: Lato, 'Helvetica Neue', sans-serif; - font-weight: 600; - color: var(--heading-color); -} - -p { - line-height: inherit; -} - -a { - color: var(--link-color); -} -/* underlign lins on hover */ -a:hover { - text-decoration: underline; -} - -/* Monospace typography */ footer span.commit code, .rst-content pre.literal-block, .rst-content div[class^='highlight'] pre, @@ -50,218 +10,9 @@ footer span.commit code, font-family: 'IBM Plex Mono', monospace; font-size: 0.8rem; } - -/* Inline (backticks) code inspired by docusaurus (which Auspice used previously) */ -.rst-content code.literal, -.rst-content tt.literal { - background-color: rgba(27,31,35,.05); - border-radius: 3px; - border: 0; - color: inherit; - margin: 0; - padding: 3.2px 6.4px; -} - -/* Sidebar */ -.wy-nav-side { - background: var(--sidebar-background-color); -} - -/* main content section */ -.wy-nav-content { - background: var(--content-background-color); -} - -/* don't change the background for the area on the RHS of the main content */ -.wy-nav-content-wrap { - background: inherit; -} - -/* Pin the Nextstrain logo, project name, version, and search box to the top of - * the sidebar when the sidebar scrolls. - */ -.wy-side-nav-search { - position: sticky; - top: 0; -} - -/* Sub-project name, version (optional) and link back to the main docs */ -.wy-side-nav-search > div.subproject { - margin-top: -1rem; - margin-bottom: 1.2rem; -} -.wy-side-nav-search > div.subproject > a { /* subproject name */ - font-size: 1.5rem; - font-weight: 500; - color: var(--heading-color); -} -.wy-side-nav-search > div.subproject > .version { /* version name */ - display: block; - font-size: 1.1rem; - font-weight: 300; - color: var(--heading-color); -} - -/* Remove blue accent border */ -.wy-side-nav-search input[type="text"] { - border-color: #ccc; -} - -.wy-menu-vertical { - overflow-y: scroll; -} -.wy-menu-vertical header, -.wy-menu-vertical p.caption, -.wy-menu-vertical a { - font-size: 0.8rem; -} - -/* Remove sidebar TOC link colors, hover states, and borders */ -.wy-menu-vertical a { - color: var(--text-color); - background: none !important; -} - -.wy-menu-vertical a:hover { - color: var(--link-color) !important; - background: none !important; -} - -.wy-menu-vertical li.current { - background: none !important; -} - -.wy-menu-vertical li.current a { - border-right: none; -} - -.wy-menu-vertical li.current > a { - border-right: 2px solid var(--link-color); -} - -.wy-menu-vertical li.toctree-l1.current > a { - border-top: none; - border-bottom: none; -} - -/* Remove sidebar TOC heading/caption color */ -.wy-menu-vertical p.caption { - color: var(--heading-color); -} - -/* the buttons (previous / next) at the bottom of each doc page */ -.wy-nav-content a.btn { - border: 1px solid #24292e; - border-radius: 3px; - color: inherit; - display: inline-block; - font-size: 14px; - font-weight: 400; - line-height: 1.2em; - padding: 10px; - text-decoration: none !important; - text-transform: uppercase; - transition: background .3s,color .3s; - box-shadow: none; - font-family: inherit; - background-color: inherit; -} -/* following needs !important to override sphynx CSS which itself uses !important */ -.wy-nav-content a.btn-neutral { - background-color: var(--content-background-color) !important; - color: var(--text-color) !important; -} -.wy-nav-content a.btn-neutral:hover { - background-color: var(--text-color) !important; - color: var(--content-background-color) !important; -} - -.wy-nav-content { - max-width: 900px !important; -} - -/* Mark external links in the sidebar */ -.wy-menu-vertical a.external::after { - display: inline-block; - font-family: FontAwesome; - font-size: 0.6rem; - font-style: normal; - font-variant: normal; - text-rendering: auto; - margin-left: 0.2rem; - content: ""; -} - - -/* Breadcrumb separators (at top of the page) */ -.wy-breadcrumbs > li:not(:first-child):not(.wy-breadcrumbs-aside)::before { - display: inline-block; - content: "/\A0"; /* \A0 = no-break space (nbsp) */ - padding-right: 5px; - - /* The trailing space + 5px _right_ padding matches the amount of whitespace - * on the other side of the slash (/) the comes from the spaces between
  • s - * in the template and the 5px _left_ padding on
  • s. The result is that - * the slash (/) is centered between the end of the previous
  • 's text and - * start of this
  • 's text. - */ -} - - -/* Tables - */ -/* .wy-nav-content-wrap .wy-nav-content .wy-table-responsive { - /* Tables are wrapped in a container
    (.wy-table-responsive) to handle - * overflow. Set this
    's width to the larger of (a) 100% of its - * (several levels removed) container (.wy-nav-content) or (b) the width of - * the viewport minus the width of the sidebar and some left-side padding. - * Most of the time the latter (b) will be larger, but the former (a) will be - * larger when the viewport is narrow and the sidebar is hidden (e.g. on a - * mobile device). - * - * This has the effect of allowing tables to expand rightwards out of the - * main content container (.wy-nav-content), which is limited to max-width: - * 800px for text readability. Tables are at first allowed to overrun just - * the right-side content padding, but as the viewport expands wider, tables - * will spill out into the new blank space beyond the main content padding. - * Allowing tables to extend right up against the viewport edge makes a table - * appear cut off, which makes it clearer to the reader that expanding the - * viewport will reveal more of the table. However, tables also remain - * horizontally scrollable as necessary to accommodate overflow. This - * provides two means for seeing overflowing table content (scrolling or - * expanding the viewport). - * - * For reference in the calculation below: - * - * 100vw = width of the viewport - * 300px = width of .wy-nav-side and corresponding margin-left of .wy-nav-content-wrap - * 3.236em = padding-left of .wy-nav-content - * - * -trs, 16 March 2022 - */ -/* width: max(100%, calc(100vw - 300px - 3.236em)); - - /* override earlier max-width: 100% */ -/* max-width: none; -}*/ - -/* Mobile nav (top bar heading + flyout menu icon) - */ - -.wy-nav-top a, .wy-nav-top i { - color: var(--heading-color); -} - - -/* Footer styles. Largely chosen to mimic the previous rendering of the docs. See -https://github.com/nextstrain/nextstrain.org/blob/b1e09e57e91ed0c9343e1cd3104877ec3c5344a4/static-site/src/components/Footer/index.jsx -*/ footer { color: var(--text-color); } -footer div { - margin: 20px 0px 0px 0px; -} footer .footer-small-text { font-weight: 300; font-size: 0.9rem; @@ -269,7 +20,6 @@ footer .footer-small-text { footer .copyright { font-weight: 300; font-size: 0.8rem; - text-align: center; } footer div.logo { display: flex; @@ -297,30 +47,3 @@ footer img.logo { vertical-align: middle; height: auto; } -footer p.avatar { - font-weight: 300; - font-size: 1.1rem; - text-align: center; - margin: 16px 0px -10px 0px; -} -footer div.avatar { - display: flex; - flex-wrap: wrap; - justify-content: center; - line-height: 2.5 -} -footer div.avatar a { - color: var(--text-color); -} -footer div.avatar span { - white-space: nowrap; - font-weight: 300; - margin-left: 2px; - margin-right: 2px; -} -footer div.avatar img { - margin-left: 5px; - margin-right: 4px; - border-radius: 50%; - vertical-align: middle; -} diff --git a/_static/css/fonts/Roboto-Slab-Bold.woff b/_static/css/fonts/Roboto-Slab-Bold.woff deleted file mode 100644 index 6cb6000..0000000 Binary files a/_static/css/fonts/Roboto-Slab-Bold.woff and /dev/null differ diff --git a/_static/css/fonts/Roboto-Slab-Bold.woff2 b/_static/css/fonts/Roboto-Slab-Bold.woff2 deleted file mode 100644 index 7059e23..0000000 Binary files a/_static/css/fonts/Roboto-Slab-Bold.woff2 and /dev/null differ diff --git a/_static/css/fonts/Roboto-Slab-Regular.woff b/_static/css/fonts/Roboto-Slab-Regular.woff deleted file mode 100644 index f815f63..0000000 Binary files a/_static/css/fonts/Roboto-Slab-Regular.woff and /dev/null differ diff --git a/_static/css/fonts/Roboto-Slab-Regular.woff2 b/_static/css/fonts/Roboto-Slab-Regular.woff2 deleted file mode 100644 index f2c76e5..0000000 Binary files a/_static/css/fonts/Roboto-Slab-Regular.woff2 and /dev/null differ diff --git a/_static/css/fonts/fontawesome-webfont.eot b/_static/css/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca..0000000 Binary files a/_static/css/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/_static/css/fonts/fontawesome-webfont.svg b/_static/css/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845..0000000 --- a/_static/css/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_static/css/fonts/fontawesome-webfont.ttf b/_static/css/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2..0000000 Binary files a/_static/css/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/_static/css/fonts/fontawesome-webfont.woff b/_static/css/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a..0000000 Binary files a/_static/css/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/_static/css/fonts/fontawesome-webfont.woff2 b/_static/css/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc6..0000000 Binary files a/_static/css/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/_static/css/fonts/lato-bold-italic.woff b/_static/css/fonts/lato-bold-italic.woff deleted file mode 100644 index 88ad05b..0000000 Binary files a/_static/css/fonts/lato-bold-italic.woff and /dev/null differ diff --git a/_static/css/fonts/lato-bold-italic.woff2 b/_static/css/fonts/lato-bold-italic.woff2 deleted file mode 100644 index c4e3d80..0000000 Binary files a/_static/css/fonts/lato-bold-italic.woff2 and /dev/null differ diff --git a/_static/css/fonts/lato-bold.woff b/_static/css/fonts/lato-bold.woff deleted file mode 100644 index c6dff51..0000000 Binary files a/_static/css/fonts/lato-bold.woff and /dev/null differ diff --git a/_static/css/fonts/lato-bold.woff2 b/_static/css/fonts/lato-bold.woff2 deleted file mode 100644 index bb19504..0000000 Binary files a/_static/css/fonts/lato-bold.woff2 and /dev/null differ diff --git a/_static/css/fonts/lato-normal-italic.woff b/_static/css/fonts/lato-normal-italic.woff deleted file mode 100644 index 76114bc..0000000 Binary files a/_static/css/fonts/lato-normal-italic.woff and /dev/null differ diff --git a/_static/css/fonts/lato-normal-italic.woff2 b/_static/css/fonts/lato-normal-italic.woff2 deleted file mode 100644 index 3404f37..0000000 Binary files a/_static/css/fonts/lato-normal-italic.woff2 and /dev/null differ diff --git a/_static/css/fonts/lato-normal.woff b/_static/css/fonts/lato-normal.woff deleted file mode 100644 index ae1307f..0000000 Binary files a/_static/css/fonts/lato-normal.woff and /dev/null differ diff --git a/_static/css/fonts/lato-normal.woff2 b/_static/css/fonts/lato-normal.woff2 deleted file mode 100644 index 3bf9843..0000000 Binary files a/_static/css/fonts/lato-normal.woff2 and /dev/null differ diff --git a/_static/css/theme.css b/_static/css/theme.css deleted file mode 100644 index 19a446a..0000000 --- a/_static/css/theme.css +++ /dev/null @@ -1,4 +0,0 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/_static/custom.js b/_static/custom.js new file mode 100644 index 0000000..738d145 --- /dev/null +++ b/_static/custom.js @@ -0,0 +1,6 @@ +requirejs.config({ + paths: { + base: '/static/base', + plotly: 'https://cdn.plot.ly/plotly-2.30.0.min.js?noext', + }, +}); diff --git a/_static/debug.css b/_static/debug.css new file mode 100644 index 0000000..74d4aec --- /dev/null +++ b/_static/debug.css @@ -0,0 +1,69 @@ +/* + This CSS file should be overridden by the theme authors. It's + meant for debugging and developing the skeleton that this theme provides. +*/ +body { + font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; + background: lavender; +} +.sb-announcement { + background: rgb(131, 131, 131); +} +.sb-announcement__inner { + background: black; + color: white; +} +.sb-header { + background: lightskyblue; +} +.sb-header__inner { + background: royalblue; + color: white; +} +.sb-header-secondary { + background: lightcyan; +} +.sb-header-secondary__inner { + background: cornflowerblue; + color: white; +} +.sb-sidebar-primary { + background: lightgreen; +} +.sb-main { + background: blanchedalmond; +} +.sb-main__inner { + background: antiquewhite; +} +.sb-header-article { + background: lightsteelblue; +} +.sb-article-container { + background: snow; +} +.sb-article-main { + background: white; +} +.sb-footer-article { + background: lightpink; +} +.sb-sidebar-secondary { + background: lightgoldenrodyellow; +} +.sb-footer-content { + background: plum; +} +.sb-footer-content__inner { + background: palevioletred; +} +.sb-footer { + background: pink; +} +.sb-footer__inner { + background: salmon; +} +.sb-article { + background: white; +} diff --git a/_static/doctools.js b/_static/doctools.js index d06a71d..4d67807 100644 --- a/_static/doctools.js +++ b/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/_static/jquery.js b/_static/jquery.js deleted file mode 100644 index c4c6022..0000000 --- a/_static/jquery.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/_static/js/html5shiv.min.js b/_static/js/html5shiv.min.js deleted file mode 100644 index cd1c674..0000000 --- a/_static/js/html5shiv.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/_static/js/theme.js b/_static/js/theme.js deleted file mode 100644 index f9f63bc..0000000 --- a/_static/js/theme.js +++ /dev/null @@ -1,31 +0,0 @@ -/* XXX TODO: Delete this file if the bug fix PR below is accepted and released - * by upstream. - * - * Overrides the default static/js/theme.js from sphinx-rtd-theme with our - * customized copy that fixes the initial scroll-into-view behaviour for the - * nav sidebar, c.f. . - * -trs, 8 July 2022 - */ -/* - * The MIT License (MIT) - * - * Copyright (c) 2013-2018 Dave Snider, Read the Docs, Inc. & contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
    "),n("table.docutils.footnote").wrap("
    "),n("table.docutils.citation").wrap("
    "),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t.closest("li.toctree-l1")[0].scrollIntoView({block:"nearest"}),t[0].scrollIntoView({block:"nearest"})}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t{var t={212:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(212),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); +//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/_static/scripts/furo.js.LICENSE.txt b/_static/scripts/furo.js.LICENSE.txt new file mode 100644 index 0000000..1632189 --- /dev/null +++ b/_static/scripts/furo.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map new file mode 100644 index 0000000..4705302 --- /dev/null +++ b/_static/scripts/furo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/furo.js","mappings":";iCAAA,MAQWA,SAWS,IAAX,EAAAC,EACH,EAAAA,EACkB,oBAAXC,OACLA,OACAC,KAbO,EAAF,WACP,OAaJ,SAAUD,GACR,aAMA,IAAIE,EAAW,CAEbC,SAAU,SACVC,aAAc,SAGdC,QAAQ,EACRC,YAAa,SAGbC,OAAQ,EACRC,QAAQ,EAGRC,QAAQ,GA6BNC,EAAY,SAAUC,EAAMC,EAAMC,GAEpC,GAAKA,EAAOC,SAASL,OAArB,CAGA,IAAIM,EAAQ,IAAIC,YAAYL,EAAM,CAChCM,SAAS,EACTC,YAAY,EACZL,OAAQA,IAIVD,EAAKO,cAAcJ,EAVgB,CAWrC,EAOIK,EAAe,SAAUR,GAC3B,IAAIS,EAAW,EACf,GAAIT,EAAKU,aACP,KAAOV,GACLS,GAAYT,EAAKW,UACjBX,EAAOA,EAAKU,aAGhB,OAAOD,GAAY,EAAIA,EAAW,CACpC,EAMIG,EAAe,SAAUC,GACvBA,GACFA,EAASC,MAAK,SAAUC,EAAOC,GAG7B,OAFcR,EAAaO,EAAME,SACnBT,EAAaQ,EAAMC,UACF,EACxB,CACT,GAEJ,EAwCIC,EAAW,SAAUlB,EAAME,EAAUiB,GACvC,IAAIC,EAASpB,EAAKqB,wBACd1B,EAnCU,SAAUO,GAExB,MAA+B,mBAApBA,EAASP,OACX2B,WAAWpB,EAASP,UAItB2B,WAAWpB,EAASP,OAC7B,CA2Be4B,CAAUrB,GACvB,OAAIiB,EAEAK,SAASJ,EAAOD,OAAQ,KACvB/B,EAAOqC,aAAeC,SAASC,gBAAgBC,cAG7CJ,SAASJ,EAAOS,IAAK,KAAOlC,CACrC,EAMImC,EAAa,WACf,OACEC,KAAKC,KAAK5C,EAAOqC,YAAcrC,EAAO6C,cAnCjCF,KAAKG,IACVR,SAASS,KAAKC,aACdV,SAASC,gBAAgBS,aACzBV,SAASS,KAAKE,aACdX,SAASC,gBAAgBU,aACzBX,SAASS,KAAKP,aACdF,SAASC,gBAAgBC,aAkC7B,EAmBIU,EAAY,SAAUzB,EAAUX,GAClC,IAAIqC,EAAO1B,EAASA,EAAS2B,OAAS,GACtC,GAbgB,SAAUC,EAAMvC,GAChC,SAAI4B,MAAgBZ,EAASuB,EAAKxB,QAASf,GAAU,GAEvD,CAUMwC,CAAYH,EAAMrC,GAAW,OAAOqC,EACxC,IAAK,IAAII,EAAI9B,EAAS2B,OAAS,EAAGG,GAAK,EAAGA,IACxC,GAAIzB,EAASL,EAAS8B,GAAG1B,QAASf,GAAW,OAAOW,EAAS8B,EAEjE,EAOIC,EAAmB,SAAUC,EAAK3C,GAEpC,GAAKA,EAAST,QAAWoD,EAAIC,WAA7B,CAGA,IAAIC,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASR,aAG7BkD,EAAiBG,EAAI7C,GAV0B,CAWjD,EAOIiD,EAAa,SAAUC,EAAOlD,GAEhC,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASX,UAC7B6D,EAAMnC,QAAQgC,UAAUC,OAAOhD,EAASV,cAGxCoD,EAAiBG,EAAI7C,GAGrBJ,EAAU,oBAAqBiD,EAAI,CACjCM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,EAOIoD,EAAiB,SAAUT,EAAK3C,GAElC,GAAKA,EAAST,OAAd,CAGA,IAAIsD,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASR,aAG1B4D,EAAeP,EAAI7C,GAVS,CAW9B,EA6LA,OA1JkB,SAAUsD,EAAUC,GAKpC,IACIC,EAAU7C,EAAU8C,EAASC,EAAS1D,EADtC2D,EAAa,CAUjBA,MAAmB,WAEjBH,EAAWhC,SAASoC,iBAAiBN,GAGrC3C,EAAW,GAGXkD,MAAMC,UAAUC,QAAQC,KAAKR,GAAU,SAAUjB,GAE/C,IAAIxB,EAAUS,SAASyC,eACrBC,mBAAmB3B,EAAK4B,KAAKC,OAAO,KAEjCrD,GAGLJ,EAAS0D,KAAK,CACZ1B,IAAKJ,EACLxB,QAASA,GAEb,IAGAL,EAAaC,EACf,EAKAgD,OAAoB,WAElB,IAAIW,EAASlC,EAAUzB,EAAUX,GAG5BsE,EASDb,GAAWa,EAAOvD,UAAY0C,EAAQ1C,UAG1CkC,EAAWQ,EAASzD,GAzFT,SAAUkD,EAAOlD,GAE9B,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASX,UAC1B6D,EAAMnC,QAAQgC,UAAUM,IAAIrD,EAASV,cAGrC8D,EAAeP,EAAI7C,GAGnBJ,EAAU,kBAAmBiD,EAAI,CAC/BM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,CAqEIuE,CAASD,EAAQtE,GAGjByD,EAAUa,GAfJb,IACFR,EAAWQ,EAASzD,GACpByD,EAAU,KAchB,GAMIe,EAAgB,SAAUvE,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,sBAAsBf,EAAWgB,OACpD,EAMIC,EAAgB,SAAU3E,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,uBAAsB,WACrChE,EAAaC,GACbgD,EAAWgB,QACb,GACF,EAkDA,OA7CAhB,EAAWkB,QAAU,WAEfpB,GACFR,EAAWQ,EAASzD,GAItBd,EAAO4F,oBAAoB,SAAUN,GAAe,GAChDxE,EAASN,QACXR,EAAO4F,oBAAoB,SAAUF,GAAe,GAItDjE,EAAW,KACX6C,EAAW,KACXC,EAAU,KACVC,EAAU,KACV1D,EAAW,IACb,EAOEA,EA3XS,WACX,IAAI+E,EAAS,CAAC,EAOd,OANAlB,MAAMC,UAAUC,QAAQC,KAAKgB,WAAW,SAAUC,GAChD,IAAK,IAAIC,KAAOD,EAAK,CACnB,IAAKA,EAAIE,eAAeD,GAAM,OAC9BH,EAAOG,GAAOD,EAAIC,EACpB,CACF,IACOH,CACT,CAkXeK,CAAOhG,EAAUmE,GAAW,CAAC,GAGxCI,EAAW0B,QAGX1B,EAAWgB,SAGXzF,EAAOoG,iBAAiB,SAAUd,GAAe,GAC7CxE,EAASN,QACXR,EAAOoG,iBAAiB,SAAUV,GAAe,GAS9CjB,CACT,CAOF,CArcW4B,CAAQvG,EAChB,UAFM,SAEN,uBCXDwG,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAU1B,KAAK8B,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,OACf,CCrBAJ,EAAoBO,EAAKF,IACxB,IAAIG,EAASH,GAAUA,EAAOI,WAC7B,IAAOJ,EAAiB,QACxB,IAAM,EAEP,OADAL,EAAoBU,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdR,EAAoBU,EAAI,CAACN,EAASQ,KACjC,IAAI,IAAInB,KAAOmB,EACXZ,EAAoBa,EAAED,EAAYnB,KAASO,EAAoBa,EAAET,EAASX,IAC5EqB,OAAOC,eAAeX,EAASX,EAAK,CAAEuB,YAAY,EAAMC,IAAKL,EAAWnB,IAE1E,ECNDO,EAAoBxG,EAAI,WACvB,GAA0B,iBAAf0H,WAAyB,OAAOA,WAC3C,IACC,OAAOxH,MAAQ,IAAIyH,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,iBAAX3H,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBuG,EAAoBa,EAAI,CAACrB,EAAK6B,IAAUP,OAAOzC,UAAUqB,eAAenB,KAAKiB,EAAK6B,4CCK9EC,EAAY,KACZC,EAAS,KACTC,EAAgB/H,OAAO6C,aAAeP,SAASC,gBAAgByF,UACnE,MAAMC,EAAmB,GA2EzB,SAASC,IACP,MAAMC,EAAeC,aAAaC,QAAQ,UAAY,OAZxD,IAAkBC,EACH,WADGA,EAaItI,OAAOuI,WAAW,gCAAgCC,QAI/C,SAAjBL,EACO,QACgB,SAAhBA,EACA,OAEA,OAIU,SAAjBA,EACO,OACgB,QAAhBA,EACA,QAEA,SA9BoB,SAATG,GAA4B,SAATA,IACzCG,QAAQC,MAAM,2BAA2BJ,yBACzCA,EAAO,QAGThG,SAASS,KAAK4F,QAAQC,MAAQN,EAC9BF,aAAaS,QAAQ,QAASP,GAC9BG,QAAQK,IAAI,cAAcR,UA0B5B,CAkDA,SAASnC,KART,WAEE,MAAM4C,EAAUzG,SAAS0G,uBAAuB,gBAChDrE,MAAMsE,KAAKF,GAASlE,SAASqE,IAC3BA,EAAI9C,iBAAiB,QAAS8B,EAAe,GAEjD,CAGEiB,GA9CF,WAEE,IAAIC,EAA6B,EAC7BC,GAAU,EAEdrJ,OAAOoG,iBAAiB,UAAU,SAAUuB,GAC1CyB,EAA6BpJ,OAAOsJ,QAE/BD,IACHrJ,OAAOwF,uBAAsB,WAzDnC,IAAuB+D,IA0DDH,EA9GkC,GAAlDzG,KAAK6G,MAAM1B,EAAO7F,wBAAwBQ,KAC5CqF,EAAOjE,UAAUM,IAAI,YAErB2D,EAAOjE,UAAUC,OAAO,YAI5B,SAAmCyF,GAC7BA,EAAYtB,EACd3F,SAASC,gBAAgBsB,UAAUC,OAAO,oBAEtCyF,EAAYxB,EACdzF,SAASC,gBAAgBsB,UAAUM,IAAI,oBAC9BoF,EAAYxB,GACrBzF,SAASC,gBAAgBsB,UAAUC,OAAO,oBAG9CiE,EAAgBwB,CAClB,CAoCEE,CAA0BF,GAlC5B,SAA6BA,GACT,OAAd1B,IAKa,GAAb0B,EACF1B,EAAU6B,SAAS,EAAG,GAGtB/G,KAAKC,KAAK2G,IACV5G,KAAK6G,MAAMlH,SAASC,gBAAgBS,aAAehD,OAAOqC,aAE1DwF,EAAU6B,SAAS,EAAG7B,EAAU7E,cAGhBV,SAASqH,cAAc,mBAc3C,CAKEC,CAAoBL,GAwDdF,GAAU,CACZ,IAEAA,GAAU,EAEd,IACArJ,OAAO6J,QACT,CA6BEC,GA1BkB,OAAdjC,GAKJ,IAAI,IAAJ,CAAY,cAAe,CACzBrH,QAAQ,EACRuJ,WAAW,EACX5J,SAAU,iBACVI,OAAQ,KACN,IAAIyJ,EAAM9H,WAAW+H,iBAAiB3H,SAASC,iBAAiB2H,UAChE,OAAOpC,EAAO7F,wBAAwBkI,OAAS,GAAMH,EAAM,CAAC,GAiBlE,CAcA1H,SAAS8D,iBAAiB,oBAT1B,WACE9D,SAASS,KAAKW,WAAWG,UAAUC,OAAO,SAE1CgE,EAASxF,SAASqH,cAAc,UAChC9B,EAAYvF,SAASqH,cAAc,eAEnCxD,GACF","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js index 7918c3f..92da3f8 100644 --- a/_static/searchtools.js +++ b/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) + Search.makeSearchSummary(data, searchTerms, anchor) ); // highlight search terms in the summary if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js @@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => { ); else Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); }; const _displayNextItem = ( results, @@ -137,6 +137,22 @@ const _displayNextItem = ( // search finished, update title and status message else _finishSearch(resultCount); }; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; /** * Default splitQuery function. Can be overridden in ``sphinx.search`` with a @@ -160,13 +176,26 @@ const Search = { _queued_query: null, _pulse_status: -1, - htmlToText: (htmlString) => { + htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + for (const removalQuery of [".headerlinks", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; + if (docContent) return docContent.textContent; + console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." ); return ""; }, @@ -239,16 +268,7 @@ const Search = { else Search.deferQuery(query); }, - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - + _parseQuery: (query) => { // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -284,16 +304,32 @@ const Search = { // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); - // array of [docname, title, anchor, descr, score, filename] - let results = []; + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase(); + const queryLower = query.toLowerCase().trim(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { let score = Math.round(100 * queryLower.length / title.length) - results.push([ + normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", @@ -308,46 +344,47 @@ const Search = { // search for explicit entries in index directives for (const [entry, foundEntries] of Object.entries(indexEntries)) { if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ docNames[file], titles[file], id ? "#" + id : "", null, score, filenames[file], - ]); + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } } } } // lookup as object objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) + normalResults.push(...Search.performObjectSearch(term, objectTerms)) ); // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; // remove duplicate search results // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept @@ -361,7 +398,12 @@ const Search = { return acc; }, []); - results = results.reverse(); + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); // for debugging //Search.lastresults = results.slice(); // a copy @@ -466,14 +508,18 @@ const Search = { // add support for partial matches if (word.length > 2) { const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } } // no match but word was a required one @@ -496,9 +542,8 @@ const Search = { // create the mapping files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); }); }); @@ -549,8 +594,8 @@ const Search = { * search summary for a given text. keywords is a list * of stemmed words. */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); if (text === "") return null; const textLower = text.toLowerCase(); diff --git a/_static/skeleton.css b/_static/skeleton.css new file mode 100644 index 0000000..467c878 --- /dev/null +++ b/_static/skeleton.css @@ -0,0 +1,296 @@ +/* Some sane resets. */ +html { + height: 100%; +} + +body { + margin: 0; + min-height: 100%; +} + +/* All the flexbox magic! */ +body, +.sb-announcement, +.sb-content, +.sb-main, +.sb-container, +.sb-container__inner, +.sb-article-container, +.sb-footer-content, +.sb-header, +.sb-header-secondary, +.sb-footer { + display: flex; +} + +/* These order things vertically */ +body, +.sb-main, +.sb-article-container { + flex-direction: column; +} + +/* Put elements in the center */ +.sb-header, +.sb-header-secondary, +.sb-container, +.sb-content, +.sb-footer, +.sb-footer-content { + justify-content: center; +} +/* Put elements at the ends */ +.sb-article-container { + justify-content: space-between; +} + +/* These elements grow. */ +.sb-main, +.sb-content, +.sb-container, +article { + flex-grow: 1; +} + +/* Because padding making this wider is not fun */ +article { + box-sizing: border-box; +} + +/* The announcements element should never be wider than the page. */ +.sb-announcement { + max-width: 100%; +} + +.sb-sidebar-primary, +.sb-sidebar-secondary { + flex-shrink: 0; + width: 17rem; +} + +.sb-announcement__inner { + justify-content: center; + + box-sizing: border-box; + height: 3rem; + + overflow-x: auto; + white-space: nowrap; +} + +/* Sidebars, with checkbox-based toggle */ +.sb-sidebar-primary, +.sb-sidebar-secondary { + position: fixed; + height: 100%; + top: 0; +} + +.sb-sidebar-primary { + left: -17rem; + transition: left 250ms ease-in-out; +} +.sb-sidebar-secondary { + right: -17rem; + transition: right 250ms ease-in-out; +} + +.sb-sidebar-toggle { + display: none; +} +.sb-sidebar-overlay { + position: fixed; + top: 0; + width: 0; + height: 0; + + transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; + + opacity: 0; + background-color: rgba(0, 0, 0, 0.54); +} + +#sb-sidebar-toggle--primary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], +#sb-sidebar-toggle--secondary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms ease, height 0ms ease, opacity 250ms ease; +} + +#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { + left: 0; +} +#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { + right: 0; +} + +/* Full-width mode */ +.drop-secondary-sidebar-for-full-width-content + .hide-when-secondary-sidebar-shown { + display: none !important; +} +.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { + display: none !important; +} + +/* Mobile views */ +.sb-page-width { + width: 100%; +} + +.sb-article-container, +.sb-footer-content__inner, +.drop-secondary-sidebar-for-full-width-content .sb-article, +.drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 100vw; +} + +.sb-article, +.match-content-width { + padding: 0 1rem; + box-sizing: border-box; +} + +@media (min-width: 32rem) { + .sb-article, + .match-content-width { + padding: 0 2rem; + } +} + +/* Tablet views */ +@media (min-width: 42rem) { + .sb-article-container { + width: auto; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 42rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 46rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 46rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 50rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 50rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Tablet views */ +@media (min-width: 59rem) { + .sb-sidebar-secondary { + position: static; + } + .hide-when-secondary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 63rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 67rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Desktop views */ +@media (min-width: 76rem) { + .sb-sidebar-primary { + position: static; + } + .hide-when-primary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} + +/* Full desktop views */ +@media (min-width: 80rem) { + .sb-article, + .match-content-width { + width: 46rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } +} + +@media (min-width: 84rem) { + .sb-article, + .match-content-width { + width: 50rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } +} + +@media (min-width: 88rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-page-width { + width: 88rem; + } +} diff --git a/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css new file mode 100644 index 0000000..bc447f2 --- /dev/null +++ b/_static/styles/furo-extensions.css @@ -0,0 +1,2 @@ +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} +/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map new file mode 100644 index 0000000..9ba5637 --- /dev/null +++ b/_static/styles/furo-extensions.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo.css b/_static/styles/furo.css new file mode 100644 index 0000000..3d29a21 --- /dev/null +++ b/_static/styles/furo.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map new file mode 100644 index 0000000..1924b33 --- /dev/null +++ b/_static/styles/furo.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KAEE,6BAA8B,CAD9B,gBAEF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAOE,6BAEA,mBANA,qBAEA,sBACA,0BAFA,oBAHA,4BAOA,6BANA,mBAOA,CAEF,gBACE,aCPF,KCGE,mHAEA,wGAGA,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CChCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,ukBCYA,srCAZF,kaCVA,mLAOA,oTAWA,2UAaA,0CACA,gEACA,0CAGA,gEAUA,yCACA,+DAGA,4CACA,CACA,iEAGA,sGACA,uCACA,4DAGA,sCACA,2DAEA,4CACA,kEACA,oGACA,CAEA,0GACA,+CAGA,+MAOA,+EACA,wCAIA,4DACA,sEACA,kEACA,sEACA,gDAGA,+DACA,0CACA,gEACA,gGACA,CAGA,2DACA,qDAGA,0CACA,8CACA,oDACA,oDL7GF,iCAEA,iEAME,oCKyGA,yDAIA,sCACA,kCACA,sDAGA,0CACA,kEACA,oDAEA,sDAGA,oCACA,oEAIA,CAGA,yDAGA,qDACA,oDAGA,6DAIA,iEAGA,2DAEA,2DL9IE,4DAEA,gEAIF,gEKgGA,gFAIA,oNAOA,qDAEA,gFAIA,4DAIA,oEAMA,yEAIA,6DACA,0DAGA,uDAGA,qDAEA,wDLpII,6DAEA,yDACE,2DAMN,uCAIA,yCACE,8CAGF,sDMjDA,6DAKA,oCAIA,4CACA,kBAGF,sBAMA,2BAME,qCAGA,qCAEA,iCAEA,+BAEA,mCAEA,qCAIA,CACA,gCACA,gDAKA,kCAIA,6BAEA,0CAQA,kCAIF,8BAGE,8BACA,uCAGF,sCAKE,kCAEA,sDAGA,iCACE,CACA,2FAGA,gCACE,CACA,+DCzEJ,wCAEA,sBAEF,yDAEE,mCACA,wDAGA,2GAGA,wIACE,gDAMJ,kCAGE,6BACA,0CAGA,gEACA,8BACA,uCAKA,sCAIA,kCACA,sDACA,iCACA,sCAOA,sDAKE,gGAIE,+CAGN,sBAEE,yCAMA,0BAOA,yLAKA,aACA,MAEF,6BACE,mBAEA,wCAEF,wCAIE,kCAGA,SACA,kCAKA,mBAGA,CAJA,eACA,CAHF,gBAEE,CAWA,mBACA,mBACA,mDAIA,YACA,mBACA,CAEE,kBAMF,OAPE,kBAOF,oCACA,yCAEA,wBAEA,cADA,WACA,GACA,oBACA,CAFA,gBAEA,aAGF,+CAEE,UAJE,wBAEJ,CAFI,SAIF,CACA,2BACA,GAGA,uBACE,CAJF,yBAGA,CACE,iDACA,uCAEA,yDACE,cACA,wDAKN,yDAIE,uBAEF,kBACE,uBAEA,kDAKA,0DAEA,CAHA,oBAIA,0GAWA,aAEA,CAHA,YAGA,4HAKF,+CAGE,sBAEF,WAKE,0CAGA,CANA,qCAGA,CAJA,WAOA,SAIA,0CACE,CALF,qCAIA,CACE,wBAEA,mBAEJ,gBACE,gBAIA,+CAKF,CAIE,kDAEA,CANF,8BAIE,CAEA,YAGA,CAfF,2BACE,CAHA,UAEF,CAYE,UAGA,2CACF,iEAOE,iCACA,8BAGA,wCAIA,wBAMI,0CAKF,CATA,6DAGA,CALF,qBAEE,CASA,YACA,yBAGA,CAEE,cAKN,CAPI,sBAOJ,gCAGE,qBAEA,WACA,aACA,sCAEA,mBACA,6BAGA,uEADA,qBACA,6BAIA,yBACA,qCAEE,UAEA,YACA,sBAEF,8BAGA,CAPE,aACA,WAMF,4BACE,sBACA,WAMJ,uBACE,cAYE,mBAXA,qDAKA,qCAGA,CAEA,YACA,CAHA,2BAEA,CACA,oCAEA,4CACA,uBAIA,sBAEJ,eAFI,cAIF,iBACE,CAHJ,kBAGI,yBAEA,oCAIA,qDAMF,mEAGE,+CAKA,gCAEA,qCAGA,oCAGE,sBACA,CAJF,WAEE,CAFF,eAEE,SAEA,mBACA,qCACE,aACA,CAFF,YADA,qBACA,WAEE,sBACA,kEAEN,cAEE,CAFF,YAEE,iDAKA,uCAIA,2DAKA,kBAEA,CAHA,sBAGA,mBACA,0BAEJ,yBAII,aADA,WACA,CAMF,UAFE,kBAEF,CAJF,gBAEI,CAFJ,iBAIE,6CC9ZF,yBACE,WACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,8CAGE,CAHF,UAGE,wCAGA,qBACA,CAFA,UAEA,6CAGA,yCAIA,sBAHA,UAGA,kCACE,OACA,CADA,KACA,cAQF,0CACE,CAFF,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,MACE,CAIE,gBAJF,iCAJE,cAGJ,CANI,oBAEA,CAKF,SAIE,2BADA,UACA,kBAGF,sCACA,CAFF,WACE,WACA,mBACE,kDACA,0EACA,uDAKJ,aACE,mDAII,CAJJ,6CAII,4BACA,sCACE,kEACA,+CACE,aACA,WADA,+BACA,uEANN,YACE,mDAEE,mBADF,0CACE,CADF,qBACE,0DACA,YACE,4DACA,sEANN,YACE,8CACA,kBADA,UACA,2CACE,2EACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAKA,oCAEA,yDAEE,gEAKF,+CC5FA,0EAGE,CACA,qDCLJ,+DAIE,sCAIA,kEACE,yBACA,2FAMA,gBACA,yGCbF,mBAOA,2MAIA,4HAYA,0DACE,8GAYF,8HAQE,mBAEA,6HAOF,YAGA,mIAME,eACA,CAFF,YAEE,4FAMJ,8BAEE,uBAYA,sCAEE,CAJF,oBAEA,CARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,wCAEA,CAEA,mDAIE,kCACE,6BACA,4CAKJ,kDAIA,eACE,aAGF,8BACE,uDACA,sCACA,cAEA,+BACA,CAFA,eAEA,wCAEF,YACE,iBACA,mCACA,0DAGF,qBAEE,CAFF,kBAEE,+BAIA,yCAEE,qBADA,gBACA,yBAKF,eACA,CAFF,YACE,CACA,iBACA,qDAEA,mDCvIJ,2FAOE,iCACA,CAEA,eACA,CAHA,kBAEA,CAFA,wBAGA,8BACA,eACE,CAFF,YAEE,0BACA,8CAGA,oBACE,oCAGA,kBACE,8DAEA,iBAEN,UACE,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCjCE,mFAJA,QACA,UAIE,CADF,iBACE,mCAGA,iDACE,+BAGF,wBAEA,mBAKA,6CAEF,CAHE,mBACA,CAEF,kCAIE,CARA,kBACA,CAFF,eASE,YACA,mBAGF,CAJE,UAIF,wCCjCA,oBDmCE,wBCpCJ,uCACE,8BACA,4CACA,oBAGA,2CCAA,6CAGE,CAPF,uBAIA,CDGA,gDACE,6BCVJ,CAWM,2CAEF,CAJA,kCAEE,CDJF,aCLF,gBDKE,uBCMA,gCAGA,gDAGE,wBAGJ,0BAEA,iBACE,aACF,CADE,UACF,uBACE,aACF,oBACE,YACF,4BACE,6CAMA,CAYF,6DAZE,mCAGE,iCASJ,4BAGE,4DADA,+BACA,CAFA,qBAEA,yBACE,aAEF,wBAHA,SAGA,iHACE,2DAKF,CANA,yCACE,CADF,oCAMA,uSAIA,sGACE,oDChEJ,WAEF,yBACE,QACA,eAEA,gBAEE,uCAGA,CALF,iCAKE,uCAGA,0BACA,CACA,oBACA,iCClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJClBF,YACA,gNAUE,6BAEF,oTAcI,kBACF,gHAIA,qBACE,eACF,qDACE,kBACF,6DACE,4BCxCJ,oBAEF,qCAEI,+CAGF,uBACE,uDAGJ,oBAkBE,mDAhBA,+CAaA,CAbA,oBAaA,0FAEE,CAFF,gGAbA,+BAaA,0BAGA,mQAIA,oNAEE,iBAGJ,CAHI,gBADA,gBAIJ,8CAYI,CAZJ,wCAYI,sVACE,iCAGA,uEAHA,QAGA,qXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAKA,6EC/EA,iDACA,gCACA,oDAGA,qBACA,oDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIA,iBAJA,wBAIA,6CAJA,6CAOA,4BAGJ,CAHI,cAGJ,yCAGA,kBACE,CAIA,iDAEA,CATA,YAEF,CACE,4CAGA,kBAIA,wEAEA,wDAIF,kCAOE,iDACA,CARF,WAIE,sCAGA,CANA,2CACA,CAMA,oEARF,iBACE,CACA,qCAMA,iBAuBE,uBAlBF,YAKA,2DALA,uDAKA,CALA,sBAiBA,4CACE,CALA,gRAIF,YACE,UAEN,uBACE,YACA,mCAOE,+CAGA,8BAGF,+CAGA,4BCjNA,SDiNA,qFCjNA,gDAGA,sCACA,qCACA,sDAIF,CAIE,kDAGA,CAPF,0CAOE,kBAEA,kDAEA,CAHA,eACA,CAFA,YACA,CADA,SAIA,mHAIE,CAGA,6CAFA,oCAeE,CAbF,yBACE,qBAEJ,CAGE,oBACA,CAEA,YAFA,2CACF,CACE,uBAEA,mFAEE,CALJ,oBACE,CAEA,UAEE,gCAGF,sDAEA,yCC7CJ,oCAGA,CD6CE,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the
    + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index ef7d60d..a187f2f 100644 --- a/index.html +++ b/index.html @@ -1,177 +1,309 @@ + + + + + + + + + cycquery documentation + + + + + + + - - - - - - - - - - - Welcome to cyclops-query’s documentation! — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    Welcome to cycquery’s documentation!

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    -
    - + + +
    +
    - - - +
    + + + + + + + + + + + \ No newline at end of file diff --git a/intro.html b/intro.html index c5c2863..f13dbd5 100644 --- a/intro.html +++ b/intro.html @@ -1,199 +1,316 @@ + + + + + + + + + cycquery - cycquery documentation + + + + + + + - - - - - - - - - - - cyclops-query — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery

    +

    PyPI PyPI - Python Version code checks integration tests docs codecov license

    +

    cycquery is a tool for querying relational databases using a simple Python API. It is specifically developed to query Electronic Health Record (EHR) databases. The tool is a wrapper around SQLAlchemy and can be used to write SQL-like queries in Python, including joins, conditions, groupby aggregation and many more.

    -

    🐣 Getting Started

    -
    -

    Installing cyclops-query using pip

    +

    🐣 Getting Started

    +
    +

    Installing cycquery using pip

    python3 -m pip install cycquery
     
    -

    Query postgresql database

    +

    Query postgresql database

    from cycquery import DatasetQuerier
     import cycquery.ops as qo
     
    @@ -230,24 +347,19 @@ 

    Query postgresql database -

    🧑🏿‍💻 Developing

    +

    🧑🏿‍💻 Developing

    -

    Using poetry

    -

    The development environment can be set up using -poetry. Hence, make -sure it is installed and then run:

    +

    Using poetry

    +

    The development environment can be set up using poetry. Hence, make sure it is installed and then run:

    python3 -m poetry install
     source $(poetry env info --path)/bin/activate
     
    -

    In order to install dependencies for testing (codestyle, unit tests, -integration tests), run:

    +

    In order to install dependencies for testing (codestyle, unit tests, integration tests), run:

    python3 -m poetry install --with test
     
    -

    API documentation is built using -Sphinx and can be locally -built by:

    +

    API documentation is built using Sphinx and can be locally built by:

    python3 -m poetry install --with docs
     cd docs
     make html SPHINXOPTS="-D nbsphinx_allow_errors=True"
    @@ -255,93 +367,78 @@ 

    Using poetry -

    Contributing

    -

    Contributing to cyclops-query is welcomed. See -Contributing -for guidelines.

    +

    Contributing

    +

    Contributing to cycquery is welcomed. See Contributing for guidelines.

    -

    📚 Documentation

    -
    -
    -

    🎓 Citation

    -

    Reference to cite when you use cyclops-query in a project or a -research paper:

    -
    @article {Krishnan2022.12.02.22283021,
    -    author = {Krishnan, Amrit and Subasri, Vallijah and McKeen, Kaden and Kore, Ali and Ogidi, Franklin and Alinoori, Mahshid and Lalani, Nadim and Dhalla, Azra and Verma, Amol and Razak, Fahad and Pandya, Deval and Dolatabadi, Elham},
    -    title = {CyclOps: Cyclical development towards operationalizing ML models for health},
    -    elocation-id = {2022.12.02.22283021},
    -    year = {2022},
    -    doi = {10.1101/2022.12.02.22283021},
    -    publisher = {Cold Spring Harbor Laboratory Press},
    -    URL = {https://www.medrxiv.org/content/early/2022/12/08/2022.12.02.22283021},
    -    journal = {medRxiv}
    -}
    -
    -
    +

    📚 Documentation

    - -
    + +
    +
    - + + +
    +
    - - - + + + + + + + + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv index 082e8d5..6cd4717 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/page.html b/page.html new file mode 100644 index 0000000..04bf18d --- /dev/null +++ b/page.html @@ -0,0 +1,346 @@ + + + + + + + + - cycquery documentation + + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    + +
    + +
    +
    + +
    +
    + +
    + +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/py-modindex.html b/py-modindex.html index 135661c..decca94 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -1,285 +1,413 @@ + + + + + + + Python Module Index - cycquery documentation + + + + + + + - - - - - - - - - - Python Module Index — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    +
    - +
    +
    - + +
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.base.DatasetQuerier.html b/reference/api/_autosummary/cycquery.base.DatasetQuerier.html index e6af04e..98f4441 100644 --- a/reference/api/_autosummary/cycquery.base.DatasetQuerier.html +++ b/reference/api/_autosummary/cycquery.base.DatasetQuerier.html @@ -1,198 +1,311 @@ + + + + + + + + + cycquery.base.DatasetQuerier - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.base.DatasetQuerier — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.base.DatasetQuerier

    -class DatasetQuerier(dbms, user='', password='', host='', port=None, database='')[source]
    +class DatasetQuerier(dbms, user='', password='', host='', port=None, database='')[source]

    Bases: object

    Base class to query EHR datasets.

    -db
    +db

    ORM Database used to run queries.

    @@ -217,6 +330,7 @@

    cycquery.base.DatasetQuerierMethods

    +
    @@ -236,9 +350,10 @@

    cycquery.base.DatasetQuerier
    -get_table(schema_name, table_name, cast_timestamp_cols=True)[source]
    +get_table(schema_name, table_name, cast_timestamp_cols=True)[source]

    Get a table and possibly map columns to have standard names.

    Standardizing column names allows for columns to be recognized in downstream processing.

    @@ -261,7 +376,7 @@

    cycquery.base.DatasetQuerier
    -list_columns(schema_name, table_name)[source]
    +list_columns(schema_name, table_name)[source]

    List columns in a table.

    Parameters:
    @@ -281,7 +396,7 @@

    cycquery.base.DatasetQuerier
    -list_custom_tables()[source]
    +list_custom_tables()[source]

    List custom tables methods provided by the dataset API.

    Returns:
    @@ -295,7 +410,7 @@

    cycquery.base.DatasetQuerier
    -list_schemas()[source]
    +list_schemas()[source]

    List schemas in the database to query.

    Returns:
    @@ -309,7 +424,7 @@

    cycquery.base.DatasetQuerier
    -list_tables(schema_name=None)[source]
    +list_tables(schema_name=None)[source]

    List table methods that can be queried using the database.

    Parameters:
    @@ -328,66 +443,97 @@

    cycquery.base.DatasetQuerier + +
    +
    + Next +
    +
    cycquery.mimiciii
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.base
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.base.html b/reference/api/_autosummary/cycquery.base.html index 5f69e96..da4e1b5 100644 --- a/reference/api/_autosummary/cycquery.base.html +++ b/reference/api/_autosummary/cycquery.base.html @@ -1,190 +1,306 @@ + + + + + + + + + cycquery.base - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.base — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.base

    Base querier class.

    Classes

    +

    get_table

    @@ -192,68 +308,73 @@

    DatasetQuerier

    +

    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.eicu.EICUQuerier.html b/reference/api/_autosummary/cycquery.eicu.EICUQuerier.html index ce00c39..02791b8 100644 --- a/reference/api/_autosummary/cycquery.eicu.EICUQuerier.html +++ b/reference/api/_autosummary/cycquery.eicu.EICUQuerier.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.eicu.EICUQuerier - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.eicu.EICUQuerier — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.eicu.EICUQuerier

    -class EICUQuerier(dbms, user='', password='', host='', port=None, database='')[source]
    +class EICUQuerier(dbms, user='', password='', host='', port=None, database='')[source]

    Bases: DatasetQuerier

    EICU dataset querier.

    Methods

    +
    @@ -214,9 +324,10 @@

    cycquery.eicu.EICUQuerier
    -get_table(schema_name, table_name, cast_timestamp_cols=True)
    +get_table(schema_name, table_name, cast_timestamp_cols=True)

    Get a table and possibly map columns to have standard names.

    Standardizing column names allows for columns to be recognized in downstream processing.

    @@ -239,7 +350,7 @@

    cycquery.eicu.EICUQuerier
    -list_columns(schema_name, table_name)
    +list_columns(schema_name, table_name)

    List columns in a table.

    Parameters:
    @@ -259,7 +370,7 @@

    cycquery.eicu.EICUQuerier
    -list_custom_tables()
    +list_custom_tables()

    List custom tables methods provided by the dataset API.

    Returns:
    @@ -273,7 +384,7 @@

    cycquery.eicu.EICUQuerier
    -list_schemas()
    +list_schemas()

    List schemas in the database to query.

    Returns:
    @@ -287,7 +398,7 @@

    cycquery.eicu.EICUQuerier
    -list_tables(schema_name=None)
    +list_tables(schema_name=None)

    List table methods that can be queried using the database.

    Parameters:
    @@ -306,66 +417,96 @@

    cycquery.eicu.EICUQuerier + +
    +
    + Next +
    +
    cycquery.omop
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.eicu
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.eicu.html b/reference/api/_autosummary/cycquery.eicu.html index 6444649..48d4f3b 100644 --- a/reference/api/_autosummary/cycquery.eicu.html +++ b/reference/api/_autosummary/cycquery.eicu.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.eicu - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.eicu — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.eicu

    EICU-CRD query module.

    Supports querying of eICU.

    Classes

    +

    get_table

    @@ -197,68 +309,73 @@

    EICUQuerier

    +
    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.gemini.GEMINIQuerier.html b/reference/api/_autosummary/cycquery.gemini.GEMINIQuerier.html index cfaa6bf..3c5f6b6 100644 --- a/reference/api/_autosummary/cycquery.gemini.GEMINIQuerier.html +++ b/reference/api/_autosummary/cycquery.gemini.GEMINIQuerier.html @@ -1,142 +1,261 @@ + + + + + + + + + cycquery.gemini.GEMINIQuerier - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.gemini.GEMINIQuerier — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.gemini.GEMINIQuerier

    -class GEMINIQuerier(dbms, user='', password='', host='', port=None, database='')[source]
    +class GEMINIQuerier(dbms, user='', password='', host='', port=None, database='')[source]

    Bases: DatasetQuerier

    GEMINI dataset querier.

    Methods

    +
    @@ -228,9 +339,10 @@

    cycquery.gemini.GEMINIQuerier
    -care_units()[source]
    +care_units()[source]

    Query care unit data, fetches transfer info from multiple tables.

    Returns:
    @@ -244,7 +356,7 @@

    cycquery.gemini.GEMINIQuerier
    -diagnoses()[source]
    +diagnoses()[source]

    Query diagnosis data.

    Returns:
    @@ -258,7 +370,7 @@

    cycquery.gemini.GEMINIQuerier
    -get_table(schema_name, table_name, cast_timestamp_cols=True)
    +get_table(schema_name, table_name, cast_timestamp_cols=True)

    Get a table and possibly map columns to have standard names.

    Standardizing column names allows for columns to be recognized in downstream processing.

    @@ -281,7 +393,7 @@

    cycquery.gemini.GEMINIQuerier
    -imaging()[source]
    +imaging()[source]

    Query imaging reports data.

    Returns:
    @@ -295,7 +407,7 @@

    cycquery.gemini.GEMINIQuerier
    -ip_admin()[source]
    +ip_admin()[source]

    Query GEMINI patient encounters.

    Returns:
    @@ -309,7 +421,7 @@

    cycquery.gemini.GEMINIQuerier
    -list_columns(schema_name, table_name)
    +list_columns(schema_name, table_name)

    List columns in a table.

    Parameters:
    @@ -329,7 +441,7 @@

    cycquery.gemini.GEMINIQuerier
    -list_custom_tables()
    +list_custom_tables()

    List custom tables methods provided by the dataset API.

    Returns:
    @@ -343,7 +455,7 @@

    cycquery.gemini.GEMINIQuerier
    -list_schemas()
    +list_schemas()

    List schemas in the database to query.

    Returns:
    @@ -357,7 +469,7 @@

    cycquery.gemini.GEMINIQuerier
    -list_tables(schema_name=None)
    +list_tables(schema_name=None)

    List table methods that can be queried using the database.

    Parameters:
    @@ -374,7 +486,7 @@

    cycquery.gemini.GEMINIQuerier
    -room_transfer()[source]
    +room_transfer()[source]

    Query room transfer data.

    Returns:
    @@ -390,65 +502,93 @@

    cycquery.gemini.GEMINIQuerier + + + +
    +
    + Previous +
    + +
    cycquery.gemini
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.gemini.html b/reference/api/_autosummary/cycquery.gemini.html index 50a4ea2..da52211 100644 --- a/reference/api/_autosummary/cycquery.gemini.html +++ b/reference/api/_autosummary/cycquery.gemini.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.gemini - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.gemini — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.gemini

    GEMINI query module.

    Classes

    +

    care_units

    @@ -196,68 +308,73 @@

    GEMINIQuerier

    +
    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.interface.QueryInterface.html b/reference/api/_autosummary/cycquery.interface.QueryInterface.html index c0e3bd0..75c0b90 100644 --- a/reference/api/_autosummary/cycquery.interface.QueryInterface.html +++ b/reference/api/_autosummary/cycquery.interface.QueryInterface.html @@ -1,193 +1,306 @@ + + + + + + + + + cycquery.interface.QueryInterface - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.interface.QueryInterface — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.interface.QueryInterface

    -class QueryInterface(database, query)[source]
    +class QueryInterface(database, query)[source]

    Bases: object

    An interface dataclass to wrap queries, and run them.

    @@ -200,6 +313,7 @@

    cycquery.interface.QueryInterfaceMethods

    +
    @@ -225,7 +339,9 @@

    cycquery.interface.QueryInterfaceAttributes

    +

    clear_data

    @@ -233,15 +349,16 @@

    cycquery.interface.QueryInterface
    -__init__(database, query)[source]
    +__init__(database, query)[source]

    Initialize the QueryInterface object, join and chain operations.

    -clear_data()[source]
    +clear_data()[source]

    Clear data container.

    Sets the data attribute to None, thus clearing the dataframe contained.

    @@ -253,13 +370,13 @@

    cycquery.interface.QueryInterface
    -property data: DataFrame | None
    +property data: DataFrame | None

    Get data.

    -join(join_table, on=None, on_to_type=None, cond=None, table_cols=None, join_table_cols=None, isouter=False)[source]
    +join(join_table, on=None, on_to_type=None, cond=None, table_cols=None, join_table_cols=None, isouter=False)[source]

    Join the query with another table.

    Parameters:
    @@ -284,7 +401,7 @@

    cycquery.interface.QueryInterface
    -ops(ops)[source]
    +ops(ops)[source]

    Chain operations with the query.

    Parameters:
    @@ -301,7 +418,7 @@

    cycquery.interface.QueryInterface
    -run(limit=None, index_col=None, batch_mode=False, batch_size=1000000, dtype_backend='pyarrow')[source]
    +run(limit=None, index_col=None, batch_mode=False, batch_size=1000000, dtype_backend='pyarrow')[source]

    Run the query, and fetch data.

    Parameters:
    @@ -319,14 +436,14 @@

    cycquery.interface.QueryInterface

    Query result.

    Return type:
    -

    pandas.DataFrame or Generator[pandas.DataFrame, None, None]

    +

    pandas.DataFrame or Generator[pandas.DataFrame, None, None]

    -save(path, file_format='parquet')[source]
    +save(path, file_format='parquet')[source]

    Save the query.

    Parameters:
    @@ -346,7 +463,7 @@

    cycquery.interface.QueryInterface
    -union(other)[source]
    +union(other)[source]

    Union the query with another query.

    Parameters:
    @@ -363,7 +480,7 @@

    cycquery.interface.QueryInterface
    -union_all(other)[source]
    +union_all(other)[source]

    Union all the query with another query.

    Parameters:
    @@ -382,66 +499,100 @@

    cycquery.interface.QueryInterface + +
    +
    + Next +
    +
    cycquery.ops
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.interface
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.interface.html b/reference/api/_autosummary/cycquery.interface.html index 1bf1fc1..86d6950 100644 --- a/reference/api/_autosummary/cycquery.interface.html +++ b/reference/api/_autosummary/cycquery.interface.html @@ -1,190 +1,306 @@ + + + + + + + + + cycquery.interface - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.interface — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.interface

    A query interface class to wrap database objects and queries.

    Classes

    +

    data

    @@ -192,68 +308,73 @@

    QueryInterface

    +

    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier.html b/reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier.html index 5e8d978..52d475e 100644 --- a/reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier.html +++ b/reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.mimiciii.MIMICIIIQuerier - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.mimiciii.MIMICIIIQuerier — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.mimiciii.MIMICIIIQuerier

    -class MIMICIIIQuerier(dbms, user='', password='', host='', port=None, database='')[source]
    +class MIMICIIIQuerier(dbms, user='', password='', host='', port=None, database='')[source]

    Bases: DatasetQuerier

    MIMIC-III dataset querier.

    Methods

    +
    @@ -223,9 +333,10 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -chartevents()[source]
    +chartevents()[source]

    Query MIMICIII chartevents data.

    Returns:
    @@ -239,7 +350,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -diagnoses()[source]
    +diagnoses()[source]

    Query MIMICIII diagnosis data.

    Returns:
    @@ -253,7 +364,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -get_table(schema_name, table_name, cast_timestamp_cols=True)
    +get_table(schema_name, table_name, cast_timestamp_cols=True)

    Get a table and possibly map columns to have standard names.

    Standardizing column names allows for columns to be recognized in downstream processing.

    @@ -276,7 +387,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -labevents()[source]
    +labevents()[source]

    Query MIMICIII labevents data.

    Returns:
    @@ -290,7 +401,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -list_columns(schema_name, table_name)
    +list_columns(schema_name, table_name)

    List columns in a table.

    Parameters:
    @@ -310,7 +421,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -list_custom_tables()
    +list_custom_tables()

    List custom tables methods provided by the dataset API.

    Returns:
    @@ -324,7 +435,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -list_schemas()
    +list_schemas()

    List schemas in the database to query.

    Returns:
    @@ -338,7 +449,7 @@

    cycquery.mimiciii.MIMICIIIQuerier
    -list_tables(schema_name=None)
    +list_tables(schema_name=None)

    List table methods that can be queried using the database.

    Parameters:
    @@ -357,66 +468,99 @@

    cycquery.mimiciii.MIMICIIIQuerier + +
    +
    + Next +
    +
    cycquery.mimiciv
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.mimiciii
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.mimiciii.html b/reference/api/_autosummary/cycquery.mimiciii.html index 2b85773..fca3676 100644 --- a/reference/api/_autosummary/cycquery.mimiciii.html +++ b/reference/api/_autosummary/cycquery.mimiciii.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.mimiciii - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.mimiciii — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.mimiciii

    MIMIC-III query module.

    Supports querying of MIMIC-III.

    Classes

    +

    chartevents

    @@ -197,68 +309,73 @@

    MIMICIIIQuerier

    +
    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier.html b/reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier.html index 51a85f5..acc45e2 100644 --- a/reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier.html +++ b/reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.mimiciv.MIMICIVQuerier - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.mimiciv.MIMICIVQuerier — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.mimiciv.MIMICIVQuerier

    -class MIMICIVQuerier(dbms, user='', password='', host='', port=None, database='')[source]
    +class MIMICIVQuerier(dbms, user='', password='', host='', port=None, database='')[source]

    Bases: DatasetQuerier

    MIMICIV dataset querier.

    Methods

    +
    @@ -229,9 +339,10 @@

    cycquery.mimiciv.MIMICIVQuerier
    -chartevents()[source]
    +chartevents()[source]

    Query ICU chart events from the ICU module.

    Returns:
    @@ -245,7 +356,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -diagnoses_icd()[source]
    +diagnoses_icd()[source]

    Query MIMIC diagnosis data.

    Returns:
    @@ -259,7 +370,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -get_table(schema_name, table_name, cast_timestamp_cols=True)
    +get_table(schema_name, table_name, cast_timestamp_cols=True)

    Get a table and possibly map columns to have standard names.

    Standardizing column names allows for columns to be recognized in downstream processing.

    @@ -282,7 +393,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -labevents()[source]
    +labevents()[source]

    Query lab events from the hospital module.

    Returns:
    @@ -296,7 +407,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -list_columns(schema_name, table_name)
    +list_columns(schema_name, table_name)

    List columns in a table.

    Parameters:
    @@ -316,7 +427,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -list_custom_tables()
    +list_custom_tables()

    List custom tables methods provided by the dataset API.

    Returns:
    @@ -330,7 +441,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -list_schemas()
    +list_schemas()

    List schemas in the database to query.

    Returns:
    @@ -344,7 +455,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -list_tables(schema_name=None)
    +list_tables(schema_name=None)

    List table methods that can be queried using the database.

    Parameters:
    @@ -361,7 +472,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -patients()[source]
    +patients()[source]

    Query MIMIC patient data.

    Returns:
    @@ -380,7 +491,7 @@

    cycquery.mimiciv.MIMICIVQuerier
    -procedures_icd()[source]
    +procedures_icd()[source]

    Query MIMIC procedures data.

    Returns:
    @@ -396,66 +507,101 @@

    cycquery.mimiciv.MIMICIVQuerier + +
    +
    + Next +
    +
    cycquery.eicu
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.mimiciv
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.mimiciv.html b/reference/api/_autosummary/cycquery.mimiciv.html index 9812c5d..7e2e7ed 100644 --- a/reference/api/_autosummary/cycquery.mimiciv.html +++ b/reference/api/_autosummary/cycquery.mimiciv.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.mimiciv - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.mimiciv — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.mimiciv

    MIMIC-IV query module.

    Supports querying of MIMICIV-2.0.

    Classes

    +

    chartevents

    @@ -197,68 +309,73 @@

    MIMICIVQuerier

    +
    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.omop.OMOPQuerier.html b/reference/api/_autosummary/cycquery.omop.OMOPQuerier.html index 9ea4da0..0f6378d 100644 --- a/reference/api/_autosummary/cycquery.omop.OMOPQuerier.html +++ b/reference/api/_autosummary/cycquery.omop.OMOPQuerier.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.omop.OMOPQuerier - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.omop.OMOPQuerier — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.omop.OMOPQuerier

    -class OMOPQuerier(database, user, password, dbms='postgresql', host='localhost', port=5432, schema_name='omop')[source]
    +class OMOPQuerier(database, user, password, dbms='postgresql', host='localhost', port=5432, schema_name='omop')[source]

    Bases: DatasetQuerier

    OMOP querier.

    Methods

    +
    @@ -232,9 +342,10 @@

    cycquery.omop.OMOPQuerier
    -get_table(schema_name, table_name, cast_timestamp_cols=True)
    +get_table(schema_name, table_name, cast_timestamp_cols=True)

    Get a table and possibly map columns to have standard names.

    Standardizing column names allows for columns to be recognized in downstream processing.

    @@ -257,7 +368,7 @@

    cycquery.omop.OMOPQuerier
    -list_columns(schema_name, table_name)
    +list_columns(schema_name, table_name)

    List columns in a table.

    Parameters:
    @@ -277,7 +388,7 @@

    cycquery.omop.OMOPQuerier
    -list_custom_tables()
    +list_custom_tables()

    List custom tables methods provided by the dataset API.

    Returns:
    @@ -291,7 +402,7 @@

    cycquery.omop.OMOPQuerier
    -list_schemas()
    +list_schemas()

    List schemas in the database to query.

    Returns:
    @@ -305,7 +416,7 @@

    cycquery.omop.OMOPQuerier
    -list_tables(schema_name=None)
    +list_tables(schema_name=None)

    List table methods that can be queried using the database.

    Parameters:
    @@ -322,7 +433,7 @@

    cycquery.omop.OMOPQuerier
    -map_concept_ids_to_name(src_table, src_cols, dst_cols=None)[source]
    +map_concept_ids_to_name(src_table, src_cols, dst_cols=None)[source]

    Map concept IDs in a source table to concept names from concept table.

    For each concept ID column with a name like somecol_concept_ID, the mapped concept name column will be named somecol_concept_name. If dst_cols is @@ -347,7 +458,7 @@

    cycquery.omop.OMOPQuerier
    -measurement()[source]
    +measurement()[source]

    Query OMOP measurement table.

    Returns:
    @@ -361,7 +472,7 @@

    cycquery.omop.OMOPQuerier
    -observation()[source]
    +observation()[source]

    Query OMOP observation table.

    Returns:
    @@ -375,7 +486,7 @@

    cycquery.omop.OMOPQuerier
    -person()[source]
    +person()[source]

    Query OMOP person table.

    Returns:
    @@ -389,7 +500,7 @@

    cycquery.omop.OMOPQuerier
    -visit_detail()[source]
    +visit_detail()[source]

    Query OMOP visit_detail table.

    Returns:
    @@ -403,7 +514,7 @@

    cycquery.omop.OMOPQuerier
    -visit_occurrence()[source]
    +visit_occurrence()[source]

    Query OMOP visit_occurrence table.

    Returns:
    @@ -419,66 +530,102 @@

    cycquery.omop.OMOPQuerier + +
    +
    + Next +
    +
    cycquery.gemini
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.omop
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.omop.html b/reference/api/_autosummary/cycquery.omop.html index 276d46a..986540a 100644 --- a/reference/api/_autosummary/cycquery.omop.html +++ b/reference/api/_autosummary/cycquery.omop.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery.omop - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.omop — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.omop

    OMOP query API.

    Classes

    +

    get_table

    @@ -196,68 +308,73 @@

    OMOPQuerier

    +
    - -
    + +
    +
    - + + +
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.AddColumn.html b/reference/api/_autosummary/cycquery.ops.AddColumn.html index 01e86ad..a575327 100644 --- a/reference/api/_autosummary/cycquery.ops.AddColumn.html +++ b/reference/api/_autosummary/cycquery.ops.AddColumn.html @@ -1,137 +1,195 @@ + + + + + + + + + cycquery.ops.AddColumn - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.AddColumn — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.AddColumn

    -class AddColumn(add_to, col, negative=False, new_col_labels=None)[source]
    +class AddColumn(add_to, col, negative=False, new_col_labels=None)[source]

    Bases: QueryOp

    Add a column to some columns.

    @@ -257,13 +328,15 @@

    cycquery.ops.AddColumn

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -282,66 +355,92 @@

    cycquery.ops.AddColumn - -

    + +
    + +
    - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.AddDeltaColumn.html b/reference/api/_autosummary/cycquery.ops.AddDeltaColumn.html index 43a8ff7..768a5d4 100644 --- a/reference/api/_autosummary/cycquery.ops.AddDeltaColumn.html +++ b/reference/api/_autosummary/cycquery.ops.AddDeltaColumn.html @@ -1,138 +1,196 @@ + + + + + + + + + cycquery.ops.AddDeltaColumn - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.AddDeltaColumn — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.AddDeltaColumn

    -class AddDeltaColumn(add_to, negative=False, new_col_labels=None, **delta_kwargs)[source]
    +class AddDeltaColumn(add_to, negative=False, new_col_labels=None, **delta_kwargs)[source]

    Bases: QueryOp

    Construct and add an interval column to some columns.

    @@ -251,13 +322,15 @@

    cycquery.ops.AddDeltaColumnMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -276,66 +349,92 @@

    cycquery.ops.AddDeltaColumn + +
    +
    + Next +
    +
    cycquery.ops.AddDeltaConstant
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.AddColumn
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.AddDeltaConstant.html b/reference/api/_autosummary/cycquery.ops.AddDeltaConstant.html index 584e7f1..3c3f637 100644 --- a/reference/api/_autosummary/cycquery.ops.AddDeltaConstant.html +++ b/reference/api/_autosummary/cycquery.ops.AddDeltaConstant.html @@ -1,139 +1,197 @@ + + + + + + + + + cycquery.ops.AddDeltaConstant - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.AddDeltaConstant — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.AddDeltaConstant

    -class AddDeltaConstant(add_to, delta, new_col_labels=None)[source]
    +class AddDeltaConstant(add_to, delta, new_col_labels=None)[source]

    Bases: QueryOp

    Construct and add a datetime.timedelta object to some columns.

    @@ -249,13 +320,15 @@

    cycquery.ops.AddDeltaConstantMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -274,66 +347,92 @@

    cycquery.ops.AddDeltaConstant + +
    +
    + Next +
    +
    cycquery.ops.AddNumeric
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.AddDeltaColumn
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.AddNumeric.html b/reference/api/_autosummary/cycquery.ops.AddNumeric.html index f1a3df4..e862615 100644 --- a/reference/api/_autosummary/cycquery.ops.AddNumeric.html +++ b/reference/api/_autosummary/cycquery.ops.AddNumeric.html @@ -1,140 +1,198 @@ + + + + + + + + + cycquery.ops.AddNumeric - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.AddNumeric — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.AddNumeric

    -class AddNumeric(add_to, add, new_col_labels=None)[source]
    +class AddNumeric(add_to, add, new_col_labels=None)[source]

    Bases: QueryOp

    Add a numeric value to some columns.

    @@ -251,13 +322,15 @@

    cycquery.ops.AddNumeric

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -276,66 +349,92 @@

    cycquery.ops.AddNumeric - -

    + +
    + +
    - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.And.html b/reference/api/_autosummary/cycquery.ops.And.html index 3d8912f..86214c5 100644 --- a/reference/api/_autosummary/cycquery.ops.And.html +++ b/reference/api/_autosummary/cycquery.ops.And.html @@ -1,141 +1,199 @@ + + + + + + + + + cycquery.ops.And - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.And — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Apply.html b/reference/api/_autosummary/cycquery.ops.Apply.html index d95c265..afe2eaf 100644 --- a/reference/api/_autosummary/cycquery.ops.Apply.html +++ b/reference/api/_autosummary/cycquery.ops.Apply.html @@ -1,142 +1,200 @@ + + + + + + + + + cycquery.ops.Apply - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Apply — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Apply

    -class Apply(cols, funcs, new_cols=None)[source]
    +class Apply(cols, funcs, new_cols=None)[source]

    Bases: QueryOp

    Apply function(s) to column(s).

    The function can take a sqlalchemy column object and also return a column object. @@ -255,13 +326,15 @@

    cycquery.ops.ApplyMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -280,66 +353,92 @@

    cycquery.ops.Apply + +
    +
    + Next +
    +
    cycquery.ops.Cast
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.And
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Cast.html b/reference/api/_autosummary/cycquery.ops.Cast.html index 3bc1237..6093365 100644 --- a/reference/api/_autosummary/cycquery.ops.Cast.html +++ b/reference/api/_autosummary/cycquery.ops.Cast.html @@ -1,143 +1,201 @@ + + + + + + + + + cycquery.ops.Cast - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Cast — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Cast

    -class Cast(cols, type_)[source]
    +class Cast(cols, type_)[source]

    Bases: QueryOp

    Cast columns to a specified type.

    Currently supporting conversions to str, int, float, date, bool and timestamp.

    @@ -251,13 +322,15 @@

    cycquery.ops.CastMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -276,66 +349,92 @@

    cycquery.ops.Cast + +
    +
    + Next +
    +
    cycquery.ops.ConditionAfterDate
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.Apply
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionAfterDate.html b/reference/api/_autosummary/cycquery.ops.ConditionAfterDate.html index 682d60d..1a41ca0 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionAfterDate.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionAfterDate.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionAfterDate - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionAfterDate — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionAfterDate

    -class ConditionAfterDate(timestamp_col, timestamp, not_=False, binarize_col=None)[source]
    +class ConditionAfterDate(timestamp_col, timestamp, not_=False, binarize_col=None)[source]

    Bases: QueryOp

    Filter rows based on a timestamp being after some date.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionAfterDateMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionAfterDate + +
    +
    + Next +
    +
    cycquery.ops.ConditionBeforeDate
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.Cast
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionBeforeDate.html b/reference/api/_autosummary/cycquery.ops.ConditionBeforeDate.html index 7566985..6201542 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionBeforeDate.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionBeforeDate.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionBeforeDate - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionBeforeDate — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionBeforeDate

    -class ConditionBeforeDate(timestamp_col, timestamp, not_=False, binarize_col=None)[source]
    +class ConditionBeforeDate(timestamp_col, timestamp, not_=False, binarize_col=None)[source]

    Bases: QueryOp

    Filter rows based on a timestamp being before some date.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionBeforeDateMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionBeforeDate + +
    +
    + Next +
    +
    cycquery.ops.ConditionEndsWith
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionAfterDate
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionEndsWith.html b/reference/api/_autosummary/cycquery.ops.ConditionEndsWith.html index fcfbc2a..62680a6 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionEndsWith.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionEndsWith.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionEndsWith - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionEndsWith — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionEndsWith

    -class ConditionEndsWith(col, string, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionEndsWith(col, string, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows based on ending with some string.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionEndsWithMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionEndsWith + +
    +
    + Next +
    +
    cycquery.ops.ConditionEquals
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionBeforeDate
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionEquals.html b/reference/api/_autosummary/cycquery.ops.ConditionEquals.html index 80df546..9f232e5 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionEquals.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionEquals.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionEquals - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionEquals — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionEquals

    -class ConditionEquals(col, value, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionEquals(col, value, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows based on being equal, or not equal, to some value.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionEqualsMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionEquals + +
    +
    + Next +
    +
    cycquery.ops.ConditionGreaterThan
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionEndsWith
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionGreaterThan.html b/reference/api/_autosummary/cycquery.ops.ConditionGreaterThan.html index 1060bbc..c651d5f 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionGreaterThan.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionGreaterThan.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionGreaterThan - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionGreaterThan — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionGreaterThan

    -class ConditionGreaterThan(col, value, equal=False, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionGreaterThan(col, value, equal=False, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows based on greater than (or equal), to some value.

    @@ -250,13 +321,15 @@

    cycquery.ops.ConditionGreaterThanMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -278,66 +351,92 @@

    cycquery.ops.ConditionGreaterThan + +
    +
    + Next +
    +
    cycquery.ops.ConditionIn
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionEquals
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionIn.html b/reference/api/_autosummary/cycquery.ops.ConditionIn.html index ca09260..c922c6c 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionIn.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionIn.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionIn - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionIn — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionIn

    -class ConditionIn(col, values, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionIn(col, values, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows based on having a value in list of values.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionInMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionIn + +
    +
    + Next +
    +
    cycquery.ops.ConditionInMonths
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionGreaterThan
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionInMonths.html b/reference/api/_autosummary/cycquery.ops.ConditionInMonths.html index ec4d4bc..d0e052a 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionInMonths.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionInMonths.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionInMonths - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionInMonths — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionInMonths

    -class ConditionInMonths(timestamp_col, months, not_=False, binarize_col=None)[source]
    +class ConditionInMonths(timestamp_col, months, not_=False, binarize_col=None)[source]

    Bases: QueryOp

    Filter rows based on a timestamp being in a list of years.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionInMonthsMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionInMonths + +
    +
    + Next +
    +
    cycquery.ops.ConditionInYears
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionIn
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionInYears.html b/reference/api/_autosummary/cycquery.ops.ConditionInYears.html index cfa1c06..ae78609 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionInYears.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionInYears.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionInYears - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionInYears — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionInYears

    -class ConditionInYears(timestamp_col, years, not_=False, binarize_col=None)[source]
    +class ConditionInYears(timestamp_col, years, not_=False, binarize_col=None)[source]

    Bases: QueryOp

    Filter rows based on a timestamp column being in a list of years.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionInYearsMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionInYears + +
    +
    + Next +
    +
    cycquery.ops.ConditionLessThan
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionInMonths
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionLessThan.html b/reference/api/_autosummary/cycquery.ops.ConditionLessThan.html index 83e024f..944f777 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionLessThan.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionLessThan.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionLessThan - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionLessThan — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionLessThan

    -class ConditionLessThan(col, value, equal=False, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionLessThan(col, value, equal=False, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows based on less than (or equal), to some value.

    @@ -250,13 +321,15 @@

    cycquery.ops.ConditionLessThanMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -278,66 +351,92 @@

    cycquery.ops.ConditionLessThan + +
    +
    + Next +
    +
    cycquery.ops.ConditionLike
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionInYears
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionLike.html b/reference/api/_autosummary/cycquery.ops.ConditionLike.html index 70e3d03..747159e 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionLike.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionLike.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionLike - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionLike — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionLike

    -class ConditionLike(col, pattern, not_=False, binarize_col=None)[source]
    +class ConditionLike(col, pattern, not_=False, binarize_col=None)[source]

    Bases: QueryOp

    Filter rows by a LIKE condition.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionLikeMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionLike + +
    +
    + Next +
    +
    cycquery.ops.ConditionRegexMatch
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionLessThan
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionRegexMatch.html b/reference/api/_autosummary/cycquery.ops.ConditionRegexMatch.html index 47128de..97cb714 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionRegexMatch.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionRegexMatch.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionRegexMatch - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionRegexMatch — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionRegexMatch

    -class ConditionRegexMatch(col, regex, not_=False, binarize_col=None)[source]
    +class ConditionRegexMatch(col, regex, not_=False, binarize_col=None)[source]

    Bases: QueryOp

    Filter rows based on matching a regular expression.

    @@ -248,13 +319,15 @@

    cycquery.ops.ConditionRegexMatchMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -276,66 +349,92 @@

    cycquery.ops.ConditionRegexMatch + +
    +
    + Next +
    +
    cycquery.ops.ConditionStartsWith
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionLike
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionStartsWith.html b/reference/api/_autosummary/cycquery.ops.ConditionStartsWith.html index 1e22a39..23c3989 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionStartsWith.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionStartsWith.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionStartsWith - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionStartsWith — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionStartsWith

    -class ConditionStartsWith(col, string, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionStartsWith(col, string, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows based on starting with some string.

    @@ -249,13 +320,15 @@

    cycquery.ops.ConditionStartsWithMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -277,66 +350,92 @@

    cycquery.ops.ConditionStartsWith + +
    +
    + Next +
    +
    cycquery.ops.ConditionSubstring
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionRegexMatch
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ConditionSubstring.html b/reference/api/_autosummary/cycquery.ops.ConditionSubstring.html index dfaacb7..b8653a9 100644 --- a/reference/api/_autosummary/cycquery.ops.ConditionSubstring.html +++ b/reference/api/_autosummary/cycquery.ops.ConditionSubstring.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ConditionSubstring - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ConditionSubstring — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ConditionSubstring

    -class ConditionSubstring(col, substrings, any_=True, not_=False, binarize_col=None, **cond_kwargs)[source]
    +class ConditionSubstring(col, substrings, any_=True, not_=False, binarize_col=None, **cond_kwargs)[source]

    Bases: QueryOp

    Filter rows on based on having substrings.

    Can be specified whether it must have any or all of the specified substrings. @@ -254,13 +325,15 @@

    cycquery.ops.ConditionSubstringMethods

    +
    +
    -__call__(table, return_cond=False)[source]
    +__call__(table, return_cond=False)[source]

    Process the table.

    Parameters:
    @@ -282,66 +355,92 @@

    cycquery.ops.ConditionSubstring + +
    +
    + Next +
    +
    cycquery.ops.Count
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.ConditionStartsWith
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Count.html b/reference/api/_autosummary/cycquery.ops.Count.html index 110498c..015395f 100644 --- a/reference/api/_autosummary/cycquery.ops.Count.html +++ b/reference/api/_autosummary/cycquery.ops.Count.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Count - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Count — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Distinct.html b/reference/api/_autosummary/cycquery.ops.Distinct.html index e728f24..d53ed9f 100644 --- a/reference/api/_autosummary/cycquery.ops.Distinct.html +++ b/reference/api/_autosummary/cycquery.ops.Distinct.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Distinct - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Distinct — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Distinct

    -class Distinct(cols)[source]
    +class Distinct(cols)[source]

    Bases: QueryOp

    Get distinct rows.

    @@ -243,13 +314,15 @@

    cycquery.ops.Distinct

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -268,66 +341,92 @@

    cycquery.ops.Distinct - -

    + +
    + +
    - + + +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Drop.html b/reference/api/_autosummary/cycquery.ops.Drop.html index 7f4426f..6484a21 100644 --- a/reference/api/_autosummary/cycquery.ops.Drop.html +++ b/reference/api/_autosummary/cycquery.ops.Drop.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Drop - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Drop — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.DropEmpty.html b/reference/api/_autosummary/cycquery.ops.DropEmpty.html index 5a14ae0..9148fdf 100644 --- a/reference/api/_autosummary/cycquery.ops.DropEmpty.html +++ b/reference/api/_autosummary/cycquery.ops.DropEmpty.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.DropEmpty - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.DropEmpty — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.DropEmpty

    -class DropEmpty(cols)[source]
    +class DropEmpty(cols)[source]

    Bases: QueryOp

    Remove rows with empty values in some specified columns.

    @@ -243,13 +314,15 @@

    cycquery.ops.DropEmpty

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -268,66 +341,92 @@

    cycquery.ops.DropEmpty - -

    + +
    + +
    - + + +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.DropNulls.html b/reference/api/_autosummary/cycquery.ops.DropNulls.html index 83a5a59..f6d547b 100644 --- a/reference/api/_autosummary/cycquery.ops.DropNulls.html +++ b/reference/api/_autosummary/cycquery.ops.DropNulls.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.DropNulls - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.DropNulls — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.DropNulls

    -class DropNulls(cols)[source]
    +class DropNulls(cols)[source]

    Bases: QueryOp

    Remove rows with null values in some specified columns.

    @@ -243,13 +314,15 @@

    cycquery.ops.DropNulls

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -268,66 +341,92 @@

    cycquery.ops.DropNulls - -

    + +
    + +
    - + + +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent.html b/reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent.html index da0277b..7881b78 100644 --- a/reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent.html +++ b/reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ExtractTimestampComponent - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ExtractTimestampComponent — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.ExtractTimestampComponent

    -class ExtractTimestampComponent(timestamp_col, extract_str, label)[source]
    +class ExtractTimestampComponent(timestamp_col, extract_str, label)[source]

    Bases: QueryOp

    Extract a component such as year or month from a timestamp column.

    @@ -247,13 +318,15 @@

    cycquery.ops.ExtractTimestampComponentMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -272,66 +345,92 @@

    cycquery.ops.ExtractTimestampComponent + +
    +
    + Next +
    +
    cycquery.ops.FillNull
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.DropNulls
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.FillNull.html b/reference/api/_autosummary/cycquery.ops.FillNull.html index 8c59b9e..ab95385 100644 --- a/reference/api/_autosummary/cycquery.ops.FillNull.html +++ b/reference/api/_autosummary/cycquery.ops.FillNull.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.FillNull - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.FillNull — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.FillNull

    -class FillNull(cols, fill_values, new_col_names=None)[source]
    +class FillNull(cols, fill_values, new_col_names=None)[source]

    Bases: QueryOp

    Fill NULL values with a given value.

    @@ -248,13 +319,15 @@

    cycquery.ops.FillNull

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Fill NULL values with a given value.

    Parameters:
    @@ -273,66 +346,92 @@

    cycquery.ops.FillNull - -

    + +
    + +
    - + + +
    - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.GroupByAggregate.html b/reference/api/_autosummary/cycquery.ops.GroupByAggregate.html index ee9d7b1..0ce8efe 100644 --- a/reference/api/_autosummary/cycquery.ops.GroupByAggregate.html +++ b/reference/api/_autosummary/cycquery.ops.GroupByAggregate.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.GroupByAggregate - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.GroupByAggregate — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.GroupByAggregate

    -class GroupByAggregate(groupby_cols, aggfuncs, aggseps=None)[source]
    +class GroupByAggregate(groupby_cols, aggfuncs, aggseps=None)[source]

    Bases: QueryOp

    Aggregate over a group by object.

    @@ -256,13 +327,15 @@

    cycquery.ops.GroupByAggregateMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -281,66 +354,92 @@

    cycquery.ops.GroupByAggregate + +
    +
    + Next +
    +
    cycquery.ops.Join
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.FillNull
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Join.html b/reference/api/_autosummary/cycquery.ops.Join.html index 5c64465..e783323 100644 --- a/reference/api/_autosummary/cycquery.ops.Join.html +++ b/reference/api/_autosummary/cycquery.ops.Join.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Join - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Join — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Join

    -class Join(join_table, on=None, on_to_type=None, cond=None, table_cols=None, join_table_cols=None, isouter=False)[source]
    +class Join(join_table, on=None, on_to_type=None, cond=None, table_cols=None, join_table_cols=None, isouter=False)[source]

    Bases: QueryOp

    Join a table with another table.

    @@ -262,13 +333,15 @@

    cycquery.ops.JoinMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -287,66 +360,92 @@

    cycquery.ops.Join + +
    +
    + Next +
    +
    cycquery.ops.Keep
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.GroupByAggregate
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Keep.html b/reference/api/_autosummary/cycquery.ops.Keep.html index 2aa823c..26d7e6e 100644 --- a/reference/api/_autosummary/cycquery.ops.Keep.html +++ b/reference/api/_autosummary/cycquery.ops.Keep.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Keep - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Keep — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Limit.html b/reference/api/_autosummary/cycquery.ops.Limit.html index db77bf0..e9c97d7 100644 --- a/reference/api/_autosummary/cycquery.ops.Limit.html +++ b/reference/api/_autosummary/cycquery.ops.Limit.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Limit - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Limit — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Literal.html b/reference/api/_autosummary/cycquery.ops.Literal.html index 388a32b..e941440 100644 --- a/reference/api/_autosummary/cycquery.ops.Literal.html +++ b/reference/api/_autosummary/cycquery.ops.Literal.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Literal - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Literal — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Literal

    -class Literal(value, col)[source]
    +class Literal(value, col)[source]

    Bases: QueryOp

    Add a literal column to a table.

    @@ -245,13 +316,15 @@

    cycquery.ops.Literal

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -270,66 +343,92 @@

    cycquery.ops.Literal - -

    + +
    + +
    - + + +
    - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Or.html b/reference/api/_autosummary/cycquery.ops.Or.html index 82e8027..d0080ea 100644 --- a/reference/api/_autosummary/cycquery.ops.Or.html +++ b/reference/api/_autosummary/cycquery.ops.Or.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Or - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Or — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.OrderBy.html b/reference/api/_autosummary/cycquery.ops.OrderBy.html index 8746ead..ee5b3e2 100644 --- a/reference/api/_autosummary/cycquery.ops.OrderBy.html +++ b/reference/api/_autosummary/cycquery.ops.OrderBy.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.OrderBy - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.OrderBy — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.OrderBy

    -class OrderBy(cols, ascending=None)[source]
    +class OrderBy(cols, ascending=None)[source]

    Bases: QueryOp

    Order, or sort, the rows of a table by some columns.

    @@ -249,13 +320,15 @@

    cycquery.ops.OrderBy

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -274,66 +347,92 @@

    cycquery.ops.OrderBy - -

    + +
    + +
    - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.QueryOp.html b/reference/api/_autosummary/cycquery.ops.QueryOp.html index d3ccab2..104c6a5 100644 --- a/reference/api/_autosummary/cycquery.ops.QueryOp.html +++ b/reference/api/_autosummary/cycquery.ops.QueryOp.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.QueryOp - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.QueryOp — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.QueryOp

    -class QueryOp(*args, **kwargs)[source]
    +class QueryOp(*args, **kwargs)[source]

    Bases: object

    Base class for query operations.

    Methods

    +
    +
    -abstract __call__(*args, **kwargs)[source]
    +abstract __call__(*args, **kwargs)[source]

    Implement a calling function.

    Return type:
    @@ -252,66 +325,92 @@

    cycquery.ops.QueryOp - -

    + +
    + +
    - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.RandomizeOrder.html b/reference/api/_autosummary/cycquery.ops.RandomizeOrder.html index 265d504..cb62efd 100644 --- a/reference/api/_autosummary/cycquery.ops.RandomizeOrder.html +++ b/reference/api/_autosummary/cycquery.ops.RandomizeOrder.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.RandomizeOrder - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.RandomizeOrder — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.RandomizeOrder

    -class RandomizeOrder(*args, **kwargs)[source]
    +class RandomizeOrder(*args, **kwargs)[source]

    Bases: QueryOp

    Randomize order of table rows.

    Useful when the data is ordered, so certain rows cannot @@ -243,13 +314,15 @@

    cycquery.ops.RandomizeOrderMethods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -268,66 +341,92 @@

    cycquery.ops.RandomizeOrder + +
    +
    + Next +
    +
    cycquery.ops.Rename
    +
    + +
    + + +
    +
    + Previous +
    + +
    cycquery.ops.QueryOp
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Rename.html b/reference/api/_autosummary/cycquery.ops.Rename.html index 9d2ef72..46385d6 100644 --- a/reference/api/_autosummary/cycquery.ops.Rename.html +++ b/reference/api/_autosummary/cycquery.ops.Rename.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Rename - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Rename — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Reorder.html b/reference/api/_autosummary/cycquery.ops.Reorder.html index 0f7287c..2f8a50b 100644 --- a/reference/api/_autosummary/cycquery.ops.Reorder.html +++ b/reference/api/_autosummary/cycquery.ops.Reorder.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Reorder - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Reorder — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Reorder

    -class Reorder(cols)[source]
    +class Reorder(cols)[source]

    Bases: QueryOp

    Reorder the columns in a table.

    @@ -242,13 +313,15 @@

    cycquery.ops.Reorder

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -267,66 +340,92 @@

    cycquery.ops.Reorder - -

    + +
    + +
    - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.ReorderAfter.html b/reference/api/_autosummary/cycquery.ops.ReorderAfter.html index 27edc75..ab6da5f 100644 --- a/reference/api/_autosummary/cycquery.ops.ReorderAfter.html +++ b/reference/api/_autosummary/cycquery.ops.ReorderAfter.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.ReorderAfter - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.ReorderAfter — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Sequential.html b/reference/api/_autosummary/cycquery.ops.Sequential.html index 13a30dd..82f6a2f 100644 --- a/reference/api/_autosummary/cycquery.ops.Sequential.html +++ b/reference/api/_autosummary/cycquery.ops.Sequential.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Sequential - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Sequential — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Sequential

    -class Sequential(*ops: QueryOp)[source]
    +class Sequential(*ops: QueryOp)[source]
    class Sequential(ops: List[QueryOp])
    @@ -249,6 +320,7 @@

    cycquery.ops.Sequential

    Methods

    +
    @@ -265,9 +337,10 @@

    cycquery.ops.Sequential

    append

    +
    -__add__(other)[source]
    +__add__(other)[source]

    Add two Sequential objects.

    Parameters:
    @@ -284,7 +357,7 @@

    cycquery.ops.Sequential
    -__call__(table)[source]
    +__call__(table)[source]

    Execute the query operations on the table.

    Parameters:
    @@ -301,7 +374,7 @@

    cycquery.ops.Sequential
    -__init__(*args)[source]
    +__init__(*args)[source]

    Initialize the class.

    Parameters:
    @@ -312,7 +385,7 @@

    cycquery.ops.Sequential
    -append(op_)[source]
    +append(op_)[source]

    Append a given query op to the end.

    Parameters:
    @@ -329,7 +402,7 @@

    cycquery.ops.Sequential
    -extend(sequential)[source]
    +extend(sequential)[source]

    Extend the sequential query op with another sequential query op.

    Parameters:
    @@ -346,7 +419,7 @@

    cycquery.ops.Sequential
    -insert(index, op_)[source]
    +insert(index, op_)[source]

    Insert a given query op at the given index.

    Parameters:
    @@ -366,7 +439,7 @@

    cycquery.ops.Sequential
    -pop(key)[source]
    +pop(key)[source]

    Pop the query op at the given index.

    Parameters:
    @@ -385,66 +458,98 @@

    cycquery.ops.Sequential - -

    + +
    + +
    - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Substring.html b/reference/api/_autosummary/cycquery.ops.Substring.html index f73f7aa..210310c 100644 --- a/reference/api/_autosummary/cycquery.ops.Substring.html +++ b/reference/api/_autosummary/cycquery.ops.Substring.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Substring - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Substring — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops.Substring

    -class Substring(col, start_index, stop_index, new_col_label=None)[source]
    +class Substring(col, start_index, stop_index, new_col_label=None)[source]

    Bases: QueryOp

    Get substring of a string column.

    @@ -248,13 +319,15 @@

    cycquery.ops.Substring

    Methods

    +
    +
    -__call__(table)[source]
    +__call__(table)[source]

    Process the table.

    Parameters:
    @@ -273,66 +346,92 @@

    cycquery.ops.Substring - -

    + +
    + + - + + + - - - + + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Trim.html b/reference/api/_autosummary/cycquery.ops.Trim.html index e74743b..07ef4cc 100644 --- a/reference/api/_autosummary/cycquery.ops.Trim.html +++ b/reference/api/_autosummary/cycquery.ops.Trim.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Trim - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Trim — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.Union.html b/reference/api/_autosummary/cycquery.ops.Union.html index cb7badd..cced471 100644 --- a/reference/api/_autosummary/cycquery.ops.Union.html +++ b/reference/api/_autosummary/cycquery.ops.Union.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops.Union - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops.Union — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/_autosummary/cycquery.ops.html b/reference/api/_autosummary/cycquery.ops.html index f548c49..d51d468 100644 --- a/reference/api/_autosummary/cycquery.ops.html +++ b/reference/api/_autosummary/cycquery.ops.html @@ -1,136 +1,194 @@ + + + + + + + + + cycquery.ops - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery.ops — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery.ops

    Query operations.

    Classes

    +
    @@ -360,68 +434,73 @@

    AddColumn

    +
    - -
    + +
    +
    - + + +
    +
    - - - +
    + + + + + + + + + \ No newline at end of file diff --git a/reference/api/cycquery.html b/reference/api/cycquery.html index c1a0009..2181fa1 100644 --- a/reference/api/cycquery.html +++ b/reference/api/cycquery.html @@ -1,143 +1,261 @@ + + + + + + + + + cycquery - cycquery documentation + + + + + + + - - - - - - - - - - - cycquery — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    cycquery

    The query API provides classes to query EHR databases.

    +
    @@ -199,8 +313,10 @@

    interface

    +
    -

    dataset APIs

    +

    dataset APIs

    +
    @@ -220,69 +336,93 @@

    dataset APIs + +
    +
    + Next +
    +
    cycquery.interface
    +
    + +
    + + +
    +
    + Previous +
    + +
    API Reference
    + +
    +
    + +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    + - - - + + + + + + + + + + \ No newline at end of file diff --git a/search.html b/search.html index 4dd9a93..c24cb39 100644 --- a/search.html +++ b/search.html @@ -1,245 +1,358 @@ + + + + + + + Search - cycquery documentation + + + + + + - - - - - - - - - - Search — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    +
    +
    -
    +
    + + +
    - -
    +
    - + +
    +
    - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/searchindex.js b/searchindex.js index f616fe6..ef68a83 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api", "contributing", "index", "intro", "reference/api/_autosummary/cycquery.base", "reference/api/_autosummary/cycquery.base.DatasetQuerier", "reference/api/_autosummary/cycquery.eicu", "reference/api/_autosummary/cycquery.eicu.EICUQuerier", "reference/api/_autosummary/cycquery.gemini", "reference/api/_autosummary/cycquery.gemini.GEMINIQuerier", "reference/api/_autosummary/cycquery.interface", "reference/api/_autosummary/cycquery.interface.QueryInterface", "reference/api/_autosummary/cycquery.mimiciii", "reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier", "reference/api/_autosummary/cycquery.mimiciv", "reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier", "reference/api/_autosummary/cycquery.omop", "reference/api/_autosummary/cycquery.omop.OMOPQuerier", "reference/api/_autosummary/cycquery.ops", "reference/api/_autosummary/cycquery.ops.AddColumn", "reference/api/_autosummary/cycquery.ops.AddDeltaColumn", "reference/api/_autosummary/cycquery.ops.AddDeltaConstant", "reference/api/_autosummary/cycquery.ops.AddNumeric", "reference/api/_autosummary/cycquery.ops.And", "reference/api/_autosummary/cycquery.ops.Apply", "reference/api/_autosummary/cycquery.ops.Cast", "reference/api/_autosummary/cycquery.ops.ConditionAfterDate", "reference/api/_autosummary/cycquery.ops.ConditionBeforeDate", "reference/api/_autosummary/cycquery.ops.ConditionEndsWith", "reference/api/_autosummary/cycquery.ops.ConditionEquals", "reference/api/_autosummary/cycquery.ops.ConditionGreaterThan", "reference/api/_autosummary/cycquery.ops.ConditionIn", "reference/api/_autosummary/cycquery.ops.ConditionInMonths", "reference/api/_autosummary/cycquery.ops.ConditionInYears", "reference/api/_autosummary/cycquery.ops.ConditionLessThan", "reference/api/_autosummary/cycquery.ops.ConditionLike", "reference/api/_autosummary/cycquery.ops.ConditionRegexMatch", "reference/api/_autosummary/cycquery.ops.ConditionStartsWith", "reference/api/_autosummary/cycquery.ops.ConditionSubstring", "reference/api/_autosummary/cycquery.ops.Count", "reference/api/_autosummary/cycquery.ops.Distinct", "reference/api/_autosummary/cycquery.ops.Drop", "reference/api/_autosummary/cycquery.ops.DropEmpty", "reference/api/_autosummary/cycquery.ops.DropNulls", "reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent", "reference/api/_autosummary/cycquery.ops.FillNull", "reference/api/_autosummary/cycquery.ops.GroupByAggregate", "reference/api/_autosummary/cycquery.ops.Join", "reference/api/_autosummary/cycquery.ops.Keep", "reference/api/_autosummary/cycquery.ops.Limit", "reference/api/_autosummary/cycquery.ops.Literal", "reference/api/_autosummary/cycquery.ops.Or", "reference/api/_autosummary/cycquery.ops.OrderBy", "reference/api/_autosummary/cycquery.ops.QueryOp", "reference/api/_autosummary/cycquery.ops.RandomizeOrder", "reference/api/_autosummary/cycquery.ops.Rename", "reference/api/_autosummary/cycquery.ops.Reorder", "reference/api/_autosummary/cycquery.ops.ReorderAfter", "reference/api/_autosummary/cycquery.ops.Sequential", "reference/api/_autosummary/cycquery.ops.Substring", "reference/api/_autosummary/cycquery.ops.Trim", "reference/api/_autosummary/cycquery.ops.Union", "reference/api/cycquery", "tutorials", "tutorials/eicu", "tutorials/gemini", "tutorials/mimiciii", "tutorials/mimiciv", "tutorials/omop"], "filenames": ["api.rst", "contributing.rst", "index.rst", "intro.rst", "reference/api/_autosummary/cycquery.base.rst", "reference/api/_autosummary/cycquery.base.DatasetQuerier.rst", "reference/api/_autosummary/cycquery.eicu.rst", "reference/api/_autosummary/cycquery.eicu.EICUQuerier.rst", "reference/api/_autosummary/cycquery.gemini.rst", "reference/api/_autosummary/cycquery.gemini.GEMINIQuerier.rst", "reference/api/_autosummary/cycquery.interface.rst", "reference/api/_autosummary/cycquery.interface.QueryInterface.rst", "reference/api/_autosummary/cycquery.mimiciii.rst", "reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier.rst", "reference/api/_autosummary/cycquery.mimiciv.rst", "reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier.rst", "reference/api/_autosummary/cycquery.omop.rst", "reference/api/_autosummary/cycquery.omop.OMOPQuerier.rst", "reference/api/_autosummary/cycquery.ops.rst", "reference/api/_autosummary/cycquery.ops.AddColumn.rst", "reference/api/_autosummary/cycquery.ops.AddDeltaColumn.rst", "reference/api/_autosummary/cycquery.ops.AddDeltaConstant.rst", "reference/api/_autosummary/cycquery.ops.AddNumeric.rst", "reference/api/_autosummary/cycquery.ops.And.rst", "reference/api/_autosummary/cycquery.ops.Apply.rst", "reference/api/_autosummary/cycquery.ops.Cast.rst", "reference/api/_autosummary/cycquery.ops.ConditionAfterDate.rst", "reference/api/_autosummary/cycquery.ops.ConditionBeforeDate.rst", "reference/api/_autosummary/cycquery.ops.ConditionEndsWith.rst", "reference/api/_autosummary/cycquery.ops.ConditionEquals.rst", "reference/api/_autosummary/cycquery.ops.ConditionGreaterThan.rst", "reference/api/_autosummary/cycquery.ops.ConditionIn.rst", "reference/api/_autosummary/cycquery.ops.ConditionInMonths.rst", "reference/api/_autosummary/cycquery.ops.ConditionInYears.rst", "reference/api/_autosummary/cycquery.ops.ConditionLessThan.rst", "reference/api/_autosummary/cycquery.ops.ConditionLike.rst", "reference/api/_autosummary/cycquery.ops.ConditionRegexMatch.rst", "reference/api/_autosummary/cycquery.ops.ConditionStartsWith.rst", "reference/api/_autosummary/cycquery.ops.ConditionSubstring.rst", "reference/api/_autosummary/cycquery.ops.Count.rst", "reference/api/_autosummary/cycquery.ops.Distinct.rst", "reference/api/_autosummary/cycquery.ops.Drop.rst", "reference/api/_autosummary/cycquery.ops.DropEmpty.rst", "reference/api/_autosummary/cycquery.ops.DropNulls.rst", "reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent.rst", "reference/api/_autosummary/cycquery.ops.FillNull.rst", "reference/api/_autosummary/cycquery.ops.GroupByAggregate.rst", "reference/api/_autosummary/cycquery.ops.Join.rst", "reference/api/_autosummary/cycquery.ops.Keep.rst", "reference/api/_autosummary/cycquery.ops.Limit.rst", "reference/api/_autosummary/cycquery.ops.Literal.rst", "reference/api/_autosummary/cycquery.ops.Or.rst", "reference/api/_autosummary/cycquery.ops.OrderBy.rst", "reference/api/_autosummary/cycquery.ops.QueryOp.rst", "reference/api/_autosummary/cycquery.ops.RandomizeOrder.rst", "reference/api/_autosummary/cycquery.ops.Rename.rst", "reference/api/_autosummary/cycquery.ops.Reorder.rst", "reference/api/_autosummary/cycquery.ops.ReorderAfter.rst", "reference/api/_autosummary/cycquery.ops.Sequential.rst", "reference/api/_autosummary/cycquery.ops.Substring.rst", "reference/api/_autosummary/cycquery.ops.Trim.rst", "reference/api/_autosummary/cycquery.ops.Union.rst", "reference/api/cycquery.rst", "tutorials.rst", "tutorials/eicu.ipynb", "tutorials/gemini.ipynb", "tutorials/mimiciii.ipynb", "tutorials/mimiciv.ipynb", "tutorials/omop.ipynb"], "titles": ["API Reference", "Contributing to cyclops-query", "Welcome to cyclops-query\u2019s documentation!", "cyclops-query", "cycquery.base", "cycquery.base.DatasetQuerier", "cycquery.eicu", "cycquery.eicu.EICUQuerier", "cycquery.gemini", "cycquery.gemini.GEMINIQuerier", "cycquery.interface", "cycquery.interface.QueryInterface", "cycquery.mimiciii", "cycquery.mimiciii.MIMICIIIQuerier", "cycquery.mimiciv", "cycquery.mimiciv.MIMICIVQuerier", "cycquery.omop", "cycquery.omop.OMOPQuerier", "cycquery.ops", "cycquery.ops.AddColumn", "cycquery.ops.AddDeltaColumn", "cycquery.ops.AddDeltaConstant", "cycquery.ops.AddNumeric", "cycquery.ops.And", "cycquery.ops.Apply", "cycquery.ops.Cast", "cycquery.ops.ConditionAfterDate", "cycquery.ops.ConditionBeforeDate", "cycquery.ops.ConditionEndsWith", "cycquery.ops.ConditionEquals", "cycquery.ops.ConditionGreaterThan", "cycquery.ops.ConditionIn", "cycquery.ops.ConditionInMonths", "cycquery.ops.ConditionInYears", "cycquery.ops.ConditionLessThan", "cycquery.ops.ConditionLike", "cycquery.ops.ConditionRegexMatch", "cycquery.ops.ConditionStartsWith", "cycquery.ops.ConditionSubstring", "cycquery.ops.Count", "cycquery.ops.Distinct", "cycquery.ops.Drop", "cycquery.ops.DropEmpty", "cycquery.ops.DropNulls", "cycquery.ops.ExtractTimestampComponent", "cycquery.ops.FillNull", "cycquery.ops.GroupByAggregate", "cycquery.ops.Join", "cycquery.ops.Keep", "cycquery.ops.Limit", "cycquery.ops.Literal", "cycquery.ops.Or", "cycquery.ops.OrderBy", "cycquery.ops.QueryOp", "cycquery.ops.RandomizeOrder", "cycquery.ops.Rename", "cycquery.ops.Reorder", "cycquery.ops.ReorderAfter", "cycquery.ops.Sequential", "cycquery.ops.Substring", "cycquery.ops.Trim", "cycquery.ops.Union", "cycquery", "Tutorials", "eICU-CRD tutorial", "GEMINI tutorial", "MIMIC-III tutorial", "MIMIC-IV tutorial", "OMOP tutorial"], "terms": {"cycqueri": [0, 2, 3, 64, 65, 66, 67, 68], "interfac": [0, 9, 13, 15, 17], "queryinterfac": [0, 9, 13, 15, 17], "__init__": [0, 11, 58], "clear_data": [0, 11], "data": [0, 3, 9, 11, 13, 15, 54, 67, 68], "join": [0, 3, 11, 15, 64, 65, 66, 67, 68], "op": [0, 3, 11, 15, 63, 64, 65, 66, 68], "run": [0, 1, 3, 5, 11, 63, 64, 65, 66, 68], "save": [0, 11], "union": [0, 11, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60], "union_al": [0, 11, 61], "addcolumn": 0, "__call__": [0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "adddeltacolumn": [0, 67], "adddeltaconst": 0, "addnumer": 0, "And": [0, 67], "appli": [0, 1, 15, 19, 20, 21, 22, 60], "cast": [0, 5, 7, 9, 11, 13, 15, 17, 65, 67], "conditionafterd": [0, 65, 67, 68], "conditionbefored": [0, 65], "conditionendswith": 0, "conditionequ": [0, 64, 65, 66, 67], "conditiongreaterthan": 0, "conditionin": [0, 3, 23, 51], "conditioninmonth": 0, "conditioninyear": [0, 67], "conditionlessthan": [0, 66], "conditionlik": [0, 23, 51, 67], "conditionregexmatch": [0, 63], "conditionstartswith": 0, "conditionsubstr": [0, 3, 64, 65, 66, 67, 68], "count": [0, 46, 65, 68], "distinct": [0, 3, 65], "drop": [0, 58], "dropempti": [0, 65], "dropnul": [0, 3], "extracttimestampcompon": 0, "fillnul": 0, "groupbyaggreg": [0, 65], "keep": [0, 47, 63], "limit": [0, 11, 54, 63, 66, 67, 68], "liter": [0, 11], "Or": 0, "orderbi": [0, 65], "queryop": [0, 11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61], "randomizeord": 0, "renam": 0, "reorder": [0, 57], "reorderaft": 0, "sequenti": [0, 3, 11, 64, 65, 66, 67, 68], "__add__": [0, 58], "append": [0, 58], "extend": [0, 58], "insert": [0, 58], "pop": [0, 58], "substr": [0, 3, 38, 63], "trim": 0, "base": [0, 3, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "datasetqueri": [0, 3, 7, 9, 13, 15, 17], "db": [0, 5, 65, 67], "get_tabl": [0, 5, 7, 9, 13, 15, 17], "list_column": [0, 5, 7, 9, 13, 15, 17], "list_custom_t": [0, 5, 7, 9, 13, 15, 17, 66], "list_schema": [0, 5, 7, 9, 13, 15, 17, 67, 68], "list_tabl": [0, 3, 5, 7, 9, 13, 15, 17, 64, 65, 68], "dataset": [0, 5, 7, 9, 11, 13, 15, 17, 63], "mimiciii": [0, 66, 68], "mimiciiiqueri": [0, 63, 68], "chartev": [0, 13, 15, 66, 67], "diagnos": [0, 9, 13, 63], "labev": [0, 13, 15, 66], "mimiciv": [0, 67], "mimicivqueri": [0, 63], "diagnoses_icd": [0, 15, 67], "patient": [0, 9, 15, 63], "procedures_icd": [0, 15], "eicu": [0, 2, 63], "eicuqueri": [0, 63], "omop": [0, 2, 63], "omopqueri": [0, 63], "map_concept_ids_to_nam": [0, 17, 68], "measur": [0, 17, 63], "observ": [0, 17, 68], "person": [0, 17, 68], "visit_detail": [0, 17, 68], "visit_occurr": [0, 17, 68], "gemini": [0, 2, 63], "geminiqueri": [0, 63], "care_unit": [0, 9], "imag": [0, 9], "ip_admin": [0, 9], "room_transf": [0, 9], "thank": 1, "your": 1, "interest": 1, "tool": [1, 3, 63, 64, 65, 66, 67, 68], "To": 1, "submit": 1, "pr": 1, "pleas": 1, "fill": [1, 45], "out": 1, "templat": 1, "along": 1, "If": [1, 17, 19, 20, 21, 22, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 45, 46, 47, 52, 60], "fix": 1, "an": [1, 9, 11, 13, 15, 17, 20, 23, 47, 51, 55], "issu": 1, "don": 1, "t": 1, "forget": 1, "link": 1, "onc": 1, "python": [1, 3, 63], "virtual": 1, "environ": [1, 3], "i": [1, 3, 5, 11, 15, 17, 19, 20, 21, 22, 24, 38, 42, 43, 47, 54, 63, 64, 66, 67, 68], "setup": [1, 64, 65, 66, 67, 68], "you": [1, 3, 63], "can": [1, 3, 5, 7, 9, 13, 15, 17, 24, 38], "us": [1, 2, 5, 7, 9, 11, 13, 15, 17, 20, 23, 40, 46, 47, 51, 54, 61, 63, 64, 65, 66, 68], "all": [1, 3, 11, 38, 52, 55, 61, 63, 65], "file": [1, 5, 11], "For": [1, 17], "style": [1, 47], "we": [1, 68], "recommend": 1, "googl": 1, "guid": 1, "black": 1, "format": [1, 11, 26, 27, 47, 68], "docstr": 1, "numpi": 1, "ruff": 1, "further": 1, "static": 1, "analysi": 1, "The": [1, 3, 5, 11, 15, 20, 24, 48, 62, 63, 64, 66, 67, 68], "show": [1, 64, 65, 66, 67, 68], "error": 1, "which": [1, 5, 11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 68], "need": [1, 59], "befor": [1, 27, 47], "last": 1, "least": 1, "type": [1, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "hint": 1, "our": 1, "check": [1, 55], "mypi": 1, "get": [2, 5, 7, 9, 11, 13, 15, 17, 40, 59, 63], "start": [2, 37, 59], "instal": 2, "pip": 2, "postgresql": [2, 5, 17, 63, 64, 66, 67, 68], "databas": [2, 5, 7, 9, 10, 11, 13, 15, 17, 62, 63, 64, 65, 66, 67, 68], "develop": 2, "poetri": 2, "contribut": 2, "citat": 2, "pre": 2, "commit": 2, "hook": 2, "code": [2, 64, 66, 67, 68], "guidelin": [2, 3], "tutori": 2, "mimic": [2, 12, 13, 14, 15, 63, 68], "iii": [2, 12, 13, 63, 68], "iv": [2, 14, 63], "crd": [2, 6, 63], "api": [2, 3, 5, 7, 9, 13, 15, 16, 17, 63], "refer": [2, 3], "relat": 3, "simpl": 3, "It": [3, 24, 63], "specif": 3, "electron": 3, "health": 3, "record": [3, 63], "ehr": [3, 5, 62, 63, 68], "wrapper": [3, 63], "around": [3, 63], "sqlalchemi": [3, 5, 7, 9, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63], "write": 3, "sql": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63], "like": [3, 17, 35], "includ": [3, 30, 34], "condit": [3, 11, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 68], "groupbi": 3, "aggreg": [3, 46], "mani": [3, 63], "more": 3, "python3": 3, "m": [3, 66], "from": [3, 9, 11, 15, 17, 44, 47, 55, 60, 63, 64, 66, 68], "import": [3, 63], "qo": [3, 64, 65, 66, 67, 68], "querier": [3, 4, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "dbm": [3, 5, 7, 9, 13, 15, 17, 64, 66, 67, 68], "port": [3, 5, 7, 9, 13, 15, 17, 64, 66, 67, 68], "5432": [3, 17, 64, 66, 67, 68], "host": [3, 5, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "localhost": [3, 17, 64, 66, 67, 68], "dbname": 3, "user": [3, 5, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "usenam": 3, "password": [3, 5, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "list": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 25, 31, 32, 33, 38, 40, 41, 42, 43, 45, 46, 47, 48, 51, 52, 56, 57, 58, 60, 64, 65, 66, 67, 68], "tabl": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 66, 68], "some": [3, 19, 20, 21, 22, 26, 27, 28, 29, 30, 34, 37, 41, 42, 43, 52, 55, 60], "schema": [3, 5, 7, 9, 13, 15, 17, 67, 68], "somet": 3, "filter": [3, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 63], "e": [3, 5, 44, 47, 50], "g": [3, 5, 44, 47, 50], "match": [3, 36, 68], "col1": [3, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 45, 47, 48, 50, 52, 55, 56, 57, 58, 59, 60], "panda": [3, 11, 68], "datafram": [3, 11], "df": 3, "creat": [3, 5, 11, 19, 20, 21, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 60, 63], "oper": [3, 11, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "perform": [3, 11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 68], "col2": [3, 19, 20, 21, 22, 24, 25, 41, 42, 43, 45, 47, 48, 52, 56, 57, 58, 60], "1": [3, 11, 21, 22, 24, 26, 27, 29, 30, 31, 32, 34, 45, 50, 63], "2": [3, 14, 22, 24, 31, 32, 59, 63, 65], "col3": [3, 19, 20, 47, 57], "set": [3, 11, 63], "up": 3, "henc": 3, "make": [3, 38], "sure": 3, "sourc": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "env": 3, "info": [3, 9, 64, 65, 66, 67, 68], "path": [3, 5, 11], "bin": 3, "activ": 3, "In": 3, "order": [3, 11, 52, 54, 56, 57], "depend": 3, "test": [3, 63], "codestyl": 3, "unit": [3, 9], "integr": 3, "built": 3, "sphinx": 3, "local": 3, "doc": 3, "cd": 3, "html": 3, "sphinxopt": 3, "d": 3, "nbsphinx_allow_error": 3, "true": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 35, 38, 52, 55, 61, 64, 65, 67, 68], "welcom": 3, "see": 3, "cite": 3, "when": [3, 5, 38, 47, 54], "project": 3, "research": 3, "paper": 3, "articl": 3, "krishnan2022": 3, "12": 3, "02": 3, "22283021": 3, "author": 3, "krishnan": 3, "amrit": 3, "subasri": 3, "vallijah": 3, "mckeen": 3, "kaden": 3, "kore": 3, "ali": 3, "ogidi": 3, "franklin": 3, "alinoori": 3, "mahshid": 3, "lalani": 3, "nadim": 3, "dhalla": 3, "azra": 3, "verma": 3, "amol": 3, "razak": 3, "fahad": 3, "pandya": 3, "deval": 3, "dolatabadi": 3, "elham": 3, "titl": [3, 63], "cyclic": 3, "toward": 3, "operation": 3, "ml": 3, "model": [3, 68], "eloc": 3, "id": [3, 17], "2022": [3, 68], "year": [3, 15, 32, 33, 44, 63, 68], "doi": 3, "10": [3, 49, 63, 64, 66, 68], "1101": 3, "publish": 3, "cold": 3, "spring": 3, "harbor": 3, "laboratori": 3, "press": 3, "url": 3, "http": 3, "www": 3, "medrxiv": 3, "org": 3, "content": 3, "earli": 3, "08": [3, 64, 66, 67, 68], "journal": 3, "class": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "none": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 45, 46, 47, 52, 59, 60], "object": [5, 9, 10, 11, 13, 15, 17, 20, 21, 24, 26, 27, 46, 53, 58, 63], "queri": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 23, 49, 51, 53, 58, 62, 63, 64, 65, 66, 68], "orm": [5, 11, 63, 64, 65, 66, 67, 68], "paramet": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 64, 66, 67, 68], "str": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 55, 56, 57, 58, 59, 60, 67], "manag": 5, "system": 5, "mysql": 5, "sqlite": 5, "option": [5, 7, 9, 11, 13, 15, 17, 19, 20, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 46, 47, 61], "usernam": [5, 64, 65, 66, 67, 68], "default": [5, 11, 37], "empti": [5, 42], "Not": 5, "pwd": [5, 64, 66, 67, 68], "address": 5, "int": [5, 11, 22, 25, 32, 33, 47, 49, 58, 59], "number": [5, 39, 49, 57, 63], "name": [5, 7, 9, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 45, 46, 47, 51, 55, 56, 57, 59, 68], "note": [5, 15, 64, 68], "thi": [5, 22, 38, 46, 47, 64, 65, 66, 67, 68], "intend": 5, "subclass": 5, "provid": [5, 7, 9, 13, 15, 17, 24, 38, 45, 46, 52, 62, 68], "method": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66], "automat": 5, "ar": [5, 15, 24, 47], "after": [5, 15, 24, 26, 57, 58, 63], "self": 5, "schema_nam": [5, 7, 9, 13, 15, 17, 68], "table_nam": [5, 7, 9, 13, 15, 17], "instanti": [5, 63], "custom": [5, 7, 9, 13, 15, 17, 66], "build": [5, 63], "cast_timestamp_col": [5, 7, 9, 13, 15, 17], "possibli": [5, 7, 9, 13, 15, 17], "map": [5, 7, 9, 13, 15, 17, 55], "column": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 55, 56, 57, 59, 60], "have": [5, 7, 9, 13, 15, 17, 31, 38, 47, 63], "standard": [5, 7, 9, 13, 15, 17], "allow": [5, 7, 9, 13, 15, 17, 63], "recogn": [5, 7, 9, 13, 15, 17], "downstream": [5, 7, 9, 13, 15, 17], "process": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61], "bool": [5, 7, 9, 11, 13, 15, 17, 19, 20, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 52, 55, 61], "whether": [5, 7, 9, 11, 13, 15, 17, 38, 52, 55, 61], "timestamp": [5, 7, 9, 13, 15, 17, 25, 26, 27, 32, 33, 44, 65], "datetim": [5, 7, 9, 13, 15, 17, 21, 26, 27], "return": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 68], "select": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 67], "subqueri": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "modul": [6, 8, 12, 14, 15], "support": [6, 12, 14, 25], "care": [9, 15], "fetch": [9, 11], "transfer": 9, "multipl": [9, 23, 24, 46, 51], "construct": [9, 13, 15, 17, 20, 21], "wrap": [9, 10, 11, 13, 15, 17], "diagnosi": [9, 13, 15, 64], "report": [9, 63], "encount": [9, 63], "room": 9, "A": [10, 11, 21, 26, 27, 47], "dataclass": 11, "them": 11, "dbtabl": [11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61], "initi": [11, 58], "chain": [11, 58], "attribut": 11, "clear": 11, "contain": [11, 63], "thu": 11, "properti": 11, "join_tabl": [11, 47, 64, 66, 67, 68], "on_to_typ": [11, 47], "cond": [11, 47], "table_col": [11, 47], "join_table_col": [11, 47], "isout": [11, 47, 68], "fals": [11, 19, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 52, 61, 65], "anoth": [11, 47, 55, 58], "tupl": [11, 47], "": [11, 17, 24, 45, 64, 65, 66, 67, 68], "binaryexpress": [11, 47], "origin": 11, "outer": [11, 47], "ad": [11, 19, 20, 21, 22, 58], "index_col": [11, 67], "batch_mod": [11, 67], "batch_siz": [11, 67], "1000000": 11, "dtype_backend": 11, "pyarrow": [11, 68], "No": [11, 68], "row": [11, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 49, 52, 54, 63, 65, 66, 67, 68], "backend": 11, "comput": 11, "framework": 11, "dask": 11, "becom": [11, 54], "index": [11, 58, 59, 63], "defin": 11, "partit": [11, 63], "should": 11, "server": 11, "ani": [11, 20, 28, 29, 30, 31, 34, 37, 38, 45, 50], "batch": [11, 63], "mode": 11, "gener": [11, 68], "size": 11, "million": 11, "result": [11, 58, 64, 66, 67, 68], "file_format": 11, "parquet": 11, "where": [11, 59], "csv": [11, 68], "upstream": 11, "other": [11, 19, 57, 58], "0": [14, 45, 59, 64, 65, 66, 67, 68], "icu": 15, "chart": [15, 63], "event": [15, 63], "lab": [15, 63, 65], "hospit": [15, 63], "function": [15, 19, 20, 21, 22, 24, 46, 53, 60, 63, 64, 65, 66, 67, 68], "infer": 15, "approxim": 15, "receiv": 15, "anchor_year": 15, "anchor_year_group": 15, "suppli": 15, "dod": 15, "adjust": 15, "procedur": 15, "src_tabl": 17, "src_col": 17, "dst_col": 17, "concept": [17, 68], "each": [17, 24, 52, 63, 64, 66, 67, 68], "somecol_concept_id": 17, "somecol_concept_nam": 17, "specifi": [17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 43, 46, 47, 48, 57, 60], "accord": [17, 64, 66, 67, 68], "correspond": [17, 42, 43], "consid": 17, "assign": 17, "add_to": [19, 20, 21, 22], "col": [19, 24, 25, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 48, 50, 52, 56, 57, 59, 60], "neg": [19, 20], "new_col_label": [19, 20, 21, 22, 59, 60], "add": [19, 20, 21, 22, 50, 58], "being": [19, 20, 21, 22, 26, 27, 29, 32, 33], "subtract": [19, 20], "rather": [19, 20], "than": [19, 20, 30, 34, 63], "new": [19, 20, 21, 22, 24, 45, 46, 50, 56, 59, 60], "label": [19, 20, 21, 22, 44, 46, 50, 60, 66, 67], "otherwis": [19, 20, 21, 22, 60], "exist": [19, 20, 21, 22, 55, 60], "exampl": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 63], "col1_plus_col2": [19, 20], "col1_plus_col3": 19, "col2_plus_col3": 19, "pai": 19, "attent": 19, "combin": [19, 23, 51], "work": 19, "wherea": 19, "delta_kwarg": 20, "interv": 20, "argument": [20, 28, 29, 30, 31, 34, 37, 38], "delta": 21, "timedelta": 21, "dai": 21, "col1_plus_1": [21, 22], "numer": 22, "valu": [22, 29, 30, 31, 34, 42, 43, 45, 46, 47, 50], "float": [22, 25], "col2_plus_1": 22, "cond_op": [23, 51], "lab_nam": [23, 35, 46, 51], "hba1c": [23, 35, 51], "john": [23, 51], "jane": [23, 51], "return_cond": [23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 51], "instead": [23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 51], "func": 24, "new_col": 24, "take": [24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 63], "also": 24, "singl": 24, "assum": [24, 64, 66, 67, 68], "input": 24, "callabl": 24, "lambda": 24, "x": 24, "col1_new": [24, 45, 55], "y": 24, "col2_new": [24, 45], "noqa": 24, "e501": 24, "pylint": 24, "disabl": 24, "line": 24, "too": 24, "long": [24, 63], "type_": 25, "current": 25, "convers": 25, "date": [25, 26, 27], "convert": [25, 47], "must": [25, 31, 32, 33, 38, 46], "timestamp_col": [26, 27, 32, 33, 44], "not_": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "binarize_col": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "yyyi": [26, 27], "mm": [26, 27], "dd": [26, 27], "negat": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "boolean": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "2020": [26, 27, 33, 63], "01": [26, 27, 65, 67, 68], "col1_bool": [26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "string": [28, 37, 46, 47, 50, 59, 60, 63], "cond_kwarg": [28, 29, 30, 31, 34, 37, 38], "end": [28, 58, 63], "keyword": [28, 29, 30, 31, 34, 37, 38, 61, 63], "equal": [29, 30, 34], "greater": [30, 34], "month": [32, 44], "2019": [33, 68], "less": [34, 63], "pattern": 35, "lab_name_bool": 35, "regex": 36, "regular": 36, "express": 36, "any_": 38, "differ": [38, 47], "onli": [38, 47, 48, 63], "one": [38, 63], "just": 38, "b": 38, "person_id": [39, 40, 46, 68], "visit_id": 40, "remov": [42, 43], "null": [43, 45], "extract_str": 44, "extract": [44, 59, 64, 65, 66, 67, 68], "compon": 44, "time": 44, "inform": 44, "fill_valu": 45, "new_col_nam": [45, 59], "given": [45, 58], "groupby_col": 46, "aggfunc": 46, "aggsep": 46, "over": 46, "group": 46, "dict": [46, 55], "sequenc": [46, 58], "dictionari": 46, "kei": [46, 55, 58], "pair": 46, "prevent": 46, "same": [46, 47], "string_aggfunc": 46, "separ": 46, "string_agg": 46, "visit_count": 46, "lab_name_agg": 46, "repres": 47, "both": 47, "suggest": 47, "oppos": 47, "two": [47, 58, 61], "flag": 47, "sai": 47, "left": 47, "table2": [47, 61], "table1": [47, 61], "neither": 47, "nor": 47, "expens": 47, "cartesian": 47, "product": 47, "integ": 50, "OR": 51, "ascend": [52, 65], "sort": [52, 63], "descend": 52, "arg": [53, 54, 58], "kwarg": [53, 54], "abstract": 53, "implement": 53, "call": 53, "random": 54, "so": 54, "certain": 54, "cannot": 54, "seen": 54, "analyz": 54, "quit": 54, "slow": 54, "larg": 54, "rename_map": 55, "check_exist": 55, "complet": 56, "come": 57, "follow": [57, 68], "ordereddict": 58, "execut": [58, 64, 65, 66, 67, 68], "final": 58, "op_": 58, "slice": 58, "start_index": 59, "stop_index": 59, "ha": 59, "stop": 59, "col1_substr": 59, "whitespac": 60, "col1_trim": 60, "col2_trim": 60, "union_t": 61, "first": [61, 64, 66, 67, 68], "cyclop": [63, 64, 65, 66, 68], "commun": 63, "male": 63, "mortal": 63, "outcom": 63, "femal": 63, "gastroenter": 63, "icd": 63, "9": [63, 68], "3": [63, 65, 68], "potassium": 63, "4": [63, 65, 68], "aado2": 63, "carevu": 63, "valuenum": 63, "20": 63, "admiss": [63, 66], "2021": [63, 68], "later": 63, "approx": 63, "schizophrenia": 63, "2015": [63, 68], "advanc": 63, "chronic": 63, "routin": 63, "vital": [63, 65], "sign": 63, "5": [63, 64, 65, 66, 68], "hemoglobin": 63, "2009": 63, "6": [63, 65, 66, 68], "radiologi": [63, 65], "lymphadenopathi": 63, "infecti": 63, "occur": 63, "togeth": 63, "7": [63, 65, 68], "subject_id": [63, 66], "8": [63, 68], "raw": 63, "discharg": 63, "2014": [63, 68], "100": [63, 66, 67, 68], "diagnosisstr": 63, "teach": 63, "glucos": 63, "medic": 63, "search": 63, "visit": 63, "2010": 63, "sepsi": 63, "1a": 63, "per": 63, "most": 63, "recent": 63, "patient_id_hash": 63, "discharge_date_tim": 63, "1b": 63, "abov": 63, "subset": 63, "who": 63, "were": 63, "between": 63, "april": 63, "march": 63, "31": 63, "2016": [63, 68], "1c": 63, "total": 63, "2a": 63, "how": [63, 64, 66, 67, 68], "sodium": 63, "place": 63, "apr": 63, "mai": 63, "101": 63, "notebook": [64, 65, 66, 67, 68], "quick": [64, 66, 67, 68], "instruct": [64, 66, 67, 68], "postgr": [64, 66, 67, 68], "updat": [64, 66, 67, 68], "config": [64, 66, 67, 68], "pass": [64, 66, 67, 68], "accordingli": [64, 66, 67, 68], "eicu_crd": 64, "2024": [64, 66, 67, 68], "03": [64, 65, 66, 67, 68], "05": [64, 65, 66], "14": [64, 67], "376": 64, "readi": [64, 65, 66, 67, 68], "39": [64, 65, 66, 67, 68], "admissiondrug": 64, "admissiondx": 64, "allergi": 64, "apacheapsvar": 64, "apachepatientresult": 64, "apachepredvar": 64, "careplancareprovid": 64, "careplaneol": 64, "careplangener": 64, "careplango": 64, "careplaninfectiousdiseas": 64, "customlab": 64, "infusiondrug": 64, "intakeoutput": 64, "microlab": 64, "nurseassess": 64, "nursecar": 64, "nursechart": 64, "pasthistori": 64, "physicalexam": 64, "respiratorycar": 64, "respiratorychart": 64, "treatment": 64, "vitalaperiod": 64, "vitalperiod": 64, "hospitaldischargeyear": 64, "gender": [64, 66, 67], "print": [64, 65, 66, 67, 68], "f": [64, 65, 66, 67, 68], "len": [64, 65, 66, 67, 68], "15": [64, 68], "276": 64, "successfulli": [64, 65, 66, 67, 68], "277": 64, "util": [64, 65, 66, 67, 68], "profil": [64, 65, 66, 67, 68], "finish": [64, 65, 66, 67, 68], "run_queri": [64, 65, 66, 67, 68], "052928": 64, "patient_diagnos": 64, "patientunitstayid": 64, "369": 64, "370": 64, "070819": 64, "teachingstatu": 64, "hospitalid": 64, "labnam": 64, "patient_lab": [64, 66], "432": 64, "433": 64, "039567": 64, "drugnam": 64, "patient_med": 64, "625": [64, 66], "626": 64, "168468": 64, "hpc": 65, "ca": 65, "delirium_v4_0_1": 65, "public": [65, 67, 68], "2023": [65, 68], "09": [65, 67, 68], "21": 65, "17": 65, "45": 65, "449": 65, "lookup_icd10_ca_descript": 65, "lookup_statcan": 65, "lookup_cci": 65, "lookup_icd10_ca_to_ccsr": 65, "lookup_ip_administr": 65, "lookup_lab_concept": 65, "lookup_vitals_concept": 65, "lookup_pharmacy_concept": 65, "lookup_diagnosi": 65, "locality_vari": 65, "admdad": 65, "derived_vari": 65, "ipscu": 65, "lookup_phy_characterist": 65, "ipintervent": 65, "lookup_ccsr": 65, "lookup_pharmacy_rout": 65, "lookup_transfusion_concept": 65, "lookup_ip_scu": 65, "lookup_er_administr": 65, "lookup_imag": 65, "pharmaci": 65, "lookup_transf": 65, "ipdiagnosi": 65, "lookup_room_transf": 65, "er": 65, "erdiagnosi": 65, "erintervent": 65, "roomtransf": 65, "transfus": 65, "lookup_hospital_num": 65, "51": 65, "902": 65, "903": 65, "093352": 65, "189734": 65, "04": [65, 68], "encounters_queri": 65, "52": [65, 67], "591": 65, "592": 65, "675141": 65, "32567": 65, "hospital_num": 65, "encounters_per_sit": 65, "856": 65, "857": 65, "145693": 65, "lab_op": 65, "collection_date_tim": 65, "test_type_map": 65, "encounters_lab": 65, "genc_id": 65, "sodium_test": 65, "26": 65, "19": 65, "814": 65, "815": 65, "506": 65, "939296": 65, "9305": 65, "v1": [66, 68], "23": 66, "expire_flag": 66, "30": 66, "478": 66, "480": 66, "039255": 66, "patient_admiss": [66, 67], "long_titl": [66, 67], "patient_admissions_diagnos": [66, 67], "hadm_id": [66, 67], "604": 66, "605": 66, "097194": 66, "665": 66, "667": 66, "032749": 66, "chartevents_op": 66, "dbsourc": 66, "chart_ev": [66, 67], "patient_chart_ev": 66, "06": [66, 67], "41": 66, "183": 66, "185": 66, "70": 66, "485521": 66, "v2": [67, 68], "46": 67, "575": 67, "fhir_etl": 67, "fhir_trm": 67, "information_schema": [67, 68], "mimic_fhir": 67, "mimiciv_deriv": 67, "mimiciv_": 67, "mimiciv_hosp": 67, "mimiciv_icu": 67, "mimiciv_not": 67, "admittim": 67, "dischtim": 67, "anchor_year_differ": 67, "49": 67, "687": 67, "688": 67, "307097": 67, "diagnoses_op": 67, "icd_vers": 67, "50": 67, "600": 67, "601": 67, "874461": 67, "r": 67, "133": 67, "134": [67, 68], "491402": 67, "82": 67, "categori": 67, "patient_admissions_vit": 67, "529": 67, "530": 67, "349428": 67, "patient_admissions_lab": 67, "25": 67, "677": 67, "678": 67, "71": 67, "109498": 67, "radiology_not": 67, "radiology_notes_op": 67, "text": 67, "patient_admissions_radiology_not": 67, "33": 67, "639": 67, "640": 67, "937612": 67, "1000": 67, "patient_admissions_df": 67, "next": 67, "979": 67, "981": 67, "304018": 67, "999": 67, "34": 67, "257": 67, "258": 67, "007239": 67, "common": 68, "showcas": 68, "synthea": 68, "releas": 68, "etl": 68, "load": 68, "hous": 68, "pd": 68, "synthea_integration_test": 68, "cdm_synthea10": 68, "38": 68, "117": 68, "observation_period": 68, "condition_occurr": 68, "drug_exposur": 68, "procedure_occurr": 68, "device_exposur": 68, "death": 68, "note_nlp": 68, "specimen": 68, "fact_relationship": 68, "locat": 68, "care_sit": 68, "payer_plan_period": 68, "cost": 68, "drug_era": 68, "dose_era": 68, "condition_era": 68, "episod": 68, "episode_ev": 68, "metadata": 68, "cdm_sourc": 68, "vocabulari": 68, "domain": 68, "concept_class": 68, "concept_relationship": 68, "relationship": 68, "concept_synonym": 68, "concept_ancestor": 68, "source_to_concept_map": 68, "drug_strength": 68, "cohort": 68, "cohort_definit": 68, "source_to_standard_vocab_map": 68, "source_to_source_vocab_map": 68, "all_visit": 68, "assign_all_visit_id": 68, "final_visit_id": 68, "visit_start_d": 68, "to_datetim": 68, "dt": 68, "value_count": 68, "sort_index": 68, "772": 68, "774": 68, "052621": 68, "2011": 68, "2012": 68, "2013": 68, "13": 68, "2017": 68, "2018": 68, "dtype": 68, "int64": 68, "visits_measur": 68, "visit_occurrence_id": 68, "898": 68, "899": 68, "059497": 68, "repo": 68, "42": 68, "visits_concept_map": 68, "discharge_to_concept_id": 68, "admitting_concept_id": 68, "visits_concept_mapped_di": 68, "discharge_to_concept_nam": 68, "di": 68, "48": 68, "662": 68, "663": 68, "930822": 68, "5815": 68, "gender_concept_nam": 68, "person_visit": 68, "person_visits_condit": 68, "person_visits_conditions_measur": 68, "condition_concept_id": 68, "condition_concept_nam": 68, "641": 68, "642": 68, "905970": 68, "measurement_concept_nam": 68, "95": 68, "bodi": 68, "temperatur": 68}, "objects": {"": [[62, 0, 0, "-", "cycquery"]], "cycquery": [[4, 0, 0, "-", "base"], [6, 0, 0, "-", "eicu"], [8, 0, 0, "-", "gemini"], [10, 0, 0, "-", "interface"], [12, 0, 0, "-", "mimiciii"], [14, 0, 0, "-", "mimiciv"], [16, 0, 0, "-", "omop"], [18, 0, 0, "-", "ops"]], "cycquery.base": [[5, 1, 1, "", "DatasetQuerier"]], "cycquery.base.DatasetQuerier": [[5, 2, 1, "", "db"], [5, 3, 1, "", "get_table"], [5, 3, 1, "", "list_columns"], [5, 3, 1, "", "list_custom_tables"], [5, 3, 1, "", "list_schemas"], [5, 3, 1, "", "list_tables"]], "cycquery.eicu": [[7, 1, 1, "", "EICUQuerier"]], "cycquery.eicu.EICUQuerier": [[7, 3, 1, "", "get_table"], [7, 3, 1, "", "list_columns"], [7, 3, 1, "", "list_custom_tables"], [7, 3, 1, "", "list_schemas"], [7, 3, 1, "", "list_tables"]], "cycquery.gemini": [[9, 1, 1, "", "GEMINIQuerier"]], "cycquery.gemini.GEMINIQuerier": [[9, 3, 1, "", "care_units"], [9, 3, 1, "", "diagnoses"], [9, 3, 1, "", "get_table"], [9, 3, 1, "", "imaging"], [9, 3, 1, "", "ip_admin"], [9, 3, 1, "", "list_columns"], [9, 3, 1, "", "list_custom_tables"], [9, 3, 1, "", "list_schemas"], [9, 3, 1, "", "list_tables"], [9, 3, 1, "", "room_transfer"]], "cycquery.interface": [[11, 1, 1, "", "QueryInterface"]], "cycquery.interface.QueryInterface": [[11, 3, 1, "", "__init__"], [11, 3, 1, "", "clear_data"], [11, 4, 1, "", "data"], [11, 3, 1, "", "join"], [11, 3, 1, "", "ops"], [11, 3, 1, "", "run"], [11, 3, 1, "", "save"], [11, 3, 1, "", "union"], [11, 3, 1, "", "union_all"]], "cycquery.mimiciii": [[13, 1, 1, "", "MIMICIIIQuerier"]], "cycquery.mimiciii.MIMICIIIQuerier": [[13, 3, 1, "", "chartevents"], [13, 3, 1, "", "diagnoses"], [13, 3, 1, "", "get_table"], [13, 3, 1, "", "labevents"], [13, 3, 1, "", "list_columns"], [13, 3, 1, "", "list_custom_tables"], [13, 3, 1, "", "list_schemas"], [13, 3, 1, "", "list_tables"]], "cycquery.mimiciv": [[15, 1, 1, "", "MIMICIVQuerier"]], "cycquery.mimiciv.MIMICIVQuerier": [[15, 3, 1, "", "chartevents"], [15, 3, 1, "", "diagnoses_icd"], [15, 3, 1, "", "get_table"], [15, 3, 1, "", "labevents"], [15, 3, 1, "", "list_columns"], [15, 3, 1, "", "list_custom_tables"], [15, 3, 1, "", "list_schemas"], [15, 3, 1, "", "list_tables"], [15, 3, 1, "", "patients"], [15, 3, 1, "", "procedures_icd"]], "cycquery.omop": [[17, 1, 1, "", "OMOPQuerier"]], "cycquery.omop.OMOPQuerier": [[17, 3, 1, "", "get_table"], [17, 3, 1, "", "list_columns"], [17, 3, 1, "", "list_custom_tables"], [17, 3, 1, "", "list_schemas"], [17, 3, 1, "", "list_tables"], [17, 3, 1, "", "map_concept_ids_to_name"], [17, 3, 1, "", "measurement"], [17, 3, 1, "", "observation"], [17, 3, 1, "", "person"], [17, 3, 1, "", "visit_detail"], [17, 3, 1, "", "visit_occurrence"]], "cycquery.ops": [[19, 1, 1, "", "AddColumn"], [20, 1, 1, "", "AddDeltaColumn"], [21, 1, 1, "", "AddDeltaConstant"], [22, 1, 1, "", "AddNumeric"], [23, 1, 1, "", "And"], [24, 1, 1, "", "Apply"], [25, 1, 1, "", "Cast"], [26, 1, 1, "", "ConditionAfterDate"], [27, 1, 1, "", "ConditionBeforeDate"], [28, 1, 1, "", "ConditionEndsWith"], [29, 1, 1, "", "ConditionEquals"], [30, 1, 1, "", "ConditionGreaterThan"], [31, 1, 1, "", "ConditionIn"], [32, 1, 1, "", "ConditionInMonths"], [33, 1, 1, "", "ConditionInYears"], [34, 1, 1, "", "ConditionLessThan"], [35, 1, 1, "", "ConditionLike"], [36, 1, 1, "", "ConditionRegexMatch"], [37, 1, 1, "", "ConditionStartsWith"], [38, 1, 1, "", "ConditionSubstring"], [39, 1, 1, "", "Count"], [40, 1, 1, "", "Distinct"], [41, 1, 1, "", "Drop"], [42, 1, 1, "", "DropEmpty"], [43, 1, 1, "", "DropNulls"], [44, 1, 1, "", "ExtractTimestampComponent"], [45, 1, 1, "", "FillNull"], [46, 1, 1, "", "GroupByAggregate"], [47, 1, 1, "", "Join"], [48, 1, 1, "", "Keep"], [49, 1, 1, "", "Limit"], [50, 1, 1, "", "Literal"], [51, 1, 1, "", "Or"], [52, 1, 1, "", "OrderBy"], [53, 1, 1, "", "QueryOp"], [54, 1, 1, "", "RandomizeOrder"], [55, 1, 1, "", "Rename"], [56, 1, 1, "", "Reorder"], [57, 1, 1, "", "ReorderAfter"], [58, 1, 1, "", "Sequential"], [59, 1, 1, "", "Substring"], [60, 1, 1, "", "Trim"], [61, 1, 1, "", "Union"]], "cycquery.ops.AddColumn": [[19, 3, 1, "", "__call__"]], "cycquery.ops.AddDeltaColumn": [[20, 3, 1, "", "__call__"]], "cycquery.ops.AddDeltaConstant": [[21, 3, 1, "", "__call__"]], "cycquery.ops.AddNumeric": [[22, 3, 1, "", "__call__"]], "cycquery.ops.And": [[23, 3, 1, "", "__call__"]], "cycquery.ops.Apply": [[24, 3, 1, "", "__call__"]], "cycquery.ops.Cast": [[25, 3, 1, "", "__call__"]], "cycquery.ops.ConditionAfterDate": [[26, 3, 1, "", "__call__"]], "cycquery.ops.ConditionBeforeDate": [[27, 3, 1, "", "__call__"]], "cycquery.ops.ConditionEndsWith": [[28, 3, 1, "", "__call__"]], "cycquery.ops.ConditionEquals": [[29, 3, 1, "", "__call__"]], "cycquery.ops.ConditionGreaterThan": [[30, 3, 1, "", "__call__"]], "cycquery.ops.ConditionIn": [[31, 3, 1, "", "__call__"]], "cycquery.ops.ConditionInMonths": [[32, 3, 1, "", "__call__"]], "cycquery.ops.ConditionInYears": [[33, 3, 1, "", "__call__"]], "cycquery.ops.ConditionLessThan": [[34, 3, 1, "", "__call__"]], "cycquery.ops.ConditionLike": [[35, 3, 1, "", "__call__"]], "cycquery.ops.ConditionRegexMatch": [[36, 3, 1, "", "__call__"]], "cycquery.ops.ConditionStartsWith": [[37, 3, 1, "", "__call__"]], "cycquery.ops.ConditionSubstring": [[38, 3, 1, "", "__call__"]], "cycquery.ops.Count": [[39, 3, 1, "", "__call__"]], "cycquery.ops.Distinct": [[40, 3, 1, "", "__call__"]], "cycquery.ops.Drop": [[41, 3, 1, "", "__call__"]], "cycquery.ops.DropEmpty": [[42, 3, 1, "", "__call__"]], "cycquery.ops.DropNulls": [[43, 3, 1, "", "__call__"]], "cycquery.ops.ExtractTimestampComponent": [[44, 3, 1, "", "__call__"]], "cycquery.ops.FillNull": [[45, 3, 1, "", "__call__"]], "cycquery.ops.GroupByAggregate": [[46, 3, 1, "", "__call__"]], "cycquery.ops.Join": [[47, 3, 1, "", "__call__"]], "cycquery.ops.Keep": [[48, 3, 1, "", "__call__"]], "cycquery.ops.Limit": [[49, 3, 1, "", "__call__"]], "cycquery.ops.Literal": [[50, 3, 1, "", "__call__"]], "cycquery.ops.Or": [[51, 3, 1, "", "__call__"]], "cycquery.ops.OrderBy": [[52, 3, 1, "", "__call__"]], "cycquery.ops.QueryOp": [[53, 3, 1, "", "__call__"]], "cycquery.ops.RandomizeOrder": [[54, 3, 1, "", "__call__"]], "cycquery.ops.Rename": [[55, 3, 1, "", "__call__"]], "cycquery.ops.Reorder": [[56, 3, 1, "", "__call__"]], "cycquery.ops.ReorderAfter": [[57, 3, 1, "", "__call__"]], "cycquery.ops.Sequential": [[58, 3, 1, "", "__add__"], [58, 3, 1, "", "__call__"], [58, 3, 1, "", "__init__"], [58, 3, 1, "", "append"], [58, 3, 1, "", "extend"], [58, 3, 1, "", "insert"], [58, 3, 1, "", "pop"]], "cycquery.ops.Substring": [[59, 3, 1, "", "__call__"]], "cycquery.ops.Trim": [[60, 3, 1, "", "__call__"]], "cycquery.ops.Union": [[61, 3, 1, "", "__call__"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"]}, "titleterms": {"api": [0, 62], "refer": 0, "contribut": [1, 3], "cyclop": [1, 2, 3, 67], "queri": [1, 2, 3, 67], "pre": 1, "commit": 1, "hook": 1, "code": 1, "guidelin": 1, "welcom": 2, "": 2, "document": [2, 3], "content": 2, "get": [3, 64, 65, 66, 67, 68], "start": 3, "instal": 3, "us": [3, 67], "pip": 3, "postgresql": 3, "databas": 3, "develop": 3, "poetri": 3, "citat": 3, "cycqueri": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "base": [4, 5], "datasetqueri": 5, "eicu": [6, 7, 64], "eicuqueri": [7, 64], "gemini": [8, 9, 65], "geminiqueri": [9, 65], "interfac": [10, 11], "queryinterfac": 11, "mimiciii": [12, 13], "mimiciiiqueri": [13, 66], "mimiciv": [14, 15], "mimicivqueri": [15, 67], "omop": [16, 17, 68], "omopqueri": [17, 68], "op": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 67], "addcolumn": 19, "adddeltacolumn": 20, "adddeltaconst": 21, "addnumer": 22, "And": 23, "appli": 24, "cast": 25, "conditionafterd": 26, "conditionbefored": 27, "conditionendswith": 28, "conditionequ": 29, "conditiongreaterthan": 30, "conditionin": 31, "conditioninmonth": 32, "conditioninyear": 33, "conditionlessthan": 34, "conditionlik": 35, "conditionregexmatch": [36, 67], "conditionstartswith": 37, "conditionsubstr": 38, "count": 39, "distinct": 40, "drop": 41, "dropempti": 42, "dropnul": 43, "extracttimestampcompon": 44, "fillnul": 45, "groupbyaggreg": 46, "join": 47, "keep": [48, 65], "limit": [49, 64], "liter": 50, "Or": 51, "orderbi": 52, "queryop": 53, "randomizeord": 54, "renam": 55, "reorder": 56, "reorderaft": 57, "sequenti": 58, "substr": [59, 64], "trim": 60, "union": 61, "dataset": [62, 65], "tutori": [63, 64, 65, 66, 67, 68], "crd": 64, "import": [64, 65, 66, 67, 68], "instanti": [64, 65, 66, 67, 68], "exampl": [64, 65, 66, 67, 68], "1": [64, 65, 66, 67, 68], "all": [64, 66, 67, 68], "femal": [64, 66, 67, 68], "patient": [64, 65, 66, 67, 68], "discharg": [64, 65], "2014": 64, "100": 64, "row": 64, "2": [64, 66, 67, 68], "encount": [64, 65, 66, 67], "diagnos": [64, 66, 67, 68], "schizophrenia": [64, 67], "diagnosisstr": 64, "year": [64, 67], "2015": [64, 65, 67], "3": [64, 66, 67], "potassium": [64, 66], "lab": [64, 66, 67], "test": [64, 65, 66, 67], "teach": 64, "hospit": [64, 65], "4": [64, 66, 67], "glucos": 64, "medic": 64, "search": 64, "1a": 65, "creat": 65, "tabl": 65, "onli": 65, "one": 65, "per": 65, "most": 65, "recent": 65, "each": 65, "sort": 65, "patient_id_hash": 65, "discharge_date_tim": 65, "record": 65, "1b": 65, "from": [65, 67], "abov": 65, "set": 65, "take": 65, "subset": 65, "who": 65, "were": 65, "between": 65, "april": 65, "march": 65, "31": 65, "2016": 65, "1c": 65, "total": 65, "number": 65, "admiss": [65, 67], "2a": 65, "how": 65, "mani": 65, "sodium": 65, "place": 65, "apr": 65, "mai": 65, "101": 65, "mimic": [66, 67], "iii": 66, "male": 66, "mortal": [66, 68], "outcom": [66, 68], "gastroenter": 66, "icd": [66, 67], "9": [66, 67], "long": [66, 67], "titl": [66, 67], "aado2": 66, "carevu": 66, "chart": 66, "event": 66, "have": 66, "valuenum": 66, "less": 66, "than": 66, "20": 66, "iv": 67, "2021": 67, "later": 67, "approx": 67, "10": 67, "advanc": 67, "contain": 67, "chronic": 67, "routin": 67, "vital": 67, "sign": 67, "5": 67, "hemoglobin": 67, "2009": 67, "6": 67, "radiologi": 67, "report": 67, "filter": 67, "keyword": 67, "lymphadenopathi": 67, "infecti": 67, "occur": 67, "togeth": 67, "7": 67, "return": 67, "batch": 67, "partit": 67, "index": 67, "subject_id": 67, "8": 67, "run": 67, "raw": 67, "sql": 67, "string": 67, "visit": 68, "after": 68, "2010": 68, "measur": 68, "2020": 68, "end": 68, "sepsi": 68}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "Contributing to cyclops-query": [[1, "contributing-to-cyclops-query"]], "Pre-commit hooks": [[1, "pre-commit-hooks"]], "Coding guidelines": [[1, "coding-guidelines"]], "Welcome to cyclops-query\u2019s documentation!": [[2, "welcome-to-cyclops-query-s-documentation"]], "Contents:": [[2, null]], "cyclops-query": [[3, "cyclops-query"]], "\ud83d\udc23 Getting Started": [[3, "getting-started"]], "Installing cyclops-query using pip": [[3, "installing-cyclops-query-using-pip"]], "Query postgresql database": [[3, "query-postgresql-database"]], "\ud83e\uddd1\ud83c\udfff\u200d\ud83d\udcbb Developing": [[3, "developing"]], "Using poetry": [[3, "using-poetry"]], "Contributing": [[3, "contributing"]], "\ud83d\udcda Documentation": [[3, "documentation"]], "\ud83c\udf93 Citation": [[3, "citation"]], "cycquery.base": [[4, "module-cycquery.base"]], "cycquery.base.DatasetQuerier": [[5, "cycquery-base-datasetquerier"]], "cycquery.eicu": [[6, "module-cycquery.eicu"]], "cycquery.eicu.EICUQuerier": [[7, "cycquery-eicu-eicuquerier"]], "cycquery.gemini": [[8, "module-cycquery.gemini"]], "cycquery.gemini.GEMINIQuerier": [[9, "cycquery-gemini-geminiquerier"]], "cycquery.interface": [[10, "module-cycquery.interface"]], "cycquery.interface.QueryInterface": [[11, "cycquery-interface-queryinterface"]], "cycquery.mimiciii": [[12, "module-cycquery.mimiciii"]], "cycquery.mimiciii.MIMICIIIQuerier": [[13, "cycquery-mimiciii-mimiciiiquerier"]], "cycquery.mimiciv": [[14, "module-cycquery.mimiciv"]], "cycquery.mimiciv.MIMICIVQuerier": [[15, "cycquery-mimiciv-mimicivquerier"]], "cycquery.omop": [[16, "module-cycquery.omop"]], "cycquery.omop.OMOPQuerier": [[17, "cycquery-omop-omopquerier"]], "cycquery.ops": [[18, "module-cycquery.ops"]], "cycquery.ops.AddColumn": [[19, "cycquery-ops-addcolumn"]], "cycquery.ops.AddDeltaColumn": [[20, "cycquery-ops-adddeltacolumn"]], "cycquery.ops.AddDeltaConstant": [[21, "cycquery-ops-adddeltaconstant"]], "cycquery.ops.AddNumeric": [[22, "cycquery-ops-addnumeric"]], "cycquery.ops.And": [[23, "cycquery-ops-and"]], "cycquery.ops.Apply": [[24, "cycquery-ops-apply"]], "cycquery.ops.Cast": [[25, "cycquery-ops-cast"]], "cycquery.ops.ConditionAfterDate": [[26, "cycquery-ops-conditionafterdate"]], "cycquery.ops.ConditionBeforeDate": [[27, "cycquery-ops-conditionbeforedate"]], "cycquery.ops.ConditionEndsWith": [[28, "cycquery-ops-conditionendswith"]], "cycquery.ops.ConditionEquals": [[29, "cycquery-ops-conditionequals"]], "cycquery.ops.ConditionGreaterThan": [[30, "cycquery-ops-conditiongreaterthan"]], "cycquery.ops.ConditionIn": [[31, "cycquery-ops-conditionin"]], "cycquery.ops.ConditionInMonths": [[32, "cycquery-ops-conditioninmonths"]], "cycquery.ops.ConditionInYears": [[33, "cycquery-ops-conditioninyears"]], "cycquery.ops.ConditionLessThan": [[34, "cycquery-ops-conditionlessthan"]], "cycquery.ops.ConditionLike": [[35, "cycquery-ops-conditionlike"]], "cycquery.ops.ConditionRegexMatch": [[36, "cycquery-ops-conditionregexmatch"]], "cycquery.ops.ConditionStartsWith": [[37, "cycquery-ops-conditionstartswith"]], "cycquery.ops.ConditionSubstring": [[38, "cycquery-ops-conditionsubstring"]], "cycquery.ops.Count": [[39, "cycquery-ops-count"]], "cycquery.ops.Distinct": [[40, "cycquery-ops-distinct"]], "cycquery.ops.Drop": [[41, "cycquery-ops-drop"]], "cycquery.ops.DropEmpty": [[42, "cycquery-ops-dropempty"]], "cycquery.ops.DropNulls": [[43, "cycquery-ops-dropnulls"]], "cycquery.ops.ExtractTimestampComponent": [[44, "cycquery-ops-extracttimestampcomponent"]], "cycquery.ops.FillNull": [[45, "cycquery-ops-fillnull"]], "cycquery.ops.GroupByAggregate": [[46, "cycquery-ops-groupbyaggregate"]], "cycquery.ops.Join": [[47, "cycquery-ops-join"]], "cycquery.ops.Keep": [[48, "cycquery-ops-keep"]], "cycquery.ops.Limit": [[49, "cycquery-ops-limit"]], "cycquery.ops.Literal": [[50, "cycquery-ops-literal"]], "cycquery.ops.Or": [[51, "cycquery-ops-or"]], "cycquery.ops.OrderBy": [[52, "cycquery-ops-orderby"]], "cycquery.ops.QueryOp": [[53, "cycquery-ops-queryop"]], "cycquery.ops.RandomizeOrder": [[54, "cycquery-ops-randomizeorder"]], "cycquery.ops.Rename": [[55, "cycquery-ops-rename"]], "cycquery.ops.Reorder": [[56, "cycquery-ops-reorder"]], "cycquery.ops.ReorderAfter": [[57, "cycquery-ops-reorderafter"]], "cycquery.ops.Sequential": [[58, "cycquery-ops-sequential"]], "cycquery.ops.Substring": [[59, "cycquery-ops-substring"]], "cycquery.ops.Trim": [[60, "cycquery-ops-trim"]], "cycquery.ops.Union": [[61, "cycquery-ops-union"]], "cycquery": [[62, "module-cycquery"]], "dataset APIs": [[62, "dataset-apis"]], "Tutorials": [[63, "tutorials"]], "eICU-CRD tutorial": [[64, "eICU-CRD-tutorial"]], "Imports and instantiate EICUQuerier": [[64, "Imports-and-instantiate-EICUQuerier"]], "Example 1. Get all female patients discharged in 2014 (limit to 100 rows).": [[64, "Example-1.-Get-all-female-patients-discharged-in-2014-(limit-to-100-rows)."]], "Example 2. Get all patient encounters with diagnoses (schizophrenia in diagnosisstring), discharged in the year 2015.": [[64, "Example-2.-Get-all-patient-encounters-with-diagnoses-(schizophrenia-in-diagnosisstring),-discharged-in-the-year-2015."]], "Example 3. Get potassium lab tests for patients discharged in the year 2014, for all teaching hospitals.": [[64, "Example-3.-Get-potassium-lab-tests-for-patients-discharged-in-the-year-2014,-for-all-teaching-hospitals."]], "Example 4. Get glucose medications (substring search) for female patients discharged in 2014.": [[64, "Example-4.-Get-glucose-medications-(substring-search)-for-female-patients-discharged-in-2014."]], "GEMINI tutorial": [[65, "GEMINI-tutorial"]], "Imports and instantiate GEMINIQuerier.": [[65, "Imports-and-instantiate-GEMINIQuerier."]], "Example 1a. Create a table with only one hospitalization per patient, keeping the most recent encounter for each patient. Sort the dataset by patient_id_hashed and discharge_date_time, and then keep the recent record.": [[65, "Example-1a.-Create-a-table-with-only-one-hospitalization-per-patient,-keeping-the-most-recent-encounter-for-each-patient.-Sort-the-dataset-by-patient_id_hashed-and-discharge_date_time,-and-then-keep-the-recent-record."]], "Example 1b. From the above set of encounters, take a subset of patients who were discharged between April 1, 2015 and March 31, 2016.": [[65, "Example-1b.-From-the-above-set-of-encounters,-take-a-subset-of-patients-who-were-discharged-between-April-1,-2015-and-March-31,-2016."]], "Example 1c. From the above set of encounters, get the total number of admissions for each hospital.": [[65, "Example-1c.-From-the-above-set-of-encounters,-get-the-total-number-of-admissions-for-each-hospital."]], "Example 2a. How many sodium tests were placed between Apr 1, 2015 and May 31, 2015 at hospital 101?": [[65, "Example-2a.-How-many-sodium-tests-were-placed-between-Apr-1,-2015-and-May-31,-2015-at-hospital-101?"]], "MIMIC-III tutorial": [[66, "MIMIC-III-tutorial"]], "Imports and instantiate MIMICIIIQuerier": [[66, "Imports-and-instantiate-MIMICIIIQuerier"]], "Example 1. Get all male patients with a mortality outcome.": [[66, "Example-1.-Get-all-male-patients-with-a-mortality-outcome."]], "Example 2. Get all female patient encounters with diagnoses (gastroenteritis in ICD-9 long title).": [[66, "Example-2.-Get-all-female-patient-encounters-with-diagnoses-(gastroenteritis-in-ICD-9-long-title)."]], "Example 3. Get potassium lab tests for female patients.": [[66, "Example-3.-Get-potassium-lab-tests-for-female-patients."]], "Example 4. Get AaDO2 carevue chart events for male patients that have a valuenum of less than 20.": [[66, "Example-4.-Get-AaDO2-carevue-chart-events-for-male-patients-that-have-a-valuenum-of-less-than-20."]], "MIMIC-IV tutorial": [[67, "MIMIC-IV-tutorial"]], "Imports and instantiate MIMICIVQuerier": [[67, "Imports-and-instantiate-MIMICIVQuerier"]], "Example 1. Get all patient admissions from 2021 or later (approx year of admission)": [[67, "Example-1.-Get-all-patient-admissions-from-2021-or-later-(approx-year-of-admission)"]], "Example 2. Get all patient encounters with diagnoses (schizophrenia in ICD-10 long title), in the year 2015.": [[67, "Example-2.-Get-all-patient-encounters-with-diagnoses-(schizophrenia-in-ICD-10-long-title),-in-the-year-2015."]], "Example 3. Advanced - uses ConditionRegexMatch from cyclops.query.ops. Get all patient encounters with diagnoses (ICD-9 long title contains schizophrenia and chronic ), in the year 2015.": [[67, "Example-3.-Advanced---uses-ConditionRegexMatch-from-cyclops.query.ops.-Get-all-patient-encounters-with-diagnoses-(ICD-9-long-title-contains-schizophrenia-and-chronic-),-in-the-year-2015."]], "Example 4. Get routine vital signs for patients from year 2015.": [[67, "Example-4.-Get-routine-vital-signs-for-patients-from-year-2015."]], "Example 5. Get hemoglobin lab tests for patients from year 2009.": [[67, "Example-5.-Get-hemoglobin-lab-tests-for-patients-from-year-2009."]], "Example 6. Get radiology reports and filter on keywords lymphadenopathy and infectious occurring together from year 2009.": [[67, "Example-6.-Get-radiology-reports-and-filter-on-keywords-lymphadenopathy-and-infectious-occurring-together-from-year-2009."]], "Example 7. Get all female patient encounters from year 2015, and return batches partitioned and indexed on subject_id.": [[67, "Example-7.-Get-all-female-patient-encounters-from-year-2015,-and-return-batches-partitioned-and-indexed-on-subject_id."]], "Example 8. Running a raw SQL string.": [[67, "Example-8.-Running-a-raw-SQL-string."]], "OMOP tutorial": [[68, "OMOP-tutorial"]], "Imports and instantiate OMOPQuerier.": [[68, "Imports-and-instantiate-OMOPQuerier."], [68, "id1"]], "Example 1. Get all patient visits in or after 2010.": [[68, "Example-1.-Get-all-patient-visits-in-or-after-2010."]], "Example 2. Get measurements for all visits in or after 2020.": [[68, "Example-2.-Get-measurements-for-all-visits-in-or-after-2020."]], "Example 1. Get all patient visits that ended in a mortality outcome in or after 2010.": [[68, "Example-1.-Get-all-patient-visits-that-ended-in-a-mortality-outcome-in-or-after-2010."]], "Example 2. Get all measurements for female patient visits with sepsis diagnoses, that ended in a mortality outcome.": [[68, "Example-2.-Get-all-measurements-for-female-patient-visits-with-sepsis-diagnoses,-that-ended-in-a-mortality-outcome."]]}, "indexentries": {"cycquery.base": [[4, "module-cycquery.base"]], "module": [[4, "module-cycquery.base"], [6, "module-cycquery.eicu"], [8, "module-cycquery.gemini"], [10, "module-cycquery.interface"], [12, "module-cycquery.mimiciii"], [14, "module-cycquery.mimiciv"], [16, "module-cycquery.omop"], [18, "module-cycquery.ops"], [62, "module-cycquery"]], "datasetquerier (class in cycquery.base)": [[5, "cycquery.base.DatasetQuerier"]], "db (datasetquerier attribute)": [[5, "cycquery.base.DatasetQuerier.db"]], "get_table() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.get_table"]], "list_columns() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_columns"]], "list_custom_tables() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_custom_tables"]], "list_schemas() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_schemas"]], "list_tables() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_tables"]], "cycquery.eicu": [[6, "module-cycquery.eicu"]], "eicuquerier (class in cycquery.eicu)": [[7, "cycquery.eicu.EICUQuerier"]], "get_table() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.get_table"]], "list_columns() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_columns"]], "list_custom_tables() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_custom_tables"]], "list_schemas() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_schemas"]], "list_tables() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_tables"]], "cycquery.gemini": [[8, "module-cycquery.gemini"]], "geminiquerier (class in cycquery.gemini)": [[9, "cycquery.gemini.GEMINIQuerier"]], "care_units() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.care_units"]], "diagnoses() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.diagnoses"]], "get_table() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.get_table"]], "imaging() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.imaging"]], "ip_admin() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.ip_admin"]], "list_columns() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_columns"]], "list_custom_tables() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_custom_tables"]], "list_schemas() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_schemas"]], "list_tables() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_tables"]], "room_transfer() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.room_transfer"]], "cycquery.interface": [[10, "module-cycquery.interface"]], "queryinterface (class in cycquery.interface)": [[11, "cycquery.interface.QueryInterface"]], "__init__() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.__init__"]], "clear_data() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.clear_data"]], "data (queryinterface property)": [[11, "cycquery.interface.QueryInterface.data"]], "join() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.join"]], "ops() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.ops"]], "run() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.run"]], "save() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.save"]], "union() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.union"]], "union_all() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.union_all"]], "cycquery.mimiciii": [[12, "module-cycquery.mimiciii"]], "mimiciiiquerier (class in cycquery.mimiciii)": [[13, "cycquery.mimiciii.MIMICIIIQuerier"]], "chartevents() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.chartevents"]], "diagnoses() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.diagnoses"]], "get_table() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.get_table"]], "labevents() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.labevents"]], "list_columns() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_columns"]], "list_custom_tables() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_custom_tables"]], "list_schemas() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_schemas"]], "list_tables() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_tables"]], "cycquery.mimiciv": [[14, "module-cycquery.mimiciv"]], "mimicivquerier (class in cycquery.mimiciv)": [[15, "cycquery.mimiciv.MIMICIVQuerier"]], "chartevents() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.chartevents"]], "diagnoses_icd() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.diagnoses_icd"]], "get_table() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.get_table"]], "labevents() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.labevents"]], "list_columns() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_columns"]], "list_custom_tables() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_custom_tables"]], "list_schemas() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_schemas"]], "list_tables() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_tables"]], "patients() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.patients"]], "procedures_icd() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.procedures_icd"]], "cycquery.omop": [[16, "module-cycquery.omop"]], "omopquerier (class in cycquery.omop)": [[17, "cycquery.omop.OMOPQuerier"]], "get_table() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.get_table"]], "list_columns() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_columns"]], "list_custom_tables() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_custom_tables"]], "list_schemas() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_schemas"]], "list_tables() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_tables"]], "map_concept_ids_to_name() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.map_concept_ids_to_name"]], "measurement() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.measurement"]], "observation() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.observation"]], "person() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.person"]], "visit_detail() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.visit_detail"]], "visit_occurrence() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.visit_occurrence"]], "cycquery.ops": [[18, "module-cycquery.ops"]], "addcolumn (class in cycquery.ops)": [[19, "cycquery.ops.AddColumn"]], "__call__() (addcolumn method)": [[19, "cycquery.ops.AddColumn.__call__"]], "adddeltacolumn (class in cycquery.ops)": [[20, "cycquery.ops.AddDeltaColumn"]], "__call__() (adddeltacolumn method)": [[20, "cycquery.ops.AddDeltaColumn.__call__"]], "adddeltaconstant (class in cycquery.ops)": [[21, "cycquery.ops.AddDeltaConstant"]], "__call__() (adddeltaconstant method)": [[21, "cycquery.ops.AddDeltaConstant.__call__"]], "addnumeric (class in cycquery.ops)": [[22, "cycquery.ops.AddNumeric"]], "__call__() (addnumeric method)": [[22, "cycquery.ops.AddNumeric.__call__"]], "and (class in cycquery.ops)": [[23, "cycquery.ops.And"]], "__call__() (and method)": [[23, "cycquery.ops.And.__call__"]], "apply (class in cycquery.ops)": [[24, "cycquery.ops.Apply"]], "__call__() (apply method)": [[24, "cycquery.ops.Apply.__call__"]], "cast (class in cycquery.ops)": [[25, "cycquery.ops.Cast"]], "__call__() (cast method)": [[25, "cycquery.ops.Cast.__call__"]], "conditionafterdate (class in cycquery.ops)": [[26, "cycquery.ops.ConditionAfterDate"]], "__call__() (conditionafterdate method)": [[26, "cycquery.ops.ConditionAfterDate.__call__"]], "conditionbeforedate (class in cycquery.ops)": [[27, "cycquery.ops.ConditionBeforeDate"]], "__call__() (conditionbeforedate method)": [[27, "cycquery.ops.ConditionBeforeDate.__call__"]], "conditionendswith (class in cycquery.ops)": [[28, "cycquery.ops.ConditionEndsWith"]], "__call__() (conditionendswith method)": [[28, "cycquery.ops.ConditionEndsWith.__call__"]], "conditionequals (class in cycquery.ops)": [[29, "cycquery.ops.ConditionEquals"]], "__call__() (conditionequals method)": [[29, "cycquery.ops.ConditionEquals.__call__"]], "conditiongreaterthan (class in cycquery.ops)": [[30, "cycquery.ops.ConditionGreaterThan"]], "__call__() (conditiongreaterthan method)": [[30, "cycquery.ops.ConditionGreaterThan.__call__"]], "conditionin (class in cycquery.ops)": [[31, "cycquery.ops.ConditionIn"]], "__call__() (conditionin method)": [[31, "cycquery.ops.ConditionIn.__call__"]], "conditioninmonths (class in cycquery.ops)": [[32, "cycquery.ops.ConditionInMonths"]], "__call__() (conditioninmonths method)": [[32, "cycquery.ops.ConditionInMonths.__call__"]], "conditioninyears (class in cycquery.ops)": [[33, "cycquery.ops.ConditionInYears"]], "__call__() (conditioninyears method)": [[33, "cycquery.ops.ConditionInYears.__call__"]], "conditionlessthan (class in cycquery.ops)": [[34, "cycquery.ops.ConditionLessThan"]], "__call__() (conditionlessthan method)": [[34, "cycquery.ops.ConditionLessThan.__call__"]], "conditionlike (class in cycquery.ops)": [[35, "cycquery.ops.ConditionLike"]], "__call__() (conditionlike method)": [[35, "cycquery.ops.ConditionLike.__call__"]], "conditionregexmatch (class in cycquery.ops)": [[36, "cycquery.ops.ConditionRegexMatch"]], "__call__() (conditionregexmatch method)": [[36, "cycquery.ops.ConditionRegexMatch.__call__"]], "conditionstartswith (class in cycquery.ops)": [[37, "cycquery.ops.ConditionStartsWith"]], "__call__() (conditionstartswith method)": [[37, "cycquery.ops.ConditionStartsWith.__call__"]], "conditionsubstring (class in cycquery.ops)": [[38, "cycquery.ops.ConditionSubstring"]], "__call__() (conditionsubstring method)": [[38, "cycquery.ops.ConditionSubstring.__call__"]], "count (class in cycquery.ops)": [[39, "cycquery.ops.Count"]], "__call__() (count method)": [[39, "cycquery.ops.Count.__call__"]], "distinct (class in cycquery.ops)": [[40, "cycquery.ops.Distinct"]], "__call__() (distinct method)": [[40, "cycquery.ops.Distinct.__call__"]], "drop (class in cycquery.ops)": [[41, "cycquery.ops.Drop"]], "__call__() (drop method)": [[41, "cycquery.ops.Drop.__call__"]], "dropempty (class in cycquery.ops)": [[42, "cycquery.ops.DropEmpty"]], "__call__() (dropempty method)": [[42, "cycquery.ops.DropEmpty.__call__"]], "dropnulls (class in cycquery.ops)": [[43, "cycquery.ops.DropNulls"]], "__call__() (dropnulls method)": [[43, "cycquery.ops.DropNulls.__call__"]], "extracttimestampcomponent (class in cycquery.ops)": [[44, "cycquery.ops.ExtractTimestampComponent"]], "__call__() (extracttimestampcomponent method)": [[44, "cycquery.ops.ExtractTimestampComponent.__call__"]], "fillnull (class in cycquery.ops)": [[45, "cycquery.ops.FillNull"]], "__call__() (fillnull method)": [[45, "cycquery.ops.FillNull.__call__"]], "groupbyaggregate (class in cycquery.ops)": [[46, "cycquery.ops.GroupByAggregate"]], "__call__() (groupbyaggregate method)": [[46, "cycquery.ops.GroupByAggregate.__call__"]], "join (class in cycquery.ops)": [[47, "cycquery.ops.Join"]], "__call__() (join method)": [[47, "cycquery.ops.Join.__call__"]], "keep (class in cycquery.ops)": [[48, "cycquery.ops.Keep"]], "__call__() (keep method)": [[48, "cycquery.ops.Keep.__call__"]], "limit (class in cycquery.ops)": [[49, "cycquery.ops.Limit"]], "__call__() (limit method)": [[49, "cycquery.ops.Limit.__call__"]], "literal (class in cycquery.ops)": [[50, "cycquery.ops.Literal"]], "__call__() (literal method)": [[50, "cycquery.ops.Literal.__call__"]], "or (class in cycquery.ops)": [[51, "cycquery.ops.Or"]], "__call__() (or method)": [[51, "cycquery.ops.Or.__call__"]], "orderby (class in cycquery.ops)": [[52, "cycquery.ops.OrderBy"]], "__call__() (orderby method)": [[52, "cycquery.ops.OrderBy.__call__"]], "queryop (class in cycquery.ops)": [[53, "cycquery.ops.QueryOp"]], "__call__() (queryop method)": [[53, "cycquery.ops.QueryOp.__call__"]], "randomizeorder (class in cycquery.ops)": [[54, "cycquery.ops.RandomizeOrder"]], "__call__() (randomizeorder method)": [[54, "cycquery.ops.RandomizeOrder.__call__"]], "rename (class in cycquery.ops)": [[55, "cycquery.ops.Rename"]], "__call__() (rename method)": [[55, "cycquery.ops.Rename.__call__"]], "reorder (class in cycquery.ops)": [[56, "cycquery.ops.Reorder"]], "__call__() (reorder method)": [[56, "cycquery.ops.Reorder.__call__"]], "reorderafter (class in cycquery.ops)": [[57, "cycquery.ops.ReorderAfter"]], "__call__() (reorderafter method)": [[57, "cycquery.ops.ReorderAfter.__call__"]], "sequential (class in cycquery.ops)": [[58, "cycquery.ops.Sequential"]], "__add__() (sequential method)": [[58, "cycquery.ops.Sequential.__add__"]], "__call__() (sequential method)": [[58, "cycquery.ops.Sequential.__call__"]], "__init__() (sequential method)": [[58, "cycquery.ops.Sequential.__init__"]], "append() (sequential method)": [[58, "cycquery.ops.Sequential.append"]], "extend() (sequential method)": [[58, "cycquery.ops.Sequential.extend"]], "insert() (sequential method)": [[58, "cycquery.ops.Sequential.insert"]], "pop() (sequential method)": [[58, "cycquery.ops.Sequential.pop"]], "substring (class in cycquery.ops)": [[59, "cycquery.ops.Substring"]], "__call__() (substring method)": [[59, "cycquery.ops.Substring.__call__"]], "trim (class in cycquery.ops)": [[60, "cycquery.ops.Trim"]], "__call__() (trim method)": [[60, "cycquery.ops.Trim.__call__"]], "union (class in cycquery.ops)": [[61, "cycquery.ops.Union"]], "__call__() (union method)": [[61, "cycquery.ops.Union.__call__"]], "cycquery": [[62, "module-cycquery"]]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[0, "api-reference"]], "Coding guidelines": [[1, "coding-guidelines"]], "Contents:": [[2, null]], "Contributing": [[3, "contributing"]], "Contributing to cycquery": [[1, "contributing-to-cycquery"]], "Example 1. Get all female patients discharged in 2014 (limit to 100 rows).": [[64, "Example-1.-Get-all-female-patients-discharged-in-2014-(limit-to-100-rows)."]], "Example 1. Get all male patients with a mortality outcome.": [[66, "Example-1.-Get-all-male-patients-with-a-mortality-outcome."]], "Example 1. Get all patient admissions from 2021 or later (approx year of admission)": [[67, "Example-1.-Get-all-patient-admissions-from-2021-or-later-(approx-year-of-admission)"]], "Example 1. Get all patient visits in or after 2010.": [[68, "Example-1.-Get-all-patient-visits-in-or-after-2010."]], "Example 1. Get all patient visits that ended in a mortality outcome in or after 2010.": [[68, "Example-1.-Get-all-patient-visits-that-ended-in-a-mortality-outcome-in-or-after-2010."]], "Example 1a. Create a table with only one hospitalization per patient, keeping the most recent encounter for each patient. Sort the dataset by patient_id_hashed and discharge_date_time, and then keep the recent record.": [[65, "Example-1a.-Create-a-table-with-only-one-hospitalization-per-patient,-keeping-the-most-recent-encounter-for-each-patient.-Sort-the-dataset-by-patient_id_hashed-and-discharge_date_time,-and-then-keep-the-recent-record."]], "Example 1b. From the above set of encounters, take a subset of patients who were discharged between April 1, 2015 and March 31, 2016.": [[65, "Example-1b.-From-the-above-set-of-encounters,-take-a-subset-of-patients-who-were-discharged-between-April-1,-2015-and-March-31,-2016."]], "Example 1c. From the above set of encounters, get the total number of admissions for each hospital.": [[65, "Example-1c.-From-the-above-set-of-encounters,-get-the-total-number-of-admissions-for-each-hospital."]], "Example 2. Get all female patient encounters with diagnoses (gastroenteritis in ICD-9 long title).": [[66, "Example-2.-Get-all-female-patient-encounters-with-diagnoses-(gastroenteritis-in-ICD-9-long-title)."]], "Example 2. Get all measurements for female patient visits with sepsis diagnoses, that ended in a mortality outcome.": [[68, "Example-2.-Get-all-measurements-for-female-patient-visits-with-sepsis-diagnoses,-that-ended-in-a-mortality-outcome."]], "Example 2. Get all patient encounters with diagnoses (schizophrenia in ICD-10 long title), in the year 2015.": [[67, "Example-2.-Get-all-patient-encounters-with-diagnoses-(schizophrenia-in-ICD-10-long-title),-in-the-year-2015."]], "Example 2. Get all patient encounters with diagnoses (schizophrenia in diagnosisstring), discharged in the year 2015.": [[64, "Example-2.-Get-all-patient-encounters-with-diagnoses-(schizophrenia-in-diagnosisstring),-discharged-in-the-year-2015."]], "Example 2. Get measurements for all visits in or after 2020.": [[68, "Example-2.-Get-measurements-for-all-visits-in-or-after-2020."]], "Example 2a. How many sodium tests were placed between Apr 1, 2015 and May 31, 2015 at hospital 101?": [[65, "Example-2a.-How-many-sodium-tests-were-placed-between-Apr-1,-2015-and-May-31,-2015-at-hospital-101?"]], "Example 3. Advanced - uses ConditionRegexMatch from cycquery.ops. Get all patient encounters with diagnoses (ICD-9 long title contains schizophrenia and chronic ), in the year 2015.": [[67, "Example-3.-Advanced---uses-ConditionRegexMatch-from-cycquery.ops.-Get-all-patient-encounters-with-diagnoses-(ICD-9-long-title-contains-schizophrenia-and-chronic-),-in-the-year-2015."]], "Example 3. Get potassium lab tests for female patients.": [[66, "Example-3.-Get-potassium-lab-tests-for-female-patients."]], "Example 3. Get potassium lab tests for patients discharged in the year 2014, for all teaching hospitals.": [[64, "Example-3.-Get-potassium-lab-tests-for-patients-discharged-in-the-year-2014,-for-all-teaching-hospitals."]], "Example 4. Get AaDO2 carevue chart events for male patients that have a valuenum of less than 20.": [[66, "Example-4.-Get-AaDO2-carevue-chart-events-for-male-patients-that-have-a-valuenum-of-less-than-20."]], "Example 4. Get glucose medications (substring search) for female patients discharged in 2014.": [[64, "Example-4.-Get-glucose-medications-(substring-search)-for-female-patients-discharged-in-2014."]], "Example 4. Get routine vital signs for patients from year 2015.": [[67, "Example-4.-Get-routine-vital-signs-for-patients-from-year-2015."]], "Example 5. Get hemoglobin lab tests for patients from year 2009.": [[67, "Example-5.-Get-hemoglobin-lab-tests-for-patients-from-year-2009."]], "Example 6. Get radiology reports and filter on keywords lymphadenopathy and infectious occurring together from year 2009.": [[67, "Example-6.-Get-radiology-reports-and-filter-on-keywords-lymphadenopathy-and-infectious-occurring-together-from-year-2009."]], "Example 7. Get all female patient encounters from year 2015, and return batches partitioned and indexed on subject_id.": [[67, "Example-7.-Get-all-female-patient-encounters-from-year-2015,-and-return-batches-partitioned-and-indexed-on-subject_id."]], "Example 8. Running a raw SQL string.": [[67, "Example-8.-Running-a-raw-SQL-string."]], "GEMINI tutorial": [[65, "GEMINI-tutorial"]], "Imports and instantiate EICUQuerier": [[64, "Imports-and-instantiate-EICUQuerier"]], "Imports and instantiate GEMINIQuerier.": [[65, "Imports-and-instantiate-GEMINIQuerier."]], "Imports and instantiate MIMICIIIQuerier": [[66, "Imports-and-instantiate-MIMICIIIQuerier"]], "Imports and instantiate MIMICIVQuerier": [[67, "Imports-and-instantiate-MIMICIVQuerier"]], "Imports and instantiate OMOPQuerier.": [[68, "Imports-and-instantiate-OMOPQuerier."], [68, "id1"]], "Installing cycquery using pip": [[3, "installing-cycquery-using-pip"]], "MIMIC-III tutorial": [[66, "MIMIC-III-tutorial"]], "MIMIC-IV tutorial": [[67, "MIMIC-IV-tutorial"]], "OMOP tutorial": [[68, "OMOP-tutorial"]], "Pre-commit hooks": [[1, "pre-commit-hooks"]], "Query postgresql database": [[3, "query-postgresql-database"]], "Tutorials": [[63, "tutorials"]], "Using poetry": [[3, "using-poetry"]], "Welcome to cycquery\u2019s documentation!": [[2, "welcome-to-cycquery-s-documentation"]], "cycquery": [[3, "cycquery"], [62, "module-cycquery"]], "cycquery.base": [[4, "module-cycquery.base"]], "cycquery.base.DatasetQuerier": [[5, "cycquery-base-datasetquerier"]], "cycquery.eicu": [[6, "module-cycquery.eicu"]], "cycquery.eicu.EICUQuerier": [[7, "cycquery-eicu-eicuquerier"]], "cycquery.gemini": [[8, "module-cycquery.gemini"]], "cycquery.gemini.GEMINIQuerier": [[9, "cycquery-gemini-geminiquerier"]], "cycquery.interface": [[10, "module-cycquery.interface"]], "cycquery.interface.QueryInterface": [[11, "cycquery-interface-queryinterface"]], "cycquery.mimiciii": [[12, "module-cycquery.mimiciii"]], "cycquery.mimiciii.MIMICIIIQuerier": [[13, "cycquery-mimiciii-mimiciiiquerier"]], "cycquery.mimiciv": [[14, "module-cycquery.mimiciv"]], "cycquery.mimiciv.MIMICIVQuerier": [[15, "cycquery-mimiciv-mimicivquerier"]], "cycquery.omop": [[16, "module-cycquery.omop"]], "cycquery.omop.OMOPQuerier": [[17, "cycquery-omop-omopquerier"]], "cycquery.ops": [[18, "module-cycquery.ops"]], "cycquery.ops.AddColumn": [[19, "cycquery-ops-addcolumn"]], "cycquery.ops.AddDeltaColumn": [[20, "cycquery-ops-adddeltacolumn"]], "cycquery.ops.AddDeltaConstant": [[21, "cycquery-ops-adddeltaconstant"]], "cycquery.ops.AddNumeric": [[22, "cycquery-ops-addnumeric"]], "cycquery.ops.And": [[23, "cycquery-ops-and"]], "cycquery.ops.Apply": [[24, "cycquery-ops-apply"]], "cycquery.ops.Cast": [[25, "cycquery-ops-cast"]], "cycquery.ops.ConditionAfterDate": [[26, "cycquery-ops-conditionafterdate"]], "cycquery.ops.ConditionBeforeDate": [[27, "cycquery-ops-conditionbeforedate"]], "cycquery.ops.ConditionEndsWith": [[28, "cycquery-ops-conditionendswith"]], "cycquery.ops.ConditionEquals": [[29, "cycquery-ops-conditionequals"]], "cycquery.ops.ConditionGreaterThan": [[30, "cycquery-ops-conditiongreaterthan"]], "cycquery.ops.ConditionIn": [[31, "cycquery-ops-conditionin"]], "cycquery.ops.ConditionInMonths": [[32, "cycquery-ops-conditioninmonths"]], "cycquery.ops.ConditionInYears": [[33, "cycquery-ops-conditioninyears"]], "cycquery.ops.ConditionLessThan": [[34, "cycquery-ops-conditionlessthan"]], "cycquery.ops.ConditionLike": [[35, "cycquery-ops-conditionlike"]], "cycquery.ops.ConditionRegexMatch": [[36, "cycquery-ops-conditionregexmatch"]], "cycquery.ops.ConditionStartsWith": [[37, "cycquery-ops-conditionstartswith"]], "cycquery.ops.ConditionSubstring": [[38, "cycquery-ops-conditionsubstring"]], "cycquery.ops.Count": [[39, "cycquery-ops-count"]], "cycquery.ops.Distinct": [[40, "cycquery-ops-distinct"]], "cycquery.ops.Drop": [[41, "cycquery-ops-drop"]], "cycquery.ops.DropEmpty": [[42, "cycquery-ops-dropempty"]], "cycquery.ops.DropNulls": [[43, "cycquery-ops-dropnulls"]], "cycquery.ops.ExtractTimestampComponent": [[44, "cycquery-ops-extracttimestampcomponent"]], "cycquery.ops.FillNull": [[45, "cycquery-ops-fillnull"]], "cycquery.ops.GroupByAggregate": [[46, "cycquery-ops-groupbyaggregate"]], "cycquery.ops.Join": [[47, "cycquery-ops-join"]], "cycquery.ops.Keep": [[48, "cycquery-ops-keep"]], "cycquery.ops.Limit": [[49, "cycquery-ops-limit"]], "cycquery.ops.Literal": [[50, "cycquery-ops-literal"]], "cycquery.ops.Or": [[51, "cycquery-ops-or"]], "cycquery.ops.OrderBy": [[52, "cycquery-ops-orderby"]], "cycquery.ops.QueryOp": [[53, "cycquery-ops-queryop"]], "cycquery.ops.RandomizeOrder": [[54, "cycquery-ops-randomizeorder"]], "cycquery.ops.Rename": [[55, "cycquery-ops-rename"]], "cycquery.ops.Reorder": [[56, "cycquery-ops-reorder"]], "cycquery.ops.ReorderAfter": [[57, "cycquery-ops-reorderafter"]], "cycquery.ops.Sequential": [[58, "cycquery-ops-sequential"]], "cycquery.ops.Substring": [[59, "cycquery-ops-substring"]], "cycquery.ops.Trim": [[60, "cycquery-ops-trim"]], "cycquery.ops.Union": [[61, "cycquery-ops-union"]], "dataset APIs": [[62, "dataset-apis"]], "eICU-CRD tutorial": [[64, "eICU-CRD-tutorial"]], "\ud83d\udc23 Getting Started": [[3, "getting-started"]], "\ud83d\udcda Documentation": [[3, "documentation"]], "\ud83e\uddd1\ud83c\udfff\u200d\ud83d\udcbb Developing": [[3, "developing"]]}, "docnames": ["api", "contributing", "index", "intro", "reference/api/_autosummary/cycquery.base", "reference/api/_autosummary/cycquery.base.DatasetQuerier", "reference/api/_autosummary/cycquery.eicu", "reference/api/_autosummary/cycquery.eicu.EICUQuerier", "reference/api/_autosummary/cycquery.gemini", "reference/api/_autosummary/cycquery.gemini.GEMINIQuerier", "reference/api/_autosummary/cycquery.interface", "reference/api/_autosummary/cycquery.interface.QueryInterface", "reference/api/_autosummary/cycquery.mimiciii", "reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier", "reference/api/_autosummary/cycquery.mimiciv", "reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier", "reference/api/_autosummary/cycquery.omop", "reference/api/_autosummary/cycquery.omop.OMOPQuerier", "reference/api/_autosummary/cycquery.ops", "reference/api/_autosummary/cycquery.ops.AddColumn", "reference/api/_autosummary/cycquery.ops.AddDeltaColumn", "reference/api/_autosummary/cycquery.ops.AddDeltaConstant", "reference/api/_autosummary/cycquery.ops.AddNumeric", "reference/api/_autosummary/cycquery.ops.And", "reference/api/_autosummary/cycquery.ops.Apply", "reference/api/_autosummary/cycquery.ops.Cast", "reference/api/_autosummary/cycquery.ops.ConditionAfterDate", "reference/api/_autosummary/cycquery.ops.ConditionBeforeDate", "reference/api/_autosummary/cycquery.ops.ConditionEndsWith", "reference/api/_autosummary/cycquery.ops.ConditionEquals", "reference/api/_autosummary/cycquery.ops.ConditionGreaterThan", "reference/api/_autosummary/cycquery.ops.ConditionIn", "reference/api/_autosummary/cycquery.ops.ConditionInMonths", "reference/api/_autosummary/cycquery.ops.ConditionInYears", "reference/api/_autosummary/cycquery.ops.ConditionLessThan", "reference/api/_autosummary/cycquery.ops.ConditionLike", "reference/api/_autosummary/cycquery.ops.ConditionRegexMatch", "reference/api/_autosummary/cycquery.ops.ConditionStartsWith", "reference/api/_autosummary/cycquery.ops.ConditionSubstring", "reference/api/_autosummary/cycquery.ops.Count", "reference/api/_autosummary/cycquery.ops.Distinct", "reference/api/_autosummary/cycquery.ops.Drop", "reference/api/_autosummary/cycquery.ops.DropEmpty", "reference/api/_autosummary/cycquery.ops.DropNulls", "reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent", "reference/api/_autosummary/cycquery.ops.FillNull", "reference/api/_autosummary/cycquery.ops.GroupByAggregate", "reference/api/_autosummary/cycquery.ops.Join", "reference/api/_autosummary/cycquery.ops.Keep", "reference/api/_autosummary/cycquery.ops.Limit", "reference/api/_autosummary/cycquery.ops.Literal", "reference/api/_autosummary/cycquery.ops.Or", "reference/api/_autosummary/cycquery.ops.OrderBy", "reference/api/_autosummary/cycquery.ops.QueryOp", "reference/api/_autosummary/cycquery.ops.RandomizeOrder", "reference/api/_autosummary/cycquery.ops.Rename", "reference/api/_autosummary/cycquery.ops.Reorder", "reference/api/_autosummary/cycquery.ops.ReorderAfter", "reference/api/_autosummary/cycquery.ops.Sequential", "reference/api/_autosummary/cycquery.ops.Substring", "reference/api/_autosummary/cycquery.ops.Trim", "reference/api/_autosummary/cycquery.ops.Union", "reference/api/cycquery", "tutorials", "tutorials/eicu", "tutorials/gemini", "tutorials/mimiciii", "tutorials/mimiciv", "tutorials/omop"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api.rst", "contributing.rst", "index.rst", "intro.rst", "reference/api/_autosummary/cycquery.base.rst", "reference/api/_autosummary/cycquery.base.DatasetQuerier.rst", "reference/api/_autosummary/cycquery.eicu.rst", "reference/api/_autosummary/cycquery.eicu.EICUQuerier.rst", "reference/api/_autosummary/cycquery.gemini.rst", "reference/api/_autosummary/cycquery.gemini.GEMINIQuerier.rst", "reference/api/_autosummary/cycquery.interface.rst", "reference/api/_autosummary/cycquery.interface.QueryInterface.rst", "reference/api/_autosummary/cycquery.mimiciii.rst", "reference/api/_autosummary/cycquery.mimiciii.MIMICIIIQuerier.rst", "reference/api/_autosummary/cycquery.mimiciv.rst", "reference/api/_autosummary/cycquery.mimiciv.MIMICIVQuerier.rst", "reference/api/_autosummary/cycquery.omop.rst", "reference/api/_autosummary/cycquery.omop.OMOPQuerier.rst", "reference/api/_autosummary/cycquery.ops.rst", "reference/api/_autosummary/cycquery.ops.AddColumn.rst", "reference/api/_autosummary/cycquery.ops.AddDeltaColumn.rst", "reference/api/_autosummary/cycquery.ops.AddDeltaConstant.rst", "reference/api/_autosummary/cycquery.ops.AddNumeric.rst", "reference/api/_autosummary/cycquery.ops.And.rst", "reference/api/_autosummary/cycquery.ops.Apply.rst", "reference/api/_autosummary/cycquery.ops.Cast.rst", "reference/api/_autosummary/cycquery.ops.ConditionAfterDate.rst", "reference/api/_autosummary/cycquery.ops.ConditionBeforeDate.rst", "reference/api/_autosummary/cycquery.ops.ConditionEndsWith.rst", "reference/api/_autosummary/cycquery.ops.ConditionEquals.rst", "reference/api/_autosummary/cycquery.ops.ConditionGreaterThan.rst", "reference/api/_autosummary/cycquery.ops.ConditionIn.rst", "reference/api/_autosummary/cycquery.ops.ConditionInMonths.rst", "reference/api/_autosummary/cycquery.ops.ConditionInYears.rst", "reference/api/_autosummary/cycquery.ops.ConditionLessThan.rst", "reference/api/_autosummary/cycquery.ops.ConditionLike.rst", "reference/api/_autosummary/cycquery.ops.ConditionRegexMatch.rst", "reference/api/_autosummary/cycquery.ops.ConditionStartsWith.rst", "reference/api/_autosummary/cycquery.ops.ConditionSubstring.rst", "reference/api/_autosummary/cycquery.ops.Count.rst", "reference/api/_autosummary/cycquery.ops.Distinct.rst", "reference/api/_autosummary/cycquery.ops.Drop.rst", "reference/api/_autosummary/cycquery.ops.DropEmpty.rst", "reference/api/_autosummary/cycquery.ops.DropNulls.rst", "reference/api/_autosummary/cycquery.ops.ExtractTimestampComponent.rst", "reference/api/_autosummary/cycquery.ops.FillNull.rst", "reference/api/_autosummary/cycquery.ops.GroupByAggregate.rst", "reference/api/_autosummary/cycquery.ops.Join.rst", "reference/api/_autosummary/cycquery.ops.Keep.rst", "reference/api/_autosummary/cycquery.ops.Limit.rst", "reference/api/_autosummary/cycquery.ops.Literal.rst", "reference/api/_autosummary/cycquery.ops.Or.rst", "reference/api/_autosummary/cycquery.ops.OrderBy.rst", "reference/api/_autosummary/cycquery.ops.QueryOp.rst", "reference/api/_autosummary/cycquery.ops.RandomizeOrder.rst", "reference/api/_autosummary/cycquery.ops.Rename.rst", "reference/api/_autosummary/cycquery.ops.Reorder.rst", "reference/api/_autosummary/cycquery.ops.ReorderAfter.rst", "reference/api/_autosummary/cycquery.ops.Sequential.rst", "reference/api/_autosummary/cycquery.ops.Substring.rst", "reference/api/_autosummary/cycquery.ops.Trim.rst", "reference/api/_autosummary/cycquery.ops.Union.rst", "reference/api/cycquery.rst", "tutorials.rst", "tutorials/eicu.ipynb", "tutorials/gemini.ipynb", "tutorials/mimiciii.ipynb", "tutorials/mimiciv.ipynb", "tutorials/omop.ipynb"], "indexentries": {"__add__() (sequential method)": [[58, "cycquery.ops.Sequential.__add__", false]], "__call__() (addcolumn method)": [[19, "cycquery.ops.AddColumn.__call__", false]], "__call__() (adddeltacolumn method)": [[20, "cycquery.ops.AddDeltaColumn.__call__", false]], "__call__() (adddeltaconstant method)": [[21, "cycquery.ops.AddDeltaConstant.__call__", false]], "__call__() (addnumeric method)": [[22, "cycquery.ops.AddNumeric.__call__", false]], "__call__() (and method)": [[23, "cycquery.ops.And.__call__", false]], "__call__() (apply method)": [[24, "cycquery.ops.Apply.__call__", false]], "__call__() (cast method)": [[25, "cycquery.ops.Cast.__call__", false]], "__call__() (conditionafterdate method)": [[26, "cycquery.ops.ConditionAfterDate.__call__", false]], "__call__() (conditionbeforedate method)": [[27, "cycquery.ops.ConditionBeforeDate.__call__", false]], "__call__() (conditionendswith method)": [[28, "cycquery.ops.ConditionEndsWith.__call__", false]], "__call__() (conditionequals method)": [[29, "cycquery.ops.ConditionEquals.__call__", false]], "__call__() (conditiongreaterthan method)": [[30, "cycquery.ops.ConditionGreaterThan.__call__", false]], "__call__() (conditionin method)": [[31, "cycquery.ops.ConditionIn.__call__", false]], "__call__() (conditioninmonths method)": [[32, "cycquery.ops.ConditionInMonths.__call__", false]], "__call__() (conditioninyears method)": [[33, "cycquery.ops.ConditionInYears.__call__", false]], "__call__() (conditionlessthan method)": [[34, "cycquery.ops.ConditionLessThan.__call__", false]], "__call__() (conditionlike method)": [[35, "cycquery.ops.ConditionLike.__call__", false]], "__call__() (conditionregexmatch method)": [[36, "cycquery.ops.ConditionRegexMatch.__call__", false]], "__call__() (conditionstartswith method)": [[37, "cycquery.ops.ConditionStartsWith.__call__", false]], "__call__() (conditionsubstring method)": [[38, "cycquery.ops.ConditionSubstring.__call__", false]], "__call__() (count method)": [[39, "cycquery.ops.Count.__call__", false]], "__call__() (distinct method)": [[40, "cycquery.ops.Distinct.__call__", false]], "__call__() (drop method)": [[41, "cycquery.ops.Drop.__call__", false]], "__call__() (dropempty method)": [[42, "cycquery.ops.DropEmpty.__call__", false]], "__call__() (dropnulls method)": [[43, "cycquery.ops.DropNulls.__call__", false]], "__call__() (extracttimestampcomponent method)": [[44, "cycquery.ops.ExtractTimestampComponent.__call__", false]], "__call__() (fillnull method)": [[45, "cycquery.ops.FillNull.__call__", false]], "__call__() (groupbyaggregate method)": [[46, "cycquery.ops.GroupByAggregate.__call__", false]], "__call__() (join method)": [[47, "cycquery.ops.Join.__call__", false]], "__call__() (keep method)": [[48, "cycquery.ops.Keep.__call__", false]], "__call__() (limit method)": [[49, "cycquery.ops.Limit.__call__", false]], "__call__() (literal method)": [[50, "cycquery.ops.Literal.__call__", false]], "__call__() (or method)": [[51, "cycquery.ops.Or.__call__", false]], "__call__() (orderby method)": [[52, "cycquery.ops.OrderBy.__call__", false]], "__call__() (queryop method)": [[53, "cycquery.ops.QueryOp.__call__", false]], "__call__() (randomizeorder method)": [[54, "cycquery.ops.RandomizeOrder.__call__", false]], "__call__() (rename method)": [[55, "cycquery.ops.Rename.__call__", false]], "__call__() (reorder method)": [[56, "cycquery.ops.Reorder.__call__", false]], "__call__() (reorderafter method)": [[57, "cycquery.ops.ReorderAfter.__call__", false]], "__call__() (sequential method)": [[58, "cycquery.ops.Sequential.__call__", false]], "__call__() (substring method)": [[59, "cycquery.ops.Substring.__call__", false]], "__call__() (trim method)": [[60, "cycquery.ops.Trim.__call__", false]], "__call__() (union method)": [[61, "cycquery.ops.Union.__call__", false]], "__init__() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.__init__", false]], "__init__() (sequential method)": [[58, "cycquery.ops.Sequential.__init__", false]], "addcolumn (class in cycquery.ops)": [[19, "cycquery.ops.AddColumn", false]], "adddeltacolumn (class in cycquery.ops)": [[20, "cycquery.ops.AddDeltaColumn", false]], "adddeltaconstant (class in cycquery.ops)": [[21, "cycquery.ops.AddDeltaConstant", false]], "addnumeric (class in cycquery.ops)": [[22, "cycquery.ops.AddNumeric", false]], "and (class in cycquery.ops)": [[23, "cycquery.ops.And", false]], "append() (sequential method)": [[58, "cycquery.ops.Sequential.append", false]], "apply (class in cycquery.ops)": [[24, "cycquery.ops.Apply", false]], "care_units() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.care_units", false]], "cast (class in cycquery.ops)": [[25, "cycquery.ops.Cast", false]], "chartevents() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.chartevents", false]], "chartevents() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.chartevents", false]], "clear_data() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.clear_data", false]], "conditionafterdate (class in cycquery.ops)": [[26, "cycquery.ops.ConditionAfterDate", false]], "conditionbeforedate (class in cycquery.ops)": [[27, "cycquery.ops.ConditionBeforeDate", false]], "conditionendswith (class in cycquery.ops)": [[28, "cycquery.ops.ConditionEndsWith", false]], "conditionequals (class in cycquery.ops)": [[29, "cycquery.ops.ConditionEquals", false]], "conditiongreaterthan (class in cycquery.ops)": [[30, "cycquery.ops.ConditionGreaterThan", false]], "conditionin (class in cycquery.ops)": [[31, "cycquery.ops.ConditionIn", false]], "conditioninmonths (class in cycquery.ops)": [[32, "cycquery.ops.ConditionInMonths", false]], "conditioninyears (class in cycquery.ops)": [[33, "cycquery.ops.ConditionInYears", false]], "conditionlessthan (class in cycquery.ops)": [[34, "cycquery.ops.ConditionLessThan", false]], "conditionlike (class in cycquery.ops)": [[35, "cycquery.ops.ConditionLike", false]], "conditionregexmatch (class in cycquery.ops)": [[36, "cycquery.ops.ConditionRegexMatch", false]], "conditionstartswith (class in cycquery.ops)": [[37, "cycquery.ops.ConditionStartsWith", false]], "conditionsubstring (class in cycquery.ops)": [[38, "cycquery.ops.ConditionSubstring", false]], "count (class in cycquery.ops)": [[39, "cycquery.ops.Count", false]], "cycquery": [[62, "module-cycquery", false]], "cycquery.base": [[4, "module-cycquery.base", false]], "cycquery.eicu": [[6, "module-cycquery.eicu", false]], "cycquery.gemini": [[8, "module-cycquery.gemini", false]], "cycquery.interface": [[10, "module-cycquery.interface", false]], "cycquery.mimiciii": [[12, "module-cycquery.mimiciii", false]], "cycquery.mimiciv": [[14, "module-cycquery.mimiciv", false]], "cycquery.omop": [[16, "module-cycquery.omop", false]], "cycquery.ops": [[18, "module-cycquery.ops", false]], "data (queryinterface property)": [[11, "cycquery.interface.QueryInterface.data", false]], "datasetquerier (class in cycquery.base)": [[5, "cycquery.base.DatasetQuerier", false]], "db (datasetquerier attribute)": [[5, "cycquery.base.DatasetQuerier.db", false]], "diagnoses() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.diagnoses", false]], "diagnoses() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.diagnoses", false]], "diagnoses_icd() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.diagnoses_icd", false]], "distinct (class in cycquery.ops)": [[40, "cycquery.ops.Distinct", false]], "drop (class in cycquery.ops)": [[41, "cycquery.ops.Drop", false]], "dropempty (class in cycquery.ops)": [[42, "cycquery.ops.DropEmpty", false]], "dropnulls (class in cycquery.ops)": [[43, "cycquery.ops.DropNulls", false]], "eicuquerier (class in cycquery.eicu)": [[7, "cycquery.eicu.EICUQuerier", false]], "extend() (sequential method)": [[58, "cycquery.ops.Sequential.extend", false]], "extracttimestampcomponent (class in cycquery.ops)": [[44, "cycquery.ops.ExtractTimestampComponent", false]], "fillnull (class in cycquery.ops)": [[45, "cycquery.ops.FillNull", false]], "geminiquerier (class in cycquery.gemini)": [[9, "cycquery.gemini.GEMINIQuerier", false]], "get_table() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.get_table", false]], "get_table() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.get_table", false]], "get_table() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.get_table", false]], "get_table() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.get_table", false]], "get_table() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.get_table", false]], "get_table() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.get_table", false]], "groupbyaggregate (class in cycquery.ops)": [[46, "cycquery.ops.GroupByAggregate", false]], "imaging() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.imaging", false]], "insert() (sequential method)": [[58, "cycquery.ops.Sequential.insert", false]], "ip_admin() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.ip_admin", false]], "join (class in cycquery.ops)": [[47, "cycquery.ops.Join", false]], "join() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.join", false]], "keep (class in cycquery.ops)": [[48, "cycquery.ops.Keep", false]], "labevents() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.labevents", false]], "labevents() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.labevents", false]], "limit (class in cycquery.ops)": [[49, "cycquery.ops.Limit", false]], "list_columns() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_columns", false]], "list_columns() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_columns", false]], "list_columns() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_columns", false]], "list_columns() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_columns", false]], "list_columns() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_columns", false]], "list_columns() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_columns", false]], "list_custom_tables() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_custom_tables", false]], "list_custom_tables() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_custom_tables", false]], "list_custom_tables() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_custom_tables", false]], "list_custom_tables() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_custom_tables", false]], "list_custom_tables() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_custom_tables", false]], "list_custom_tables() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_custom_tables", false]], "list_schemas() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_schemas", false]], "list_schemas() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_schemas", false]], "list_schemas() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_schemas", false]], "list_schemas() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_schemas", false]], "list_schemas() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_schemas", false]], "list_schemas() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_schemas", false]], "list_tables() (datasetquerier method)": [[5, "cycquery.base.DatasetQuerier.list_tables", false]], "list_tables() (eicuquerier method)": [[7, "cycquery.eicu.EICUQuerier.list_tables", false]], "list_tables() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.list_tables", false]], "list_tables() (mimiciiiquerier method)": [[13, "cycquery.mimiciii.MIMICIIIQuerier.list_tables", false]], "list_tables() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.list_tables", false]], "list_tables() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.list_tables", false]], "literal (class in cycquery.ops)": [[50, "cycquery.ops.Literal", false]], "map_concept_ids_to_name() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.map_concept_ids_to_name", false]], "measurement() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.measurement", false]], "mimiciiiquerier (class in cycquery.mimiciii)": [[13, "cycquery.mimiciii.MIMICIIIQuerier", false]], "mimicivquerier (class in cycquery.mimiciv)": [[15, "cycquery.mimiciv.MIMICIVQuerier", false]], "module": [[4, "module-cycquery.base", false], [6, "module-cycquery.eicu", false], [8, "module-cycquery.gemini", false], [10, "module-cycquery.interface", false], [12, "module-cycquery.mimiciii", false], [14, "module-cycquery.mimiciv", false], [16, "module-cycquery.omop", false], [18, "module-cycquery.ops", false], [62, "module-cycquery", false]], "observation() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.observation", false]], "omopquerier (class in cycquery.omop)": [[17, "cycquery.omop.OMOPQuerier", false]], "ops() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.ops", false]], "or (class in cycquery.ops)": [[51, "cycquery.ops.Or", false]], "orderby (class in cycquery.ops)": [[52, "cycquery.ops.OrderBy", false]], "patients() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.patients", false]], "person() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.person", false]], "pop() (sequential method)": [[58, "cycquery.ops.Sequential.pop", false]], "procedures_icd() (mimicivquerier method)": [[15, "cycquery.mimiciv.MIMICIVQuerier.procedures_icd", false]], "queryinterface (class in cycquery.interface)": [[11, "cycquery.interface.QueryInterface", false]], "queryop (class in cycquery.ops)": [[53, "cycquery.ops.QueryOp", false]], "randomizeorder (class in cycquery.ops)": [[54, "cycquery.ops.RandomizeOrder", false]], "rename (class in cycquery.ops)": [[55, "cycquery.ops.Rename", false]], "reorder (class in cycquery.ops)": [[56, "cycquery.ops.Reorder", false]], "reorderafter (class in cycquery.ops)": [[57, "cycquery.ops.ReorderAfter", false]], "room_transfer() (geminiquerier method)": [[9, "cycquery.gemini.GEMINIQuerier.room_transfer", false]], "run() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.run", false]], "save() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.save", false]], "sequential (class in cycquery.ops)": [[58, "cycquery.ops.Sequential", false]], "substring (class in cycquery.ops)": [[59, "cycquery.ops.Substring", false]], "trim (class in cycquery.ops)": [[60, "cycquery.ops.Trim", false]], "union (class in cycquery.ops)": [[61, "cycquery.ops.Union", false]], "union() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.union", false]], "union_all() (queryinterface method)": [[11, "cycquery.interface.QueryInterface.union_all", false]], "visit_detail() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.visit_detail", false]], "visit_occurrence() (omopquerier method)": [[17, "cycquery.omop.OMOPQuerier.visit_occurrence", false]]}, "objects": {"": [[62, 0, 0, "-", "cycquery"]], "cycquery": [[4, 0, 0, "-", "base"], [6, 0, 0, "-", "eicu"], [8, 0, 0, "-", "gemini"], [10, 0, 0, "-", "interface"], [12, 0, 0, "-", "mimiciii"], [14, 0, 0, "-", "mimiciv"], [16, 0, 0, "-", "omop"], [18, 0, 0, "-", "ops"]], "cycquery.base": [[5, 1, 1, "", "DatasetQuerier"]], "cycquery.base.DatasetQuerier": [[5, 2, 1, "", "db"], [5, 3, 1, "", "get_table"], [5, 3, 1, "", "list_columns"], [5, 3, 1, "", "list_custom_tables"], [5, 3, 1, "", "list_schemas"], [5, 3, 1, "", "list_tables"]], "cycquery.eicu": [[7, 1, 1, "", "EICUQuerier"]], "cycquery.eicu.EICUQuerier": [[7, 3, 1, "", "get_table"], [7, 3, 1, "", "list_columns"], [7, 3, 1, "", "list_custom_tables"], [7, 3, 1, "", "list_schemas"], [7, 3, 1, "", "list_tables"]], "cycquery.gemini": [[9, 1, 1, "", "GEMINIQuerier"]], "cycquery.gemini.GEMINIQuerier": [[9, 3, 1, "", "care_units"], [9, 3, 1, "", "diagnoses"], [9, 3, 1, "", "get_table"], [9, 3, 1, "", "imaging"], [9, 3, 1, "", "ip_admin"], [9, 3, 1, "", "list_columns"], [9, 3, 1, "", "list_custom_tables"], [9, 3, 1, "", "list_schemas"], [9, 3, 1, "", "list_tables"], [9, 3, 1, "", "room_transfer"]], "cycquery.interface": [[11, 1, 1, "", "QueryInterface"]], "cycquery.interface.QueryInterface": [[11, 3, 1, "", "__init__"], [11, 3, 1, "", "clear_data"], [11, 4, 1, "", "data"], [11, 3, 1, "", "join"], [11, 3, 1, "", "ops"], [11, 3, 1, "", "run"], [11, 3, 1, "", "save"], [11, 3, 1, "", "union"], [11, 3, 1, "", "union_all"]], "cycquery.mimiciii": [[13, 1, 1, "", "MIMICIIIQuerier"]], "cycquery.mimiciii.MIMICIIIQuerier": [[13, 3, 1, "", "chartevents"], [13, 3, 1, "", "diagnoses"], [13, 3, 1, "", "get_table"], [13, 3, 1, "", "labevents"], [13, 3, 1, "", "list_columns"], [13, 3, 1, "", "list_custom_tables"], [13, 3, 1, "", "list_schemas"], [13, 3, 1, "", "list_tables"]], "cycquery.mimiciv": [[15, 1, 1, "", "MIMICIVQuerier"]], "cycquery.mimiciv.MIMICIVQuerier": [[15, 3, 1, "", "chartevents"], [15, 3, 1, "", "diagnoses_icd"], [15, 3, 1, "", "get_table"], [15, 3, 1, "", "labevents"], [15, 3, 1, "", "list_columns"], [15, 3, 1, "", "list_custom_tables"], [15, 3, 1, "", "list_schemas"], [15, 3, 1, "", "list_tables"], [15, 3, 1, "", "patients"], [15, 3, 1, "", "procedures_icd"]], "cycquery.omop": [[17, 1, 1, "", "OMOPQuerier"]], "cycquery.omop.OMOPQuerier": [[17, 3, 1, "", "get_table"], [17, 3, 1, "", "list_columns"], [17, 3, 1, "", "list_custom_tables"], [17, 3, 1, "", "list_schemas"], [17, 3, 1, "", "list_tables"], [17, 3, 1, "", "map_concept_ids_to_name"], [17, 3, 1, "", "measurement"], [17, 3, 1, "", "observation"], [17, 3, 1, "", "person"], [17, 3, 1, "", "visit_detail"], [17, 3, 1, "", "visit_occurrence"]], "cycquery.ops": [[19, 1, 1, "", "AddColumn"], [20, 1, 1, "", "AddDeltaColumn"], [21, 1, 1, "", "AddDeltaConstant"], [22, 1, 1, "", "AddNumeric"], [23, 1, 1, "", "And"], [24, 1, 1, "", "Apply"], [25, 1, 1, "", "Cast"], [26, 1, 1, "", "ConditionAfterDate"], [27, 1, 1, "", "ConditionBeforeDate"], [28, 1, 1, "", "ConditionEndsWith"], [29, 1, 1, "", "ConditionEquals"], [30, 1, 1, "", "ConditionGreaterThan"], [31, 1, 1, "", "ConditionIn"], [32, 1, 1, "", "ConditionInMonths"], [33, 1, 1, "", "ConditionInYears"], [34, 1, 1, "", "ConditionLessThan"], [35, 1, 1, "", "ConditionLike"], [36, 1, 1, "", "ConditionRegexMatch"], [37, 1, 1, "", "ConditionStartsWith"], [38, 1, 1, "", "ConditionSubstring"], [39, 1, 1, "", "Count"], [40, 1, 1, "", "Distinct"], [41, 1, 1, "", "Drop"], [42, 1, 1, "", "DropEmpty"], [43, 1, 1, "", "DropNulls"], [44, 1, 1, "", "ExtractTimestampComponent"], [45, 1, 1, "", "FillNull"], [46, 1, 1, "", "GroupByAggregate"], [47, 1, 1, "", "Join"], [48, 1, 1, "", "Keep"], [49, 1, 1, "", "Limit"], [50, 1, 1, "", "Literal"], [51, 1, 1, "", "Or"], [52, 1, 1, "", "OrderBy"], [53, 1, 1, "", "QueryOp"], [54, 1, 1, "", "RandomizeOrder"], [55, 1, 1, "", "Rename"], [56, 1, 1, "", "Reorder"], [57, 1, 1, "", "ReorderAfter"], [58, 1, 1, "", "Sequential"], [59, 1, 1, "", "Substring"], [60, 1, 1, "", "Trim"], [61, 1, 1, "", "Union"]], "cycquery.ops.AddColumn": [[19, 3, 1, "", "__call__"]], "cycquery.ops.AddDeltaColumn": [[20, 3, 1, "", "__call__"]], "cycquery.ops.AddDeltaConstant": [[21, 3, 1, "", "__call__"]], "cycquery.ops.AddNumeric": [[22, 3, 1, "", "__call__"]], "cycquery.ops.And": [[23, 3, 1, "", "__call__"]], "cycquery.ops.Apply": [[24, 3, 1, "", "__call__"]], "cycquery.ops.Cast": [[25, 3, 1, "", "__call__"]], "cycquery.ops.ConditionAfterDate": [[26, 3, 1, "", "__call__"]], "cycquery.ops.ConditionBeforeDate": [[27, 3, 1, "", "__call__"]], "cycquery.ops.ConditionEndsWith": [[28, 3, 1, "", "__call__"]], "cycquery.ops.ConditionEquals": [[29, 3, 1, "", "__call__"]], "cycquery.ops.ConditionGreaterThan": [[30, 3, 1, "", "__call__"]], "cycquery.ops.ConditionIn": [[31, 3, 1, "", "__call__"]], "cycquery.ops.ConditionInMonths": [[32, 3, 1, "", "__call__"]], "cycquery.ops.ConditionInYears": [[33, 3, 1, "", "__call__"]], "cycquery.ops.ConditionLessThan": [[34, 3, 1, "", "__call__"]], "cycquery.ops.ConditionLike": [[35, 3, 1, "", "__call__"]], "cycquery.ops.ConditionRegexMatch": [[36, 3, 1, "", "__call__"]], "cycquery.ops.ConditionStartsWith": [[37, 3, 1, "", "__call__"]], "cycquery.ops.ConditionSubstring": [[38, 3, 1, "", "__call__"]], "cycquery.ops.Count": [[39, 3, 1, "", "__call__"]], "cycquery.ops.Distinct": [[40, 3, 1, "", "__call__"]], "cycquery.ops.Drop": [[41, 3, 1, "", "__call__"]], "cycquery.ops.DropEmpty": [[42, 3, 1, "", "__call__"]], "cycquery.ops.DropNulls": [[43, 3, 1, "", "__call__"]], "cycquery.ops.ExtractTimestampComponent": [[44, 3, 1, "", "__call__"]], "cycquery.ops.FillNull": [[45, 3, 1, "", "__call__"]], "cycquery.ops.GroupByAggregate": [[46, 3, 1, "", "__call__"]], "cycquery.ops.Join": [[47, 3, 1, "", "__call__"]], "cycquery.ops.Keep": [[48, 3, 1, "", "__call__"]], "cycquery.ops.Limit": [[49, 3, 1, "", "__call__"]], "cycquery.ops.Literal": [[50, 3, 1, "", "__call__"]], "cycquery.ops.Or": [[51, 3, 1, "", "__call__"]], "cycquery.ops.OrderBy": [[52, 3, 1, "", "__call__"]], "cycquery.ops.QueryOp": [[53, 3, 1, "", "__call__"]], "cycquery.ops.RandomizeOrder": [[54, 3, 1, "", "__call__"]], "cycquery.ops.Rename": [[55, 3, 1, "", "__call__"]], "cycquery.ops.Reorder": [[56, 3, 1, "", "__call__"]], "cycquery.ops.ReorderAfter": [[57, 3, 1, "", "__call__"]], "cycquery.ops.Sequential": [[58, 3, 1, "", "__add__"], [58, 3, 1, "", "__call__"], [58, 3, 1, "", "__init__"], [58, 3, 1, "", "append"], [58, 3, 1, "", "extend"], [58, 3, 1, "", "insert"], [58, 3, 1, "", "pop"]], "cycquery.ops.Substring": [[59, 3, 1, "", "__call__"]], "cycquery.ops.Trim": [[60, 3, 1, "", "__call__"]], "cycquery.ops.Union": [[61, 3, 1, "", "__call__"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property"}, "terms": {"": [11, 17, 24, 45, 64, 65, 66, 67, 68], "0": [14, 45, 59, 64, 65, 66, 67, 68], "006886": 67, "01": [26, 27, 65, 67, 68], "013580": 68, "03": [65, 67], "034705": 66, "037": 64, "038": 64, "04": [64, 65, 66, 67, 68], "043745": 64, "044270": 66, "05": [65, 67, 68], "054049": 64, "058665": 68, "061462": 68, "07": 67, "074736": 67, "084577": 64, "09": 65, "093352": 65, "1": [3, 11, 21, 22, 24, 26, 27, 29, 30, 31, 32, 34, 45, 50, 63], "10": [49, 63], "100": [63, 66, 67, 68], "1000": 67, "1000000": 11, "101": 63, "102949": 66, "12": [64, 66], "13": [66, 68], "14": 67, "145693": 65, "15": [64, 66, 67, 68], "16": [67, 68], "162660": 64, "17": [64, 65, 66, 67, 68], "173": 66, "175": 66, "182": 67, "183": 67, "189734": 65, "19": 65, "195802": 67, "1a": 63, "1b": 63, "1c": 63, "2": [3, 14, 22, 24, 31, 32, 59, 63, 65], "20": 63, "2009": 63, "201": 68, "2010": 63, "2011": 68, "2012": 68, "2013": 68, "2014": [63, 68], "2015": [63, 68], "2016": [63, 68], "2017": 68, "2018": 68, "2019": [33, 68], "2020": [26, 27, 33, 63], "2021": [63, 68], "2022": 68, "2023": [65, 68], "2024": [64, 66, 67, 68], "21": [65, 68], "210": 66, "212": 66, "221": 64, "222": 64, "249": 66, "26": 65, "260": 68, "261": 68, "263": 67, "265": 67, "2a": 63, "3": [63, 65, 68], "30": [64, 67], "31": [63, 64], "32": 64, "32567": 65, "347": 68, "348": 68, "350": 66, "351": 66, "354782": 67, "39": [64, 65, 66, 67, 68], "4": [63, 65, 68], "41": [66, 67], "417": 66, "418": 66, "449": 65, "45": 65, "468321": 67, "478": 68, "48": 66, "49": 67, "490": 67, "491": 67, "5": [63, 64, 65, 66, 68], "50": 67, "506": [65, 67], "508": 67, "51": 65, "512": 67, "513": 67, "52": 65, "54": 68, "5432": [3, 17, 64, 66, 67, 68], "55": 68, "58": 68, "5815": 68, "59": 66, "591": 65, "592": 65, "6": [63, 65, 66, 68], "600": 67, "601": 67, "674020": 67, "675141": 65, "699": 68, "7": [63, 65, 68], "70": [66, 67], "701": 68, "722001": 66, "8": [63, 68], "814": 65, "815": 65, "82": 67, "828": 68, "829": 68, "83": 67, "856": 65, "857": [64, 65], "859": 64, "871534": 67, "9": [63, 68], "902": 65, "903": 65, "909": 67, "910": 67, "9305": 65, "939296": 65, "95": 68, "963": 64, "964": 67, "965": 64, "972264": 67, "977": [64, 67], "978384": 68, "979": 67, "999": 67, "A": [10, 11, 21, 26, 27, 47], "And": [0, 67], "For": [1, 17], "If": [1, 17, 19, 20, 21, 22, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 45, 46, 47, 52, 60], "In": 3, "It": [3, 24, 63], "No": [11, 68], "Not": 5, "OR": 51, "Or": 0, "The": [1, 3, 5, 11, 15, 20, 24, 48, 62, 63, 64, 66, 67, 68], "To": 1, "__add__": [0, 58], "__call__": [0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "__init__": [0, 11, 58], "aado2": 63, "abov": 63, "abstract": 53, "accord": [17, 64, 66, 67, 68], "accordingli": [64, 66, 67, 68], "activ": 3, "ad": [11, 19, 20, 21, 22, 58], "add": [19, 20, 21, 22, 50, 58], "add_to": [19, 20, 21, 22], "addcolumn": 0, "adddeltacolumn": [0, 67], "adddeltaconst": 0, "addnumer": 0, "address": 5, "adjust": 15, "admdad": 65, "admiss": [63, 66], "admissiondrug": 64, "admissiondx": 64, "admittim": 67, "admitting_concept_id": 68, "advanc": 63, "after": [5, 15, 24, 26, 57, 58, 63], "aggfunc": 46, "aggreg": [3, 46], "aggsep": 46, "all": [1, 3, 11, 38, 52, 55, 61, 63, 65], "all_visit": 68, "allergi": 64, "allow": [5, 7, 9, 13, 15, 17, 63], "along": 1, "also": 24, "an": [1, 9, 11, 13, 15, 17, 20, 23, 47, 51, 55], "analysi": 1, "analyz": 54, "anchor_year": 15, "anchor_year_differ": 67, "anchor_year_group": 15, "ani": [11, 20, 28, 29, 30, 31, 34, 37, 38, 45, 50], "anoth": [11, 47, 55, 58], "any_": 38, "apacheapsvar": 64, "apachepatientresult": 64, "apachepredvar": 64, "api": [2, 3, 5, 7, 9, 13, 15, 16, 17, 63], "append": [0, 58], "appli": [0, 1, 15, 19, 20, 21, 22, 60], "approx": 63, "approxim": 15, "apr": 63, "april": 63, "ar": [5, 15, 24, 47], "arg": [53, 54, 58], "argument": [20, 28, 29, 30, 31, 34, 37, 38], "around": [3, 63], "ascend": [52, 65], "assign": 17, "assign_all_visit_id": 68, "assum": [24, 64, 66, 67, 68], "attent": 19, "attribut": 11, "automat": 5, "b": 38, "backend": 11, "base": [0, 3, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "batch": [11, 63], "batch_mod": [11, 67], "batch_siz": [11, 67], "becom": [11, 54], "befor": [1, 27, 47], "being": [19, 20, 21, 22, 26, 27, 29, 32, 33], "between": 63, "bin": 3, "binarize_col": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "binaryexpress": [11, 47], "black": 1, "bodi": 68, "bool": [5, 7, 9, 11, 13, 15, 17, 19, 20, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 52, 55, 61], "boolean": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "both": 47, "build": [5, 63], "built": 3, "ca": 65, "call": 53, "callabl": 24, "can": [1, 3, 5, 7, 9, 13, 15, 17, 24, 38], "cannot": 54, "care": [9, 15], "care_sit": 68, "care_unit": [0, 9], "careplancareprovid": 64, "careplaneol": 64, "careplangener": 64, "careplango": 64, "careplaninfectiousdiseas": 64, "carevu": 63, "cartesian": 47, "cast": [0, 5, 7, 9, 11, 13, 15, 17, 65, 67], "cast_timestamp_col": [5, 7, 9, 13, 15, 17], "categori": 67, "cd": 3, "cdm_sourc": 68, "cdm_synthea10": 68, "certain": 54, "chain": [11, 58], "chart": [15, 63], "chart_ev": [66, 67], "chartev": [0, 13, 15, 66, 67], "chartevents_op": 66, "check": [1, 55], "check_exist": 55, "chronic": 63, "class": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "clear": 11, "clear_data": [0, 11], "code": [2, 64, 66, 67, 68], "codestyl": 3, "cohort": 68, "cohort_definit": 68, "col": [19, 24, 25, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 48, 50, 52, 56, 57, 59, 60], "col1": [3, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 45, 47, 48, 50, 52, 55, 56, 57, 58, 59, 60], "col1_bool": [26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "col1_new": [24, 45, 55], "col1_plus_1": [21, 22], "col1_plus_col2": [19, 20], "col1_plus_col3": 19, "col1_substr": 59, "col1_trim": 60, "col2": [3, 19, 20, 21, 22, 24, 25, 41, 42, 43, 45, 47, 48, 52, 56, 57, 58, 60], "col2_new": [24, 45], "col2_plus_1": 22, "col2_plus_col3": 19, "col2_trim": 60, "col3": [3, 19, 20, 47, 57], "collection_date_tim": 65, "column": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 55, 56, 57, 59, 60], "combin": [19, 23, 51], "come": 57, "commit": 2, "common": 68, "commun": 63, "complet": 56, "compon": 44, "comput": 11, "concept": [17, 68], "concept_ancestor": 68, "concept_class": 68, "concept_relationship": 68, "concept_synonym": 68, "cond": [11, 47], "cond_kwarg": [28, 29, 30, 31, 34, 37, 38], "cond_op": [23, 51], "condit": [3, 11, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 68], "condition_concept_id": 68, "condition_concept_nam": 68, "condition_era": 68, "condition_occurr": 68, "conditionafterd": [0, 65, 67, 68], "conditionbefored": [0, 65], "conditionendswith": 0, "conditionequ": [0, 64, 65, 66, 67], "conditiongreaterthan": 0, "conditionin": [0, 3, 23, 51], "conditioninmonth": 0, "conditioninyear": [0, 67], "conditionlessthan": [0, 66], "conditionlik": [0, 23, 51, 67], "conditionregexmatch": [0, 63], "conditionstartswith": 0, "conditionsubstr": [0, 3, 64, 65, 66, 67, 68], "config": [64, 66, 67, 68], "consid": 17, "construct": [9, 13, 15, 17, 20, 21], "contain": [11, 63], "contribut": 2, "convers": 25, "convert": [25, 47], "correspond": [17, 42, 43], "cost": 68, "count": [0, 46, 65, 68], "crd": [2, 6, 63], "creat": [3, 5, 11, 19, 20, 21, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 60, 63], "csv": [11, 68], "current": 25, "custom": [5, 7, 9, 13, 15, 17, 66], "customlab": 64, "cycqueri": [0, 63, 64, 65, 66, 68], "d": 3, "dai": 21, "dask": 11, "data": [0, 3, 9, 11, 13, 15, 54, 67, 68], "databas": [2, 5, 7, 9, 10, 11, 13, 15, 17, 62, 63, 64, 65, 66, 67, 68], "dataclass": 11, "datafram": [3, 11], "dataset": [0, 5, 7, 9, 11, 13, 15, 17, 63], "datasetqueri": [0, 3, 7, 9, 13, 15, 17], "date": [25, 26, 27], "datetim": [5, 7, 9, 13, 15, 17, 21, 26, 27], "db": [0, 5, 65, 67], "dbm": [3, 5, 7, 9, 13, 15, 17, 64, 66, 67, 68], "dbname": 3, "dbsourc": 66, "dbtabl": [11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61], "dd": [26, 27], "death": 68, "default": [5, 11, 37], "defin": 11, "delirium_v4_0_1": 65, "delta": 21, "delta_kwarg": 20, "depend": 3, "derived_vari": 65, "descend": 52, "develop": 2, "device_exposur": 68, "df": 3, "di": 68, "diagnos": [0, 9, 13, 63], "diagnoses_icd": [0, 15, 67], "diagnoses_op": 67, "diagnosi": [9, 13, 15, 64], "diagnosisstr": 63, "dict": [46, 55], "dictionari": 46, "differ": [38, 47], "disabl": 24, "discharg": 63, "discharge_date_tim": 63, "discharge_to_concept_id": 68, "discharge_to_concept_nam": 68, "dischtim": 67, "distinct": [0, 3, 65], "doc": 3, "docstr": 1, "dod": 15, "domain": 68, "don": 1, "dose_era": 68, "downstream": [5, 7, 9, 13, 15, 17], "drop": [0, 58], "dropempti": [0, 65], "dropnul": [0, 3], "drug_era": 68, "drug_exposur": 68, "drug_strength": 68, "drugnam": 64, "dst_col": 17, "dt": 68, "dtype": 68, "dtype_backend": 11, "e": [3, 5, 44, 47, 50], "e501": 24, "each": [17, 24, 52, 63, 64, 66, 67, 68], "ehr": [3, 5, 62, 63, 68], "eicu": [0, 2, 63], "eicu_crd": 64, "eicuqueri": [0, 63], "electron": 3, "empti": [5, 42], "encount": [9, 63], "encounters_lab": 65, "encounters_per_sit": 65, "encounters_queri": 65, "end": [28, 58, 63], "env": 3, "environ": [1, 3], "episod": 68, "episode_ev": 68, "equal": [29, 30, 34], "er": 65, "erdiagnosi": 65, "erintervent": 65, "error": 1, "etl": 68, "event": [15, 63], "exampl": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 63], "execut": [58, 64, 65, 66, 67, 68], "exist": [19, 20, 21, 22, 55, 60], "expens": 47, "expire_flag": 66, "express": 36, "extend": [0, 58], "extract": [44, 59, 64, 65, 66, 67, 68], "extract_str": 44, "extracttimestampcompon": 0, "f": [64, 65, 66, 67, 68], "fact_relationship": 68, "fals": [11, 19, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 52, 61, 65], "femal": 63, "fetch": [9, 11], "fhir_etl": 67, "fhir_trm": 67, "file": [1, 5, 11], "file_format": 11, "fill": [1, 45], "fill_valu": 45, "fillnul": 0, "filter": [3, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 47, 51, 63], "final": 58, "final_visit_id": 68, "finish": [64, 65, 66, 67, 68], "first": [61, 64, 66, 67, 68], "fix": 1, "flag": 47, "float": [22, 25], "follow": [57, 68], "forget": 1, "format": [1, 11, 26, 27, 47, 68], "framework": 11, "from": [3, 9, 11, 15, 17, 44, 47, 55, 60, 63, 64, 66, 68], "func": 24, "function": [15, 19, 20, 21, 22, 24, 46, 53, 60, 63, 64, 65, 66, 67, 68], "further": 1, "g": [3, 5, 44, 47, 50], "gastroenter": 63, "gemini": [0, 2, 63], "geminiqueri": [0, 63], "genc_id": 65, "gender": [64, 66, 67], "gender_concept_nam": 68, "gener": [11, 68], "get": [2, 5, 7, 9, 11, 13, 15, 17, 40, 59, 63], "get_tabl": [0, 5, 7, 9, 13, 15, 17], "given": [45, 58], "glucos": 63, "googl": 1, "greater": [30, 34], "group": 46, "groupbi": 3, "groupby_col": 46, "groupbyaggreg": [0, 65], "guid": 1, "guidelin": [2, 3], "ha": 59, "hadm_id": [66, 67], "have": [5, 7, 9, 13, 15, 17, 31, 38, 47, 63], "hba1c": [23, 35, 51], "health": 3, "hemoglobin": 63, "henc": 3, "hint": 1, "hook": 2, "hospit": [15, 63], "hospital_num": 65, "hospitaldischargeyear": 64, "hospitalid": 64, "host": [3, 5, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "hous": 68, "how": [63, 64, 66, 67, 68], "hpc": 65, "html": 3, "i": [1, 3, 5, 11, 15, 17, 19, 20, 21, 22, 24, 38, 42, 43, 47, 54, 63, 64, 66, 67, 68], "icd": 63, "icd_vers": 67, "icu": 15, "id": 17, "iii": [2, 12, 13, 63, 68], "imag": [0, 9], "implement": 53, "import": [3, 63], "includ": [3, 30, 34], "index": [11, 58, 59, 63], "index_col": [11, 67], "infecti": 63, "infer": 15, "info": [3, 9, 64, 65, 66, 67, 68], "inform": 44, "information_schema": [67, 68], "infusiondrug": 64, "initi": [11, 58], "input": 24, "insert": [0, 58], "instal": 2, "instanti": [5, 63], "instead": [23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 51], "instruct": [64, 66, 67, 68], "int": [5, 11, 22, 25, 32, 33, 47, 49, 58, 59], "int64": 68, "intakeoutput": 64, "integ": 50, "integr": 3, "intend": 5, "interest": 1, "interfac": [0, 9, 13, 15, 17], "interv": 20, "ip_admin": [0, 9], "ipdiagnosi": 65, "ipintervent": 65, "ipscu": 65, "isout": [11, 47, 68], "issu": 1, "iv": [2, 14, 63], "jane": [23, 51], "john": [23, 51], "join": [0, 3, 11, 15, 64, 65, 66, 67, 68], "join_tabl": [11, 47, 64, 66, 67, 68], "join_table_col": [11, 47], "just": 38, "keep": [0, 47, 63], "kei": [46, 55, 58], "keyword": [28, 29, 30, 31, 34, 37, 38, 61, 63], "kwarg": [53, 54], "lab": [15, 63, 65], "lab_nam": [23, 35, 46, 51], "lab_name_agg": 46, "lab_name_bool": 35, "lab_op": 65, "label": [19, 20, 21, 22, 44, 46, 50, 60, 66, 67], "labev": [0, 13, 15, 66], "labnam": 64, "lambda": 24, "larg": 54, "last": 1, "later": 63, "least": 1, "left": 47, "len": [64, 65, 66, 67, 68], "less": [34, 63], "like": [3, 17, 35], "limit": [0, 11, 54, 63, 66, 67, 68], "line": 24, "link": 1, "list": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 25, 31, 32, 33, 38, 40, 41, 42, 43, 45, 46, 47, 48, 51, 52, 56, 57, 58, 60, 64, 65, 66, 67, 68], "list_column": [0, 5, 7, 9, 13, 15, 17], "list_custom_t": [0, 5, 7, 9, 13, 15, 17, 66], "list_schema": [0, 5, 7, 9, 13, 15, 17, 67, 68], "list_tabl": [0, 3, 5, 7, 9, 13, 15, 17, 64, 65, 68], "liter": [0, 11], "load": 68, "local": 3, "localhost": [3, 17, 64, 66, 67, 68], "locality_vari": 65, "locat": 68, "long": [24, 63], "long_titl": [66, 67], "lookup_cci": 65, "lookup_ccsr": 65, "lookup_diagnosi": 65, "lookup_er_administr": 65, "lookup_hospital_num": 65, "lookup_icd10_ca_descript": 65, "lookup_icd10_ca_to_ccsr": 65, "lookup_imag": 65, "lookup_ip_administr": 65, "lookup_ip_scu": 65, "lookup_lab_concept": 65, "lookup_pharmacy_concept": 65, "lookup_pharmacy_rout": 65, "lookup_phy_characterist": 65, "lookup_room_transf": 65, "lookup_statcan": 65, "lookup_transf": 65, "lookup_transfusion_concept": 65, "lookup_vitals_concept": 65, "lymphadenopathi": 63, "m": [3, 66], "mai": 63, "make": [3, 38], "male": 63, "manag": 5, "mani": [3, 63], "map": [5, 7, 9, 13, 15, 17, 55], "map_concept_ids_to_nam": [0, 17, 68], "march": 63, "match": [3, 36, 68], "measur": [0, 17, 63], "measurement_concept_nam": 68, "medic": 63, "metadata": 68, "method": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 66], "microlab": 64, "million": 11, "mimic": [2, 12, 13, 14, 15, 63, 68], "mimic_fhir": 67, "mimiciii": [0, 66, 68], "mimiciiiqueri": [0, 63, 68], "mimiciv": [0, 67], "mimiciv_": 67, "mimiciv_deriv": 67, "mimiciv_hosp": 67, "mimiciv_icu": 67, "mimiciv_not": 67, "mimicivqueri": [0, 63], "mm": [26, 27], "mode": 11, "model": 68, "modul": [6, 8, 12, 14, 15], "month": [32, 44], "more": 3, "mortal": 63, "most": 63, "multipl": [9, 23, 24, 46, 51], "must": [25, 31, 32, 33, 38, 46], "mypi": 1, "mysql": 5, "name": [5, 7, 9, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 45, 46, 47, 51, 55, 56, 57, 59, 68], "nbsphinx_allow_error": 3, "need": [1, 59], "neg": [19, 20], "negat": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "neither": 47, "new": [19, 20, 21, 22, 24, 45, 46, 50, 56, 59, 60], "new_col": 24, "new_col_label": [19, 20, 21, 22, 59, 60], "new_col_nam": [45, 59], "next": 67, "none": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 45, 46, 47, 52, 59, 60], "noqa": 24, "nor": 47, "not_": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "note": [5, 15, 64, 68], "note_nlp": 68, "notebook": [64, 65, 66, 67, 68], "null": [43, 45], "number": [5, 39, 49, 57, 63], "numer": 22, "numpi": 1, "nurseassess": 64, "nursecar": 64, "nursechart": 64, "object": [5, 9, 10, 11, 13, 15, 17, 20, 21, 24, 26, 27, 46, 53, 58, 63], "observ": [0, 17, 68], "observation_period": 68, "occur": 63, "omop": [0, 2, 63], "omopqueri": [0, 63], "on_to_typ": [11, 47], "onc": 1, "one": [38, 63], "onli": [38, 47, 48, 63], "op": [0, 3, 11, 15, 63, 64, 65, 66, 68], "op_": 58, "oper": [3, 11, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "oppos": 47, "option": [5, 7, 9, 11, 13, 15, 17, 19, 20, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 46, 47, 61], "order": [3, 11, 52, 54, 56, 57], "orderbi": [0, 65], "ordereddict": 58, "origin": 11, "orm": [5, 11, 63, 64, 65, 66, 67, 68], "other": [11, 19, 57, 58], "otherwis": [19, 20, 21, 22, 60], "our": 1, "out": 1, "outcom": 63, "outer": [11, 47], "over": 46, "pai": 19, "pair": 46, "panda": [3, 11, 68], "paramet": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 64, 66, 67, 68], "parquet": 11, "partit": [11, 63], "pass": [64, 66, 67, 68], "password": [3, 5, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "pasthistori": 64, "path": [3, 5, 11], "patient": [0, 9, 15, 63], "patient_admiss": [66, 67], "patient_admissions_df": 67, "patient_admissions_diagnos": [66, 67], "patient_admissions_lab": 67, "patient_admissions_radiology_not": 67, "patient_admissions_vit": 67, "patient_chart_ev": 66, "patient_diagnos": 64, "patient_id_hash": 63, "patient_lab": [64, 66], "patient_med": 64, "patientunitstayid": 64, "pattern": 35, "payer_plan_period": 68, "pd": 68, "per": 63, "perform": [3, 11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 68], "person": [0, 17, 68], "person_id": [39, 40, 46, 68], "person_visit": 68, "person_visits_condit": 68, "person_visits_conditions_measur": 68, "pharmaci": 65, "physicalexam": 64, "pip": 2, "place": 63, "pleas": 1, "poetri": 2, "pop": [0, 58], "port": [3, 5, 7, 9, 13, 15, 17, 64, 66, 67, 68], "possibli": [5, 7, 9, 13, 15, 17], "postgr": [64, 66, 67, 68], "postgresql": [2, 5, 17, 63, 64, 66, 67, 68], "potassium": 63, "pr": 1, "pre": 2, "prevent": 46, "print": [64, 65, 66, 67, 68], "procedur": 15, "procedure_occurr": 68, "procedures_icd": [0, 15], "process": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61], "product": 47, "profil": [64, 65, 66, 67, 68], "properti": 11, "provid": [5, 7, 9, 13, 15, 17, 24, 38, 45, 46, 52, 62, 68], "public": [65, 67, 68], "pwd": [5, 64, 66, 67, 68], "pyarrow": [11, 68], "pylint": 24, "python": [1, 3, 63], "python3": 3, "qo": [3, 64, 65, 66, 67, 68], "queri": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 23, 49, 51, 53, 58, 62, 63, 64, 65, 66, 67, 68], "querier": [3, 4, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "queryinterfac": [0, 9, 13, 15, 17], "queryop": [0, 11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61], "quick": [64, 66, 67, 68], "quit": 54, "r": 67, "radiologi": [63, 65], "radiology_not": 67, "radiology_notes_op": 67, "random": 54, "randomizeord": 0, "rather": [19, 20], "raw": 63, "readi": [64, 65, 66, 67, 68], "receiv": 15, "recent": 63, "recogn": [5, 7, 9, 13, 15, 17], "recommend": 1, "record": [3, 63], "refer": 2, "regex": 36, "regular": 36, "relat": 3, "relationship": 68, "releas": 68, "remov": [42, 43], "renam": 0, "rename_map": 55, "reorder": [0, 57], "reorderaft": 0, "repo": 68, "report": [9, 63], "repres": 47, "respiratorycar": 64, "respiratorychart": 64, "result": [11, 58, 64, 66, 67, 68], "return": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 68], "return_cond": [23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 51], "room": 9, "room_transf": [0, 9], "roomtransf": 65, "routin": 63, "row": [11, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 49, 52, 54, 63, 65, 66, 67, 68], "ruff": 1, "run": [0, 1, 3, 5, 11, 63, 64, 65, 66, 68], "run_queri": [64, 65, 66, 67, 68], "sai": 47, "same": [46, 47], "save": [0, 11], "schema": [3, 5, 7, 9, 13, 15, 17, 67, 68], "schema_nam": [5, 7, 9, 13, 15, 17, 68], "schizophrenia": 63, "search": 63, "see": 3, "seen": 54, "select": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 67], "self": 5, "separ": 46, "sepsi": 63, "sequenc": [46, 58], "sequenti": [0, 3, 11, 64, 65, 66, 67, 68], "server": 11, "set": [3, 11, 63], "setup": [1, 64, 65, 66, 67, 68], "should": 11, "show": [1, 64, 65, 66, 67, 68], "showcas": 68, "sign": 63, "simpl": 3, "singl": 24, "size": 11, "slice": 58, "slow": 54, "so": 54, "sodium": 63, "sodium_test": 65, "some": [3, 19, 20, 21, 22, 26, 27, 28, 29, 30, 34, 37, 41, 42, 43, 52, 55, 60], "somecol_concept_id": 17, "somecol_concept_nam": 17, "somet": 3, "sort": [52, 63], "sort_index": 68, "sourc": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "source_to_concept_map": 68, "source_to_source_vocab_map": 68, "source_to_standard_vocab_map": 68, "specif": 3, "specifi": [17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 43, 46, 47, 48, 57, 60], "specimen": 68, "sphinx": 3, "sphinxopt": 3, "sql": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63], "sqlalchemi": [3, 5, 7, 9, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63], "sqlite": 5, "src_col": 17, "src_tabl": 17, "standard": [5, 7, 9, 13, 15, 17], "start": [2, 37, 59], "start_index": 59, "static": 1, "stop": 59, "stop_index": 59, "str": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 55, 56, 57, 58, 59, 60, 67], "string": [28, 37, 46, 47, 50, 59, 60, 63], "string_agg": 46, "string_aggfunc": 46, "style": [1, 47], "subclass": 5, "subject_id": [63, 66], "submit": 1, "subqueri": [5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "subset": 63, "substr": [0, 3, 38, 63], "subtract": [19, 20], "successfulli": [64, 65, 66, 67, 68], "suggest": 47, "suppli": 15, "support": [6, 12, 14, 25], "sure": 3, "synthea": 68, "synthea_integration_test": 68, "system": 5, "t": 1, "tabl": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 66, 68], "table1": [47, 61], "table2": [47, 61], "table_col": [11, 47], "table_nam": [5, 7, 9, 13, 15, 17], "take": [24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 63], "teach": 63, "teachingstatu": 64, "temperatur": 68, "templat": 1, "test": [3, 63], "test_type_map": 65, "text": 67, "than": [19, 20, 30, 34, 63], "thank": 1, "them": 11, "thi": [5, 22, 38, 46, 47, 64, 65, 66, 67, 68], "thu": 11, "time": 44, "timedelta": 21, "timestamp": [5, 7, 9, 13, 15, 17, 25, 26, 27, 32, 33, 44, 65], "timestamp_col": [26, 27, 32, 33, 44], "titl": 63, "to_datetim": 68, "togeth": 63, "too": 24, "tool": [1, 3, 63, 64, 65, 66, 67, 68], "total": 63, "transfer": 9, "transfus": 65, "treatment": 64, "trim": 0, "true": [3, 5, 7, 9, 11, 13, 15, 17, 19, 20, 35, 38, 52, 55, 61, 64, 65, 67, 68], "tupl": [11, 47], "tutori": 2, "two": [47, 58, 61], "type": [1, 5, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], "type_": 25, "union": [0, 11, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60], "union_al": [0, 11, 61], "union_t": 61, "unit": [3, 9], "up": 3, "updat": [64, 66, 67, 68], "upstream": 11, "us": [1, 2, 5, 7, 9, 11, 13, 15, 17, 20, 23, 40, 46, 47, 51, 54, 61, 63, 64, 65, 66, 68], "usenam": 3, "user": [3, 5, 7, 9, 13, 15, 17, 64, 65, 66, 67, 68], "usernam": [5, 64, 65, 66, 67, 68], "util": [64, 65, 66, 67, 68], "v1": [66, 68], "v2": [67, 68], "valu": [22, 29, 30, 31, 34, 42, 43, 45, 46, 47, 50], "value_count": 68, "valuenum": 63, "virtual": 1, "visit": 63, "visit_count": 46, "visit_detail": [0, 17, 68], "visit_id": 40, "visit_occurr": [0, 17, 68], "visit_occurrence_id": 68, "visit_start_d": 68, "visits_concept_map": 68, "visits_concept_mapped_di": 68, "visits_measur": 68, "vital": [63, 65], "vitalaperiod": 64, "vitalperiod": 64, "vocabulari": 68, "we": [1, 68], "welcom": 3, "were": 63, "when": [5, 38, 47, 54], "where": [11, 59], "wherea": 19, "whether": [5, 7, 9, 11, 13, 15, 17, 38, 52, 55, 61], "which": [1, 5, 11, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 68], "whitespac": 60, "who": 63, "work": 19, "wrap": [9, 10, 11, 13, 15, 17], "wrapper": [3, 63], "write": 3, "x": 24, "y": 24, "year": [15, 32, 33, 44, 63, 68], "you": [1, 63], "your": 1, "yyyi": [26, 27]}, "titles": ["API Reference", "Contributing to cycquery", "Welcome to cycquery\u2019s documentation!", "cycquery", "cycquery.base", "cycquery.base.DatasetQuerier", "cycquery.eicu", "cycquery.eicu.EICUQuerier", "cycquery.gemini", "cycquery.gemini.GEMINIQuerier", "cycquery.interface", "cycquery.interface.QueryInterface", "cycquery.mimiciii", "cycquery.mimiciii.MIMICIIIQuerier", "cycquery.mimiciv", "cycquery.mimiciv.MIMICIVQuerier", "cycquery.omop", "cycquery.omop.OMOPQuerier", "cycquery.ops", "cycquery.ops.AddColumn", "cycquery.ops.AddDeltaColumn", "cycquery.ops.AddDeltaConstant", "cycquery.ops.AddNumeric", "cycquery.ops.And", "cycquery.ops.Apply", "cycquery.ops.Cast", "cycquery.ops.ConditionAfterDate", "cycquery.ops.ConditionBeforeDate", "cycquery.ops.ConditionEndsWith", "cycquery.ops.ConditionEquals", "cycquery.ops.ConditionGreaterThan", "cycquery.ops.ConditionIn", "cycquery.ops.ConditionInMonths", "cycquery.ops.ConditionInYears", "cycquery.ops.ConditionLessThan", "cycquery.ops.ConditionLike", "cycquery.ops.ConditionRegexMatch", "cycquery.ops.ConditionStartsWith", "cycquery.ops.ConditionSubstring", "cycquery.ops.Count", "cycquery.ops.Distinct", "cycquery.ops.Drop", "cycquery.ops.DropEmpty", "cycquery.ops.DropNulls", "cycquery.ops.ExtractTimestampComponent", "cycquery.ops.FillNull", "cycquery.ops.GroupByAggregate", "cycquery.ops.Join", "cycquery.ops.Keep", "cycquery.ops.Limit", "cycquery.ops.Literal", "cycquery.ops.Or", "cycquery.ops.OrderBy", "cycquery.ops.QueryOp", "cycquery.ops.RandomizeOrder", "cycquery.ops.Rename", "cycquery.ops.Reorder", "cycquery.ops.ReorderAfter", "cycquery.ops.Sequential", "cycquery.ops.Substring", "cycquery.ops.Trim", "cycquery.ops.Union", "cycquery", "Tutorials", "eICU-CRD tutorial", "GEMINI tutorial", "MIMIC-III tutorial", "MIMIC-IV tutorial", "OMOP tutorial"], "titleterms": {"": 2, "1": [64, 65, 66, 67, 68], "10": 67, "100": 64, "101": 65, "1a": 65, "1b": 65, "1c": 65, "2": [64, 66, 67, 68], "20": 66, "2009": 67, "2010": 68, "2014": 64, "2015": [64, 65, 67], "2016": 65, "2020": 68, "2021": 67, "2a": 65, "3": [64, 66, 67], "31": 65, "4": [64, 66, 67], "5": 67, "6": 67, "7": 67, "8": 67, "9": [66, 67], "And": 23, "Or": 51, "aado2": 66, "abov": 65, "addcolumn": 19, "adddeltacolumn": 20, "adddeltaconst": 21, "addnumer": 22, "admiss": [65, 67], "advanc": 67, "after": 68, "all": [64, 66, 67, 68], "api": [0, 62], "appli": 24, "approx": 67, "apr": 65, "april": 65, "base": [4, 5], "batch": 67, "between": 65, "carevu": 66, "cast": 25, "chart": 66, "chronic": 67, "code": 1, "commit": 1, "conditionafterd": 26, "conditionbefored": 27, "conditionendswith": 28, "conditionequ": 29, "conditiongreaterthan": 30, "conditionin": 31, "conditioninmonth": 32, "conditioninyear": 33, "conditionlessthan": 34, "conditionlik": 35, "conditionregexmatch": [36, 67], "conditionstartswith": 37, "conditionsubstr": 38, "contain": 67, "content": 2, "contribut": [1, 3], "count": 39, "crd": 64, "creat": 65, "cycqueri": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 67], "databas": 3, "dataset": [62, 65], "datasetqueri": 5, "develop": 3, "diagnos": [64, 66, 67, 68], "diagnosisstr": 64, "discharg": [64, 65], "discharge_date_tim": 65, "distinct": 40, "document": [2, 3], "drop": 41, "dropempti": 42, "dropnul": 43, "each": 65, "eicu": [6, 7, 64], "eicuqueri": [7, 64], "encount": [64, 65, 66, 67], "end": 68, "event": 66, "exampl": [64, 65, 66, 67, 68], "extracttimestampcompon": 44, "femal": [64, 66, 67, 68], "fillnul": 45, "filter": 67, "from": [65, 67], "gastroenter": 66, "gemini": [8, 9, 65], "geminiqueri": [9, 65], "get": [3, 64, 65, 66, 67, 68], "glucos": 64, "groupbyaggreg": 46, "guidelin": 1, "have": 66, "hemoglobin": 67, "hook": 1, "hospit": [64, 65], "how": 65, "icd": [66, 67], "iii": 66, "import": [64, 65, 66, 67, 68], "index": 67, "infecti": 67, "instal": 3, "instanti": [64, 65, 66, 67, 68], "interfac": [10, 11], "iv": 67, "join": 47, "keep": [48, 65], "keyword": 67, "lab": [64, 66, 67], "later": 67, "less": 66, "limit": [49, 64], "liter": 50, "long": [66, 67], "lymphadenopathi": 67, "mai": 65, "male": 66, "mani": 65, "march": 65, "measur": 68, "medic": 64, "mimic": [66, 67], "mimiciii": [12, 13], "mimiciiiqueri": [13, 66], "mimiciv": [14, 15], "mimicivqueri": [15, 67], "mortal": [66, 68], "most": 65, "number": 65, "occur": 67, "omop": [16, 17, 68], "omopqueri": [17, 68], "one": 65, "onli": 65, "op": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 67], "orderbi": 52, "outcom": [66, 68], "partit": 67, "patient": [64, 65, 66, 67, 68], "patient_id_hash": 65, "per": 65, "pip": 3, "place": 65, "poetri": 3, "postgresql": 3, "potassium": [64, 66], "pre": 1, "queri": 3, "queryinterfac": 11, "queryop": 53, "radiologi": 67, "randomizeord": 54, "raw": 67, "recent": 65, "record": 65, "refer": 0, "renam": 55, "reorder": 56, "reorderaft": 57, "report": 67, "return": 67, "routin": 67, "row": 64, "run": 67, "schizophrenia": [64, 67], "search": 64, "sepsi": 68, "sequenti": 58, "set": 65, "sign": 67, "sodium": 65, "sort": 65, "sql": 67, "start": 3, "string": 67, "subject_id": 67, "subset": 65, "substr": [59, 64], "tabl": 65, "take": 65, "teach": 64, "test": [64, 65, 66, 67], "than": 66, "titl": [66, 67], "togeth": 67, "total": 65, "trim": 60, "tutori": [63, 64, 65, 66, 67, 68], "union": 61, "us": [3, 67], "valuenum": 66, "visit": 68, "vital": 67, "welcom": 2, "were": 65, "who": 65, "year": [64, 67]}}) \ No newline at end of file diff --git a/tutorials.html b/tutorials.html index a2ae51b..636107a 100644 --- a/tutorials.html +++ b/tutorials.html @@ -1,132 +1,180 @@ + + + + + + + + + Tutorials - cycquery documentation + + + + + + + - - - - - - - - - - - Tutorials — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    Tutorials

    +

    The cycquery tool allows you to query EHR databases. It is a Python API that that communicates with postgresql databases. It is a wrapper around the SQLAlchemy ORM and uses SQLAlchemy query objects and functions to build queries.

    @@ -192,7 +316,7 @@

    TutorialsImports and instantiate MIMICIVQuerier
  • Example 1. Get all patient admissions from 2021 or later (approx year of admission)
  • Example 2. Get all patient encounters with diagnoses (schizophrenia in ICD-10 long title), in the year 2015.
  • -
  • Example 3. Advanced - uses ConditionRegexMatch from cyclops.query.ops. Get all patient encounters with diagnoses (ICD-9 long title contains schizophrenia and chronic ), in the year 2015.
  • +
  • Example 3. Advanced - uses ConditionRegexMatch from cycquery.ops. Get all patient encounters with diagnoses (ICD-9 long title contains schizophrenia and chronic ), in the year 2015.
  • Example 4. Get routine vital signs for patients from year 2015.
  • Example 5. Get hemoglobin lab tests for patients from year 2009.
  • Example 6. Get radiology reports and filter on keywords lymphadenopathy and infectious occurring together from year 2009.
  • @@ -229,66 +353,72 @@

    Tutorials + +
    +
    + Next +
    +
    MIMIC-III tutorial
    +
    + +
    + + +
    +
    + Previous +
    + +
    Contributing to cycquery
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo + +
    +
    +
    + + + + + + +
    -
    -
    - + + +
    +
    - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/eicu.html b/tutorials/eicu.html index 923da9e..f580f8d 100644 --- a/tutorials/eicu.html +++ b/tutorials/eicu.html @@ -1,189 +1,302 @@ + + + + + + + + + eICU-CRD tutorial - cycquery documentation + + + + + + + - - - - - - - - - - - eICU-CRD tutorial — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    -

    eICU-CRD tutorial

    -

    This notebook shows examples of how to use the cyclops-query tool on eicu-CRD.

    +

    eICU-CRD tutorial

    +

    This notebook shows examples of how to use the cycquery tool on eicu-CRD.

    Each query is limit to 100 rows (for quick results).

    • First, setup the eICU database according to the instructions in eicu-code.

    • The database is assumed to be hosted using postgres. Update the config parameters such as username and password, passed to EICUQuerier accordingly.

    -

    Imports and instantiate EICUQuerier

    +

    Imports and instantiate EICUQuerier

    [1]:
     
    @@ -478,7 +591,7 @@

    Imports and instantiate
    -2024-03-08 10:05:14,376 INFO cycquery.orm    - Database setup, ready to run queries!
    +2024-04-17 15:12:30,977 INFO cycquery.orm    - Database setup, ready to run queries!
     

    @@ -522,7 +635,7 @@

    Imports and instantiate

    -

    Example 1. Get all female patients discharged in 2014 (limit to 100 rows).

    +

    Example 1. Get all female patients discharged in 2014 (limit to 100 rows).

    -

    Example 2. Get all patient encounters with diagnoses (schizophrenia in diagnosisstring), discharged in the year 2015.

    +

    Example 2. Get all patient encounters with diagnoses (schizophrenia in diagnosisstring), discharged in the year 2015.

    [3]:
     
    @@ -585,7 +698,7 @@

    Example 2. Get all patient encounters with diagnoses (
    -2024-03-08 10:05:15,369 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:12:31,963 INFO cycquery.orm    - Query returned successfully!
     

    @@ -593,7 +706,7 @@

    Example 2. Get all patient encounters with diagnoses (
    -2024-03-08 10:05:15,370 INFO cycquery.utils.profile - Finished executing function run_query in 0.070819 s
    +2024-04-17 15:12:31,965 INFO cycquery.utils.profile - Finished executing function run_query in 0.084577 s
     

    @@ -606,7 +719,7 @@

    Example 2. Get all patient encounters with diagnoses ( -

    Example 3. Get potassium lab tests for patients discharged in the year 2014, for all teaching hospitals.

    +

    Example 3. Get potassium lab tests for patients discharged in the year 2014, for all teaching hospitals.

    [4]:
     
    @@ -634,7 +747,7 @@

    Example 3. Get potassium lab tests for patients discharged in the year 2014,

    -2024-03-08 10:05:15,432 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:12:32,037 INFO cycquery.orm    - Query returned successfully!
     
    @@ -642,7 +755,7 @@

    Example 3. Get potassium lab tests for patients discharged in the year 2014,

    -2024-03-08 10:05:15,433 INFO cycquery.utils.profile - Finished executing function run_query in 0.039567 s
    +2024-04-17 15:12:32,038 INFO cycquery.utils.profile - Finished executing function run_query in 0.043745 s
     

    @@ -655,7 +768,7 @@

    Example 3. Get potassium lab tests for patients discharged in the year 2014,

    -

    Example 4. Get glucose medications (substring search) for female patients discharged in 2014.

    +

    Example 4. Get glucose medications (substring search) for female patients discharged in 2014.

    [5]:
     
    @@ -681,7 +794,7 @@

    Example 4. Get glucose medications (substring search) for female patients di

    -2024-03-08 10:05:15,625 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:12:32,221 INFO cycquery.orm    - Query returned successfully!
     
    @@ -689,7 +802,7 @@

    Example 4. Get glucose medications (substring search) for female patients di

    -2024-03-08 10:05:15,626 INFO cycquery.utils.profile - Finished executing function run_query in 0.168468 s
    +2024-04-17 15:12:32,222 INFO cycquery.utils.profile - Finished executing function run_query in 0.162660 s
     
    @@ -703,66 +816,95 @@

    Example 4. Get glucose medications (substring search) for female patients di - -

    + +
    + +
    - + + + - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/eicu.ipynb b/tutorials/eicu.ipynb index 9dee54c..000fa2f 100644 --- a/tutorials/eicu.ipynb +++ b/tutorials/eicu.ipynb @@ -13,7 +13,7 @@ "id": "74b155b9-9ba6-455c-b987-4c261c339364", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [eicu-CRD](https://eicu-crd.mit.edu/).\n", + "This notebook shows examples of how to use the cycquery tool on [eicu-CRD](https://eicu-crd.mit.edu/).\n", "\n", "Each query is limit to 100 rows (for quick results).\n", "\n", @@ -35,10 +35,10 @@ "id": "75a140e0-fb27-4319-862f-be54397abe5c", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:13.066986Z", - "iopub.status.busy": "2024-03-08T15:05:13.066463Z", - "iopub.status.idle": "2024-03-08T15:05:15.209180Z", - "shell.execute_reply": "2024-03-08T15:05:15.207588Z" + "iopub.execute_input": "2024-04-17T19:12:29.764524Z", + "iopub.status.busy": "2024-04-17T19:12:29.764005Z", + "iopub.status.idle": "2024-04-17T19:12:31.788493Z", + "shell.execute_reply": "2024-04-17T19:12:31.786859Z" }, "tags": [] }, @@ -47,7 +47,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:14,376 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" + "2024-04-17 15:12:30,977 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -124,10 +124,10 @@ "id": "c1efa964-8978-4a0e-9892-5ea4ce9953a3", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:15.215967Z", - "iopub.status.busy": "2024-03-08T15:05:15.215335Z", - "iopub.status.idle": "2024-03-08T15:05:15.282228Z", - "shell.execute_reply": "2024-03-08T15:05:15.281145Z" + "iopub.execute_input": "2024-04-17T19:12:31.795439Z", + "iopub.status.busy": "2024-04-17T19:12:31.794487Z", + "iopub.status.idle": "2024-04-17T19:12:31.864869Z", + "shell.execute_reply": "2024-04-17T19:12:31.863453Z" }, "tags": [] }, @@ -136,14 +136,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,276 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:31,857 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,277 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.052928 s\n" + "2024-04-17 15:12:31,859 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.054049 s\n" ] }, { @@ -180,10 +180,10 @@ "id": "a7ab5fa3-e26b-47a7-818f-1bf367a55760", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:15.289122Z", - "iopub.status.busy": "2024-03-08T15:05:15.288592Z", - "iopub.status.idle": "2024-03-08T15:05:15.373284Z", - "shell.execute_reply": "2024-03-08T15:05:15.372593Z" + "iopub.execute_input": "2024-04-17T19:12:31.870737Z", + "iopub.status.busy": "2024-04-17T19:12:31.870162Z", + "iopub.status.idle": "2024-04-17T19:12:31.968896Z", + "shell.execute_reply": "2024-04-17T19:12:31.967980Z" }, "tags": [] }, @@ -192,14 +192,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,369 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:31,963 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,370 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.070819 s\n" + "2024-04-17 15:12:31,965 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.084577 s\n" ] }, { @@ -236,10 +236,10 @@ "id": "24043abc-1878-4e00-8229-36d4a0368b98", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:15.381182Z", - "iopub.status.busy": "2024-03-08T15:05:15.380823Z", - "iopub.status.idle": "2024-03-08T15:05:15.438153Z", - "shell.execute_reply": "2024-03-08T15:05:15.437236Z" + "iopub.execute_input": "2024-04-17T19:12:31.976270Z", + "iopub.status.busy": "2024-04-17T19:12:31.975774Z", + "iopub.status.idle": "2024-04-17T19:12:32.042718Z", + "shell.execute_reply": "2024-04-17T19:12:32.041789Z" }, "tags": [] }, @@ -248,14 +248,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,432 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:32,037 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,433 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.039567 s\n" + "2024-04-17 15:12:32,038 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.043745 s\n" ] }, { @@ -298,10 +298,10 @@ "id": "f6142f27-e8d1-453c-bfe2-2265d9ff1914", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:15.444922Z", - "iopub.status.busy": "2024-03-08T15:05:15.444412Z", - "iopub.status.idle": "2024-03-08T15:05:15.632012Z", - "shell.execute_reply": "2024-03-08T15:05:15.630782Z" + "iopub.execute_input": "2024-04-17T19:12:32.047085Z", + "iopub.status.busy": "2024-04-17T19:12:32.046621Z", + "iopub.status.idle": "2024-04-17T19:12:32.227812Z", + "shell.execute_reply": "2024-04-17T19:12:32.226421Z" }, "tags": [] }, @@ -310,14 +310,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,625 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:32,221 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:15,626 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.168468 s\n" + "2024-04-17 15:12:32,222 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.162660 s\n" ] }, { diff --git a/tutorials/gemini.html b/tutorials/gemini.html index 0fc7dd3..e009f98 100644 --- a/tutorials/gemini.html +++ b/tutorials/gemini.html @@ -1,189 +1,302 @@ + + + + + + + + + GEMINI tutorial - cycquery documentation + + + + + + + - - - - - - - - - - - GEMINI tutorial — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    -

    GEMINI tutorial

    -

    This notebook shows examples of how to use the cyclops-query tool on GEMINI.

    +

    GEMINI tutorial

    +

    This notebook shows examples of how to use the cycquery tool on GEMINI.

    -

    Imports and instantiate GEMINIQuerier.

    +

    Imports and instantiate GEMINIQuerier.

    [1]:
     
    @@ -471,7 +584,7 @@

    Imports and instantiate
    -2023-09-21 09:17:45,449 INFO cyclops.query.orm - Database setup, ready to run queries!
    +2023-09-21 09:17:45,449 INFO cycquery.orm - Database setup, ready to run queries!
     

    @@ -518,7 +631,7 @@

    Imports and instantiate

    -

    Example 1a. Create a table with only one hospitalization per patient, keeping the most recent encounter for each patient. Sort the dataset by patient_id_hashed and discharge_date_time, and then keep the recent record.

    +

    Example 1a. Create a table with only one hospitalization per patient, keeping the most recent encounter for each patient. Sort the dataset by patient_id_hashed and discharge_date_time, and then keep the recent record.

    [2]:
     
    @@ -541,8 +654,8 @@

    Example 1a. Create a table with only one hospitalization per patient, keepin

    -2023-09-21 09:17:51,902 INFO cyclops.query.orm - Query returned successfully!
    -2023-09-21 09:17:51,903 INFO cyclops.utils.profile - Finished executing function run_query in 6.093352 s
    +2023-09-21 09:17:51,902 INFO cycquery.orm - Query returned successfully!
    +2023-09-21 09:17:51,903 INFO cycquery.utils.profile - Finished executing function run_query in 6.093352 s
     
    @@ -555,7 +668,7 @@

    Example 1a. Create a table with only one hospitalization per patient, keepin

    -

    Example 1b. From the above set of encounters, take a subset of patients who were discharged between April 1, 2015 and March 31, 2016.

    +

    Example 1b. From the above set of encounters, take a subset of patients who were discharged between April 1, 2015 and March 31, 2016.

    [3]:
     
    @@ -577,8 +690,8 @@

    Example 1b. From the above set of encounters, take a subset of patients who

    -2023-09-21 09:17:52,591 INFO cyclops.query.orm - Query returned successfully!
    -2023-09-21 09:17:52,592 INFO cyclops.utils.profile - Finished executing function run_query in 0.675141 s
    +2023-09-21 09:17:52,591 INFO cycquery.orm - Query returned successfully!
    +2023-09-21 09:17:52,592 INFO cycquery.utils.profile - Finished executing function run_query in 0.675141 s
     
    @@ -591,7 +704,7 @@

    Example 1b. From the above set of encounters, take a subset of patients who

    -

    Example 1c. From the above set of encounters, get the total number of admissions for each hospital.

    +

    Example 1c. From the above set of encounters, get the total number of admissions for each hospital.

    [4]:
     
    @@ -607,8 +720,8 @@

    Example 1c. From the above set of encounters, get the total number of admiss

    -2023-09-21 09:17:52,856 INFO cyclops.query.orm - Query returned successfully!
    -2023-09-21 09:17:52,857 INFO cyclops.utils.profile - Finished executing function run_query in 0.145693 s
    +2023-09-21 09:17:52,856 INFO cycquery.orm - Query returned successfully!
    +2023-09-21 09:17:52,857 INFO cycquery.utils.profile - Finished executing function run_query in 0.145693 s
     
    @@ -621,7 +734,7 @@

    Example 1c. From the above set of encounters, get the total number of admiss

    -

    Example 2a. How many sodium tests were placed between Apr 1, 2015 and May 31, 2015 at hospital 101?

    +

    Example 2a. How many sodium tests were placed between Apr 1, 2015 and May 31, 2015 at hospital 101?

    [5]:
     
    @@ -652,8 +765,8 @@

    Example 2a. How many sodium tests were placed between Apr 1, 2015 and May 31

    -2023-09-21 09:26:19,814 INFO cyclops.query.orm - Query returned successfully!
    -2023-09-21 09:26:19,815 INFO cyclops.utils.profile - Finished executing function run_query in 506.939296 s
    +2023-09-21 09:26:19,814 INFO cycquery.orm - Query returned successfully!
    +2023-09-21 09:26:19,815 INFO cycquery.utils.profile - Finished executing function run_query in 506.939296 s
     
    @@ -669,66 +782,95 @@

    Example 2a. How many sodium tests were placed between Apr 1, 2015 and May 31

    - -
    + +
    + +
    - + + + - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/gemini.ipynb b/tutorials/gemini.ipynb index 53797d6..759a3fc 100644 --- a/tutorials/gemini.ipynb +++ b/tutorials/gemini.ipynb @@ -13,7 +13,7 @@ "id": "57e3214e-f1d5-46cb-bb2a-514a48e0269d", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [GEMINI](https://www.geminimedicine.ca/)." + "This notebook shows examples of how to use the cycquery tool on [GEMINI](https://www.geminimedicine.ca/)." ] }, { @@ -34,7 +34,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:45,449 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Database setup, ready to run queries!\n" + "2023-09-21 09:17:45,449 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -116,8 +116,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:51,902 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:17:51,903 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 6.093352 s\n" + "2023-09-21 09:17:51,902 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:17:51,903 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 6.093352 s\n" ] }, { @@ -159,8 +159,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:52,591 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:17:52,592 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 0.675141 s\n" + "2023-09-21 09:17:52,591 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:17:52,592 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.675141 s\n" ] }, { @@ -201,8 +201,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:17:52,856 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:17:52,857 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 0.145693 s\n" + "2023-09-21 09:17:52,856 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:17:52,857 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.145693 s\n" ] }, { @@ -237,8 +237,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "2023-09-21 09:26:19,814 \u001b[1;37mINFO\u001b[0m cyclops.query.orm - Query returned successfully!\n", - "2023-09-21 09:26:19,815 \u001b[1;37mINFO\u001b[0m cyclops.utils.profile - Finished executing function run_query in 506.939296 s\n" + "2023-09-21 09:26:19,814 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n", + "2023-09-21 09:26:19,815 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 506.939296 s\n" ] }, { diff --git a/tutorials/mimiciii.html b/tutorials/mimiciii.html index 7305a33..336d859 100644 --- a/tutorials/mimiciii.html +++ b/tutorials/mimiciii.html @@ -1,189 +1,302 @@ + + + + + + + + + MIMIC-III tutorial - cycquery documentation + + + + + + + - - - - - - - - - - - MIMIC-III tutorial — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    -

    MIMIC-III tutorial

    -

    This notebook shows examples of how to use the cyclops-query tool on MIMIC-III v1.4.

    +

    MIMIC-III tutorial

    +

    This notebook shows examples of how to use the cycquery tool on MIMIC-III v1.4.

    Each query is limit to 100 rows (for quick results).

    • First, setup the MIMIC-III database according to the instructions in mimic-code.

    • The database is assumed to be hosted using postgres. Update the config parameters such as username and password, passed to MIMICIIIQuerier accordingly.

    -

    Imports and instantiate MIMICIIIQuerier

    +

    Imports and instantiate MIMICIIIQuerier

    [1]:
     
    @@ -478,7 +591,7 @@

    Imports and instantiate
    -2024-03-08 10:05:23,625 INFO cycquery.orm    - Database setup, ready to run queries!
    +2024-04-17 15:12:41,249 INFO cycquery.orm    - Database setup, ready to run queries!
     

    @@ -492,7 +605,7 @@

    Imports and instantiate

    -

    Example 1. Get all male patients with a mortality outcome.

    +

    Example 1. Get all male patients with a mortality outcome.

    @@ -533,7 +646,7 @@

    Example 1. Get all male patients with a mortality outcome. -

    Example 2. Get all female patient encounters with diagnoses (gastroenteritis in ICD-9 long title).

    +

    Example 2. Get all female patient encounters with diagnoses (gastroenteritis in ICD-9 long title).

    [3]:
     
    @@ -560,7 +673,7 @@

    Example 2. Get all female patient encounters with diagnoses (
    -2024-03-08 10:05:30,604 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:12:48,350 INFO cycquery.orm    - Query returned successfully!
     

    @@ -568,7 +681,7 @@

    Example 2. Get all female patient encounters with diagnoses (
    -2024-03-08 10:05:30,605 INFO cycquery.utils.profile - Finished executing function run_query in 0.097194 s
    +2024-04-17 15:12:48,351 INFO cycquery.utils.profile - Finished executing function run_query in 0.102949 s
     

    @@ -581,7 +694,7 @@

    Example 2. Get all female patient encounters with diagnoses ( -

    Example 3. Get potassium lab tests for female patients.

    +

    Example 3. Get potassium lab tests for female patients.

    @@ -621,7 +734,7 @@

    Example 3. Get potassium lab tests for female patients.
    -

    Example 4. Get AaDO2 carevue chart events for male patients that have a valuenum of less than 20.

    +

    Example 4. Get AaDO2 carevue chart events for male patients that have a valuenum of less than 20.

    [5]:
     
    @@ -645,7 +758,7 @@

    Example 4. Get AaDO2 carevue chart events for male patients that have a
    -2024-03-08 10:06:41,183 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:13:59,173 INFO cycquery.orm    - Query returned successfully!
     

    @@ -653,7 +766,7 @@

    Example 4. Get AaDO2 carevue chart events for male patients that have a
    -2024-03-08 10:06:41,185 INFO cycquery.utils.profile - Finished executing function run_query in 70.485521 s
    +2024-04-17 15:13:59,175 INFO cycquery.utils.profile - Finished executing function run_query in 70.722001 s
     

    @@ -667,66 +780,95 @@

    Example 4. Get AaDO2 carevue chart events for male patients that have a

    - -

    + +
    + +

    - + + +
    - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/mimiciii.ipynb b/tutorials/mimiciii.ipynb index c398d5e..ce3359e 100644 --- a/tutorials/mimiciii.ipynb +++ b/tutorials/mimiciii.ipynb @@ -13,7 +13,7 @@ "id": "74b155b9-9ba6-455c-b987-4c261c339364", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [MIMIC-III v1.4](https://physionet.org/content/mimiciii/1.4/).\n", + "This notebook shows examples of how to use the cycquery tool on [MIMIC-III v1.4](https://physionet.org/content/mimiciii/1.4/).\n", "\n", "Each query is limit to 100 rows (for quick results).\n", "\n", @@ -35,10 +35,10 @@ "id": "75a140e0-fb27-4319-862f-be54397abe5c", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:18.088479Z", - "iopub.status.busy": "2024-03-08T15:05:18.087921Z", - "iopub.status.idle": "2024-03-08T15:05:30.428783Z", - "shell.execute_reply": "2024-03-08T15:05:30.426826Z" + "iopub.execute_input": "2024-04-17T19:12:34.552849Z", + "iopub.status.busy": "2024-04-17T19:12:34.552345Z", + "iopub.status.idle": "2024-04-17T19:12:48.154112Z", + "shell.execute_reply": "2024-04-17T19:12:48.152540Z" }, "tags": [] }, @@ -47,7 +47,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:23,625 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" + "2024-04-17 15:12:41,249 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -94,10 +94,10 @@ "id": "c1efa964-8978-4a0e-9892-5ea4ce9953a3", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:30.435198Z", - "iopub.status.busy": "2024-03-08T15:05:30.434569Z", - "iopub.status.idle": "2024-03-08T15:05:30.486731Z", - "shell.execute_reply": "2024-03-08T15:05:30.484996Z" + "iopub.execute_input": "2024-04-17T19:12:48.161108Z", + "iopub.status.busy": "2024-04-17T19:12:48.160378Z", + "iopub.status.idle": "2024-04-17T19:12:48.218425Z", + "shell.execute_reply": "2024-04-17T19:12:48.217000Z" }, "tags": [] }, @@ -106,14 +106,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:30,478 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:48,210 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:30,480 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.039255 s\n" + "2024-04-17 15:12:48,212 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.044270 s\n" ] }, { @@ -150,10 +150,10 @@ "id": "a7ab5fa3-e26b-47a7-818f-1bf367a55760", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:30.494201Z", - "iopub.status.busy": "2024-03-08T15:05:30.493860Z", - "iopub.status.idle": "2024-03-08T15:05:30.611720Z", - "shell.execute_reply": "2024-03-08T15:05:30.610105Z" + "iopub.execute_input": "2024-04-17T19:12:48.224747Z", + "iopub.status.busy": "2024-04-17T19:12:48.224219Z", + "iopub.status.idle": "2024-04-17T19:12:48.357641Z", + "shell.execute_reply": "2024-04-17T19:12:48.356365Z" }, "tags": [] }, @@ -162,14 +162,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:30,604 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:48,350 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:30,605 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.097194 s\n" + "2024-04-17 15:12:48,351 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.102949 s\n" ] }, { @@ -211,10 +211,10 @@ "id": "24043abc-1878-4e00-8229-36d4a0368b98", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:30.620848Z", - "iopub.status.busy": "2024-03-08T15:05:30.620296Z", - "iopub.status.idle": "2024-03-08T15:05:30.672685Z", - "shell.execute_reply": "2024-03-08T15:05:30.671319Z" + "iopub.execute_input": "2024-04-17T19:12:48.363867Z", + "iopub.status.busy": "2024-04-17T19:12:48.363394Z", + "iopub.status.idle": "2024-04-17T19:12:48.423621Z", + "shell.execute_reply": "2024-04-17T19:12:48.422526Z" }, "tags": [] }, @@ -223,14 +223,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:30,665 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:12:48,417 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:05:30,667 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.032749 s\n" + "2024-04-17 15:12:48,418 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.034705 s\n" ] }, { @@ -264,10 +264,10 @@ "id": "f6142f27-e8d1-453c-bfe2-2265d9ff1914", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:05:30.680136Z", - "iopub.status.busy": "2024-03-08T15:05:30.679553Z", - "iopub.status.idle": "2024-03-08T15:06:41.191220Z", - "shell.execute_reply": "2024-03-08T15:06:41.189906Z" + "iopub.execute_input": "2024-04-17T19:12:48.429451Z", + "iopub.status.busy": "2024-04-17T19:12:48.428903Z", + "iopub.status.idle": "2024-04-17T19:13:59.180520Z", + "shell.execute_reply": "2024-04-17T19:13:59.179457Z" }, "tags": [] }, @@ -276,14 +276,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:41,183 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:13:59,173 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:41,185 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 70.485521 s\n" + "2024-04-17 15:13:59,175 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 70.722001 s\n" ] }, { diff --git a/tutorials/mimiciv.html b/tutorials/mimiciv.html index 4dd6c2c..3f81542 100644 --- a/tutorials/mimiciv.html +++ b/tutorials/mimiciv.html @@ -1,193 +1,302 @@ + + + + + + + + + MIMIC-IV tutorial - cycquery documentation + + + + + + + - - - - - - - - - - - MIMIC-IV tutorial — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    -

    MIMIC-IV tutorial

    -

    This notebook shows examples of how to use the cyclops-query tool on MIMIC-IV v2.0.

    +

    MIMIC-IV tutorial

    +

    This notebook shows examples of how to use the cycquery tool on MIMIC-IV v2.0.

    Each query is limit to 100 rows (for quick results).

    • First, setup the MIMIC-IV database according to the instructions in mimic-code.

    • The database is assumed to be hosted using postgres. Update the config parameters such as username and password, passed to MIMICIVQuerier accordingly.

    -

    Imports and instantiate MIMICIVQuerier

    +

    Imports and instantiate MIMICIVQuerier

    [1]:
     
    @@ -482,7 +591,7 @@

    Imports and instantiate
    -2024-03-08 10:06:46,575 INFO cycquery.orm    - Database setup, ready to run queries!
    +2024-04-17 15:14:03,964 INFO cycquery.orm    - Database setup, ready to run queries!
     

    @@ -505,7 +614,7 @@

    Imports and instantiate

    -

    Example 1. Get all patient admissions from 2021 or later (approx year of admission)

    +

    Example 1. Get all patient admissions from 2021 or later (approx year of admission)

    [2]:
     
    @@ -527,7 +636,7 @@

    Example 1. Get all patient admissions from 2021 or later (approx year of adm

    -2024-03-08 10:06:49,687 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:14:05,263 INFO cycquery.orm    - Query returned successfully!
     
    @@ -535,7 +644,7 @@

    Example 1. Get all patient admissions from 2021 or later (approx year of adm

    -2024-03-08 10:06:49,688 INFO cycquery.utils.profile - Finished executing function run_query in 0.307097 s
    +2024-04-17 15:14:05,265 INFO cycquery.utils.profile - Finished executing function run_query in 0.195802 s
     
    @@ -548,7 +657,7 @@

    Example 1. Get all patient admissions from 2021 or later (approx year of adm

    -

    Example 2. Get all patient encounters with diagnoses (schizophrenia in ICD-10 long title), in the year 2015.

    +

    Example 2. Get all patient encounters with diagnoses (schizophrenia in ICD-10 long title), in the year 2015.

    [3]:
     
    @@ -580,7 +689,7 @@

    Example 2. Get all patient encounters with diagnoses (
    -2024-03-08 10:06:50,600 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:14:05,977 INFO cycquery.orm    - Query returned successfully!
     

    @@ -588,7 +697,7 @@

    Example 2. Get all patient encounters with diagnoses (
    -2024-03-08 10:06:50,601 INFO cycquery.utils.profile - Finished executing function run_query in 0.874461 s
    +2024-04-17 15:14:05,979 INFO cycquery.utils.profile - Finished executing function run_query in 0.674020 s
     

    @@ -600,8 +709,8 @@

    Example 2. Get all patient encounters with diagnoses ( -

    Example 3. Advanced - uses ConditionRegexMatch from cyclops.query.ops. Get all patient encounters with diagnoses (ICD-9 long title contains schizophrenia and chronic ), in the year 2015.

    +
    +

    Example 3. Advanced - uses ConditionRegexMatch from cycquery.ops. Get all patient encounters with diagnoses (ICD-9 long title contains schizophrenia and chronic ), in the year 2015.

    [4]:
     
    @@ -633,7 +742,7 @@

    Example 3. Advanced - uses
    -2024-03-08 10:06:52,133 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:14:07,490 INFO cycquery.orm    - Query returned successfully!
     

    @@ -641,7 +750,7 @@

    Example 3. Advanced - uses
    -2024-03-08 10:06:52,134 INFO cycquery.utils.profile - Finished executing function run_query in 1.491402 s
    +2024-04-17 15:14:07,491 INFO cycquery.utils.profile - Finished executing function run_query in 1.468321 s
     

    @@ -654,7 +763,7 @@

    Example 3. Advanced - uses

    -

    Example 4. Get routine vital signs for patients from year 2015.

    +

    Example 4. Get routine vital signs for patients from year 2015.

    @@ -752,7 +861,7 @@

    Example 5. Get hemoglobin lab tests for patients from year 2009. -

    Example 6. Get radiology reports and filter on keywords lymphadenopathy and infectious occurring together from year 2009.

    +

    Example 6. Get radiology reports and filter on keywords lymphadenopathy and infectious occurring together from year 2009.

    [7]:
     
    @@ -786,7 +895,7 @@

    Example 6. Get radiology reports and filter on keywords
    -2024-03-08 10:09:33,639 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:16:49,512 INFO cycquery.orm    - Query returned successfully!
     

    @@ -794,7 +903,7 @@

    Example 6. Get radiology reports and filter on keywords
    -2024-03-08 10:09:33,640 INFO cycquery.utils.profile - Finished executing function run_query in 7.937612 s
    +2024-04-17 15:16:49,513 INFO cycquery.utils.profile - Finished executing function run_query in 7.972264 s
     

    @@ -807,7 +916,7 @@

    Example 6. Get radiology reports and filter on keywords -

    Example 7. Get all female patient encounters from year 2015, and return batches partitioned and indexed on subject_id.

    +

    Example 7. Get all female patient encounters from year 2015, and return batches partitioned and indexed on subject_id.

    [8]:
     
    @@ -837,7 +946,7 @@

    Example 7. Get all female patient encounters from year 2015, and return batc

    -2024-03-08 10:09:33,979 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:16:49,909 INFO cycquery.orm    - Query returned successfully!
     
    @@ -845,7 +954,7 @@

    Example 7. Get all female patient encounters from year 2015, and return batc

    -2024-03-08 10:09:33,981 INFO cycquery.utils.profile - Finished executing function run_query in 0.304018 s
    +2024-04-17 15:16:49,910 INFO cycquery.utils.profile - Finished executing function run_query in 0.354782 s
     

    @@ -858,7 +967,7 @@

    Example 7. Get all female patient encounters from year 2015, and return batc

    -

    Example 8. Running a raw SQL string.

    +

    Example 8. Running a raw SQL string.

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo +
    -
    +
    - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/mimiciv.ipynb b/tutorials/mimiciv.ipynb index 5eee7b1..dba14e0 100644 --- a/tutorials/mimiciv.ipynb +++ b/tutorials/mimiciv.ipynb @@ -13,7 +13,7 @@ "id": "1efffc64", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool on [MIMIC-IV v2.0](https://physionet.org/content/mimiciv/2.0/).\n", + "This notebook shows examples of how to use the cycquery tool on [MIMIC-IV v2.0](https://physionet.org/content/mimiciv/2.0/).\n", "\n", "Each query is limit to 100 rows (for quick results).\n", "\n", @@ -35,10 +35,10 @@ "id": "53009e6b", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:06:43.096855Z", - "iopub.status.busy": "2024-03-08T15:06:43.096201Z", - "iopub.status.idle": "2024-03-08T15:06:49.354693Z", - "shell.execute_reply": "2024-03-08T15:06:49.353077Z" + "iopub.execute_input": "2024-04-17T19:14:01.103971Z", + "iopub.status.busy": "2024-04-17T19:14:01.103037Z", + "iopub.status.idle": "2024-04-17T19:14:05.051667Z", + "shell.execute_reply": "2024-04-17T19:14:05.051032Z" }, "tags": [] }, @@ -47,7 +47,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:46,575 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" + "2024-04-17 15:14:03,964 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -105,10 +105,10 @@ "id": "cdfadaa4-6fd6-4fd7-85cf-e012aa0799e1", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:06:49.360825Z", - "iopub.status.busy": "2024-03-08T15:06:49.360137Z", - "iopub.status.idle": "2024-03-08T15:06:49.692748Z", - "shell.execute_reply": "2024-03-08T15:06:49.691723Z" + "iopub.execute_input": "2024-04-17T19:14:05.056775Z", + "iopub.status.busy": "2024-04-17T19:14:05.056501Z", + "iopub.status.idle": "2024-04-17T19:14:05.270542Z", + "shell.execute_reply": "2024-04-17T19:14:05.269320Z" } }, "outputs": [ @@ -116,14 +116,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:49,687 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:14:05,263 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:49,688 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.307097 s\n" + "2024-04-17 15:14:05,265 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.195802 s\n" ] }, { @@ -160,10 +160,10 @@ "id": "a89a9cf0", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:06:49.697449Z", - "iopub.status.busy": "2024-03-08T15:06:49.697069Z", - "iopub.status.idle": "2024-03-08T15:06:50.606949Z", - "shell.execute_reply": "2024-03-08T15:06:50.605802Z" + "iopub.execute_input": "2024-04-17T19:14:05.275944Z", + "iopub.status.busy": "2024-04-17T19:14:05.275527Z", + "iopub.status.idle": "2024-04-17T19:14:05.984878Z", + "shell.execute_reply": "2024-04-17T19:14:05.983619Z" } }, "outputs": [ @@ -171,14 +171,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:50,600 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:14:05,977 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:50,601 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.874461 s\n" + "2024-04-17 15:14:05,979 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.674020 s\n" ] }, { @@ -216,7 +216,7 @@ "id": "e2baea54", "metadata": {}, "source": [ - "## Example 3. Advanced - uses `ConditionRegexMatch` from `cyclops.query.ops`. Get all patient encounters with diagnoses (ICD-9 long title contains `schizophrenia` and `chronic` ), in the year 2015." + "## Example 3. Advanced - uses `ConditionRegexMatch` from `cycquery.ops`. Get all patient encounters with diagnoses (ICD-9 long title contains `schizophrenia` and `chronic` ), in the year 2015." ] }, { @@ -225,10 +225,10 @@ "id": "03936cee", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:06:50.612539Z", - "iopub.status.busy": "2024-03-08T15:06:50.612008Z", - "iopub.status.idle": "2024-03-08T15:06:52.140537Z", - "shell.execute_reply": "2024-03-08T15:06:52.138848Z" + "iopub.execute_input": "2024-04-17T19:14:05.990878Z", + "iopub.status.busy": "2024-04-17T19:14:05.990231Z", + "iopub.status.idle": "2024-04-17T19:14:07.495479Z", + "shell.execute_reply": "2024-04-17T19:14:07.494735Z" } }, "outputs": [ @@ -236,14 +236,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:52,133 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:14:07,490 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:06:52,134 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 1.491402 s\n" + "2024-04-17 15:14:07,491 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 1.468321 s\n" ] }, { @@ -290,10 +290,10 @@ "id": "56a72377", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:06:52.147292Z", - "iopub.status.busy": "2024-03-08T15:06:52.146802Z", - "iopub.status.idle": "2024-03-08T15:08:14.535902Z", - "shell.execute_reply": "2024-03-08T15:08:14.534822Z" + "iopub.execute_input": "2024-04-17T19:14:07.501898Z", + "iopub.status.busy": "2024-04-17T19:14:07.501542Z", + "iopub.status.idle": "2024-04-17T19:15:30.606475Z", + "shell.execute_reply": "2024-04-17T19:15:30.605389Z" } }, "outputs": [ @@ -301,14 +301,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:08:14,529 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:15:30,600 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:08:14,530 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 82.349428 s\n" + "2024-04-17 15:15:30,601 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 83.074736 s\n" ] }, { @@ -351,10 +351,10 @@ "id": "bce11f81", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:08:14.541464Z", - "iopub.status.busy": "2024-03-08T15:08:14.541064Z", - "iopub.status.idle": "2024-03-08T15:09:25.683755Z", - "shell.execute_reply": "2024-03-08T15:09:25.682695Z" + "iopub.execute_input": "2024-04-17T19:15:30.610308Z", + "iopub.status.busy": "2024-04-17T19:15:30.609839Z", + "iopub.status.idle": "2024-04-17T19:16:41.512935Z", + "shell.execute_reply": "2024-04-17T19:16:41.512177Z" } }, "outputs": [ @@ -362,14 +362,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:25,677 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:16:41,506 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:25,678 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 71.109498 s\n" + "2024-04-17 15:16:41,508 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 70.871534 s\n" ] }, { @@ -412,10 +412,10 @@ "id": "f00d270c-d78f-4dc0-8dae-ff4d52958c8b", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:25.687388Z", - "iopub.status.busy": "2024-03-08T15:09:25.687113Z", - "iopub.status.idle": "2024-03-08T15:09:33.644388Z", - "shell.execute_reply": "2024-03-08T15:09:33.643602Z" + "iopub.execute_input": "2024-04-17T19:16:41.519081Z", + "iopub.status.busy": "2024-04-17T19:16:41.518622Z", + "iopub.status.idle": "2024-04-17T19:16:49.517389Z", + "shell.execute_reply": "2024-04-17T19:16:49.516562Z" }, "tags": [] }, @@ -424,14 +424,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:33,639 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:16:49,512 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:33,640 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 7.937612 s\n" + "2024-04-17 15:16:49,513 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 7.972264 s\n" ] }, { @@ -480,10 +480,10 @@ "id": "28683d70-376e-4d9b-883d-1a7de634e455", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:33.647545Z", - "iopub.status.busy": "2024-03-08T15:09:33.647164Z", - "iopub.status.idle": "2024-03-08T15:09:34.244879Z", - "shell.execute_reply": "2024-03-08T15:09:34.244087Z" + "iopub.execute_input": "2024-04-17T19:16:49.522046Z", + "iopub.status.busy": "2024-04-17T19:16:49.521507Z", + "iopub.status.idle": "2024-04-17T19:16:50.171152Z", + "shell.execute_reply": "2024-04-17T19:16:50.170446Z" } }, "outputs": [ @@ -491,14 +491,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:33,979 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:16:49,909 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:33,981 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.304018 s\n" + "2024-04-17 15:16:49,910 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.354782 s\n" ] }, { @@ -543,10 +543,10 @@ "id": "a853deec", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:34.250264Z", - "iopub.status.busy": "2024-03-08T15:09:34.249882Z", - "iopub.status.idle": "2024-03-08T15:09:34.262831Z", - "shell.execute_reply": "2024-03-08T15:09:34.261806Z" + "iopub.execute_input": "2024-04-17T19:16:50.175372Z", + "iopub.status.busy": "2024-04-17T19:16:50.175089Z", + "iopub.status.idle": "2024-04-17T19:16:50.188896Z", + "shell.execute_reply": "2024-04-17T19:16:50.187288Z" }, "tags": [] }, @@ -555,14 +555,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:34,257 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:16:50,182 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:34,258 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.007239 s\n" + "2024-04-17 15:16:50,183 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.006886 s\n" ] }, { diff --git a/tutorials/omop.html b/tutorials/omop.html index 8ebfc63..2c6fee0 100644 --- a/tutorials/omop.html +++ b/tutorials/omop.html @@ -1,190 +1,302 @@ + + + + + + + + + OMOP tutorial - cycquery documentation + + + + + + + - - - - - - - - - - - OMOP tutorial — cyclops-query documentation - - - - + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    -

    OMOP tutorial

    -

    This notebook shows examples of how to use the cyclops-query tool to query EHR databases that follow the OMOP common data model. Each query is limit to 100 rows (for quick results).

    +

    OMOP tutorial

    +

    This notebook shows examples of how to use the cycquery tool to query EHR databases that follow the OMOP common data model. Each query is limit to 100 rows (for quick results).

    We showcase the examples on:

    1. Synthea in OMOP format.

      @@ -454,7 +566,7 @@

      OMOP tutorial -

      Imports and instantiate OMOPQuerier.

      +

      Imports and instantiate OMOPQuerier.

      Pass in the schema_name which is the name of the postgres schema which houses all the OMOP tables.

      [1]:
      @@ -487,7 +599,7 @@ 

      Imports and instantiate
      -2024-03-08 10:09:38,117 INFO cycquery.orm    - Database setup, ready to run queries!
      +2024-04-17 15:16:54,201 INFO cycquery.orm    - Database setup, ready to run queries!
       

      @@ -544,7 +656,7 @@

      Imports and instantiate

    -

    Example 1. Get all patient visits in or after 2010.

    +

    Example 1. Get all patient visits in or after 2010.

    -

    Example 2. Get measurements for all visits in or after 2020.

    +

    Example 2. Get measurements for all visits in or after 2020.

    @@ -657,7 +769,7 @@

    Example 2. Get measurements for all visits in or after 2020. -

    Imports and instantiate OMOPQuerier.

    +

    Imports and instantiate OMOPQuerier.

    Pass in the schema_name which is the name of the postgres schema which houses all the OMOP tables.

    [4]:
    @@ -682,7 +794,7 @@ 

    Imports and instantiate
    -2024-03-08 10:09:42,134 INFO cycquery.orm    - Database setup, ready to run queries!
    +2024-04-17 15:16:58,478 INFO cycquery.orm    - Database setup, ready to run queries!
     

    @@ -696,7 +808,7 @@

    Imports and instantiate
    -

    Example 1. Get all patient visits that ended in a mortality outcome in or after 2010.

    +

    Example 1. Get all patient visits that ended in a mortality outcome in or after 2010.

    [5]:
     
    @@ -722,7 +834,7 @@

    Example 1. Get all patient visits that ended in a mortality outcome in or af

    -2024-03-08 10:09:48,662 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:17:05,260 INFO cycquery.orm    - Query returned successfully!
     
    @@ -730,7 +842,7 @@

    Example 1. Get all patient visits that ended in a mortality outcome in or af

    -2024-03-08 10:09:48,663 INFO cycquery.utils.profile - Finished executing function run_query in 0.930822 s
    +2024-04-17 15:17:05,261 INFO cycquery.utils.profile - Finished executing function run_query in 0.978384 s
     

    @@ -743,7 +855,7 @@

    Example 1. Get all patient visits that ended in a mortality outcome in or af

    -

    Example 2. Get all measurements for female patient visits with sepsis diagnoses, that ended in a mortality outcome.

    +

    Example 2. Get all measurements for female patient visits with sepsis diagnoses, that ended in a mortality outcome.

    [6]:
     
    @@ -786,7 +898,7 @@

    Example 2. Get all measurements for female patient visits with
    -2024-03-08 10:10:04,641 INFO cycquery.orm    - Query returned successfully!
    +2024-04-17 15:17:21,347 INFO cycquery.orm    - Query returned successfully!
     

    @@ -794,7 +906,7 @@

    Example 2. Get all measurements for female patient visits with
    -2024-03-08 10:10:04,642 INFO cycquery.utils.profile - Finished executing function run_query in 15.905970 s
    +2024-04-17 15:17:21,348 INFO cycquery.utils.profile - Finished executing function run_query in 16.013580 s
     

    @@ -828,66 +940,96 @@

    Example 2. Get all measurements for female patient visits with + +
    +
    + Next +
    +
    GEMINI tutorial
    +
    + +
    + + +
    +
    + Previous +
    + +
    eICU-CRD tutorial
    + +
    +
    +

    +
    +
    + + Made with Sphinx and @pradyunsg's + + Furo +
    -
    +
    - - - +
    + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/omop.ipynb b/tutorials/omop.ipynb index b8131ec..a0239b4 100644 --- a/tutorials/omop.ipynb +++ b/tutorials/omop.ipynb @@ -13,7 +13,7 @@ "id": "1efffc64", "metadata": {}, "source": [ - "This notebook shows examples of how to use the cyclops-query tool to query EHR databases that follow the OMOP common data model. Each query is limit to 100 rows (for quick results).\n", + "This notebook shows examples of how to use the cycquery tool to query EHR databases that follow the OMOP common data model. Each query is limit to 100 rows (for quick results).\n", "\n", "We showcase the examples on:\n", "\n", @@ -45,10 +45,10 @@ "id": "53009e6b", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:36.551881Z", - "iopub.status.busy": "2024-03-08T15:09:36.551235Z", - "iopub.status.idle": "2024-03-08T15:09:38.704205Z", - "shell.execute_reply": "2024-03-08T15:09:38.702703Z" + "iopub.execute_input": "2024-04-17T19:16:52.372473Z", + "iopub.status.busy": "2024-04-17T19:16:52.371960Z", + "iopub.status.idle": "2024-04-17T19:16:55.606910Z", + "shell.execute_reply": "2024-04-17T19:16:55.605253Z" } }, "outputs": [ @@ -56,7 +56,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:38,117 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" + "2024-04-17 15:16:54,201 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -151,10 +151,10 @@ "id": "3a3d9cb9-fe40-45b8-ba2f-8de52a3b7f4f", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:38.709726Z", - "iopub.status.busy": "2024-03-08T15:09:38.709261Z", - "iopub.status.idle": "2024-03-08T15:09:38.794240Z", - "shell.execute_reply": "2024-03-08T15:09:38.792994Z" + "iopub.execute_input": "2024-04-17T19:16:55.613864Z", + "iopub.status.busy": "2024-04-17T19:16:55.613175Z", + "iopub.status.idle": "2024-04-17T19:16:55.720733Z", + "shell.execute_reply": "2024-04-17T19:16:55.719346Z" } }, "outputs": [ @@ -162,14 +162,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:38,772 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:16:55,699 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:38,774 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.052621 s\n" + "2024-04-17 15:16:55,701 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.061462 s\n" ] }, { @@ -227,10 +227,10 @@ "id": "030e2491-a7cc-42f3-a1ca-618212b3524c", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:38.799732Z", - "iopub.status.busy": "2024-03-08T15:09:38.799367Z", - "iopub.status.idle": "2024-03-08T15:09:38.905025Z", - "shell.execute_reply": "2024-03-08T15:09:38.903822Z" + "iopub.execute_input": "2024-04-17T19:16:55.727323Z", + "iopub.status.busy": "2024-04-17T19:16:55.726777Z", + "iopub.status.idle": "2024-04-17T19:16:55.833883Z", + "shell.execute_reply": "2024-04-17T19:16:55.832847Z" } }, "outputs": [ @@ -238,14 +238,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:38,898 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:16:55,828 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:38,899 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.059497 s\n" + "2024-04-17 15:16:55,829 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.058665 s\n" ] }, { @@ -303,10 +303,10 @@ "id": "0622b3df-2864-4f32-bd98-806019f59c50", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:38.911289Z", - "iopub.status.busy": "2024-03-08T15:09:38.910855Z", - "iopub.status.idle": "2024-03-08T15:09:47.708515Z", - "shell.execute_reply": "2024-03-08T15:09:47.707840Z" + "iopub.execute_input": "2024-04-17T19:16:55.840051Z", + "iopub.status.busy": "2024-04-17T19:16:55.839627Z", + "iopub.status.idle": "2024-04-17T19:17:04.240624Z", + "shell.execute_reply": "2024-04-17T19:17:04.238675Z" }, "tags": [] }, @@ -315,7 +315,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:42,134 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" + "2024-04-17 15:16:58,478 \u001b[1;37mINFO\u001b[0m cycquery.orm - Database setup, ready to run queries!\n" ] }, { @@ -357,10 +357,10 @@ "id": "40ff2e83-75e4-4119-aa33-26f95e63ddaa", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:47.713562Z", - "iopub.status.busy": "2024-03-08T15:09:47.713359Z", - "iopub.status.idle": "2024-03-08T15:09:48.666856Z", - "shell.execute_reply": "2024-03-08T15:09:48.666244Z" + "iopub.execute_input": "2024-04-17T19:17:04.248067Z", + "iopub.status.busy": "2024-04-17T19:17:04.247444Z", + "iopub.status.idle": "2024-04-17T19:17:05.265514Z", + "shell.execute_reply": "2024-04-17T19:17:05.264715Z" }, "tags": [] }, @@ -369,14 +369,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:48,662 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:17:05,260 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:09:48,663 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.930822 s\n" + "2024-04-17 15:17:05,261 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 0.978384 s\n" ] }, { @@ -419,10 +419,10 @@ "id": "46fd771c-5da7-4bce-aec7-08a5210a069b", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:09:48.673731Z", - "iopub.status.busy": "2024-03-08T15:09:48.673379Z", - "iopub.status.idle": "2024-03-08T15:10:04.647600Z", - "shell.execute_reply": "2024-03-08T15:10:04.646443Z" + "iopub.execute_input": "2024-04-17T19:17:05.271669Z", + "iopub.status.busy": "2024-04-17T19:17:05.271286Z", + "iopub.status.idle": "2024-04-17T19:17:21.352068Z", + "shell.execute_reply": "2024-04-17T19:17:21.351401Z" }, "tags": [] }, @@ -431,14 +431,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:10:04,641 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" + "2024-04-17 15:17:21,347 \u001b[1;37mINFO\u001b[0m cycquery.orm - Query returned successfully!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "2024-03-08 10:10:04,642 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 15.905970 s\n" + "2024-04-17 15:17:21,348 \u001b[1;37mINFO\u001b[0m cycquery.utils.profile - Finished executing function run_query in 16.013580 s\n" ] }, { @@ -488,10 +488,10 @@ "id": "d20a2581-f613-4ab8-9feb-3e84b8835db1", "metadata": { "execution": { - "iopub.execute_input": "2024-03-08T15:10:04.653090Z", - "iopub.status.busy": "2024-03-08T15:10:04.652548Z", - "iopub.status.idle": "2024-03-08T15:10:04.663848Z", - "shell.execute_reply": "2024-03-08T15:10:04.662593Z" + "iopub.execute_input": "2024-04-17T19:17:21.355875Z", + "iopub.status.busy": "2024-04-17T19:17:21.355544Z", + "iopub.status.idle": "2024-04-17T19:17:21.364321Z", + "shell.execute_reply": "2024-04-17T19:17:21.363213Z" }, "tags": [] },

    mimiciii