Improve python roadmap (#7323)

* 18 Topics Verified.

* 19 Topics Verified.

* 21 Topics Verified.

* 12 Topics Verified.
pull/7382/head
Vedansh 2 months ago committed by GitHub
parent 2db1bce35b
commit c565fb5e0a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      src/data/roadmaps/python/content/aiohttp@IBVAvFtN4mnIPbIuyUvEb.md
  2. 2
      src/data/roadmaps/python/content/arrays-and-linked-lists@kIuns7FOwapwtFLKo1phQ.md
  3. 2
      src/data/roadmaps/python/content/asynchrony@Mow7RvropbC4ZGDpcGZmw.md
  4. 3
      src/data/roadmaps/python/content/black@DS6nuAUhUYcqiJDmQisKM.md
  5. 1
      src/data/roadmaps/python/content/builtin@08XifLQ20c4FKI_4AWNBQ.md
  6. 2
      src/data/roadmaps/python/content/classes@AqwzR8dZKLQIoj_6KKZ3t.md
  7. 7
      src/data/roadmaps/python/content/code-formatting@0F0ppU_ClIUKZ23Q6BVZp.md
  8. 19
      src/data/roadmaps/python/content/common-packages@_94NrQ3quc4t_PPOsFSN0.md
  9. 3
      src/data/roadmaps/python/content/concurrency@u4nRzWQ4zhDFMOrZ2I_uJ.md
  10. 4
      src/data/roadmaps/python/content/conda@uh67D1u-Iv5cZamRgFEJg.md
  11. 7
      src/data/roadmaps/python/content/conditionals@NP1kjSk0ujU0Gx-ajNHlR.md
  12. 7
      src/data/roadmaps/python/content/context-manager@KAXF2kUAOvtBZhY8G9rkI.md
  13. 2
      src/data/roadmaps/python/content/custom@l7k0qTYe42wYBTlT2-1cy.md
  14. 1
      src/data/roadmaps/python/content/data-structures--algorithms@VJSIbYJcy2MC6MOFBrqXi.md
  15. 3
      src/data/roadmaps/python/content/decorators@pIluLJkySqn_gI_GykV6G.md
  16. 1
      src/data/roadmaps/python/content/dictionaries@bc9CL_HMT-R6nXO1eR-gP.md
  17. 6
      src/data/roadmaps/python/content/django@x1V8GjdjANTnhP6YXMbgC.md
  18. 2
      src/data/roadmaps/python/content/doctest@aVclygxoA9ePU5IxaORSH.md
  19. 1
      src/data/roadmaps/python/content/exceptions@fNTb9y3zs1HPYclAmu_Wv.md
  20. 2
      src/data/roadmaps/python/content/fast-api@XeQSmvAsGSTi8dd7QVHxn.md
  21. 4
      src/data/roadmaps/python/content/flask@HKsGyRzntjh1UbRZSWh_4.md
  22. 13
      src/data/roadmaps/python/content/functions-builtin-functions@-DJgS6l2qngfwurExlmmT.md
  23. 4
      src/data/roadmaps/python/content/generator-expressions@jnLIVRrWxcX3yq3Op91Vr.md
  24. 4
      src/data/roadmaps/python/content/gevent@InUJIGmTnf0X4cSoLuCEQ.md
  25. 4
      src/data/roadmaps/python/content/hash-tables@0-m8jVuDKE8hX1QorKGTM.md
  26. 2
      src/data/roadmaps/python/content/inheritance@S0FLE70szSVUPI0CDEQK7.md
  27. 5
      src/data/roadmaps/python/content/learn-a-framework@0-ShORjGnQlAdcwjtxdEB.md
  28. 7
      src/data/roadmaps/python/content/learn-the-basics@JDDG4KfhtIlw1rkNCzUli.md
  29. 2
      src/data/roadmaps/python/content/list-comprehensions@4gtmtYWYRWqwLdZRL0XMg.md
  30. 2
      src/data/roadmaps/python/content/lists@UT_SR7G-LYtzqooWrEtF1.md
  31. 2
      src/data/roadmaps/python/content/modules@274uk28wzxn6EKWQzLpHs.md
  32. 2
      src/data/roadmaps/python/content/multiprocessing@HSY5OUc_M5S6OcFXPRtkx.md
  33. 3
      src/data/roadmaps/python/content/mypy@gIcJ3bUVQXqO1Wx4gUKd5.md
  34. 2
      src/data/roadmaps/python/content/nose@SSnzpijHLO5_l7DNEoMfx.md
  35. 6
      src/data/roadmaps/python/content/package-managers@qeCMw-sJ2FR4UxvU9DDzv.md
  36. 4
      src/data/roadmaps/python/content/paradigms@4GU5HNi3W8yFkImVY9ZpW.md
  37. 1
      src/data/roadmaps/python/content/pip@iVhQnp6hpgVZDNJ0XoVra.md
  38. 2
      src/data/roadmaps/python/content/pipenv@IWq-tfkz-pSC1ztZl60vM.md
  39. 7
      src/data/roadmaps/python/content/plotly-dash@7zcpXN3krnS3tMRWVNIVe.md
  40. 2
      src/data/roadmaps/python/content/poetry@uXd2B01GVBEQNXQE8RATT.md
  41. 2
      src/data/roadmaps/python/content/pydantic@W3VALz5evFo1qqkQbMN1R.md
  42. 4
      src/data/roadmaps/python/content/pyenv@N5VaKMbgQ0V_BC5tadV65.md
  43. 2
      src/data/roadmaps/python/content/pypi@1dfOTOGsOk5XE3bnZs8Ht.md
  44. 7
      src/data/roadmaps/python/content/pyprojecttoml@GHKAY9gOykEbxkEeR30wL.md
  45. 4
      src/data/roadmaps/python/content/pyramid@DHtskqATeAVKgaazdhXKD.md
  46. 4
      src/data/roadmaps/python/content/pyre@9mFR_ueXbIB2IrkqU2s85.md
  47. 2
      src/data/roadmaps/python/content/pyright@1q9HWgu9jDTK757hTNOmE.md
  48. 2
      src/data/roadmaps/python/content/pytest@3FDwJpesfelEyJrNWtm0V.md
  49. 2
      src/data/roadmaps/python/content/regular-expressions@7t6mJBsaFMWPi7o9fbhhq.md
  50. 2
      src/data/roadmaps/python/content/sanic@9RGpqsj9jHz0_-r7EvRcw.md
  51. 4
      src/data/roadmaps/python/content/sets@soZFqivM3YBuljeX6PoaX.md
  52. 4
      src/data/roadmaps/python/content/sorting-algorithms@YNptpfK9qv2ovmkUXLkJT.md
  53. 4
      src/data/roadmaps/python/content/sphinx@maYNuTKYyZndxk1z29-UY.md
  54. 4
      src/data/roadmaps/python/content/static-typing@1PXApuUpPmJjgi12cmWo4.md
  55. 7
      src/data/roadmaps/python/content/testing@WQOYjuwKIWB2meea4JnsV.md
  56. 2
      src/data/roadmaps/python/content/threading@UIx0XYaOgXXlYbbQtjiPq.md
  57. 2
      src/data/roadmaps/python/content/tornado@zey2C6BdzsHJAlb_K3qrP.md
  58. 6
      src/data/roadmaps/python/content/tox@jPFOiwbqfaGshaGDBWb5x.md
  59. 2
      src/data/roadmaps/python/content/tuples@i7xIGiXU-k5UIKHIhQPjE.md
  60. 2
      src/data/roadmaps/python/content/type-casting@R9DQNc0AyAQ2HLpP4HOk6.md
  61. 6
      src/data/roadmaps/python/content/typing@o1wi39VnjnFfWIC8XcuAK.md
  62. 2
      src/data/roadmaps/python/content/unittest--pyunit@b4he_RO17C3ScNeUd6v2b.md
  63. 4
      src/data/roadmaps/python/content/uv@p3Frfs6oxpuciUzeCEsvb.md
  64. 4
      src/data/roadmaps/python/content/variables-and-data-types@dEFLBGpiH6nbSMeR7ecaT.md
  65. 2
      src/data/roadmaps/python/content/virutalenv@_IXXTSwQOgYzYIUuKVWNE.md
  66. 4
      src/data/roadmaps/python/content/yapf@tsh_vbhzKz1-H9Vh69tsK.md

@ -4,6 +4,6 @@ aiohttp is a Python 3.5+ library that provides a simple and powerful asynchronou
Visit the following resources to learn more:
- [@article@Official Docs](https://docs.aiohttp.org/en/stable/)
- [@official@aiohttp docs](https://docs.aiohttp.org/en/stable/)
- [@video@Python Asyncio, Requests, Aiohttp | Make faster API Calls](https://www.youtube.com/watch?v=nFn4_nA_yk8)
- [@article@Creating a RESTful API with Python and aiohttp](https://tutorialedge.net/python/create-rest-api-python-aiohttp/)

@ -5,6 +5,6 @@ Arrays store elements in contiguous memory locations, resulting in easily calcul
Visit the following resources to learn more:
- [@article@Arrays in Python](https://www.edureka.co/blog/arrays-in-python/)
- [@article@Linked List Python](https://realpython.com/linked-lists-python/)
- [@video@Array Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=QJNwK2uJyGs)
- [@video@Linked List Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=odW9FU8jPRQ)
- [@article@Linked List Python](https://realpython.com/linked-lists-python/)

@ -2,7 +2,7 @@
Asynchronous programming, supported by asyncio, allows code to be executed without blocking, using async and await. This is especially useful for I/O tasks such as networking or file manipulation, allowing thousands of connections to be handled without blocking the main thread.
Learn more about asynchronous programming in Python with the following resources:
Learn more from the following resources:
- [@official@Python AsyncIO library](https://docs.python.org/3/library/asyncio.html)
- [@article@Async IO in Python: A Complete Walkthrough](https://realpython.com/async-io-python/)

@ -2,4 +2,5 @@
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/)
- [@official@Getting Started with Black](https://black.readthedocs.io/en/stable/getting_started.html)
- [@official@Black Documentation](https://black.readthedocs.io/en/stable/)

@ -4,5 +4,6 @@ Python has a rich standard library of built-in modules that provide a wide range
Visit the following resources to learn more:
- [@official@Python Module Index](https://docs.python.org/3/py-modindex.html)
- [@article@Python Modules](https://www.digitalocean.com/community/tutorials/python-modules)
- [@article@Python - Built-In Modules](https://www.knowledgehut.com/tutorials/python-tutorial/python-built-in-modules)

@ -4,6 +4,6 @@ A class is a user-defined blueprint or prototype from which objects are created.
Visit the following resources to learn more:
- [@article@Classes in Python](https://docs.python.org/3/tutorial/classes.html)
- [@official@Classes in Python](https://docs.python.org/3/tutorial/classes.html)
- [@article@Python Classes and Objects](https://www.w3schools.com/python/python_classes.asp)
- [@video@Python OOP Tutorial](https://www.youtube.com/watch?v=ZDa-Z5JzLYM&list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc)

@ -1 +1,8 @@
# Code Formatting
Python code formatting is crucial for maintaining readability, consistency, and reducing errors. 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.
Visit the following resources to learn more:
- [@official@Pylint for Python](https://www.pylint.org/)
- [@official@Black Documentation](https://black.readthedocs.io/en/stable/)

@ -1,14 +1,13 @@
# 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.
Python has a rich ecosystem of packages and modules that can be used to get the most out of the language. A package is essentially a directory that contains multiple modules and subpackages. A module is a single file that contains a collection of related functions, classes, and variables. Modules are the basic building blocks of Python code organization. A module can be thought of as a container that holds a set of related code.
Here are some common Python packages that are widely used in various domains:
Visit the following resources to learn more:
- [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)
- [@official@requests](https://docs.python-requests.org/en/latest/)
- [@official@pathlib](https://docs.python.org/3/library/pathlib.html)
- [@official@asyncio](https://docs.python.org/3/library/asyncio.html)
- [@official@dataclasses](https://docs.python.org/3/library/dataclasses.html)
- [@official@python-dotenv](https://pypi.org/project/python-dotenv/)
- [@official@numpy](https://numpy.org/doc/stable/)
- [@official@pandas](https://pandas.pydata.org/docs/)

@ -4,4 +4,5 @@ Concurrency in Python allows multiple tasks to be executed simultaneously using
Learn more about concurrency using the following resources:
- [@official@Python Concurrency](https://realpython.com/python-concurrency/)
- [@official@Concurrent Execution](https://docs.python.org/3/library/concurrency.html)
- [@article@Python Concurrency](https://realpython.com/python-concurrency/)

@ -2,8 +2,6 @@
Conda is an open source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.
Conda as a package manager helps you find and install packages. If you need a package that requires a different version of Python, you do not need to switch to a different environment manager, because conda is also an environment manager. With just a few commands, you can set up a totally separate environment to run that different version of Python, while continuing to run your usual version of Python in your normal environment.
Visit the following resources to learn more:
- [@article@Conda Docs](https://docs.conda.io/en/latest/)
- [@official@Conda Documentation](https://docs.conda.io/en/latest/)

@ -1,10 +1,9 @@
# Conditionals
Conditional Statements in Python perform different actions depending on whether a specific condition evaluates to true or false. Conditional Statements are handled by IF-ELIF-ELSE statements and MATCH-CASE statements in Python.
Conditional Statements in Python perform different actions depending on whether a specific condition evaluates to true or false. Conditional Statements are handled by *if-elif-else* statements and MATCH-CASE statements in Python.
Visit the following resources to learn more:
- [@article@Python Conditional Statements: IF…Else, ELIF & Switch Case](https://www.guru99.com/if-loop-python-conditional-structures.html)
- [@article@Conditional Statements in Python](https://realpython.com/python-conditional-statements/)
- [@article@How to use a match statement in Python](https://learnpython.com/blog/python-match-case-statement/)
- [@article@W3Schools - Python Conditions and If statements](https://www.w3schools.com/python/python_conditions.asp)
- [@article@Python Conditional Statements](https://www.guru99.com/if-loop-python-conditional-structures.html)
- [@article@How to Use a Match Statement in Python](https://learnpython.com/blog/python-match-case-statement/)

@ -1,8 +1,9 @@
# Context Manager
Context managers are a contruct in Python that allows you to set up context for a block of code, and then automatically clean up or relase resources when the block is exited. It is most commonly used with the `with` statement.
Context Managers are a construct in Python that allows you to set up context for a block of code, and then automatically clean up or release resources when the block is exited. It is most commonly used with the `with` statement.
Visit the following resources to learn more:
- [@article@Context managers in Python](https://www.freecodecamp.org/news/context-managers-in-python/)
- [@article@Context managers](https://book.pythontips.com/en/latest/context_managers.html)
- [@official@Context Libraries](https://docs.python.org/3/library/contextlib.html)
- [@article@Context Managers in Python](https://www.freecodecamp.org/news/context-managers-in-python/)
- [@article@Context Managers](https://book.pythontips.com/en/latest/context_managers.html)

@ -4,5 +4,5 @@ Modules refer to a file containing Python statements and definitions. A file con
Visit the following resources to learn more:
- [@article@Python Modules](https://docs.python.org/3/tutorial/modules.html)
- [@official@Python Modules](https://docs.python.org/3/tutorial/modules.html)
- [@article@Modules in Python](https://www.programiz.com/python-programming/modules)

@ -4,6 +4,7 @@ A data structure is a named location that can be used to store and organize data
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated DSA Roadmap](https://roadmap.sh/data-structures-and-algorithms)
- [@article@Learn DS & Algorithms](https://www.programiz.com/dsa)
- [@video@Data Structures Illustrated](https://www.youtube.com/playlist?list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY)
- [@feed@Explore top posts about Algorithms](https://app.daily.dev/tags/algorithms?ref=roadmapsh)

@ -1,9 +1,10 @@
# Decorators
decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure. Decorators are usually called before the definition of a function you want to decorate.
Decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure. Decorators are usually called before the definition of a function you want to decorate.
Visit the following resources to learn more:
- [@article@Learn Decorators in Python](https://pythonbasics.org/decorators/)
- [@article@Python Decorators](https://www.datacamp.com/tutorial/decorators-python)
- [@video@Decorators in Python](https://www.youtube.com/watch?v=FXUUSfJO_J4)
- [@video@Python Decorators in 1 Minute](https://www.youtube.com/watch?v=BE-L7xu8pO4)

@ -4,4 +4,5 @@ In Python, a dictionary is a built-in data type that allows you to store key-val
Learn more from the following resources:
- [@official@Dictionaries in Python](https://docs.python.org/3/tutorial/datastructures.html#dictionaries)
- [@article@W3 Schools - Dictionaries](https://www.w3schools.com/python/python_dictionaries.asp)

@ -4,8 +4,8 @@ Django is a free and open-source, Python-based web framework that follows the mo
Visit the following resources to learn more:
- [@article@Django Official Website](https://www.djangoproject.com/)
- [@article@Official Getting Started Guide](https://www.djangoproject.com/start/)
- [@official@Django Website](https://www.djangoproject.com/)
- [@official@Getting Started](https://www.djangoproject.com/start/)
- [@article@Is Django Synchronous or Asynchronous?](https://stackoverflow.com/questions/58548089/django-is-synchronous-or-asynchronous)
- [@video@Python Django Tutorial for Beginners](https://www.youtube.com/watch?v=rHux0gMZ3Eg)
- [@article@Is Django synchronous or asynchronous?](https://stackoverflow.com/questions/58548089/django-is-synchronous-or-asynchronous)
- [@feed@Explore top posts about Django](https://app.daily.dev/tags/django?ref=roadmapsh)

@ -4,5 +4,5 @@ Python’s standard library comes equipped with a test framework module called d
Visit the following resources to learn more:
- [@article@Doctest module reference](https://docs.python.org/3/library/doctest.html)
- [@official@Doctest Module](https://docs.python.org/3/library/doctest.html)
- [@article@How To Write Doctests in Python](https://www.digitalocean.com/community/tutorials/how-to-write-doctests-in-python)

@ -6,5 +6,4 @@ Python exceptions are events that occur during the execution of a program and di
- [@article@Python Exceptions: An Introduction](https://realpython.com/python-exceptions/)
- [@article@Errors and Exceptions](https://docs.python.org/3/tutorial/errors.html)
- [@article@Python Exception Handling](https://www.programiz.com/python-programming/exception-handling)
- [@article@Python Try Except](https://www.w3schools.com/python/python_try_except.asp)
- [@video@Exception Handling in Python](https://www.youtube.com/watch?v=V_NXT2-QIlE)

@ -2,6 +2,6 @@
FastAPI is a Web framework for developing RESTful APIs in Python. FastAPI is based on Pydantic and type hints to validate, serialize, and deserialize data and automatically auto-generate OpenAPI documents.
- [@article@Official Documentation](https://fastapi.tiangolo.com/)
- [@official@FastAPI Documentation](https://fastapi.tiangolo.com/)
- [@video@Create an API with Fast-API (Full 19 Hour Course)](https://www.youtube.com/watch?v=0sOvCWFmrtA)
- [@feed@Explore top posts about FastAPI](https://app.daily.dev/tags/fastapi?ref=roadmapsh)

@ -4,6 +4,6 @@ Flask is a micro web framework written in Python. It is classified as a microfra
Visit the following resources to learn more:
- [@article@Flask - Official Website](https://flask.palletsprojects.com/)
- [@article@Flask - Official Tutorial](https://flask.palletsprojects.com/en/3.0.x/tutorial/)
- [@official@Flask Website](https://flask.palletsprojects.com/)
- [@official@Flask Tutorial](https://flask.palletsprojects.com/en/3.0.x/tutorial/)
- [@feed@Explore top posts about Flask](https://app.daily.dev/tags/flask?ref=roadmapsh)

@ -1,10 +1,17 @@
# Functions
In programming, a function is a reusable block of code that executes a certain functionality when it is called. Functions are integral parts of every programming language because they help make your code more modular and reusable.
In programming, a function is a reusable block of code that executes a certain functionality when it is called. Functions are integral parts of every programming language because they help make your code more modular and reusable. In Python, we define a function with the `def` keyword, then write the function identifier (name) followed by parentheses and a colon.
In Python, you define a function with the `def` keyword, then write the function identifier (name) followed by parentheses and a colon.
## Example
```python
def greet(name):
print(f"Hello, {name}!")
greet("Roadmap.sh")
```
Visit the following resources to learn more:
- [@official@Built-in Functions in Python](https://docs.python.org/3/library/functions.html)
- [@article@Python Functions - W3Schools](https://www.w3schools.com/python/python_functions.asp)
- [@article@Built-in Functions in Python](https://docs.python.org/3/library/functions.html)

@ -1,8 +1,6 @@
# Generator Expressions
Generator expressions are a concise way to create a generator using a single line of code in Python. They are similar to list comprehensions, but instead of creating a list, they create a generator object that produces the values on-demand, as they are needed.
Generator expressions are a useful tool for efficiently producing large sequence of values, as they allow you to create the generator without creating the entire sequence in memory at once. This tends to use less memory, especially for large sequences.
Generator expressions are a concise way to create a generator using a single line of code in Python. They are similar to list comprehensions, but instead of creating a list, they create a generator object that produces the values on-demand, as they are needed. Generator expressions are a useful tool for efficiently producing large sequence of values, as they allow you to create the generator without creating the entire sequence in memory at once. This tends to use less memory, especially for large sequences.
Visit the following resources to learn more:

@ -5,6 +5,6 @@ It is based on non-blocking IO (libevent/libev) and lightweight greenlets. Non-b
Visit the following resources to learn more:
- [@official@gevent — Official Website](http://www.gevent.org/)
- [@opensource@GitHub Repository](https://github.com/gevent/gevent)
- [@official@gevent Website](http://www.gevent.org/)
- [@opensource@gevent/gevent](https://github.com/gevent/gevent)
- [@article@gevent For the Working Python Developer](https://sdiehl.github.io/gevent-tutorial/)

@ -4,6 +4,6 @@ Hash Table, Map, HashMap, Dictionary or Associative are all the names of the sam
Visit the following resources to learn more:
- [@video@Hash Table Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=jalSiaIi8j4)
- [@article@Hash Tables and Hashmaps in Python](https://www.edureka.co/blog/hash-tables-and-hashmaps-in-python/)
- [@article@Build a Hash Table in Python](https://realpython.com/python-hash-table/)
- [@article@Hash Tables and Hashmaps in Python](https://www.edureka.co/blog/hash-tables-and-hashmaps-in-python/)
- [@video@Hash Table Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=jalSiaIi8j4)

@ -1,6 +1,6 @@
# Inheritance
Inheritance allows us to define a class that inherits all the methods and properties from another class.
Inheritance is a fundamental concept in object-oriented programming (OOP) that allows one class to inherit the properties and behavior of another class.
Visit the following resources to learn more:

@ -1,9 +1,8 @@
# Python Frameworks
Frameworks automate the common implementation of common solutions which gives the flexibility to the users to focus on the application logic instead of the basic routine processes.
Frameworks automate the common implementation of common solutions which gives the flexibility to the users to focus on the application logic instead of the basic routine processes. Frameworks make the life of web developers easier by giving them a structure for app development. They provide common patterns in a web application that are fast, reliable and easily maintainable.
Frameworks make the life of web developers easier by giving them a structure for app development. They provide common patterns in a web application that are fast, reliable and easily maintainable.
Visit the following resources to learn more:
- [@article@Pyscript: A Browser-Based Python Framework for the 99%](https://thenewstack.io/pyscript-a-browser-based-python-framework/)
- [@article@Pyscript: A Browser-Based Python Framework](https://thenewstack.io/pyscript-a-browser-based-python-framework/)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)

@ -4,10 +4,9 @@ Python is a high-level, interpreted, general-purpose programming language. Its d
Visit the following resources to learn more:
- [@official@Official Website: Python](https://www.python.org/)
- [@official@Python Website](https://www.python.org/)
- [@article@Python - Wiki](https://en.wikipedia.org/wiki/Python_(programming_language))
- [@article@Tutorial Series: How to Code in Python](https://www.digitalocean.com/community/tutorials/how-to-write-your-first-python-3-program)
- [@article@Python Wikipedia](https://en.wikipedia.org/wiki/Python_\(programming_language\))
- [@article@Googles Python Class](https://developers.google.com/edu/python)
- [@article@Google's Python Class](https://developers.google.com/edu/python)
- [@article@W3Schools - Python Tutorial](https://www.w3schools.com/python)
- [@article@Python](https://www.kaggle.com/learn/python)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)

@ -4,7 +4,7 @@ List comprehensions are a concise way to create a list using a single line of co
Visit the following resources to learn more:
- [@official@Python List Comprehensions](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)
- [@article@Python - List Comprehension](https://www.w3schools.com/python/python_lists_comprehension.asp)
- [@article@What Exactly are List Comprehensions in Python? - CodeGuage](https://www.codeguage.com/courses/python/lists-list-comprehensions)
- [@article@Python List Comprehensions Quiz - CodeGuage](https://www.codeguage.com/courses/python/lists-list-comprehensions-quiz)
- [@article@Python List Comprehensions](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)

@ -1,6 +1,6 @@
# Lists, Tuples, Sets, and Dictionaries
**Lists:** are just like dynamic sized arrays, declared in other languages (vector in C++ and ArrayList in Java). Lists need not be homogeneous always which makes it the most powerful tool in Python.
**Lists:** A list is just like dynamic sized arrays, declared in other languages (vector in C++ and ArrayList in Java). Lists need not be homogeneous always which makes it the most powerful tool in Python.
**Tuple:** A Tuple is a collection of Python objects separated by commas. In some ways, a tuple is similar to a list in terms of indexing, nested objects, and repetition but a tuple is immutable, unlike lists that are mutable.

@ -4,5 +4,5 @@ Modules refer to a file containing Python statements and definitions. A file con
Visit the following resources to learn more:
- [@article@Python Modules](https://docs.python.org/3/tutorial/modules.html)
- [@official@Python Modules](https://docs.python.org/3/tutorial/modules.html)
- [@article@Modules in Python](https://www.programiz.com/python-programming/modules)

@ -4,6 +4,6 @@ Multiprocessing utilizes multiple processes, each with its own GIL. This allows
Learn more about multiprocessing with the following resources:
- [@official@Official Documentation](https://docs.python.org/3/library/multiprocessing.html)
- [@official@Python Documentation](https://docs.python.org/3/library/multiprocessing.html)
- [@article@Multiprocessing in Python with Example](https://www.digitalocean.com/community/tutorials/python-multiprocessing-example)
- [@article@Multiprocessing in Python](https://realpython.com/python-multiprocessing/)

@ -2,4 +2,7 @@
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.
Visit the following resources to learn more:
- [@official@mypy documentation](https://mypy-lang.org/)
- [@opensource@python/mypy](https://github.com/python/mypy)

@ -4,5 +4,5 @@ Nose is another opensource testing framework that extends `unittest` to provide
Visit the following resources to learn more:
- [@article@Introduction to Nose](https://nose.readthedocs.io/en/latest/)
- [@official@Introduction to Nose](https://nose.readthedocs.io/en/latest/)
- [@article@Getting Started With Nose In Python](https://www.lambdatest.com/blog/selenium-python-nose-tutorial/)

@ -2,7 +2,9 @@
Package managers allow you to manage the dependencies (external code written by you or someone else) that your project needs to work correctly.
`PyPI` and `Pip` are the most common contenders but here are some other options available as well:
`PyPI` and `Pip` are the most common contenders but there are some other options available as well.
- [@opensource@**PIPX**](https://github.com/pypa/pipx) : Isolation-based app deployment, so you don't have to affect the system or user PIP libraries. It enables you to try individual python CLI tools without affecting other dependencies.
Visit the following resources to learn more:
- [@opensource@pypa/pipx](https://github.com/pypa/pipx)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)

@ -7,4 +7,6 @@ Python is a multi-paradigm programming language, which means that it supports se
- Functional programming: This paradigm is based on the idea of functions as first-class citizens, and it emphasizes the use of pure functions and immutable data. Python supports functional programming with features such as higher-order functions, lambda expressions, and generators.
- Aspect-oriented programming: This paradigm is based on the idea of separating cross-cutting concerns from the main functionality of a program. Python does not have built-in support for aspect-oriented programming, but it can be achieved using libraries or language extensions.
Python's support for multiple paradigms makes it a versatile and flexible language, and it allows developers to choose the paradigm that best fits their needs.
Visit the following resources to learn more:
- [@article@Python Paradigms](https://opensource.com/article/19/10/python-programming-paradigms)

@ -4,6 +4,7 @@ The standard package manager for Python is pip. It allows you to install and man
Visit the following resources to learn more:
- [@official@pip Documentation](https://pip.pypa.io/en/stable/installation/)
- [@article@Using Pythons pip to Manage Your Projects Dependencies](https://realpython.com/what-is-pip/)
- [@article@Python PIP Introduction](https://www.w3schools.com/python/python_pip.asp)
- [@feed@Explore top posts about PIP](https://app.daily.dev/tags/pip?ref=roadmapsh)

@ -2,6 +2,6 @@
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:
Learn more from the following resources:
- [@official@Pipenv Documentation](https://pipenv.pypa.io/en/latest/)

@ -1 +1,8 @@
# Plotly Dash
Plotly Dash is a Python framework that allows you to build analytical web applications. It's a high-level library that enables you to create interactive, web-based data visualization dashboards without requiring extensive knowledge of web development.
Visit the following resources to learn more:
- [@official@Plotly Dash Documentation](https://dash.plotly.com/)
- [@official@20 Minutes Tutorial](http://dash.plotly.com/tutorial)

@ -6,4 +6,4 @@ Poetry as a package manager helps you find and install packages. If you need a s
Visit the following resources to learn more:
- [@article@Poetry Docs](https://python-poetry.org/docs/)
- [@official@Poetry Docs](https://python-poetry.org/docs/)

@ -4,4 +4,4 @@ Pydantic is a python library for data validation and settings management using p
Learn more from the following resources:
- [@official@Pydantic documentation](https://docs.pydantic.dev/latest/)
- [@official@Pydantic Documentation](https://docs.pydantic.dev/latest/)

@ -2,6 +2,6 @@
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:
Learn more from the following resources:
- [@Official@pyenv GitHub Repository](https://github.com/pyenv/pyenv)
- [@opensource@pyenv/pyenv](https://github.com/pyenv/pyenv)

@ -4,7 +4,7 @@ PyPI, typically pronounced pie-pee-eye, is a repository containing several hundr
Visit the following resources to learn more:
- [@official@PyPI Official Website](https://pypi.org/)
- [@official@PyPI Website](https://pypi.org/)
- [@video@Getting Started with Pip and PyPI in Python](https://www.youtube.com/watch?v=bPSfNKvhooA)
- [@article@How to Publish an Open-Source Python Package to PyPI](https://realpython.com/pypi-publish-python-package/)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)

@ -1,10 +1,7 @@
# 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.
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:
Learn more from the following resources:
- [@official@Writing pyproject.toml files](https://packaging.python.org/en/latest/guides/writing-pyproject-toml/)

@ -4,6 +4,6 @@ Pyramid is a general, open source, web application development framework built i
Visit the following resources to learn more:
- [@article@Pyramid - Official Website](https://trypyramid.com/)
- [@article@Pyramid Documentation](https://trypyramid.com/documentation.html)
- [@official@Pyramid Website](https://trypyramid.com/)
- [@official@Pyramid Documentation](https://trypyramid.com/documentation.html)
- [@article@Pyramid Framework Introduction](https://www.tutorialspoint.com/python_web_development_libraries/python_web_development_libraries_pyramid_framework.htm)

@ -2,6 +2,6 @@
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:
Learn more from the following resources:
- [@official@pyre documentation](https://pyre-check.org/)
- [@official@pyre Documentation](https://pyre-check.org/)

@ -2,6 +2,6 @@
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:
Learn more from the following resources:
- [@official@Pyright Documentation](https://microsoft.github.io/pyright/)

@ -4,7 +4,7 @@ pytest is a mature full-featured Python testing tool that helps you write better
Visit the following resources to learn more:
- [@article@Official Docs](https://docs.pytest.org/)
- [@official@Pytest Docs](https://docs.pytest.org/)
- [@article@Pytest Tutorial](https://www.tutorialspoint.com/pytest/index.htm)
- [@article@Effective Python Testing With Pytest](https://realpython.com/pytest-python-testing/)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)

@ -4,6 +4,6 @@ A regular expression is a sequence of characters that specifies a search pattern
Visit the following resources to learn more:
- [@article@Regular Expressions in Python](https://docs.python.org/3/library/re.html)
- [@official@Regular Expressions in Python](https://docs.python.org/3/library/re.html)
- [@article@Python Regular Expressions](https://developers.google.com/edu/python/regular-expressions)
- [@article@Python - Regular Expressions](https://www.tutorialspoint.com/python/python_reg_expressions.htm)

@ -4,4 +4,4 @@ Sanic is a Python 3.7+ web server and web framework that's written to go fas
Visit the following resources to learn more:
- [@official@Sanic Official Website](https://sanic.dev/en/)
- [@official@Sanic Website](https://sanic.dev/en/)

@ -2,8 +2,8 @@
Python Set is an unordered collection of data types that is iterable, mutable, and has no duplicate elements. The order of elements in a set is undefined though it may consist of various elements. The major advantage of using a set, as opposed to a list, is that it has a highly optimized method for checking whether a specific element is contained in the set.
Visit the following resources to learn more:
Visit the following resources to learn more:
- [@article@An In-Depth Guide to Working with Python Sets](https://learnpython.com/blog/python-sets/)
- [@video@Python Sets tutorial for Beginners](https://www.youtube.com/watch?v=t9j8lCUGZXo)
- [@article@An W3Schools - Python Sets](https://www.w3schools.com/python/python_sets.asp)
- [@article@An In-Depth Guide to Working with Python Sets](https://learnpython.com/blog/python-sets/)

@ -1,8 +1,6 @@
# Sorting Algorithms
Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are in numerical or lexicographical order.
The importance of sorting lies in the fact that data searching can be optimized to a very high level, if data is stored in a sorted manner.
Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are in numerical or lexicographical order. The importance of sorting lies in the fact that data searching can be optimized to a very high level, if data is stored in a sorted manner.
Visit the following resources to learn more:

@ -2,4 +2,6 @@
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/).
Visit the following resources to learn more:
- [@official@Shpinx Website](https://www.sphinx-doc.org/en/master/)

@ -2,6 +2,6 @@
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:
Learn more from the following resources:
- [@article@Static typing in Python](https://typing.readthedocs.io/en/latest/index.html)
- [@official@Static Typing in Python](https://typing.readthedocs.io/en/latest/index.html)

@ -1 +1,8 @@
# Testing
Testing in programming means checking if your code works as expected. It's a systematic way to find and fix errors (bugs) before your code goes live. Imagine building a beautiful house without checking if the walls are straight or the roof doesn't leak—that's what coding without testing can feel like!
Visit the following resources to learn more:
- [@official@Unit Testing in Python](https://docs.python.org/3/library/unittest.html)
- [@article@Python Testing Tutorial](https://realpython.com/python-testing/)

@ -2,7 +2,7 @@
Multithreading allows multiple threads within a single process. However, because of GIL, threads cannot run in parallel on different cores, which makes multithreading suitable for I/O tasks (e.g., network requests) but not for computational tasks.
Learn more about it from the following resources:
Learn more from the following resources:
- [@official@Python Threading Library](https://docs.python.org/3/library/threading.html)
- [@article@Introduction to Threading in Python](https://realpython.com/intro-to-python-threading/)

@ -4,6 +4,6 @@ Tornado is a scalable, non-blocking web server and web application framework wri
Visit the following resources to learn more:
- [@article@Tornado — Official Website](https://www.tornadoweb.org/)
- [@official@Tornado Website](https://www.tornadoweb.org/)
- [@article@A Step-by-Step Tutorial on Python Tornado](https://phrase.com/blog/posts/tornado-web-framework-i18n/)
- [@video@Tornado Python Framework](https://www.youtube.com/watch?v=-gJ21qzpieA)

@ -1,7 +1,7 @@
# tox - python testing
# Tox
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.
Tox is a tool for automating test environment management and testing against multiple interpreter configurations. It is particularly useful for Python codebase that need to support multiple versions of Python.
Learn more about tox from the following resources:
- [@official@tox documentation](https://tox.wiki/en/)
- [@official@Tox Documentation](https://tox.wiki/en/)

@ -2,4 +2,4 @@
Tuples are immutable sequences, meaning that once a tuple is created, its elements cannot be changed. Tuples are often used to store related pieces of information. They are defined by placing the elements inside parentheses () separated by commas.
- [@article@Tuples Documentation](https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences)
- [@official@Tuples Documentation](https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences)

@ -1,4 +1,4 @@
## Typecasting
# Typecasting
The process of converting the value of one data type (integer, string, float, etc.) to another data type is called type conversion. Python has two types of type conversion: Implicit and Explicit.

@ -1,5 +1,5 @@
# typing
# 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.
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)
- [@official@Typing Module](https://docs.python.org/3/library/typing.html)

@ -4,6 +4,6 @@ PyUnit is an easy way to create unit testing programs and UnitTests with Python.
Visit the following resources to learn more:
- [@official@PyUnit Docs](https://wiki.python.org/moin/PyUnit%C2%A0)
- [@article@How To Use unittest to Write a Test Case for a Function in Python](https://www.digitalocean.com/community/tutorials/how-to-use-unittest-to-write-a-test-case-for-a-function-in-python)
- [@article@PyUnit Docs](https://wiki.python.org/moin/PyUnit%C2%A0)
- [@article@A Gentle Introduction to Unit Testing in Python](https://machinelearningmastery.com/a-gentle-introduction-to-unit-testing-in-python/)

@ -2,6 +2,6 @@
uv is an "extremely fast" python package installer and resolver.
Learn more about it using the following resources:
Learn more from the following resources:
- [@official@uv GitHub Repository](https://github.com/astral-sh/uv)
- [@opensource@astral-sh/uv](https://github.com/astral-sh/uv)

@ -1,4 +1,4 @@
## Variables
# Variables
Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.
@ -7,7 +7,5 @@ Visit the following resources to learn more:
- [@article@Variables in Python](https://realpython.com/python-variables)
- [@article@W3Schools — Python Variables](https://www.w3schools.com/python/python_variables.asp)
- [@article@Python Data Types](https://www.w3schools.com/python/python_datatypes.asp)
- [@article@Basic Data Types in Python](https://realpython.com/python-data-types/)
- [@article@Python for Beginners: Data Types](https://thenewstack.io/python-for-beginners-data-types/)
- [@video@Python Variables and Data Types](https://www.youtube.com/playlist?list=PLBlnK6fEyqRhN-sfWgCU1z_Qhakc1AGOn)

@ -2,6 +2,6 @@
`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:
Learn more from the following resources:
- [@official@Virtual Environments](https://virtualenv.pypa.io/en/latest/)

@ -2,6 +2,6 @@
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.
Learn more from the following resources:
- [@official@yapf Documentation](https://github.com/google/yapf)
- [@opensource@google/yapf](https://github.com/google/yapf)

Loading…
Cancel
Save