parent
0a7ab9787c
commit
457af3facb
102 changed files with 4474 additions and 4253 deletions
@ -1,10 +0,0 @@ |
|||||||
# String Methods |
|
||||||
|
|
||||||
Python does not have a character data type, a single character is simply a string with a length of 1. Square bracket can be used to access elements of the string. |
|
||||||
There are methods which can be used on a string to best utilize it's wide range of functionalities. |
|
||||||
Below Given resources can be utilised to learn more about them. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@video@Practical String Methods applications](https://www.youtube.com/watch?v=Ctqi5Y4X-jA&t=11s) |
|
||||||
- [@article@Comprehensive Study of String methods](https://www.w3schools.com/python/python_ref_string.asp) |
|
@ -1,3 +0,0 @@ |
|||||||
# Note |
|
||||||
|
|
||||||
This roadmap specifically covers **Python and the ecosystem** around it. You will notice that it is missing things like version control, databases, software design, architecture and other things that are not directly related to Python; this is intentional. Have a look at the [Backend Roadmap](/backend) for a more comprehensive overview of the backend ecosystem. |
|
@ -1,3 +0,0 @@ |
|||||||
# Advanced Topics |
|
||||||
|
|
||||||
Now that you have covered the basics of Python, let's move on to some advanced topics. In this section, you will be learning about things like OOP, Lambdas, Decorators, Iterators, Modules, and more. |
|
@ -1,10 +0,0 @@ |
|||||||
# Git |
|
||||||
|
|
||||||
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc) |
|
||||||
- [@article@Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git) |
|
||||||
- [@article@Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet) |
|
||||||
- [@feed@Explore top posts about Git](https://app.daily.dev/tags/git?ref=roadmapsh) |
|
@ -1,9 +0,0 @@ |
|||||||
# Version Control Systems |
|
||||||
|
|
||||||
Version control systems allow you to track changes to your codebase/files over time. They allow you to go back to some previous version of the codebase without any issues. Also, they help in collaborating with people working on the same code – if you’ve ever collaborated with other people on a project, you might already know the frustration of copying and merging the changes from someone else into your codebase; version control systems allow you to get rid of this issue. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@video@Version Control System Introduction](https://www.youtube.com/watch?v=zbKdDsNNOhg) |
|
||||||
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc) |
|
||||||
- [@video@Learn Git in 20 Minutes](https://youtu.be/Y9XZQO1n_7c?t=21) |
|
@ -1,12 +0,0 @@ |
|||||||
# GitHub |
|
||||||
|
|
||||||
[GitHub](https://github.com) is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@article@GitHub: Quickstart](https://docs.github.com/en/get-started/quickstart/hello-world) |
|
||||||
- [@video@What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E) |
|
||||||
- [@video@Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU) |
|
||||||
- [@video@Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk) |
|
||||||
- [@video@Git and GitHub - CS50 Beyond 2019](https://www.youtube.com/watch?v=eulnSXkhE7I) |
|
||||||
- [@feed@Explore top posts about GitHub](https://app.daily.dev/tags/github?ref=roadmapsh) |
|
@ -1,9 +0,0 @@ |
|||||||
# GitLab |
|
||||||
|
|
||||||
[GitLab](https://gitlab.com) is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@opensource@GitLab Website](https://gitlab.com/) |
|
||||||
- [@article@GitLab Documentation](https://docs.gitlab.com/) |
|
||||||
- [@feed@Explore top posts about GitLab](https://app.daily.dev/tags/gitlab?ref=roadmapsh) |
|
@ -1,9 +0,0 @@ |
|||||||
# BitBucket |
|
||||||
|
|
||||||
[BitBucket](https://bitbucket.com) is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@official@BitBucket Website](https://bitbucket.com/) |
|
||||||
- [@official@How to use BitBucket?](https://bitbucket.org/product/guides) |
|
||||||
- [@feed@Explore top posts about Bitbucket](https://app.daily.dev/tags/bitbucket?ref=roadmapsh) |
|
@ -1,9 +0,0 @@ |
|||||||
# Repo Hosting Services |
|
||||||
|
|
||||||
There are different repository hosting services with the most famous one being GitHub, GitLab and BitBucket. I would recommend creating an account on GitHub because that is where most of the OpenSource work is done and most of the developers are. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@opensource@GitHub: Where the world builds software](https://github.com) |
|
||||||
- [@opensource@GitLab: Iterate faster, innovate together](https://gitlab.com) |
|
||||||
- [@article@BitBucket: The Git solution for professional teams](https://bitbucket.com) |
|
@ -1,8 +0,0 @@ |
|||||||
# Asynchronous |
|
||||||
|
|
||||||
Asynchronous programming is a type of parallel programming in which a unit of work is allowed to run separately from the primary application thread. When the work is complete, it notifies the main thread about completion or failure of the worker thread. |
|
||||||
This style is mostly concerned with the asynchronous execution of tasks. Python has several asynchronous frameworks that are used to implement asynchronous programming. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@article@Top 9 Asynchronous Web Frameworks for Python](https://geekflare.com/python-asynchronous-web-frameworks/) |
|
@ -1,10 +0,0 @@ |
|||||||
# Testing |
|
||||||
|
|
||||||
A key to building software that meets requirements without defects is testing. Software testing helps developers know they are building the right software. When tests are run as part of the development process (often with continuous integration tools), they build confidence and prevent regressions in the code. |
|
||||||
|
|
||||||
Visit the following resources to learn more: |
|
||||||
|
|
||||||
- [@article@What is Software Testing?](https://www.guru99.com/software-testing-introduction-importance.html) |
|
||||||
- [@article@Testing Pyramid](https://www.browserstack.com/guide/testing-pyramid-for-test-automation) |
|
||||||
- [@article@Automate Quality, Security Checks for Python Library Dependencies](https://thenewstack.io/automate-quality-security-checks-for-python-library-dependencies/) |
|
||||||
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh) |
|
@ -0,0 +1 @@ |
|||||||
|
# Arrays and Linked Lists |
@ -0,0 +1 @@ |
|||||||
|
# Asynchrony |
@ -0,0 +1 @@ |
|||||||
|
# Binary Search Tree |
@ -0,0 +1,5 @@ |
|||||||
|
# black |
||||||
|
|
||||||
|
black is a code formatter for Python. It is a tool that automatically formats Python code to adhere to the PEP 8 style guide. It is a great tool to use in your Python projects to ensure that your code is formatted consistently and correctly. |
||||||
|
|
||||||
|
- [@official@black documentation](https://black.readthedocs.io/en/stable/) |
@ -0,0 +1 @@ |
|||||||
|
# Code Formatting |
@ -0,0 +1,14 @@ |
|||||||
|
# Common Packages and Modules |
||||||
|
|
||||||
|
Python has a rich ecosystem of packages and modules that can be used to get the most out of the language. |
||||||
|
|
||||||
|
Here are some common Python packages that are widely used in various domains: |
||||||
|
|
||||||
|
- [requests](https://docs.python-requests.org/en/latest/) |
||||||
|
- [pathlib](https://docs.python.org/3/library/pathlib.html) |
||||||
|
- [asyncio](https://docs.python.org/3/library/asyncio.html) |
||||||
|
- [dataclasses](https://docs.python.org/3/library/dataclasses.html) |
||||||
|
- [python-dotenv](https://pypi.org/project/python-dotenv/) |
||||||
|
- [numpy](https://numpy.org/doc/stable/) |
||||||
|
- [pandas](https://pandas.pydata.org/docs/) |
||||||
|
- [polars](https://github.com/pola-rs/polars) |
@ -0,0 +1 @@ |
|||||||
|
# Concurrency |
@ -0,0 +1 @@ |
|||||||
|
# Context Manager |
@ -0,0 +1 @@ |
|||||||
|
# Dictionaries |
@ -0,0 +1 @@ |
|||||||
|
# Exceptions |
@ -0,0 +1 @@ |
|||||||
|
# GIL |
@ -0,0 +1 @@ |
|||||||
|
# Hash Tables |
@ -0,0 +1 @@ |
|||||||
|
# Heaps, Stacks and Queues |
@ -0,0 +1 @@ |
|||||||
|
# Learn the Basics |
@ -0,0 +1 @@ |
|||||||
|
# Loops |
@ -0,0 +1 @@ |
|||||||
|
# Multiprocessing |
@ -0,0 +1,5 @@ |
|||||||
|
# mypy |
||||||
|
|
||||||
|
mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking. Mypy type checks standard Python programs; run them using any Python VM with basically no runtime overhead. |
||||||
|
|
||||||
|
- [@official@mypy documentation](https://mypy-lang.org/) |
@ -0,0 +1,7 @@ |
|||||||
|
# pipenv |
||||||
|
|
||||||
|
Pipeline Environment (pipenv) is a tool that aims to bring the best of all packaging worlds (bundled, requirements.txt, setup.py, setup.cfg, etc.) to the Python world. It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile as you install/uninstall packages. It also generates the ever-important Pipfile.lock, which is used to produce deterministic builds. |
||||||
|
|
||||||
|
Learn more about Pipenv by visiting the following resources: |
||||||
|
|
||||||
|
- [@official@Pipenv Documentation](https://pipenv.pypa.io/en/latest/) |
@ -0,0 +1 @@ |
|||||||
|
# Plotly Dash |
@ -0,0 +1,7 @@ |
|||||||
|
# Pydantic |
||||||
|
|
||||||
|
Pydantic is a python library for data validation and settings management using python type annotations. |
||||||
|
|
||||||
|
Learn more from the following resources: |
||||||
|
|
||||||
|
- [@official@Pydantic documentation](https://docs.pydantic.dev/latest/) |
@ -0,0 +1,7 @@ |
|||||||
|
# pyenv |
||||||
|
|
||||||
|
pyenv is a tool for managing multiple versions of the Python programming language on Unix-like systems. It works by setting environment variables to point to the directory where the desired version of Python is installed. This allows you to switch between different versions of Python without having to modify your system's default Python installation. |
||||||
|
|
||||||
|
Learn more about pyenv by exploring the following resources: |
||||||
|
|
||||||
|
- [@Official@pyenv GitHub Repository](https://github.com/pyenv/pyenv) |
@ -0,0 +1,10 @@ |
|||||||
|
# pyproject.toml |
||||||
|
|
||||||
|
This file is used to define the project configuration and dependencies. It is a configuration file that |
||||||
|
contains metadata about the project, such as its name, version, dependencies, and build settings. The |
||||||
|
`pyproject.toml` file is used by tools like `poetry` and `flit` to manage Python projects and their |
||||||
|
dependencies. |
||||||
|
|
||||||
|
Learn more about `pyproject.toml` by visiting the following resources: |
||||||
|
|
||||||
|
- [@official@Writing pyproject.toml files](https://packaging.python.org/en/latest/guides/writing-pyproject-toml/) |
@ -0,0 +1,7 @@ |
|||||||
|
# pyre |
||||||
|
|
||||||
|
pyre is a static type checker for Python. It is a tool that helps you find type errors in your Python code. Pyre is designed to be fast, scalable, and easy to use. It is used at Facebook to help developers catch type errors before they make it to production. |
||||||
|
|
||||||
|
Learn more about pyre from the following resources: |
||||||
|
|
||||||
|
- [@official@pyre documentation](https://pyre-check.org/) |
@ -0,0 +1,7 @@ |
|||||||
|
# pyright |
||||||
|
|
||||||
|
pyright is a static type checker for Python. It is a Microsoft product and is written in TypeScript. It is a language server that uses the Language Server Protocol (LSP) to communicate with the editor. It is a good alternative to mypy and pytype. |
||||||
|
|
||||||
|
Learn more about pyright from the following resources: |
||||||
|
|
||||||
|
- [@official@Pyright Documentation](https://microsoft.github.io/pyright/) |
@ -0,0 +1 @@ |
|||||||
|
# Recursion |
@ -0,0 +1,5 @@ |
|||||||
|
# ruff |
||||||
|
|
||||||
|
An extremely fast Python linter and code formatter, written in Rust. |
||||||
|
|
||||||
|
- [@official@ruff documentation](https://docs.astral.sh/ruff/) |
@ -0,0 +1 @@ |
|||||||
|
# Sets |
@ -0,0 +1 @@ |
|||||||
|
# Sorting Algorithms |
@ -0,0 +1,5 @@ |
|||||||
|
# sphinx |
||||||
|
|
||||||
|
Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license. |
||||||
|
|
||||||
|
Learn more about Sphinx by visiting the [official website](https://www.sphinx-doc.org/en/master/). |
@ -0,0 +1,7 @@ |
|||||||
|
# Static Typing |
||||||
|
|
||||||
|
Static typing can be a powerful tool to help you catch bugs before they happen. It can also help you understand the code you're working with, and make it easier to maintain and refactor. |
||||||
|
|
||||||
|
Learn more about static typing with the following resources: |
||||||
|
|
||||||
|
- [@article@Static typing in Python](https://typing.readthedocs.io/en/latest/index.html) |
@ -0,0 +1 @@ |
|||||||
|
# Testing |
@ -0,0 +1 @@ |
|||||||
|
# Threading |
@ -0,0 +1 @@ |
|||||||
|
# topic node |
@ -0,0 +1,7 @@ |
|||||||
|
# tox - python testing |
||||||
|
|
||||||
|
tox is a tool for automating test environment management and testing against multiple interpreter configurations. It is particularly useful for Python codebases that need to support multiple versions of Python. |
||||||
|
|
||||||
|
Learn more about tox from the following resources: |
||||||
|
|
||||||
|
- [@official@tox documentation](https://tox.wiki/en/) |
@ -0,0 +1 @@ |
|||||||
|
# Tuples |
@ -0,0 +1,5 @@ |
|||||||
|
# typing |
||||||
|
|
||||||
|
typing is a module in Python that provides runtime support for type hints. The typing module defines a standard set of names that can be used to describe types in the Python language. The typing module was added to the standard library in Python 3.5. |
||||||
|
|
||||||
|
- [@official@typing python](https://docs.python.org/3/library/typing.html) |
@ -0,0 +1,7 @@ |
|||||||
|
# uv |
||||||
|
|
||||||
|
uv is an "extremely fast" python package installer and resolver. |
||||||
|
|
||||||
|
Learn more about it using the following resources: |
||||||
|
|
||||||
|
- [@official@uv GitHub Repository](https://github.com/astral-sh/uv) |
@ -0,0 +1,7 @@ |
|||||||
|
# virutalenv |
||||||
|
|
||||||
|
`virtualenv` is a tool to create isolated Python environments. It creates a folder which contains all the necessary executables to use the packages that a Python project would need. |
||||||
|
|
||||||
|
Learn more about `virtualenv` by visiting the following resources: |
||||||
|
|
||||||
|
- [@official@Virtual Environments](https://virtualenv.pypa.io/en/latest/) |
@ -0,0 +1,7 @@ |
|||||||
|
# yapf |
||||||
|
|
||||||
|
yapf is a formatter for Python files. It is a tool that automatically formats Python code to conform to the PEP 8 style guide. It is similar to black but has more configuration options. |
||||||
|
|
||||||
|
Learn more about yapf and how to use it effectively in your Python projects. |
||||||
|
|
||||||
|
- [@official@yapf Documentation](https://github.com/google/yapf) |
@ -0,0 +1,48 @@ |
|||||||
|
{ |
||||||
|
"python-basics": "JDDG4KfhtIlw1rkNCzUli", |
||||||
|
"python-basics:basic-syntax": "6xRncUs3_vxVbDur567QA", |
||||||
|
"python-basics:variables-and-datatypes": "dEFLBGpiH6nbSMeR7ecaT", |
||||||
|
"python-basics:conditionals": "NP1kjSk0ujU0Gx-ajNHlR", |
||||||
|
"python-basics:typecasting-exceptions": "R9DQNc0AyAQ2HLpP4HOk6", |
||||||
|
"python-basics:functions": "-DJgS6l2qngfwurExlmmT", |
||||||
|
"python-basics:lists-tuples-sets-dictionaries": "UT_SR7G-LYtzqooWrEtF1", |
||||||
|
"data-structures-and-algorithms": "VJSIbYJcy2MC6MOFBrqXi", |
||||||
|
"data-structures-and-algorithms:arrays-linked-lists": "kIuns7FOwapwtFLKo1phQ", |
||||||
|
"data-structures-and-algorithms:heaps-stacks-queues": "rSfg5M65LyZldhrdWOr90", |
||||||
|
"data-structures-and-algorithms:hash-tables": "0-m8jVuDKE8hX1QorKGTM", |
||||||
|
"data-structures-and-algorithms:binary-search-trees": "7NZlydjm4432vLY1InBS7", |
||||||
|
"data-structures-and-algorithms:recursion": "94KnPMQdNTOwQkUv37tAk", |
||||||
|
"data-structures-and-algorithms:sorting-algorithms": "YNptpfK9qv2ovmkUXLkJT", |
||||||
|
"python-advanced-topics:modules": "274uk28wzxn6EKWQzLpHs", |
||||||
|
"python-advanced-topics:modules:builtin-modules": "08XifLQ20c4FKI_4AWNBQ", |
||||||
|
"python-advanced-topics:modules:custom-modules": "l7k0qTYe42wYBTlT2-1cy", |
||||||
|
"python-advanced-topics:oop": "P_Di-XPSDITmU3xKQew8G", |
||||||
|
"python-advanced-topics:oop:classes": "AqwzR8dZKLQIoj_6KKZ3t", |
||||||
|
"python-advanced-topics:oop:inheritance": "S0FLE70szSVUPI0CDEQK7", |
||||||
|
"python-advanced-topics:oop:methods-dunder": "zAS4YiEJ6VPsyABrkIG8i", |
||||||
|
"python-advanced-topics:regular-expressions": "7t6mJBsaFMWPi7o9fbhhq", |
||||||
|
"python-advanced-topics:decorators": "pIluLJkySqn_gI_GykV6G", |
||||||
|
"python-advanced-topics:lambdas": "aWHgAk959DPUZL46CeRiI", |
||||||
|
"python-advanced-topics:iterators": "aB1LSQjDEQb_BxueOcnxU", |
||||||
|
"python-package-managers": "qeCMw-sJ2FR4UxvU9DDzv", |
||||||
|
"python-package-managers:pypi": "1dfOTOGsOk5XE3bnZs8Ht", |
||||||
|
"python-package-managers:pip": "iVhQnp6hpgVZDNJ0XoVra", |
||||||
|
"python-package-managers:conda": "uh67D1u-Iv5cZamRgFEJg", |
||||||
|
"python-package-managers:poetry": "uXd2B01GVBEQNXQE8RATT", |
||||||
|
"python-advanced-topics:list-comprehensions": "4gtmtYWYRWqwLdZRL0XMg", |
||||||
|
"python-advanced-topics:generator-expressions": "jnLIVRrWxcX3yq3Op91Vr", |
||||||
|
"python-advanced-topics:paradigms": "4GU5HNi3W8yFkImVY9ZpW", |
||||||
|
"python-frameworks": "0-ShORjGnQlAdcwjtxdEB", |
||||||
|
"python-frameworks:synchronous:pyramid": "DHtskqATeAVKgaazdhXKD", |
||||||
|
"python-frameworks:fastapi": "XeQSmvAsGSTi8dd7QVHxn", |
||||||
|
"python-frameworks:synchronous:django": "x1V8GjdjANTnhP6YXMbgC", |
||||||
|
"python-frameworks:synchronous:flask": "HKsGyRzntjh1UbRZSWh_4", |
||||||
|
"python-frameworks:asynchronous:gevent": "InUJIGmTnf0X4cSoLuCEQ", |
||||||
|
"python-frameworks:asynchronous:aiohttp": "IBVAvFtN4mnIPbIuyUvEb", |
||||||
|
"python-frameworks:asynchronous:tornado": "zey2C6BdzsHJAlb_K3qrP", |
||||||
|
"python-frameworks:asynchronous:sanic": "9RGpqsj9jHz0_-r7EvRcw", |
||||||
|
"python-testing:doctest": "aVclygxoA9ePU5IxaORSH", |
||||||
|
"python-testing:nose": "SSnzpijHLO5_l7DNEoMfx", |
||||||
|
"python-testing:pytest": "3FDwJpesfelEyJrNWtm0V", |
||||||
|
"python-testing:unittest-pyunit": "b4he_RO17C3ScNeUd6v2b" |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue