Skip to content

Commit 180cc12

Browse files
updated
1 parent afbe85d commit 180cc12

38 files changed

Lines changed: 293 additions & 568 deletions

docs/.github/ISSUE_TEMPLATE/bug_report.html

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<link rel="stylesheet" type="text/css" href="../../_static/styles/sphinx-book-theme.css?v=384b581d" />
3333
<link rel="stylesheet" type="text/css" href="../../_static/togglebutton.css?v=13237357" />
3434
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
35-
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
35+
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
3636
<link rel="stylesheet" type="text/css" href="../../_static/sphinx-thebe.css?v=4fa983c6" />
3737
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
3838

@@ -60,24 +60,16 @@
6060
gtag('js', new Date());
6161
gtag('config', 'G-1KZH2STPPK');
6262
</script>
63-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
64-
const thebe_selector = ".thebe,.cell"
65-
const thebe_selector_input = "pre"
66-
const thebe_selector_output = ".output, .cell_output"
67-
</script>
68-
<script async="async" src="../../_static/sphinx-thebe.js?v=afe5de03"></script>
63+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
64+
<script async="async" src="../../_static/sphinx-thebe.js?v=c100c467"></script>
6965
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
7066
<script>
7167
window.dataLayer = window.dataLayer || [];
7268
function gtag(){ dataLayer.push(arguments); }
7369
gtag('js', new Date());
7470
gtag('config', 'G-1KZH2STPPK');
7571
</script>
76-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
77-
const thebe_selector = ".thebe,.cell"
78-
const thebe_selector_input = "pre"
79-
const thebe_selector_output = ".output, .cell_output"
80-
</script>
72+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
8173
<script>DOCUMENTATION_OPTIONS.pagename = '.github/ISSUE_TEMPLATE/bug_report';</script>
8274
<link rel="canonical" href="https://prodigiouspython.github.io/ProdigiousPython/.github/ISSUE_TEMPLATE/bug_report.html" />
8375
<link rel="icon" href="../../_static/favicon.png"/>

docs/.github/ISSUE_TEMPLATE/feature_request.html

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<link rel="stylesheet" type="text/css" href="../../_static/styles/sphinx-book-theme.css?v=384b581d" />
3333
<link rel="stylesheet" type="text/css" href="../../_static/togglebutton.css?v=13237357" />
3434
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
35-
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
35+
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
3636
<link rel="stylesheet" type="text/css" href="../../_static/sphinx-thebe.css?v=4fa983c6" />
3737
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
3838

@@ -60,24 +60,16 @@
6060
gtag('js', new Date());
6161
gtag('config', 'G-1KZH2STPPK');
6262
</script>
63-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
64-
const thebe_selector = ".thebe,.cell"
65-
const thebe_selector_input = "pre"
66-
const thebe_selector_output = ".output, .cell_output"
67-
</script>
68-
<script async="async" src="../../_static/sphinx-thebe.js?v=afe5de03"></script>
63+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
64+
<script async="async" src="../../_static/sphinx-thebe.js?v=c100c467"></script>
6965
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
7066
<script>
7167
window.dataLayer = window.dataLayer || [];
7268
function gtag(){ dataLayer.push(arguments); }
7369
gtag('js', new Date());
7470
gtag('config', 'G-1KZH2STPPK');
7571
</script>
76-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
77-
const thebe_selector = ".thebe,.cell"
78-
const thebe_selector_input = "pre"
79-
const thebe_selector_output = ".output, .cell_output"
80-
</script>
72+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
8173
<script>DOCUMENTATION_OPTIONS.pagename = '.github/ISSUE_TEMPLATE/feature_request';</script>
8274
<link rel="canonical" href="https://prodigiouspython.github.io/ProdigiousPython/.github/ISSUE_TEMPLATE/feature_request.html" />
8375
<link rel="icon" href="../../_static/favicon.png"/>

docs/_static/sphinx-thebe.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
var configureThebe = () => {
55
// Load thebe config in case we want to update it as some point
66
console.log("[sphinx-thebe]: Loading thebe config...");
7-
thebe_config = $('script[type="text/x-thebe-config"]')[0];
7+
thebe_config = document.querySelector("script[type=\"text/x-thebe-config\"]");
88

99
// If we already detect a Thebe cell, don't re-run
1010
if (document.querySelectorAll("div.thebe-cell").length > 0) {
1111
return;
1212
}
1313

1414
// Update thebe buttons with loading message
15-
$(".thebe-launch-button").each((ii, button) => {
15+
document.querySelectorAll(".thebe-launch-button").forEach((button) => {
1616
button.innerHTML = `
1717
<div class="spinner">
1818
<div class="rect1"></div>
@@ -28,14 +28,15 @@ var configureThebe = () => {
2828
thebelab.on("status", function (evt, data) {
2929
console.log("Status changed:", data.status, data.message);
3030

31-
$(".thebe-launch-button ")
32-
.removeClass("thebe-status-" + thebeStatus)
33-
.addClass("thebe-status-" + data.status)
34-
.find(".loading-text")
35-
.html(
36-
"<span class='launch_msg'>Launching from mybinder.org: </span><span class='status'>" +
37-
data.status +
38-
"</span>"
31+
const button = document.querySelector(".thebe-launch-button ");
32+
button.classList.replace(
33+
`thebe-status-${thebeStatus}`,
34+
`thebe-status-${data.status}`
35+
)
36+
button.querySelector(".loading-text")
37+
.innerHTML = (
38+
`<span class='launch_msg'>Launching from mybinder.org: </span>
39+
<span class='status'>${data.status}</span>`
3940
);
4041

4142
// Now update our thebe status
@@ -76,8 +77,8 @@ var modifyDOMForThebe = () => {
7677

7778
// If we had an output, insert it just after the `pre` cell
7879
if (codeCellOutput) {
79-
$(codeCellOutput).attr("data-output", "");
80-
$(codeCellOutput).insertAfter(codeCellText);
80+
codeCellOutput.setAttribute("data-output", "");
81+
codeCellText.insertAdjacentElement('afterend', codeCellOutput);
8182
}
8283
}
8384

@@ -92,7 +93,7 @@ var initThebe = () => {
9293
// Load thebe dynamically if it's not already loaded
9394
if (typeof thebelab === "undefined") {
9495
console.log("[sphinx-thebe]: Loading thebe from CDN...");
95-
$(".thebe-launch-button ").text("Loading thebe from CDN...");
96+
document.querySelector(".thebe-launch-button ").innerText = "Loading thebe from CDN...";
9697

9798
const script = document.createElement("script");
9899
script.src = `${THEBE_JS_URL}`;

docs/genindex.html

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<link rel="stylesheet" type="text/css" href="_static/styles/sphinx-book-theme.css?v=384b581d" />
3232
<link rel="stylesheet" type="text/css" href="_static/togglebutton.css?v=13237357" />
3333
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
34-
<link rel="stylesheet" type="text/css" href="_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
34+
<link rel="stylesheet" type="text/css" href="_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
3535
<link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css?v=4fa983c6" />
3636
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
3737

@@ -59,24 +59,16 @@
5959
gtag('js', new Date());
6060
gtag('config', 'G-1KZH2STPPK');
6161
</script>
62-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
63-
const thebe_selector = ".thebe,.cell"
64-
const thebe_selector_input = "pre"
65-
const thebe_selector_output = ".output, .cell_output"
66-
</script>
67-
<script async="async" src="_static/sphinx-thebe.js?v=afe5de03"></script>
62+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
63+
<script async="async" src="_static/sphinx-thebe.js?v=c100c467"></script>
6864
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
6965
<script>
7066
window.dataLayer = window.dataLayer || [];
7167
function gtag(){ dataLayer.push(arguments); }
7268
gtag('js', new Date());
7369
gtag('config', 'G-1KZH2STPPK');
7470
</script>
75-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
76-
const thebe_selector = ".thebe,.cell"
77-
const thebe_selector_input = "pre"
78-
const thebe_selector_output = ".output, .cell_output"
79-
</script>
71+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
8072
<script>DOCUMENTATION_OPTIONS.pagename = 'genindex';</script>
8173
<link rel="canonical" href="https://prodigiouspython.github.io/ProdigiousPython/genindex.html" />
8274
<link rel="icon" href="_static/favicon.png"/>

docs/intro.html

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<link rel="stylesheet" type="text/css" href="_static/styles/sphinx-book-theme.css?v=384b581d" />
3333
<link rel="stylesheet" type="text/css" href="_static/togglebutton.css?v=13237357" />
3434
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
35-
<link rel="stylesheet" type="text/css" href="_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
35+
<link rel="stylesheet" type="text/css" href="_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
3636
<link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css?v=4fa983c6" />
3737
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
3838

@@ -60,24 +60,16 @@
6060
gtag('js', new Date());
6161
gtag('config', 'G-1KZH2STPPK');
6262
</script>
63-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
64-
const thebe_selector = ".thebe,.cell"
65-
const thebe_selector_input = "pre"
66-
const thebe_selector_output = ".output, .cell_output"
67-
</script>
68-
<script async="async" src="_static/sphinx-thebe.js?v=afe5de03"></script>
63+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
64+
<script async="async" src="_static/sphinx-thebe.js?v=c100c467"></script>
6965
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
7066
<script>
7167
window.dataLayer = window.dataLayer || [];
7268
function gtag(){ dataLayer.push(arguments); }
7369
gtag('js', new Date());
7470
gtag('config', 'G-1KZH2STPPK');
7571
</script>
76-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
77-
const thebe_selector = ".thebe,.cell"
78-
const thebe_selector_input = "pre"
79-
const thebe_selector_output = ".output, .cell_output"
80-
</script>
72+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
8173
<script>DOCUMENTATION_OPTIONS.pagename = 'intro';</script>
8274
<link rel="canonical" href="https://prodigiouspython.github.io/ProdigiousPython/intro.html" />
8375
<link rel="icon" href="_static/favicon.png"/>

docs/prodigiouspython/Chapter_1/10_String_representations_of_objects.html

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<link rel="stylesheet" type="text/css" href="../../_static/styles/sphinx-book-theme.css?v=384b581d" />
3333
<link rel="stylesheet" type="text/css" href="../../_static/togglebutton.css?v=13237357" />
3434
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
35-
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
35+
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
3636
<link rel="stylesheet" type="text/css" href="../../_static/sphinx-thebe.css?v=4fa983c6" />
3737
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
3838

@@ -60,24 +60,16 @@
6060
gtag('js', new Date());
6161
gtag('config', 'G-1KZH2STPPK');
6262
</script>
63-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
64-
const thebe_selector = ".thebe,.cell"
65-
const thebe_selector_input = "pre"
66-
const thebe_selector_output = ".output, .cell_output"
67-
</script>
68-
<script async="async" src="../../_static/sphinx-thebe.js?v=afe5de03"></script>
63+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
64+
<script async="async" src="../../_static/sphinx-thebe.js?v=c100c467"></script>
6965
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
7066
<script>
7167
window.dataLayer = window.dataLayer || [];
7268
function gtag(){ dataLayer.push(arguments); }
7369
gtag('js', new Date());
7470
gtag('config', 'G-1KZH2STPPK');
7571
</script>
76-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
77-
const thebe_selector = ".thebe,.cell"
78-
const thebe_selector_input = "pre"
79-
const thebe_selector_output = ".output, .cell_output"
80-
</script>
72+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
8173
<script>DOCUMENTATION_OPTIONS.pagename = 'prodigiouspython/Chapter_1/10_String_representations_of_objects';</script>
8274
<link rel="canonical" href="https://prodigiouspython.github.io/ProdigiousPython/prodigiouspython/Chapter_1/10_String_representations_of_objects.html" />
8375
<link rel="icon" href="../../_static/favicon.png"/>
@@ -537,8 +529,8 @@ <h1><span class="section-number">10. </span>String representations of objects: s
537529
</div>
538530
</div>
539531
<div class="cell_output docutils container">
540-
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The repr of now is: datetime.datetime(2024, 1, 28, 20, 31, 58, 484798)
541-
The str of now is: 2024-01-28 20:31:58.484798
532+
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The repr of now is: datetime.datetime(2024, 2, 13, 11, 21, 1, 770657)
533+
The str of now is: 2024-02-13 11:21:01.770657
542534
</pre></div>
543535
</div>
544536
</div>
@@ -557,8 +549,8 @@ <h1><span class="section-number">10. </span>String representations of objects: s
557549
</div>
558550
</div>
559551
<div class="cell_output docutils container">
560-
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The repr of language_obj is: &lt;__main__.ProgrammingLanguage object at 0x7fb6d8953610&gt;
561-
The str of language_obj is: &lt;__main__.ProgrammingLanguage object at 0x7fb6d8953610&gt;
552+
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The repr of language_obj is: &lt;__main__.ProgrammingLanguage object at 0x7f7a75be56d0&gt;
553+
The str of language_obj is: &lt;__main__.ProgrammingLanguage object at 0x7f7a75be56d0&gt;
562554
</pre></div>
563555
</div>
564556
</div>
@@ -588,7 +580,7 @@ <h1><span class="section-number">10. </span>String representations of objects: s
588580
</div>
589581
</div>
590582
<div class="cell_output docutils container">
591-
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The repr of human_obj is: Human(name=IronMan, age=48) object at 0x7fb6b7f2ed50
583+
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The repr of human_obj is: Human(name=IronMan, age=48) object at 0x7f7a741fae10
592584
The str of human_obj is: I am IronMan of age 48
593585
</pre></div>
594586
</div>

docs/prodigiouspython/Chapter_1/11_Installing_Packages.html

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<link rel="stylesheet" type="text/css" href="../../_static/styles/sphinx-book-theme.css?v=384b581d" />
3333
<link rel="stylesheet" type="text/css" href="../../_static/togglebutton.css?v=13237357" />
3434
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
35-
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css" />
35+
<link rel="stylesheet" type="text/css" href="../../_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css?v=be8a1c11" />
3636
<link rel="stylesheet" type="text/css" href="../../_static/sphinx-thebe.css?v=4fa983c6" />
3737
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
3838

@@ -60,24 +60,16 @@
6060
gtag('js', new Date());
6161
gtag('config', 'G-1KZH2STPPK');
6262
</script>
63-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
64-
const thebe_selector = ".thebe,.cell"
65-
const thebe_selector_input = "pre"
66-
const thebe_selector_output = ".output, .cell_output"
67-
</script>
68-
<script async="async" src="../../_static/sphinx-thebe.js?v=afe5de03"></script>
63+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
64+
<script async="async" src="../../_static/sphinx-thebe.js?v=c100c467"></script>
6965
<script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
7066
<script>
7167
window.dataLayer = window.dataLayer || [];
7268
function gtag(){ dataLayer.push(arguments); }
7369
gtag('js', new Date());
7470
gtag('config', 'G-1KZH2STPPK');
7571
</script>
76-
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"
77-
const thebe_selector = ".thebe,.cell"
78-
const thebe_selector_input = "pre"
79-
const thebe_selector_output = ".output, .cell_output"
80-
</script>
72+
<script>const THEBE_JS_URL = "https://unpkg.com/thebe@0.8.2/lib/index.js"; const thebe_selector = ".thebe,.cell"; const thebe_selector_input = "pre"; const thebe_selector_output = ".output, .cell_output"</script>
8173
<script>DOCUMENTATION_OPTIONS.pagename = 'prodigiouspython/Chapter_1/11_Installing_Packages';</script>
8274
<link rel="canonical" href="https://prodigiouspython.github.io/ProdigiousPython/prodigiouspython/Chapter_1/11_Installing_Packages.html" />
8375
<link rel="icon" href="../../_static/favicon.png"/>

0 commit comments

Comments
 (0)