From b6e5865446077cf1978677e4330c26762a452ffe Mon Sep 17 00:00:00 2001
From: gormaniac <83027042+gormaniac@users.noreply.github.com>
Date: Tue, 7 Jul 2026 07:00:14 -0600
Subject: [PATCH 1/2] build: add actions to build and release
---
.github/workflows/build.yml | 31 +
.github/workflows/release.yml | 54 +
Makefile | 8 +-
README.md | 2 +-
dist/pyhatching-0.2.1-py3-none-any.whl | Bin 19421 -> 0 bytes
dist/pyhatching-0.2.1.tar.gz | Bin 17548 -> 0 bytes
doc/conf.py | 4 +-
docs/.nojekyll | 0
docs/_sources/index.rst.txt | 13 -
docs/_sources/pyhatching.rst.txt | 45 -
.../_sphinx_javascript_frameworks_compat.js | 123 -
docs/_static/basic.css | 925 ------
docs/_static/css/badge_only.css | 1 -
docs/_static/css/fonts/Roboto-Slab-Bold.woff | Bin 87624 -> 0 bytes
docs/_static/css/fonts/Roboto-Slab-Bold.woff2 | Bin 67312 -> 0 bytes
.../css/fonts/Roboto-Slab-Regular.woff | Bin 86288 -> 0 bytes
.../css/fonts/Roboto-Slab-Regular.woff2 | Bin 66444 -> 0 bytes
.../_static/css/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes
.../_static/css/fonts/fontawesome-webfont.svg | 2671 -----------------
.../_static/css/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes
.../css/fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes
.../css/fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes
docs/_static/css/fonts/lato-bold-italic.woff | Bin 323344 -> 0 bytes
docs/_static/css/fonts/lato-bold-italic.woff2 | Bin 193308 -> 0 bytes
docs/_static/css/fonts/lato-bold.woff | Bin 309728 -> 0 bytes
docs/_static/css/fonts/lato-bold.woff2 | Bin 184912 -> 0 bytes
.../_static/css/fonts/lato-normal-italic.woff | Bin 328412 -> 0 bytes
.../css/fonts/lato-normal-italic.woff2 | Bin 195704 -> 0 bytes
docs/_static/css/fonts/lato-normal.woff | Bin 309192 -> 0 bytes
docs/_static/css/fonts/lato-normal.woff2 | Bin 182708 -> 0 bytes
docs/_static/css/theme.css | 4 -
docs/_static/doctools.js | 156 -
docs/_static/documentation_options.js | 13 -
docs/_static/file.png | Bin 286 -> 0 bytes
docs/_static/jquery.js | 2 -
docs/_static/js/badge_only.js | 1 -
docs/_static/js/html5shiv-printshiv.min.js | 4 -
docs/_static/js/html5shiv.min.js | 4 -
docs/_static/js/theme.js | 1 -
docs/_static/language_data.js | 199 --
docs/_static/minus.png | Bin 90 -> 0 bytes
docs/_static/plus.png | Bin 90 -> 0 bytes
docs/_static/pygments.css | 75 -
docs/_static/searchtools.js | 574 ----
docs/_static/sphinx_highlight.js | 154 -
docs/genindex.html | 105 -
docs/index.html | 126 -
docs/objects.inv | 7 -
docs/py-modindex.html | 140 -
docs/pyhatching.html | 133 -
docs/search.html | 120 -
docs/searchindex.js | 1 -
52 files changed, 94 insertions(+), 5602 deletions(-)
create mode 100644 .github/workflows/build.yml
create mode 100644 .github/workflows/release.yml
delete mode 100644 dist/pyhatching-0.2.1-py3-none-any.whl
delete mode 100644 dist/pyhatching-0.2.1.tar.gz
delete mode 100644 docs/.nojekyll
delete mode 100644 docs/_sources/index.rst.txt
delete mode 100644 docs/_sources/pyhatching.rst.txt
delete mode 100644 docs/_static/_sphinx_javascript_frameworks_compat.js
delete mode 100644 docs/_static/basic.css
delete mode 100644 docs/_static/css/badge_only.css
delete mode 100644 docs/_static/css/fonts/Roboto-Slab-Bold.woff
delete mode 100644 docs/_static/css/fonts/Roboto-Slab-Bold.woff2
delete mode 100644 docs/_static/css/fonts/Roboto-Slab-Regular.woff
delete mode 100644 docs/_static/css/fonts/Roboto-Slab-Regular.woff2
delete mode 100644 docs/_static/css/fonts/fontawesome-webfont.eot
delete mode 100644 docs/_static/css/fonts/fontawesome-webfont.svg
delete mode 100644 docs/_static/css/fonts/fontawesome-webfont.ttf
delete mode 100644 docs/_static/css/fonts/fontawesome-webfont.woff
delete mode 100644 docs/_static/css/fonts/fontawesome-webfont.woff2
delete mode 100644 docs/_static/css/fonts/lato-bold-italic.woff
delete mode 100644 docs/_static/css/fonts/lato-bold-italic.woff2
delete mode 100644 docs/_static/css/fonts/lato-bold.woff
delete mode 100644 docs/_static/css/fonts/lato-bold.woff2
delete mode 100644 docs/_static/css/fonts/lato-normal-italic.woff
delete mode 100644 docs/_static/css/fonts/lato-normal-italic.woff2
delete mode 100644 docs/_static/css/fonts/lato-normal.woff
delete mode 100644 docs/_static/css/fonts/lato-normal.woff2
delete mode 100644 docs/_static/css/theme.css
delete mode 100644 docs/_static/doctools.js
delete mode 100644 docs/_static/documentation_options.js
delete mode 100644 docs/_static/file.png
delete mode 100644 docs/_static/jquery.js
delete mode 100644 docs/_static/js/badge_only.js
delete mode 100644 docs/_static/js/html5shiv-printshiv.min.js
delete mode 100644 docs/_static/js/html5shiv.min.js
delete mode 100644 docs/_static/js/theme.js
delete mode 100644 docs/_static/language_data.js
delete mode 100644 docs/_static/minus.png
delete mode 100644 docs/_static/plus.png
delete mode 100644 docs/_static/pygments.css
delete mode 100644 docs/_static/searchtools.js
delete mode 100644 docs/_static/sphinx_highlight.js
delete mode 100644 docs/genindex.html
delete mode 100644 docs/index.html
delete mode 100644 docs/objects.inv
delete mode 100644 docs/py-modindex.html
delete mode 100644 docs/pyhatching.html
delete mode 100644 docs/search.html
delete mode 100644 docs/searchindex.js
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..e96ea8b
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,31 @@
+name: Build
+
+on:
+ pull_request:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: "3.11"
+
+ - name: Install pipenv
+ run: pip install pipenv
+
+ - name: Set up project environment
+ run: make setup
+
+ - name: Build package
+ run: make build
+
+ - name: Build documentation
+ run: make docs
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..2b8b4dd
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,54 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - "v*"
+
+permissions:
+ contents: write
+
+jobs:
+ release:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: "3.11"
+
+ - name: Install pipenv
+ run: pip install pipenv
+
+ - name: Set up project environment
+ run: make setup
+
+ - name: Build package
+ run: make build
+
+ - name: Build documentation
+ run: make docs
+
+ - name: Package documentation
+ run: tar -czf docs.tar.gz -C docs .
+
+ - name: Create GitHub Release
+ uses: softprops/action-gh-release@v2
+ with:
+ files: |
+ dist/*
+ docs.tar.gz
+
+ - name: Notify cloud-infra repo
+ env:
+ GH_TOKEN: ${{ secrets.DOCS_DISPATCH_TOKEN }}
+ run: |
+ gh api repos/gormaniac/cloud-infra/dispatches \
+ -f event_type=doc-release \
+ -f 'client_payload[tag]=${{ github.ref_name }}' \
+ -f 'client_payload[repository]=${{ github.repository }}' \
+ -f 'client_payload[github_sha]=${{ github.sha }}'
diff --git a/Makefile b/Makefile
index 284815d..7d7d24a 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ install-self: # Install this project's python package using the pipenv's pip
.PHONY: docs
docs: # Build the documentation for this package
pipenv run sphinx-apidoc -T -f -o doc $(PKG_DIR)
- pipenv run sphinx-build doc/ docs/
+ pipenv run sphinx-build -b dirhtml doc/ docs/
.PHONY: clean-py
clean-py: # Clean up Python generated files
@@ -37,6 +37,8 @@ clean-py: # Clean up Python generated files
clean: clean-py # Remove build files - including a forced "git rm" of "dist/*"
git rm -f dist/* --ignore-unmatch
rm -rf dist
+ git rm -f docs/* --ignore-unmatch
+ rm -rf docs
.PHONY: read-docs
read-docs: # Open the package docs locally
@@ -48,12 +50,12 @@ read-docs: # Open the package docs locally
.PHONY: release
release: change-version clean setup build docs # Build a new versioned release and push it (requires VERSION=#.#.#)
- git add dist/* doc/* docs/* pyproject.toml $(PKG_DIR)/__init__.py
+ git add doc/* pyproject.toml $(PKG_DIR)/__init__.py
git commit -m "build: release v$(VERSION)"
git push
git tag -a v$(VERSION) -m "Release v$(VERSION)"
git push origin v$(VERSION)
- $(MAKE) clean-py
+ $(MAKE) clean
.PHONY: pypi
pypi: # Upload all Python packages in "dist/" to PyPI.
diff --git a/README.md b/README.md
index cde4fc4..ab35934 100644
--- a/README.md
+++ b/README.md
@@ -10,4 +10,4 @@ Supports:
- Profile getting/setting
- Yara rule getting/setting
-Read the full documentation [here](https://gormo.co/pyhatching/).
+Read the full documentation [here](https://gormo.co/docs/pyhatching/).
diff --git a/dist/pyhatching-0.2.1-py3-none-any.whl b/dist/pyhatching-0.2.1-py3-none-any.whl
deleted file mode 100644
index 692acc8ef41bc8a73b1a57e84e3da843b96495de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 19421
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
diff --git a/dist/pyhatching-0.2.1.tar.gz b/dist/pyhatching-0.2.1.tar.gz
deleted file mode 100644
index 5634c593c4fe2dd9561ca9b8b078016de7d499e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 17548
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 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/docs/_static/basic.css b/docs/_static/basic.css
deleted file mode 100644
index 30fee9d..0000000
--- a/docs/_static/basic.css
+++ /dev/null
@@ -1,925 +0,0 @@
-/*
- * basic.css
- * ~~~~~~~~~
- *
- * Sphinx stylesheet -- basic theme.
- *
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/* -- main layout ----------------------------------------------------------- */
-
-div.clearer {
- clear: both;
-}
-
-div.section::after {
- display: block;
- content: '';
- clear: left;
-}
-
-/* -- relbar ---------------------------------------------------------------- */
-
-div.related {
- width: 100%;
- font-size: 90%;
-}
-
-div.related h3 {
- display: none;
-}
-
-div.related ul {
- margin: 0;
- padding: 0 0 0 10px;
- list-style: none;
-}
-
-div.related li {
- display: inline;
-}
-
-div.related li.right {
- float: right;
- margin-right: 5px;
-}
-
-/* -- sidebar --------------------------------------------------------------- */
-
-div.sphinxsidebarwrapper {
- padding: 10px 5px 0 10px;
-}
-
-div.sphinxsidebar {
- float: left;
- width: 230px;
- margin-left: -100%;
- font-size: 90%;
- word-wrap: break-word;
- overflow-wrap : break-word;
-}
-
-div.sphinxsidebar ul {
- list-style: none;
-}
-
-div.sphinxsidebar ul ul,
-div.sphinxsidebar ul.want-points {
- margin-left: 20px;
- list-style: square;
-}
-
-div.sphinxsidebar ul ul {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-div.sphinxsidebar form {
- margin-top: 10px;
-}
-
-div.sphinxsidebar input {
- border: 1px solid #98dbcc;
- font-family: sans-serif;
- font-size: 1em;
-}
-
-div.sphinxsidebar #searchbox form.search {
- overflow: hidden;
-}
-
-div.sphinxsidebar #searchbox input[type="text"] {
- float: left;
- width: 80%;
- padding: 0.25em;
- box-sizing: border-box;
-}
-
-div.sphinxsidebar #searchbox input[type="submit"] {
- float: left;
- width: 20%;
- border-left: none;
- padding: 0.25em;
- box-sizing: border-box;
-}
-
-
-img {
- border: 0;
- max-width: 100%;
-}
-
-/* -- search page ----------------------------------------------------------- */
-
-ul.search {
- margin: 10px 0 0 20px;
- padding: 0;
-}
-
-ul.search li {
- padding: 5px 0 5px 20px;
- background-image: url(file.png);
- background-repeat: no-repeat;
- background-position: 0 7px;
-}
-
-ul.search li a {
- font-weight: bold;
-}
-
-ul.search li p.context {
- color: #888;
- margin: 2px 0 0 30px;
- text-align: left;
-}
-
-ul.keywordmatches li.goodmatch a {
- font-weight: bold;
-}
-
-/* -- index page ------------------------------------------------------------ */
-
-table.contentstable {
- width: 90%;
- margin-left: auto;
- margin-right: auto;
-}
-
-table.contentstable p.biglink {
- line-height: 150%;
-}
-
-a.biglink {
- font-size: 1.3em;
-}
-
-span.linkdescr {
- font-style: italic;
- padding-top: 5px;
- font-size: 90%;
-}
-
-/* -- general index --------------------------------------------------------- */
-
-table.indextable {
- width: 100%;
-}
-
-table.indextable td {
- text-align: left;
- vertical-align: top;
-}
-
-table.indextable ul {
- margin-top: 0;
- margin-bottom: 0;
- list-style-type: none;
-}
-
-table.indextable > tbody > tr > td > ul {
- padding-left: 0em;
-}
-
-table.indextable tr.pcap {
- height: 10px;
-}
-
-table.indextable tr.cap {
- margin-top: 10px;
- background-color: #f2f2f2;
-}
-
-img.toggler {
- margin-right: 3px;
- margin-top: 3px;
- cursor: pointer;
-}
-
-div.modindex-jumpbox {
- border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
- margin: 1em 0 1em 0;
- padding: 0.4em;
-}
-
-div.genindex-jumpbox {
- border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
- margin: 1em 0 1em 0;
- padding: 0.4em;
-}
-
-/* -- domain module index --------------------------------------------------- */
-
-table.modindextable td {
- padding: 2px;
- border-collapse: collapse;
-}
-
-/* -- general body styles --------------------------------------------------- */
-
-div.body {
- min-width: 360px;
- max-width: 800px;
-}
-
-div.body p, div.body dd, div.body li, div.body blockquote {
- -moz-hyphens: auto;
- -ms-hyphens: auto;
- -webkit-hyphens: auto;
- hyphens: auto;
-}
-
-a.headerlink {
- visibility: hidden;
-}
-
-a:visited {
- color: #551A8B;
-}
-
-h1:hover > a.headerlink,
-h2:hover > a.headerlink,
-h3:hover > a.headerlink,
-h4:hover > a.headerlink,
-h5:hover > a.headerlink,
-h6:hover > a.headerlink,
-dt:hover > a.headerlink,
-caption:hover > a.headerlink,
-p.caption:hover > a.headerlink,
-div.code-block-caption:hover > a.headerlink {
- visibility: visible;
-}
-
-div.body p.caption {
- text-align: inherit;
-}
-
-div.body td {
- text-align: left;
-}
-
-.first {
- margin-top: 0 !important;
-}
-
-p.rubric {
- margin-top: 30px;
- font-weight: bold;
-}
-
-img.align-left, figure.align-left, .figure.align-left, object.align-left {
- clear: left;
- float: left;
- margin-right: 1em;
-}
-
-img.align-right, figure.align-right, .figure.align-right, object.align-right {
- clear: right;
- float: right;
- margin-left: 1em;
-}
-
-img.align-center, figure.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-img.align-default, figure.align-default, .figure.align-default {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-center {
- text-align: center;
-}
-
-.align-default {
- text-align: center;
-}
-
-.align-right {
- text-align: right;
-}
-
-/* -- sidebars -------------------------------------------------------------- */
-
-div.sidebar,
-aside.sidebar {
- margin: 0 0 0.5em 1em;
- border: 1px solid #ddb;
- padding: 7px;
- background-color: #ffe;
- width: 40%;
- float: right;
- clear: right;
- overflow-x: auto;
-}
-
-p.sidebar-title {
- font-weight: bold;
-}
-
-nav.contents,
-aside.topic,
-div.admonition, div.topic, blockquote {
- clear: left;
-}
-
-/* -- topics ---------------------------------------------------------------- */
-
-nav.contents,
-aside.topic,
-div.topic {
- border: 1px solid #ccc;
- padding: 7px;
- margin: 10px 0 10px 0;
-}
-
-p.topic-title {
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 10px;
-}
-
-/* -- admonitions ----------------------------------------------------------- */
-
-div.admonition {
- margin-top: 10px;
- margin-bottom: 10px;
- padding: 7px;
-}
-
-div.admonition dt {
- font-weight: bold;
-}
-
-p.admonition-title {
- margin: 0px 10px 5px 0px;
- font-weight: bold;
-}
-
-div.body p.centered {
- text-align: center;
- margin-top: 25px;
-}
-
-/* -- content of sidebars/topics/admonitions -------------------------------- */
-
-div.sidebar > :last-child,
-aside.sidebar > :last-child,
-nav.contents > :last-child,
-aside.topic > :last-child,
-div.topic > :last-child,
-div.admonition > :last-child {
- margin-bottom: 0;
-}
-
-div.sidebar::after,
-aside.sidebar::after,
-nav.contents::after,
-aside.topic::after,
-div.topic::after,
-div.admonition::after,
-blockquote::after {
- display: block;
- content: '';
- clear: both;
-}
-
-/* -- tables ---------------------------------------------------------------- */
-
-table.docutils {
- margin-top: 10px;
- margin-bottom: 10px;
- border: 0;
- border-collapse: collapse;
-}
-
-table.align-center {
- margin-left: auto;
- margin-right: auto;
-}
-
-table.align-default {
- margin-left: auto;
- margin-right: auto;
-}
-
-table caption span.caption-number {
- font-style: italic;
-}
-
-table caption span.caption-text {
-}
-
-table.docutils td, table.docutils th {
- padding: 1px 8px 1px 5px;
- border-top: 0;
- border-left: 0;
- border-right: 0;
- border-bottom: 1px solid #aaa;
-}
-
-th {
- text-align: left;
- padding-right: 5px;
-}
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px;
-}
-
-table.citation td {
- border-bottom: none;
-}
-
-th > :first-child,
-td > :first-child {
- margin-top: 0px;
-}
-
-th > :last-child,
-td > :last-child {
- margin-bottom: 0px;
-}
-
-/* -- figures --------------------------------------------------------------- */
-
-div.figure, figure {
- margin: 0.5em;
- padding: 0.5em;
-}
-
-div.figure p.caption, figcaption {
- padding: 0.3em;
-}
-
-div.figure p.caption span.caption-number,
-figcaption span.caption-number {
- font-style: italic;
-}
-
-div.figure p.caption span.caption-text,
-figcaption span.caption-text {
-}
-
-/* -- field list styles ----------------------------------------------------- */
-
-table.field-list td, table.field-list th {
- border: 0 !important;
-}
-
-.field-list ul {
- margin: 0;
- padding-left: 1em;
-}
-
-.field-list p {
- margin: 0;
-}
-
-.field-name {
- -moz-hyphens: manual;
- -ms-hyphens: manual;
- -webkit-hyphens: manual;
- hyphens: manual;
-}
-
-/* -- hlist styles ---------------------------------------------------------- */
-
-table.hlist {
- margin: 1em 0;
-}
-
-table.hlist td {
- vertical-align: top;
-}
-
-/* -- object description styles --------------------------------------------- */
-
-.sig {
- font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
-}
-
-.sig-name, code.descname {
- background-color: transparent;
- font-weight: bold;
-}
-
-.sig-name {
- font-size: 1.1em;
-}
-
-code.descname {
- font-size: 1.2em;
-}
-
-.sig-prename, code.descclassname {
- background-color: transparent;
-}
-
-.optional {
- font-size: 1.3em;
-}
-
-.sig-paren {
- font-size: larger;
-}
-
-.sig-param.n {
- font-style: italic;
-}
-
-/* C++ specific styling */
-
-.sig-inline.c-texpr,
-.sig-inline.cpp-texpr {
- font-family: unset;
-}
-
-.sig.c .k, .sig.c .kt,
-.sig.cpp .k, .sig.cpp .kt {
- color: #0033B3;
-}
-
-.sig.c .m,
-.sig.cpp .m {
- color: #1750EB;
-}
-
-.sig.c .s, .sig.c .sc,
-.sig.cpp .s, .sig.cpp .sc {
- color: #067D17;
-}
-
-
-/* -- other body styles ----------------------------------------------------- */
-
-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;
-}
-
-:not(li) > ol > li:first-child > :first-child,
-:not(li) > ul > li:first-child > :first-child {
- margin-top: 0px;
-}
-
-:not(li) > ol > li:last-child > :last-child,
-:not(li) > ul > li:last-child > :last-child {
- margin-bottom: 0px;
-}
-
-ol.simple ol p,
-ol.simple ul p,
-ul.simple ol p,
-ul.simple ul p {
- margin-top: 0;
-}
-
-ol.simple > li:not(:first-child) > p,
-ul.simple > li:not(:first-child) > p {
- margin-top: 0;
-}
-
-ol.simple p,
-ul.simple p {
- margin-bottom: 0;
-}
-
-aside.footnote > span,
-div.citation > span {
- float: left;
-}
-aside.footnote > span:last-of-type,
-div.citation > span:last-of-type {
- padding-right: 0.5em;
-}
-aside.footnote > p {
- margin-left: 2em;
-}
-div.citation > p {
- margin-left: 4em;
-}
-aside.footnote > p:last-of-type,
-div.citation > p:last-of-type {
- margin-bottom: 0em;
-}
-aside.footnote > p:last-of-type:after,
-div.citation > p:last-of-type:after {
- content: "";
- clear: both;
-}
-
-dl.field-list {
- display: grid;
- grid-template-columns: fit-content(30%) auto;
-}
-
-dl.field-list > dt {
- font-weight: bold;
- word-break: break-word;
- padding-left: 0.5em;
- padding-right: 5px;
-}
-
-dl.field-list > dd {
- padding-left: 0.5em;
- margin-top: 0em;
- margin-left: 0em;
- margin-bottom: 0em;
-}
-
-dl {
- margin-bottom: 15px;
-}
-
-dd > :first-child {
- margin-top: 0px;
-}
-
-dd ul, dd table {
- margin-bottom: 10px;
-}
-
-dd {
- margin-top: 3px;
- margin-bottom: 10px;
- margin-left: 30px;
-}
-
-.sig dd {
- margin-top: 0px;
- margin-bottom: 0px;
-}
-
-.sig dl {
- margin-top: 0px;
- margin-bottom: 0px;
-}
-
-dl > dd:last-child,
-dl > dd:last-child > :last-child {
- margin-bottom: 0;
-}
-
-dt:target, span.highlighted {
- background-color: #fbe54e;
-}
-
-rect.highlighted {
- fill: #fbe54e;
-}
-
-dl.glossary dt {
- font-weight: bold;
- font-size: 1.1em;
-}
-
-.versionmodified {
- font-style: italic;
-}
-
-.system-message {
- background-color: #fda;
- padding: 5px;
- border: 3px solid red;
-}
-
-.footnote:target {
- background-color: #ffa;
-}
-
-.line-block {
- display: block;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-.line-block .line-block {
- margin-top: 0;
- margin-bottom: 0;
- margin-left: 1.5em;
-}
-
-.guilabel, .menuselection {
- font-family: sans-serif;
-}
-
-.accelerator {
- text-decoration: underline;
-}
-
-.classifier {
- font-style: oblique;
-}
-
-.classifier:before {
- font-style: normal;
- margin: 0 0.5em;
- content: ":";
- display: inline-block;
-}
-
-abbr, acronym {
- border-bottom: dotted 1px;
- cursor: help;
-}
-
-.translated {
- background-color: rgba(207, 255, 207, 0.2)
-}
-
-.untranslated {
- background-color: rgba(255, 207, 207, 0.2)
-}
-
-/* -- code displays --------------------------------------------------------- */
-
-pre {
- overflow: auto;
- overflow-y: hidden; /* fixes display issues on Chrome browsers */
-}
-
-pre, div[class*="highlight-"] {
- clear: both;
-}
-
-span.pre {
- -moz-hyphens: none;
- -ms-hyphens: none;
- -webkit-hyphens: none;
- hyphens: none;
- white-space: nowrap;
-}
-
-div[class*="highlight-"] {
- margin: 1em 0;
-}
-
-td.linenos pre {
- border: 0;
- background-color: transparent;
- color: #aaa;
-}
-
-table.highlighttable {
- display: block;
-}
-
-table.highlighttable tbody {
- display: block;
-}
-
-table.highlighttable tr {
- display: flex;
-}
-
-table.highlighttable td {
- margin: 0;
- padding: 0;
-}
-
-table.highlighttable td.linenos {
- padding-right: 0.5em;
-}
-
-table.highlighttable td.code {
- flex: 1;
- overflow: hidden;
-}
-
-.highlight .hll {
- display: block;
-}
-
-div.highlight pre,
-table.highlighttable pre {
- margin: 0;
-}
-
-div.code-block-caption + div {
- margin-top: 0;
-}
-
-div.code-block-caption {
- margin-top: 1em;
- padding: 2px 5px;
- font-size: small;
-}
-
-div.code-block-caption code {
- background-color: transparent;
-}
-
-table.highlighttable td.linenos,
-span.linenos,
-div.highlight span.gp { /* gp: Generic.Prompt */
- user-select: none;
- -webkit-user-select: text; /* Safari fallback only */
- -webkit-user-select: none; /* Chrome/Safari */
- -moz-user-select: none; /* Firefox */
- -ms-user-select: none; /* IE10+ */
-}
-
-div.code-block-caption span.caption-number {
- padding: 0.1em 0.3em;
- font-style: italic;
-}
-
-div.code-block-caption span.caption-text {
-}
-
-div.literal-block-wrapper {
- margin: 1em 0;
-}
-
-code.xref, a code {
- background-color: transparent;
- font-weight: bold;
-}
-
-h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
- background-color: transparent;
-}
-
-.viewcode-link {
- float: right;
-}
-
-.viewcode-back {
- float: right;
- font-family: sans-serif;
-}
-
-div.viewcode-block:target {
- margin: -1px -10px;
- padding: 0 10px;
-}
-
-/* -- math display ---------------------------------------------------------- */
-
-img.math {
- vertical-align: middle;
-}
-
-div.body div.math p {
- text-align: center;
-}
-
-span.eqno {
- float: right;
-}
-
-span.eqno a.headerlink {
- position: absolute;
- z-index: 1;
-}
-
-div.math:hover a.headerlink {
- visibility: visible;
-}
-
-/* -- printout stylesheet --------------------------------------------------- */
-
-@media print {
- div.document,
- div.documentwrapper,
- div.bodywrapper {
- margin: 0 !important;
- width: 100%;
- }
-
- div.sphinxsidebar,
- div.related,
- div.footer,
- #top-link {
- display: none;
- }
-}
\ No newline at end of file
diff --git a/docs/_static/css/badge_only.css b/docs/_static/css/badge_only.css
deleted file mode 100644
index c718cee..0000000
--- a/docs/_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/docs/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/_static/css/fonts/Roboto-Slab-Bold.woff
deleted file mode 100644
index 6cb60000181dbd348963953ac8ac54afb46c63d5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 87624
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