diff --git a/.gitignore b/.gitignore
index fb42e0e..aeb25b3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@ static/.DS_Store
static/gitbook/.DS_Store
static/gitbook/assets/.DS_Store
static/gitbook/assets/pybytes/.DS_Store
+scripts/githubToken.json
diff --git a/config.toml b/config.toml
index 2d6bcc1..2cbdeb3 100644
--- a/config.toml
+++ b/config.toml
@@ -1160,38 +1160,31 @@ theme = "doc-theme"
weight = 20
[[menu.main]]
- name = "Connect to Pybytes: Quick Add"
+ name = "Provisioning via USB"
url = "/pybytes/connect/quick/"
identifier = "pybytes@connect@quick"
parent = "pybytes@connect"
weight = 10
[[menu.main]]
- name = "Connect to Pybytes: Flash Pybytes library manually"
- url = "/pybytes/connect/flash/"
- identifier = "pybytes@connect@flash"
- parent = "pybytes@connect"
- weight = 20
-
-[[menu.main]]
- name = "Add Sigfox device"
- url = "/pybytes/connect/sigfox/"
- identifier = "pybytes@connect@sigfox"
- parent = "pybytes@connect"
+ name = "Sigfox"
+ url = "/pybytes/sigfox/"
+ identifier = "pybytes@sigfox"
+ parent = "pybytes"
weight = 30
[[menu.main]]
name = "DevKit contract"
- url = "/pybytes/connect/sigfox/devkit/"
- identifier = "pybytes@connect@sigfox@devkit"
- parent = "pybytes@connect@sigfox"
+ url = "/pybytes/sigfox/devkit/"
+ identifier = "pybytes@sigfox@devkit"
+ parent = "pybytes@sigfox"
weight = 10
[[menu.main]]
name = "Custom contract"
- url = "/pybytes/connect/sigfox/custom/"
- identifier = "pybytes@connect@sigfox@custom"
- parent = "pybytes@connect@sigfox"
+ url = "/pybytes/sigfox/custom/"
+ identifier = "pybytes@sigfox@custom"
+ parent = "pybytes@sigfox"
weight = 20
[[menu.main]]
diff --git a/content/pybytes/_index.md b/content/pybytes/_index.md
index 5c3e942..0af4078 100644
--- a/content/pybytes/_index.md
+++ b/content/pybytes/_index.md
@@ -4,7 +4,7 @@ aliases:
- pybytes/introduction
---
-[](https://pybytes.pycom.io/?utm_source=docs&utm_medium=web&utm_campaign=pybytes-introduction)
+
## What is Pybytes?
diff --git a/content/pybytes/connect/_index.md b/content/pybytes/connect/_index.md
index 701b77b..0af6761 100644
--- a/content/pybytes/connect/_index.md
+++ b/content/pybytes/connect/_index.md
@@ -25,10 +25,5 @@ Go to the *Devices* page in Pybytes:
1. At the end of the *Add Device* wizard, Pybytes will show that your device profile was successfully created.

-## Step 2: Configure your device
-
-There are two options for connecting your device to Pybytes:
-
-1. **Recommended:** [Connect your device quickly with the help of the Firmware Updater](quick)
-
-1. [Connect your device by flashing Pybytes Library](flash) (only if you want to customize Pybytes library code).
+## Next step
+[Provision your device via USB](quick)
diff --git a/content/pybytes/connect/flash.md b/content/pybytes/connect/flash.md
deleted file mode 100644
index 3ab82a8..0000000
--- a/content/pybytes/connect/flash.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: "Flash Pybytes-library (advanced)"
-aliases:
- - pybytes/connect/flash.html
- - pybytes/connect/flash.md
- - chapter/pybytes/connect/flash
----
-
-In this section, we will explain to you how to connect your device to Pybytes by flashing the Pybytes library.
-Use this, if you want to have full control over the Pybytes library on your device.
-
-{{% hint style="info" %}}
-Pybytes firmware already contains [Pybytes library](https://github.com/pycom/pycom-micropython-sigfox/tree/pybytes-master/esp32/frozen/Base). That means that you can [add your device quickly](../quick) without the need of flashing Pybytes library.
-{{% /hint %}}
-
-### Step 1: Flash stable firmware to your device with Pycom firmware updater tool
-1. Open Pycom firmware updater tool
-2. Select a stable firmware
-3. Click on continue
-
-Here's more information about [firmware updates](/gettingstarted/installation/firmwaretool).
-
-### Step 2: Download your Pybytes Library
-
-You can download _Pybytes library_ at the device's settings page:
-
-2. Navigate to your device in Pybytes;
-
-3. Click on the settings tab;
-
-4. Click on the _Download_ button at Pybytes library section;
-
-
-
-### Step 3. Flash your device with Pymakr
-
-{{% hint style="info" %}}
-In case you haven't installed Pymakr plugin, follow [these instructions](/pymakr/installation/atom).
-We recommend to install Pymakr in Atom.
-{{% /hint %}}
-
-1. Connect your device to the computer with a USB cable.
-2. Open zip archive of Pybytes library and extract a containing folder.
-3. Check your `flash/pybytes_config.json` file. It should be pre-filled with your Pybytes credentials (deviceToken, WiFi credentials, ...)
-3. Open Pybytes library folder as a project folder in Atom.
-4. Click on the Connect button in Pymakr. Pymakr should connect to your device.
-7. Upload code to your device by clicking on the _Upload_ button in Pymakr.
-
- After all the Pybytes library files are uploaded to your device, the device will restart and connect to Pybytes.
diff --git a/content/pybytes/connect/quick.md b/content/pybytes/connect/quick.md
index 064c6ff..77d3a1b 100644
--- a/content/pybytes/connect/quick.md
+++ b/content/pybytes/connect/quick.md
@@ -1,5 +1,5 @@
---
-title: "Connect the device to Pybytes"
+title: "Provisioning via USB"
aliases:
- pybytes/connect/quick.html
- pybytes/connect/quick.md
diff --git a/content/pybytes/connect/sigfox/README.md b/content/pybytes/connect/sigfox/README.md
deleted file mode 100644
index 664ae29..0000000
--- a/content/pybytes/connect/sigfox/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: "Add Sigfox device"
-aliases:
- - chapter/pybytes/connect/sigfox/sigfox
----
-
-{{% hint style="danger" %}}
-Before you start you need to create Sigfox account. You need Pycom device with Sigfox to get your Sigfox account. [**Follow these instructions**](../..//gettingstarted/registration/sigfox).
-{{% /hint %}}
-
-## Create Sigfox API credentials
-
-Once you have you account setup and are logged in Sigfox backend, you need to create API credentials for Pybytes.
-
-Click on GROUP → <your\_company\_name> → API ACCESS → New
-
-
-
-In the form chose arbitrary _name_, select `LIMITED_ADMIN` and Profile and click on Ok.
-
-
-
-Copy _Login_ and _Password_ to the clipboard.
-
-
-
-In Pybytes go to Settings → Sigfox API or [follow this link](https://pybytes.pycom.io/settings/sigfox-credentials) then paste in the form.
-
-
-
-## Sigfox contract types
-
-### Sigfox DevKit contracts
-
-Read more how to use Sigfox with [devKit contract](devkit).
-
-{{% refname "devkit.md" %}}
-
-### Sigfox custom contracts
-
-Read more how to use Sigfox with [Custom contract](devkit).
-
-{{% refname "custom.md" %}}
-
diff --git a/content/pybytes/integrations/README.md b/content/pybytes/integrations/README.md
deleted file mode 100644
index e650d1e..0000000
--- a/content/pybytes/integrations/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: "Integrations"
-aliases:
----
-
-## Integration with external services
-
-Pybytes offers a way to interact with external IoT platform or custom services, including the following:
-
-* [AWS IoT](amazon-iot.md): a managed cloud platform that lets connected devices easily and securely interact with Cloud applications and other devices
-* [Microsoft Azure](azure.md): a comprehensive collection of services and solutions designed to help you create end-to-end IoT applications on Azure
-* [Google Cloud IoT](google.md): a complete set of tools to connect, process, store, and analyse data, both at the edge and in the cloud
-* [Web Hooks](webhooks.md): this allows for user-defined HTTP callbacks to a defined remote destination. All elements of the requests (headers, query string parameters, etc) are customisable
diff --git a/content/pybytes/connect/sigfox/_index.md b/content/pybytes/sigfox/_index.md
similarity index 80%
rename from content/pybytes/connect/sigfox/_index.md
rename to content/pybytes/sigfox/_index.md
index c369b3b..7a46102 100644
--- a/content/pybytes/connect/sigfox/_index.md
+++ b/content/pybytes/sigfox/_index.md
@@ -13,19 +13,19 @@ Once you have you account setup and are logged in Sigfox backend, you need to cr
Click on GROUP → <your\_company\_name> → API ACCESS → New
-
+
In the form chose arbitrary _name_, select `LIMITED_ADMIN` and Profile and click on Ok.
-
+
Copy _Login_ and _Password_ to the clipboard.
-
+
In Pybytes go to Settings → Sigfox API or [follow this link](https://pybytes.pycom.io/settings/sigfox-credentials) then paste in the form.
-
+
## Sigfox contract types
@@ -33,10 +33,6 @@ In Pybytes go to Settings → Sigfox API or [follow this link](https://pybytes.p
Read more how to use Sigfox with [devKit contract](devkit).
-{{% refname "devkit.md" %}}
-
### Sigfox custom contracts
Read more how to use Sigfox with [Custom contract](devkit).
-
-{{% refname "custom.md" %}}
diff --git a/content/pybytes/connect/sigfox/custom.md b/content/pybytes/sigfox/custom.md
similarity index 86%
rename from content/pybytes/connect/sigfox/custom.md
rename to content/pybytes/sigfox/custom.md
index 6fb3dd1..87f17c2 100644
--- a/content/pybytes/connect/sigfox/custom.md
+++ b/content/pybytes/sigfox/custom.md
@@ -20,7 +20,7 @@ Go to: Settings (in sidebar) → Sigfox API → Settings
and select Sigfox device type which is associated with Sigfox custom contract.
-
+
### Add your Sigfox device to Pybytes
@@ -30,12 +30,12 @@ and select Sigfox device type which is associated with Sigfox custom contract.
2. Paste your device token to firmware updater
{{% hint style="info" %}}
-Detailed steps which are same for all devices are [**described here**](../../quick).
+Detailed steps which are same for all devices are [**described here**](/pybytes/connect/quick).
{{% /hint %}}
After your device was flashed with Pybytes firmware in automatically start adding itself to Sigfox backend.
-
+
## Troubleshooting
diff --git a/content/pybytes/connect/sigfox/devkit.md b/content/pybytes/sigfox/devkit.md
similarity index 91%
rename from content/pybytes/connect/sigfox/devkit.md
rename to content/pybytes/sigfox/devkit.md
index b4c0f53..eb8d356 100644
--- a/content/pybytes/connect/sigfox/devkit.md
+++ b/content/pybytes/sigfox/devkit.md
@@ -12,7 +12,7 @@ But every device you want to add to Pybytes you need register on Sigfox backend.
After you add your Sigfox credentials to Pybytes you can see DevKit contract type is selected as default (on page Settings → Sigfox API).
-
+
## Add your device to Pybytes
@@ -22,7 +22,7 @@ After you add your Sigfox credentials to Pybytes you can see DevKit contract typ
2. Paste your device token to firmware updater
{{% hint style="info" %}}
-Detailed steps which are same for all devices are [**described here**](../../quick).
+Detailed steps which are same for all devices are [**described here**](/pybytes/connect/quick).
{{% /hint %}}
## Check sigfox status
@@ -33,7 +33,7 @@ Now you should see sigfox status component.
Click on _Check Sigfox status_ button
-
+
You should see two green lights.
diff --git a/scripts/githubToken.json.example b/scripts/githubToken.json.example
new file mode 100644
index 0000000..befc34b
--- /dev/null
+++ b/scripts/githubToken.json.example
@@ -0,0 +1 @@
+{ "githubToken": "paste_your_github_access_token_here" }
diff --git a/scripts/package-lock.json b/scripts/package-lock.json
new file mode 100644
index 0000000..e37c19e
--- /dev/null
+++ b/scripts/package-lock.json
@@ -0,0 +1,558 @@
+{
+ "name": "scripts",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@octokit/endpoint": {
+ "version": "5.5.1",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz",
+ "integrity": "sha512-nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg==",
+ "requires": {
+ "@octokit/types": "^2.0.0",
+ "is-plain-object": "^3.0.0",
+ "universal-user-agent": "^4.0.0"
+ }
+ },
+ "@octokit/request": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz",
+ "integrity": "sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==",
+ "requires": {
+ "@octokit/endpoint": "^5.5.0",
+ "@octokit/request-error": "^1.0.1",
+ "@octokit/types": "^2.0.0",
+ "deprecation": "^2.0.0",
+ "is-plain-object": "^3.0.0",
+ "node-fetch": "^2.3.0",
+ "once": "^1.4.0",
+ "universal-user-agent": "^4.0.0"
+ }
+ },
+ "@octokit/request-error": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz",
+ "integrity": "sha512-DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==",
+ "requires": {
+ "@octokit/types": "^2.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ }
+ },
+ "@octokit/rest": {
+ "version": "16.35.0",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.35.0.tgz",
+ "integrity": "sha512-9ShFqYWo0CLoGYhA1FdtdykJuMzS/9H6vSbbQWDX4pWr4p9v+15MsH/wpd/3fIU+tSxylaNO48+PIHqOkBRx3w==",
+ "requires": {
+ "@octokit/request": "^5.2.0",
+ "@octokit/request-error": "^1.0.2",
+ "atob-lite": "^2.0.0",
+ "before-after-hook": "^2.0.0",
+ "btoa-lite": "^1.0.0",
+ "deprecation": "^2.0.0",
+ "lodash.get": "^4.4.2",
+ "lodash.set": "^4.3.2",
+ "lodash.uniq": "^4.5.0",
+ "octokit-pagination-methods": "^1.1.0",
+ "once": "^1.4.0",
+ "universal-user-agent": "^4.0.0"
+ }
+ },
+ "@octokit/types": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.0.2.tgz",
+ "integrity": "sha512-StASIL2lgT3TRjxv17z9pAqbnI7HGu9DrJlg3sEBFfCLaMEqp+O3IQPUF6EZtQ4xkAu2ml6kMBBCtGxjvmtmuQ==",
+ "requires": {
+ "@types/node": ">= 8"
+ }
+ },
+ "@types/node": {
+ "version": "12.12.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz",
+ "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA=="
+ },
+ "ansi-escapes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
+ "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "atob-lite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
+ "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY="
+ },
+ "before-after-hook": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
+ "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A=="
+ },
+ "btoa-lite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
+ "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc="
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "commander": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz",
+ "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA=="
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "figures": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
+ "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "inquirer": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
+ "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.4.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-plain-object": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
+ "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
+ "requires": {
+ "isobject": "^4.0.0"
+ }
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
+ "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA=="
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+ },
+ "lodash.set": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
+ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+ },
+ "macos-release": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz",
+ "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA=="
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+ },
+ "node-fetch": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
+ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "octokit-pagination-methods": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
+ "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ=="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "os-name": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
+ "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
+ "requires": {
+ "macos-release": "^2.2.0",
+ "windows-release": "^3.1.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "requires": {
+ "is-promise": "^2.1.0"
+ }
+ },
+ "rxjs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+ "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ }
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "tslib": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
+ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
+ },
+ "universal-user-agent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz",
+ "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==",
+ "requires": {
+ "os-name": "^3.1.0"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "windows-release": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz",
+ "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==",
+ "requires": {
+ "execa": "^1.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ }
+ }
+}
diff --git a/scripts/package.json b/scripts/package.json
new file mode 100644
index 0000000..8b2e0a7
--- /dev/null
+++ b/scripts/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "scripts",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "@octokit/rest": "^16.35.0",
+ "commander": "^4.0.1",
+ "inquirer": "^7.0.0"
+ }
+}
diff --git a/scripts/pydocs b/scripts/pydocs
new file mode 100755
index 0000000..123e04d
--- /dev/null
+++ b/scripts/pydocs
@@ -0,0 +1,106 @@
+#!/usr/bin/env node
+
+/**
+ * Module dependencies.
+ */
+
+const program = require('commander');
+const { execSync } = require('child_process');
+const Octokit = require('@octokit/rest');
+const fs = require('fs');
+const path = require('path');
+const inquirer = require('inquirer');
+
+const githubTokenRaw = fs.readFileSync(path.resolve(__dirname, 'githubToken.json'));
+const GITHUB_TOKEN = JSON.parse(githubTokenRaw).githubToken;
+const currentBranch = execSync('git rev-parse --abbrev-ref HEAD').toString().replace(/(\r\n|\n|\r)/gm, '');
+const repositoryName = 'pycom-documentation';
+
+/**
+ * It runs a shell command returning stdout and stderr, if any
+ * @param {string} command one or more commands that can be run in a shell
+ * @return {object} stdout and stderr
+ */
+async function runShellCommand(command) {
+ let stdout;
+ let stderr;
+ try {
+ console.log(`${command}...`);
+ ({ stdout, stderr } = await exec(command, { cwd: this.localDir }));
+ return { stdout, stderr };
+ } catch (e) {
+ return { stdout: e.stdout, stderr: e.stderr };
+ }
+}
+
+async function createReviewRequest(octokit, pullNumber, repo, reviewer) {
+ return octokit.pulls.createReviewRequest({
+ owner: 'pycom',
+ repo,
+ pull_number: pullNumber,
+ reviewers: [reviewer],
+ });
+}
+
+program
+ .command('pr ')
+ .description('Create two PRs from your current branch to base branches: publish and development-publish')
+ .action(async (reviewer) => {
+ const answers = await inquirer.prompt([
+ {
+ type: 'input',
+ name: 'prTitle',
+ message: "Please enter the title of your PR:"
+ },
+ {
+ type: 'input',
+ name: 'prDescription',
+ message: "Please enter the description of your PR:"
+ }
+ ]);
+
+ const octokit = new Octokit({ auth: GITHUB_TOKEN });
+
+ const { data: dataDev } = await octokit.pulls.create({
+ owner: 'pycom',
+ repo: repositoryName,
+ title: answers.prTitle,
+ body: answers.prDescription,
+ head: currentBranch,
+ base: 'publish',
+ });
+ console.log('created PR against develop branch:', dataDev.url);
+
+ try {
+ const { data: reviewDev } = await createReviewRequest(octokit, dataDev.number, repositoryName, reviewer);
+ console.log(`review for #${dataDev.number} requested review from: ${reviewDev.requested_reviewers[0].login}`);
+ } catch (e) {
+ console.log(e);
+ console.error('Failed to create add reviewer to your PR, maybe you used a wrong reviewer name?');
+ }
+
+ const { data: dataMaster } = await octokit.pulls.create({
+ owner: 'pycom',
+ repo: repositoryName,
+ title: answers.prTitle,
+ body: answers.prDescription,
+ head: currentBranch,
+ base: 'development-publish',
+ });
+ console.log('created PR against master branch:', dataMaster.url);
+
+ try {
+ const { data: reviewMaster } = await createReviewRequest(octokit, dataMaster.number, repositoryName, reviewer);
+ console.log(`review for #${dataMaster.number} requested review from: ${reviewMaster.requested_reviewers[0].login}`);
+ } catch (e) {
+ console.log(e);
+ console.error('Failed to create add reviewer to your PR, maybe you used a wrong reviewer name?');
+ }
+ });
+
+if (process.argv.length === 2) {
+ program.help();
+ process.exit(1);
+}
+
+program.parse(process.argv);
diff --git a/static/gitbook/assets/apiaccess (1).png b/static/gitbook/assets/apiaccess (1).png
deleted file mode 100644
index 9a22b26..0000000
Binary files a/static/gitbook/assets/apiaccess (1).png and /dev/null differ
diff --git a/static/gitbook/assets/apiaccesskeys (1).png b/static/gitbook/assets/apiaccesskeys (1).png
deleted file mode 100644
index f6af910..0000000
Binary files a/static/gitbook/assets/apiaccesskeys (1).png and /dev/null differ
diff --git a/static/gitbook/assets/apiaccessscope (1).png b/static/gitbook/assets/apiaccessscope (1).png
deleted file mode 100644
index 0b1d521..0000000
Binary files a/static/gitbook/assets/apiaccessscope (1).png and /dev/null differ
diff --git a/static/gitbook/assets/apiaccessscope.png b/static/gitbook/assets/apiaccessscope.png
deleted file mode 100644
index 1bcce55..0000000
Binary files a/static/gitbook/assets/apiaccessscope.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-2f-lifiulge6_ztmmvcuea-2f-lkmxk1kqvbgjpw04i3u-2f-liqbk7blltxqntvqzh_-2fpysense_lopy4.png b/static/gitbook/assets/assets-2f-lifiulge6_ztmmvcuea-2f-lkmxk1kqvbgjpw04i3u-2f-liqbk7blltxqntvqzh_-2fpysense_lopy4.png
deleted file mode 100644
index 6e5db7f..0000000
Binary files a/static/gitbook/assets/assets-2f-lifiulge6_ztmmvcuea-2f-lkmxk1kqvbgjpw04i3u-2f-liqbk7blltxqntvqzh_-2fpysense_lopy4.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-2f-lifiulge6_ztmmvcuea-2f-lkmxk1kqvbgjpw04i3u-2f-liqbluw130dl1amaklt-2fpytrack_lopy4.png b/static/gitbook/assets/assets-2f-lifiulge6_ztmmvcuea-2f-lkmxk1kqvbgjpw04i3u-2f-liqbluw130dl1amaklt-2fpytrack_lopy4.png
deleted file mode 100644
index 2d8a7de..0000000
Binary files a/static/gitbook/assets/assets-2f-lifiulge6_ztmmvcuea-2f-lkmxk1kqvbgjpw04i3u-2f-liqbluw130dl1amaklt-2fpytrack_lopy4.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png
deleted file mode 100644
index 4d328bc..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png~HEAD
deleted file mode 100644
index 4d328bc..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png~publish
deleted file mode 100644
index 4d328bc..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn7x3eyyjifoqpxmzd-l01-1.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn80ythqnrgah01r2m-lopy-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn80ythqnrgah01r2m-lopy-1.png
deleted file mode 100644
index 077f7c5..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn80ythqnrgah01r2m-lopy-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82srvkf3rhetvjpi-fipy-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82srvkf3rhetvjpi-fipy-1.png
deleted file mode 100644
index b1f7726..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82srvkf3rhetvjpi-fipy-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png
deleted file mode 100644
index 8dc4600..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png~HEAD
deleted file mode 100644
index 8dc4600..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png~publish
deleted file mode 100644
index 8dc4600..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn82uldmpus0lnq1kx-expansion3.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png
deleted file mode 100644
index b016715..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png~HEAD
deleted file mode 100644
index b016715..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png~publish
deleted file mode 100644
index b016715..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ejihh1jeasccad-pytrack.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ftusu7mke5ppmd-wipy2-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ftusu7mke5ppmd-wipy2-1.png
deleted file mode 100644
index 246fdbb..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83ftusu7mke5ppmd-wipy2-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png
deleted file mode 100644
index 0717dff..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png~HEAD
deleted file mode 100644
index 0717dff..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png~publish
deleted file mode 100644
index 0717dff..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hclnq-gurt2p_m-pysense.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png
deleted file mode 100644
index fb8b5f6..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png~HEAD
deleted file mode 100644
index fb8b5f6..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png~publish
deleted file mode 100644
index fb8b5f6..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83hfia61dsuyojco-pyscan-new.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png~HEAD
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png~publish
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (1).png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png~HEAD
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png~publish
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1 (2).png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1.png
deleted file mode 100644
index c87911b..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn83xkh3nwgrgs_fwq-g01-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png
deleted file mode 100644
index 1f024bb..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png~HEAD
deleted file mode 100644
index 1f024bb..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png~publish
deleted file mode 100644
index 1f024bb..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85ios3qzh5brsxk2-w01.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85npgnazxzxyv-nu-lopy4-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85npgnazxzxyv-nu-lopy4-1.png
deleted file mode 100644
index f5fb9e8..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn85npgnazxzxyv-nu-lopy4-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png
deleted file mode 100644
index 89f0030..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png~HEAD
deleted file mode 100644
index 89f0030..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png~publish
deleted file mode 100644
index 89f0030..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86hknsrea22r0i-s-l04-1.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png
deleted file mode 100644
index ee10982..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png~HEAD b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png~HEAD
deleted file mode 100644
index ee10982..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png~HEAD and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png~publish b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png~publish
deleted file mode 100644
index ee10982..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86jsexys_ho7ct7c-expansion2.png~publish and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86n8h-hb1oh1idwb-sipy-2.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86n8h-hb1oh1idwb-sipy-2.png
deleted file mode 100644
index 4c8b465..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86n8h-hb1oh1idwb-sipy-2.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86pdzbdvrponxeg6-wipy3.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86pdzbdvrponxeg6-wipy3.png
deleted file mode 100644
index 5597083..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn86pdzbdvrponxeg6-wipy3.png and /dev/null differ
diff --git a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn87yf-xz772800vwc-gpy-1.png b/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn87yf-xz772800vwc-gpy-1.png
deleted file mode 100644
index a13a77a..0000000
Binary files a/static/gitbook/assets/assets-lil0igdl11z7jos_jpx-lkn7scqkkkb6tqb3uyo-lkn87yf-xz772800vwc-gpy-1.png and /dev/null differ
diff --git a/static/gitbook/assets/devkitcheck (1).png b/static/gitbook/assets/devkitcheck (1).png
deleted file mode 100644
index 37e87bb..0000000
Binary files a/static/gitbook/assets/devkitcheck (1).png and /dev/null differ
diff --git a/static/gitbook/assets/devkitcheck.png b/static/gitbook/assets/devkitcheck.png
deleted file mode 100644
index b853f1c..0000000
Binary files a/static/gitbook/assets/devkitcheck.png and /dev/null differ
diff --git a/static/gitbook/assets/apiaccess.png b/static/gitbook/assets/pybytes/sigfox/apiaccess.png
similarity index 100%
rename from static/gitbook/assets/apiaccess.png
rename to static/gitbook/assets/pybytes/sigfox/apiaccess.png
diff --git a/static/gitbook/assets/apiaccesskeys.png b/static/gitbook/assets/pybytes/sigfox/apiaccesskeys.png
similarity index 100%
rename from static/gitbook/assets/apiaccesskeys.png
rename to static/gitbook/assets/pybytes/sigfox/apiaccesskeys.png
diff --git a/static/gitbook/assets/pybytes/sigfox/apiaccessscope.png b/static/gitbook/assets/pybytes/sigfox/apiaccessscope.png
new file mode 100644
index 0000000..b6c7401
Binary files /dev/null and b/static/gitbook/assets/pybytes/sigfox/apiaccessscope.png differ
diff --git a/static/gitbook/assets/pybytes/sigfox/devkitcheck.png b/static/gitbook/assets/pybytes/sigfox/devkitcheck.png
new file mode 100644
index 0000000..4a40142
Binary files /dev/null and b/static/gitbook/assets/pybytes/sigfox/devkitcheck.png differ
diff --git a/static/gitbook/assets/pybytesdevkit.png b/static/gitbook/assets/pybytes/sigfox/pybytesdevkit.png
similarity index 100%
rename from static/gitbook/assets/pybytesdevkit.png
rename to static/gitbook/assets/pybytes/sigfox/pybytesdevkit.png
diff --git a/static/gitbook/assets/pybytes/sigfox/pybytessigfoxcredentials.png b/static/gitbook/assets/pybytes/sigfox/pybytessigfoxcredentials.png
new file mode 100644
index 0000000..7badd48
Binary files /dev/null and b/static/gitbook/assets/pybytes/sigfox/pybytessigfoxcredentials.png differ
diff --git a/static/gitbook/assets/pybytes/sigfox/selectdevicetypecustomcontract.png b/static/gitbook/assets/pybytes/sigfox/selectdevicetypecustomcontract.png
new file mode 100644
index 0000000..b904039
Binary files /dev/null and b/static/gitbook/assets/pybytes/sigfox/selectdevicetypecustomcontract.png differ
diff --git a/static/gitbook/assets/sigfoxcustomcontractstatus.png b/static/gitbook/assets/pybytes/sigfox/sigfoxcustomcontractstatus.png
similarity index 100%
rename from static/gitbook/assets/sigfoxcustomcontractstatus.png
rename to static/gitbook/assets/pybytes/sigfox/sigfoxcustomcontractstatus.png
diff --git a/static/gitbook/assets/pybytesdevkit (1).png b/static/gitbook/assets/pybytesdevkit (1).png
deleted file mode 100644
index c0950e6..0000000
Binary files a/static/gitbook/assets/pybytesdevkit (1).png and /dev/null differ
diff --git a/static/gitbook/assets/pybytessigfoxcredentials (1).png b/static/gitbook/assets/pybytessigfoxcredentials (1).png
deleted file mode 100644
index f582145..0000000
Binary files a/static/gitbook/assets/pybytessigfoxcredentials (1).png and /dev/null differ
diff --git a/static/gitbook/assets/pybytessigfoxcredentials.png b/static/gitbook/assets/pybytessigfoxcredentials.png
deleted file mode 100644
index c867132..0000000
Binary files a/static/gitbook/assets/pybytessigfoxcredentials.png and /dev/null differ
diff --git a/static/gitbook/assets/selectdevicetypecustomcontract (1).png b/static/gitbook/assets/selectdevicetypecustomcontract (1).png
deleted file mode 100644
index a61932b..0000000
Binary files a/static/gitbook/assets/selectdevicetypecustomcontract (1).png and /dev/null differ
diff --git a/static/gitbook/assets/selectdevicetypecustomcontract.png b/static/gitbook/assets/selectdevicetypecustomcontract.png
deleted file mode 100644
index 1dcf834..0000000
Binary files a/static/gitbook/assets/selectdevicetypecustomcontract.png and /dev/null differ
diff --git a/static/gitbook/assets/sigfoxcustomcontractstatus (1).png b/static/gitbook/assets/sigfoxcustomcontractstatus (1).png
deleted file mode 100644
index 966bd89..0000000
Binary files a/static/gitbook/assets/sigfoxcustomcontractstatus (1).png and /dev/null differ