Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
254 changes: 254 additions & 0 deletions techstack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
<!--
&lt;--- Readme.md Snippet without images Start ---&gt;
## Tech Stack
drofford/Expert-Python-Programming-Fourth-Edition is built on the following main stack:

- [C lang](http://en.wikipedia.org/wiki/C_(programming_language)) – Languages
- [C++](http://www.cplusplus.com/) – Languages
- [Python](https://www.python.org) – Languages
- [Flask](http://flask.pocoo.org/) – Microframeworks (Backend)
- [PostgreSQL](http://www.postgresql.org/) – Databases
- [Redis](http://redis.io/) – In-Memory Databases
- [Docker](https://www.docker.com/) – Virtual Machine Platforms & Containers
- [OpenTracing](http://opentracing.io/) – Monitoring Tools
- [Prometheus](http://prometheus.io/) – Monitoring Tools
- [Vagrant](http://www.vagrantup.com/) – Virtual Machine Management
- [Zope](https://www.zope.org) – Web Servers
- [pytest](http://pytest.org/latest/) – Testing Frameworks
- [Alpine Linux](https://www.alpinelinux.org/) – Operating Systems
- [IPython](http://ipython.org/index.html) – Shells
- [Shell](https://en.wikipedia.org/wiki/Shell_script) – Shells

Full tech stack [here](/techstack.md)

&lt;--- Readme.md Snippet without images End ---&gt;

&lt;--- Readme.md Snippet with images Start ---&gt;
## Tech Stack
drofford/Expert-Python-Programming-Fourth-Edition is built on the following main stack:

- <img width='25' height='25' src='https://img.stackshare.io/no-img-open-source.png' alt='C lang'/> [C lang](http://en.wikipedia.org/wiki/C_(programming_language)) – Languages
- <img width='25' height='25' src='https://img.stackshare.io/service/1049/cplusplus.png' alt='C++'/> [C++](http://www.cplusplus.com/) – Languages
- <img width='25' height='25' src='https://img.stackshare.io/service/993/pUBY5pVj.png' alt='Python'/> [Python](https://www.python.org) – Languages
- <img width='25' height='25' src='https://img.stackshare.io/service/1001/default_6d109315b60108628b7cd3e159b84645c31ef0e2.png' alt='Flask'/> [Flask](http://flask.pocoo.org/) – Microframeworks (Backend)
- <img width='25' height='25' src='https://img.stackshare.io/service/1028/ASOhU5xJ.png' alt='PostgreSQL'/> [PostgreSQL](http://www.postgresql.org/) – Databases
- <img width='25' height='25' src='https://img.stackshare.io/service/1031/default_cbce472cd134adc6688572f999e9122b9657d4ba.png' alt='Redis'/> [Redis](http://redis.io/) – In-Memory Databases
- <img width='25' height='25' src='https://img.stackshare.io/service/586/n4u37v9t_400x400.png' alt='Docker'/> [Docker](https://www.docker.com/) – Virtual Machine Platforms & Containers
- <img width='25' height='25' src='https://img.stackshare.io/service/6941/ktuguoGc_400x400.jpg' alt='OpenTracing'/> [OpenTracing](http://opentracing.io/) – Monitoring Tools
- <img width='25' height='25' src='https://img.stackshare.io/service/2501/default_3cf1b307194b26782be5cb209d30360580ae5b3c.png' alt='Prometheus'/> [Prometheus](http://prometheus.io/) – Monitoring Tools
- <img width='25' height='25' src='https://img.stackshare.io/service/768/150px-Vagrant.png' alt='Vagrant'/> [Vagrant](http://www.vagrantup.com/) – Virtual Machine Management
- <img width='25' height='25' src='https://img.stackshare.io/service/6969/zopeHIres_400x400.jpg' alt='Zope'/> [Zope](https://www.zope.org) – Web Servers
- <img width='25' height='25' src='https://img.stackshare.io/service/4586/Lu99Qe0Z_400x400.png' alt='pytest'/> [pytest](http://pytest.org/latest/) – Testing Frameworks
- <img width='25' height='25' src='https://img.stackshare.io/service/6429/alpine_linux.png' alt='Alpine Linux'/> [Alpine Linux](https://www.alpinelinux.org/) – Operating Systems
- <img width='25' height='25' src='https://img.stackshare.io/service/4477/820a0bb9a44fe5a1d640993ab1e6fd84_400x400.png' alt='IPython'/> [IPython](http://ipython.org/index.html) – Shells
- <img width='25' height='25' src='https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png' alt='Shell'/> [Shell](https://en.wikipedia.org/wiki/Shell_script) – Shells

Full tech stack [here](/techstack.md)

&lt;--- Readme.md Snippet with images End ---&gt;
-->
<div align="center">

# Tech Stack File
![](https://img.stackshare.io/repo.svg "repo") [drofford/Expert-Python-Programming-Fourth-Edition](https://github.com/drofford/Expert-Python-Programming-Fourth-Edition)![](https://img.stackshare.io/public_badge.svg "public")
<br/><br/>
|40<br/>Tools used|07/26/24 <br/>Report generated|
|------|------|
</div>

## <img src='https://img.stackshare.io/languages.svg'/> Languages (3)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/no-img-open-source.png' alt='C lang'>
<br>
<sub><a href="http://en.wikipedia.org/wiki/C_(programming_language)">C lang</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1049/cplusplus.png' alt='C++'>
<br>
<sub><a href="http://www.cplusplus.com/">C++</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/993/pUBY5pVj.png' alt='Python'>
<br>
<sub><a href="https://www.python.org">Python</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>

## <img src='https://img.stackshare.io/frameworks.svg'/> Frameworks (1)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1001/default_6d109315b60108628b7cd3e159b84645c31ef0e2.png' alt='Flask'>
<br>
<sub><a href="http://flask.pocoo.org/">Flask</a></sub>
<br>
<sub>v1.1.2</sub>
</td>

</tr>
</table>

## <img src='https://img.stackshare.io/databases.svg'/> Data (2)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1028/ASOhU5xJ.png' alt='PostgreSQL'>
<br>
<sub><a href="http://www.postgresql.org/">PostgreSQL</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1031/default_cbce472cd134adc6688572f999e9122b9657d4ba.png' alt='Redis'>
<br>
<sub><a href="http://redis.io/">Redis</a></sub>
<br>
<sub>v3.5.3</sub>
</td>

</tr>
</table>

## <img src='https://img.stackshare.io/devops.svg'/> DevOps (8)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/586/n4u37v9t_400x400.png' alt='Docker'>
<br>
<sub><a href="https://www.docker.com/">Docker</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1046/git.png' alt='Git'>
<br>
<sub><a href="http://git-scm.com/">Git</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/6941/ktuguoGc_400x400.jpg' alt='OpenTracing'>
<br>
<sub><a href="http://opentracing.io/">OpenTracing</a></sub>
<br>
<sub>v2.0.0</sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/2501/default_3cf1b307194b26782be5cb209d30360580ae5b3c.png' alt='Prometheus'>
<br>
<sub><a href="http://prometheus.io/">Prometheus</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/12572/-RIWgodF_400x400.jpg' alt='PyPI'>
<br>
<sub><a href="https://pypi.org/">PyPI</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/768/150px-Vagrant.png' alt='Vagrant'>
<br>
<sub><a href="http://www.vagrantup.com/">Vagrant</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/6969/zopeHIres_400x400.jpg' alt='Zope'>
<br>
<sub><a href="https://www.zope.org">Zope</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/4586/Lu99Qe0Z_400x400.png' alt='pytest'>
<br>
<sub><a href="http://pytest.org/latest/">pytest</a></sub>
<br>
<sub>v6.2.2</sub>
</td>

</tr>
</table>

## Other (3)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/6429/alpine_linux.png' alt='Alpine Linux'>
<br>
<sub><a href="https://www.alpinelinux.org/">Alpine Linux</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/4477/820a0bb9a44fe5a1d640993ab1e6fd84_400x400.png' alt='IPython'>
<br>
<sub><a href="http://ipython.org/index.html">IPython</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png' alt='Shell'>
<br>
<sub><a href="https://en.wikipedia.org/wiki/Shell_script">Shell</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>


## <img src='https://img.stackshare.io/group.svg' /> Open source packages (23)</h2>

## <img width='24' height='24' src='https://img.stackshare.io/service/12572/-RIWgodF_400x400.jpg'/> PyPI (23)

|NAME|VERSION|LAST UPDATED|LAST UPDATED BY|LICENSE|VULNERABILITIES|
|:------|:------|:------|:------|:------|:------|
|[Werkzeug](https://pypi.org/project/Werkzeug)|v2.0.0|05/24/21|Michał Jaworski |BSD-3-Clause|[CVE-2024-34069](https://github.com/advisories/GHSA-2g68-c3qc-8985) (High)<br/>[CVE-2023-25577](https://github.com/advisories/GHSA-xg9f-g7g7-2323) (High)<br/>[CVE-2023-23934](https://github.com/advisories/GHSA-px8h-6qxv-m22q) (Low)|
|[aiohttp](https://pypi.org/project/aiohttp)|v3.7.3|05/24/21|Michał Jaworski |Apache-2.0|[CVE-2023-49081](https://github.com/advisories/GHSA-q3qx-c6g2-7pw2) (High)<br/>[CVE-2024-30251](https://github.com/advisories/GHSA-5m98-qgg9-wh84) (High)<br/>[CVE-2024-23829](https://github.com/advisories/GHSA-8qpw-xqxj-h4r2) (Moderate)<br/>[CVE-2024-23334](https://github.com/advisories/GHSA-5h86-8mv2-jq9f) (Moderate)<br/>[CVE-2023-47627](https://github.com/advisories/GHSA-gfw2-4jvh-wgfg) (Moderate)<br/>[](https://github.com/advisories/GHSA-pjjw-qhg8-p2p9) (Moderate)<br/>[CVE-2023-49082](https://github.com/advisories/GHSA-qvrw-v9rv-5rjx) (Moderate)<br/>[CVE-2022-33124](https://github.com/advisories/GHSA-rwqr-c348-m5wr) (Moderate)<br/>[CVE-2024-27306](https://github.com/advisories/GHSA-7gpw-8wmc-pm8g) (Moderate)<br/>[CVE-2023-37276](https://github.com/advisories/GHSA-45c4-8wx5-qw6w) (Moderate)<br/>[CVE-2021-21330](https://github.com/advisories/GHSA-v6wp-4m6f-gcjg) (Low)<br/>[CVE-2023-47641](https://github.com/advisories/GHSA-xx9p-xxvh-7g8j) (Low)|
|[gunicorn](https://pypi.org/project/gunicorn)|v20.1.0|05/24/21|Michał Jaworski |MIT|[CVE-2024-1135](https://github.com/advisories/GHSA-w3h3-4rj7-4ph4) (High)|
|[sentry-sdk](https://pypi.org/project/sentry-sdk)|v1.0.0|05/24/21|Michał Jaworski |MIT|[CVE-2023-28117](https://github.com/advisories/GHSA-29pr-6jr8-q5jm) (High)<br/>[CVE-2024-40647](https://github.com/advisories/GHSA-g92j-qhmh-64v2) (Low)|
|[requests](https://pypi.org/project/requests)|v2.25.1|05/24/21|Michał Jaworski |Apache-2.0|[CVE-2024-35195](https://github.com/advisories/GHSA-9wx4-h78v-vm56) (Moderate)<br/>[CVE-2023-32681](https://github.com/advisories/GHSA-j8r2-6x86-q33q) (Moderate)|
|[Cython](https://pypi.org/project/Cython)|v0.29.22|05/24/21|Michał Jaworski |Apache-2.0|N/A|
|[Faker](https://pypi.org/project/Faker)|v6.5.0|05/24/21|Michał Jaworski |MIT|N/A|
|[Flask-Injector](https://pypi.org/project/Flask-Injector)|v0.12.3|05/24/21|Michał Jaworski |BSD-3-Clause|N/A|
|[black](https://pypi.org/project/black)|N/A|05/24/21|Michał Jaworski |MIT|N/A|
|[bleach](https://pypi.org/project/bleach)|v3.3.0|05/24/21|Michał Jaworski |Apache-2.0|N/A|
|[blinker](https://pypi.org/project/blinker)|v1.4|05/24/21|Michał Jaworski |MIT|N/A|
|[coverage](https://pypi.org/project/coverage)|v5.5|05/24/21|Michał Jaworski |Apache-2.0|N/A|
|[falcon](https://pypi.org/project/falcon)|v2.0.0|05/24/21|Michał Jaworski |Apache-2.0|N/A|
|[freezegun](https://pypi.org/project/freezegun)|v1.1.0|05/24/21|Michał Jaworski |Apache-2.0|N/A|
|[hy](https://pypi.org/project/hy)|v0.20.0|05/24/21|Michał Jaworski |Other|N/A|
|[inflection](https://pypi.org/project/inflection)|v0.5.1|05/24/21|Michał Jaworski |MIT|N/A|
|[injector](https://pypi.org/project/injector)|v0.18.4|05/24/21|Michał Jaworski |BSD-3-Clause|N/A|
|[ipdb](https://pypi.org/project/ipdb)|v0.13.4|05/24/21|Michał Jaworski |BSD-3-Clause|N/A|
|[jaeger-client](https://pypi.org/project/jaeger-client)|v4.4.0|05/24/21|Michał Jaworski |Apache-2.0|N/A|
|[mypy](https://pypi.org/project/mypy)|v0.790|05/24/21|Michał Jaworski |MIT|N/A|
|[objgraph](https://pypi.org/project/objgraph)|v3.5.0|05/24/21|Michał Jaworski |MIT|N/A|
|[watchdog](https://pypi.org/project/watchdog)|v0.10.3|11/14/20|Michał Jaworski |Apache-2.0|N/A|
|[zope.interface](https://pypi.org/project/zope.interface)|v5.2.0|05/24/21|Michał Jaworski |ZPL-2.1|N/A|

<br/>
<div align='center'>

Generated via [Stack File](https://github.com/marketplace/stack-file)
Loading