This Project tries to collect some basic and advanced knowledge about Python. From basic syntax, file i/o, it security, networking, GUI and rendering. Python is a awesome language and therefore this repo tries to collect most important knowledge about Python for reference during work and projects.
Of course this repo can't cover everything and the topic artificial intelligence (including plotting and stuff) is intentionally ignored, since I already have an repo for AI (also for PyTorch and TensorFlow).
Also see the helper repo which is kinda the toplevel repo for such reference repos.
This repo consists of multiple notebooks which covers the given topics. The notebooks have the advantage that you can see my results and also provide textual information beside code.
Python can be installed through the offical website, but I recommend installing and using anaconda, since it manages different Python versions much better. A little tutorial for anaconda can be found here: https://github.com/xXAI-botXx/Project-Helper#anaconda. Another way is to use Docker and installing and using python in a container (virtual environment), all important informations can be found here: https://github.com/xXAI-botXx/Docker.
Your python environment with anaconda just needs IPython and an ipykernel package through the usage of notebooks.
conda create -n ref python=3.12 pip -y
conda activate ref
pip install ipykernel ipython pygame moderngl moderngl-window graphviz astmonkey matplotlib
Also go this website and install graphviz -> https://graphviz.org/download/.
Documentation/help can be found on the official website https://docs.python.org/3/ or the documentation website of the module/library you use. And which mostlikely works is the built-in function help
. For example:
print(help(my_module.func))
print(help(print))
The outside
- Basics
- Standard Library Modules
- Math
- Cryptography
- Regular Expressions
- OS and Runtime Environment
- Filesystem
- Commandlineparameter Parsing
- Parallel Computing
- Data I/O
- Networking
- Debugging (including
dis
,inspect
) - Documentation
- External program calls
- Python and other languages
- GUIs with TKinter (modern)
- ... -> are there important missing standard library modules?
- Additional (External) Library Modules
- Image Handling via Pillow
- Argumentparsing via PyDantic
- HTTP interaction with request module
- Server with Django (or fastapi))
- Graphical user interfaces
- Games and Simulations
- ... -> are there important missing external library modules? (for sure there are much more)
- user input control? (mouse/keyboard)
- Ursina Engine?
- Selenium?
- PyAutoGUI?
-
Hint: OpenCV/Numpy/Pandas/Matplotlib/Seaborn/SciPy/PyTorch/TensorFlow... are covered in the AI repo, (and PyTorch, TensorFlow)