/python-resource-inventory

A Python Developer Study repository to facilitate your search for sites related to the area through the concept of resource inventory.

Primary LanguagePythonMIT LicenseMIT

Python Resource Inventory đź’»

A Python repository to facilitate studies.

[WARNING] The links cited here were extracted from various sites and are for study use, I am sharing them so that as well as I can learn, I hope I have not infringed any copyright; and if your website, repository or any other link is here and the owner would not like it to be, please contact us so you can withdraw !THANKS FOR UNDERSTANDING!

*This part is for Young Padawans or Jedi in Python *



TO-DO

repository updates:

  • Open sites and verify that they are active and that they are part of the repository.
  • Add [EN-US] or [PT-BR] to the links

GO TO INDEX


What is Python

Below is a list of favorite sites that have a variety of topics related to Python Language in general:

Tools link to learn: developer script

Guide: Guide: How to contribute to Open Source

Skills: Developer Survey Results 2019

Books: The 25 most recommended programming books of all-time

Open-Source: How to contribute to an open-source project without writing any code

Open-Source Libraries: 34 Amazing Python Open Source Libraries for the Past Year (v.2019)

Open-Source Projects : 36 Amazing Python Open Source Projects (v.2019)

10 Extraordinary GitHub Repos for All Developers

First

Learn Python:

You don't need to know Python in PRO mode, for example, but to enter this world you need certain basic knowledge:

Frameworks Python: Falcon, Starlette (fastapi), Quart, Python on Wheels, weppy, morepath.

Second

Prepare the PC:

I suggest Anaconda Navigator for those who are starting their studies in this field. It is Open Source for the programming languages Python and R. And it has all the necessary tools.

Valuable Tips

Below are some tips for you to go on your way:

  1. Know the trail made by Leonardo Ferreira who in 1 year and a half became a data scientist and is in the 30th position as a data scientist [Kaggle](https://www.linkedin.com/pulse/data-science- from-zero-kaggle-kernel-master-leonardo-ferreira /).
  2. Organize your studies and don't mix or try to absorb many of the teachings.
  3. Have profiles on Linkedin, GitHub, Kaggle and Hacker Rank. Have a Twitter developer account for text mining.
  4. Go deeper by drinking teaching from various sources! example: when studying Python, read e-books and several other materials from different sources because each course has a different didactic and if you "pack" in some ok subject, it is common: look for other didactics until you understand.
  5. If you want and can, invest in paid courses and specializations.
  6. Use and learn with concept maps.

Kind of obligatorily, understand:

  • Statistics.
  • Univariate analysis.
  • Bivariate analysis.
  • Qualitative and Quantitative Variables.
  • Basic mathematical requirements ..
  • Notions of analytical and numerical optimization.
  • Discover tools for data extraction on the web.
  • Basics of linear algebra, eigenvectors, eigenvalues, base changes, among others.
  • It is worth knowing the least about: Amazon AWS server and Amazon QuickSight and Microsoft Power BI.
  • And also: version control, markdown, git, GitHub.

Like anything you want to learn, you should get involved with it, and a tip is always don't try to understand everything at once, take it easy. Frequent communities. The Python community in Brazil is one of the strongest and most active I have ever seen.

And that's it: this is the Area's Introductory Package. You are now able to start experimenting with the area.

Carrer

GO TO INDEX

Comments:

  • The above script is not the only and not necessarily the best way to learn; it reflects what I intend to acquire as knowledge and I have noted it in meetings and lectures and conversations in my trajectory in the area.

GO TO INDEX


Python Principal

Below is a list of sites that have an introduction to what Python is:

GO TO INDEX


Importants PEP

Style Guide for Python Code:

  • PEP 8 -- Style Guide for Python Code - This document gives coding conventions for the Python code comprising the standard library in the main Python distribution.
  • PEP 513 -- A Platform Tag for Portable Linux Built Distributions - This PEP proposes the creation of a new platform tag for Python package built distributions, such as wheels, called manylinux1_{x86_64,i686} with external dependencies limited to a standardized, restricted subset of the Linux kernel and core userspace ABI.
  • PEP 257 -- Docstring Conventions - This PEP documents the semantics and conventions associated with Python docstrings.
  • PEP 465 -- A dedicated infix operator for matrix multiplication - This PEP proposes a new binary operator to be used for matrix multiplication, called @. (Mnemonic: @ is * for mATrices.)

GO TO INDEX


Frameworks

Popular Python Frameworks:

  • Django - Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  • Flask - Flask is a lightweight WSGI web application framework.
  • Tornado - Web framework and asynchronous networking library.
  • Blacksheep - BlackSheep is an asynchronous web framework to build event based, non-blocking Python web applications.
  • Quart - Quart is a Python ASGI web microframework.
  • Fastapi - FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
  • Starlette - Starlette is a lightweight ASGI framework/toolkit, which is ideal for building high performance asyncio services.
  • Aiohttp - Async http client/server framework.
  • Responder - Responder is a LLMNR, NBT-NS and MDNS poisoner, with built-in HTTP/SMB/MSSQL/FTP/LDAP rogue authentication server supporting NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP and Basic HTTP authentication.
  • Sanic - Sanic is a Flask-like Python 3.5+ web server that's written to go fast.
  • Cherrypie - Chrome extension for crafting the perfect pull request.
  • Bottle - Bottle is a fast, simple and lightweight WSGI micro web-framework for Python.
  • Falcon - Bare-metal Python web API framework for building very fast app backends and microservices.
  • Pyramid - Pyramid is a small, fast, down-to-earth, open source Python web framework.
  • Nameko - Python framework for building microservices.
  • Twisted - Event-driven network programming engine.
  • Web.py - Minimalist web framework for Python.
  • Zappa - Framework for building and deploying server-less Python event-driven and web applications.
  • Connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support.
  • Assembly - A Pythonic Object-Oriented Web Framework built on Flask.
  • bottery - A framework for building bots
  • JustPy - JustPy is an object-oriented, component based, high-level Python Web Framework that requires no front-end programming.
  • Ray - Ray is a fast and simple framework for building and running distributed applications.
  • Airtest - Cross-Platform UI Automation Framework for Games and Apps.
  • Sonic - Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond's time.
  • Masonite - The modern and developer centric Python web framework that strives for an actual batteries included developer tool with a lot of out of the box functionality with an extremely extendable architecture.
  • Eve - Eve is an open source Python REST API framework designed for human beings. It allows to effortlessly build and deploy highly customizable, fully featured RESTful Web Services. Eve offers native support for MongoDB, and SQL backends via community extensions.
  • Flama - Flama aims to bring a layer on top of Starlette to provide an easy to learn and fast to develop approach for building highly performant GraphQL and REST APIs.
  • Curio - Curio is a coroutine-based library for concurrent Python systems programming. It provides standard programming abstractions such as as tasks, sockets, files, locks, and queues.
  • TurboGears 2 - Automation Testing.
  • ROBOT - The Web Framework that scales with you.
  • Flask-Meld - Meld is a framework for Flask to meld your frontend and backend code.

GO TO INDEX


Libraries

The following are some libraries dedicated to the study in Basic Python. There are several libraries that can be used, facilitating development. Some must-have libraries for learning:

  • Dramatiq - Dramatiq is a distributed task processing library for Python with a focus on simplicity, reliability and performance.
  • pydocstyle - pydocstyle is a static analysis tool for checking compliance with Python docstring conventions.
  • Faust - Faust is a stream processing library, porting the ideas from Kafka Streams to Python.
  • jsbeautifier - JavaScript unobfuscator and beautifier.
  • pure-python-adb - Pure python implementation of the adb client.
  • retry-requests - Make requests's sessions auto-retry on failure.
  • micawber - A small library for extracting rich content from urls.
  • aioadb - A minimal async adb implementation.
  • Authlib - The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
  • Numpy - Library for arrays and mathematical functions.
  • Pandas - It's an Open Source library, licensed by BSD, which provides high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
  • CharmPy - It's a high level parallel and distributed programming structure with a simple and powerful API, based on Python migrable objects and remote method invocation; built on top of an adaptable C / C ++ runtime system that provides speed, scalability and dynamic load balancing.
  • Urllib - It's a Python module for searching URLs.
  • Beautiful Soup - It's a Python package for analyzing HTML and XML documents.
  • pywebview - pywebview is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its own native GUI window.
  • Masonite - Masonite is perfect for beginner developers getting into their first web applications as well as experienced devs that need to utilize the full potential of Masonite to get their applications done.
  • Toolz - A set of utility functions for iterators, functions, and dictionaries.
  • Hetty - HTTP toolkit for security research.
  • Pampy - Pattern Matching for Python.
  • pytest - Automation Testing.
  • PyUnit - Automation Testing.
  • behave - Automation Testing.
  • Splinter - Automation Testing.
  • Streamlit - The fastest way to build and share data apps.

GO TO INDEX


Environments Dependency

The following are some environments dependency dedicated to manage in Basic Python. Some must-have libraries for learning:

  • Virtualenv - It's a tool for creating isolated Python environments. The basic problem to be solved is one of the dependencies and versions and indirectly permissions.
  • Pdm - A modern Python package manager with PEP 582 support.
  • Poetry - Python dependency management and packaging made easy.
  • Pipx - Install and Run Python Applications in Isolated Environments.
  • DepHell - Python project management. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.
  • Pyenv - Simple Python version management.
  • Pip - It's a package management system used to install and manage software packages written in the Python programming language.
  • Asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

GO TO INDEX


Graphical User Interface GUI

allows interaction with digital devices through graphic elements such as icons and other visual indicatorsg:

GO TO INDEX


DDD

Domain-driven design is the concept that the structure and language of software code should match the business domain:

GO TO INDEX


Mentors and Role Models

It is always nice to add a short column for role models nearby that inspire you:

GO TO INDEX


Learning Platforms

Study Links.


Open and Massive Online Course

Below is a list of sites that offer a variety of free and paid courses:

  • edX - Flexible programming learning.
  • Coursera - Learn skills from the best universities for free.
  • Udacity - Courses and Certifications.
  • Edraak - Edraak, is a massive open online course platform (MOOC), which is an initiative of the Queen Rania Foundation (QRF).
  • Open HPI - MOOC´S for Reading and Learning.
  • MIT OPEN COURSEWARE - It is a web-based publication of virtually all MIT course content, open and available to the world.
  • cK-12 - 100% free and personalized learning for each student.
  • Udemy - The largest selection of courses in the world.
  • SKILLSHARE - Skillshare is an online learning community with thousands of classes in design, business, technology and more.
  • Codecademy - Learn the technical skills you need for the job you want.
  • P2PU - connects educational resources open to career paths in an equitable and empowering way.
  • Saylor Academy - Saylor Academy is a non-profit initiative working since 2008 to offer free and open online courses for everyone who wants to learn.
  • Academic Earth - Find free online courses, lectures and videos from top colleges like Yale, MIT and Stanford.
  • Learn To Be - Non-profit organization that brings 1-on-1, online tutoring for young people.
  • Floqq - FLOQQ is the largest Spanish-language video search engine course.
  • Course Talk [CA-ES] - Discover the best courses on the web based on your interests and student feedback.
  • Marginal Revolution University - Creates free and engaging economic videos taught by top professors.
  • Alison - Free online courses with certificates.
  • SOLYD - Online training and courses.
  • Google for Education - Google's Python class.
  • VEDUCA - Here you study for free and you can earn your certificate for a price that fits in your pocket.
  • Fundação Bradesco - The Virtual School is an educational portal that offers free, free, distance learning courses.
  • Khan Academy - Offers hands-on exercises, instructional videos and a personalized learning panel that enables students to study at their own pace inside and outside the classroom.
  • Teaching Channel - Free courses and books in the public domain.
  • Microsoft Virtual Academy - Free Microsoft training provided by experts.
  • Duolingo - Learn languages for free, forever.
  • e-stude - E-learning platform aimed at training software development teams.
  • Dataquest - Learn Python, R, SQL, data visualization, data analysis and machine learning.

GO TO INDEX


Books

Below is a list of paid and free books:

GO TO INDEX


Course Links

Courses related to Python Language:

GO TO INDEX


Blogs

Below is a list of personal and company websites aimed at Python Language in general:

  • Post-Graduate - Content and daily humor for graduate students.
  • MDM - A Geeks Point Of View - Technology blog on master data management and every buzz around it.
  • Louis Dorard - A tech guy with a penchant for the web and data, big and small.
  • HackerRank - It is a technology hiring platform that is the standard for assessing the skills of developers for more than 1,000 companies worldwide.
  • PyData - Forum for the international community of users and developers of data analysis tools to share ideas and learn from each other.
  • freeCodeCamp - Learn new developer skills.
  • Bitfactor - Thoughts about design, technology and other very important things.
  • The Fashion Robot - About inspiring technologies in the fashion industry.
  • Ponto Tech Hipsters - Podcast where Caelum and da Alura enters into heated discussions about programming, design, ux, gadgets, startups and the latest technology.

GO TO INDEX


YouTube

Below is a list of YouTube Channels, Videos I liked and Playlist to study and keep up to date:

  • Channel Google Open Online Education - Online courses offered by Google and tools that allow you to create your own courses.
  • Channel Python for Zombies - Programming for Python beginners.
  • Channel eXcript - Programming Video Lessons.
  • Channel Pycursos - Python specialists in the most diverse areas, from Web Development to Data Science and Big Data.
  • Channel Sentdex - Python programming tutorials, going beyond the basics, learn about machine learning, finance, data analysis, robotics, web development, development games and more.
  • Channel PyCon 2019 - The international community for the Python programming language holds several conferences.
  • Channel Eduardo Mendes - A channel about Python and software development in general.
  • Channel Moacir Moda - Moacir Moda, developer and founder of Codevance.
  • Channel Lucas Montano - Content about career in technology and programming.
  • Channel CodeShow - This is the "CodeShow" channel where I, Bruno Rocha, Software Engineer at Red Hat, share experiences with a focus on code.
  • Channel SpaceDevs - Here at SpaceDevs (Space for developers) We will open the window that gives you access to all our content.
  • Channel Zero Ignorance - The Zero Ignorance channel seeks to share free knowledge with everyone who was willing to learn and develop.
  • Playlist Video Course - Python 3 World 1 Fundamentals Course.
  • Playlist prof. Ronaldo Ramos, from IFET-CE - Programming Logic Using Python Full Course.
  • Playlist BĂłson Treinamentos - Python Programming Course.
  • Playlist Ignorancia_Zero - Python classes.
  • Playlist Marcos Castro - Python 300 course.

GO TO INDEX


Magazines

Below is a list of favorite sites to stay informed:

GO TO INDEX


Medium

Magazine related links:

GO TO INDEX


Poadcast

Below are lists with more content that increase the capacity to study:

GO TO INDEX


Searches

Download Related Links.


Tutorials

Computing Tutorials:

GO TO INDEX


Tools

Below is a list of tools that make the job easier:

GO TO INDEX


Download

Below is a list of downloads:

  • LibGen ou Library Genesis - It's a search engine for scientific articles and fiction books, has more than 2 million scientific articles (which are published by researchers from universities around the world) and 2.7 million fiction books in several languages, mainly English, but it is possible to find content in Portuguese.
  • Sci-Hub - It's an online repository with more than 64 million scientific articles, available on its website. New documents are sent daily through the domains of educational institutions, which bypass systems that restrict access to Internet users without paid records on their websites. It was founded by a neuroscientist from Kazakhstan. To get a scientific article, just place the DOI (Digital Object Identifier - a standard for identifying digital objects) in the search field and the website will redirect you to purchase the article. A good website for picking up DOIs is at ScienceDirect.
  • Scielo - Scientific articles in Portuguese Scielo is a digital library of FAPESP, CNPq, Pan American Health Organization, Virtual Health Library and the Support Foundation to the Federal University of SP, where thousands of articles from all areas can be found in Portuguese and easily downloaded.
  • Z-Library - The Z library is one of the largest online libraries in the world. We aim to make literature accessible to everyone.
  • startpage - The world's most private search engine.
  • Open Library - This site allows you to borrow digital books in English.
  • ScanLibs - IT Ebooks Free Download PDF, EPUB, MOBI! Elearning Video For Programming Free Download MP4, AVI!
  • All IT ebooks - Free IT eBooks Download.

GO TO INDEX


Linters

Aimed at discovering the best linting tools for Python:

Used based on the Lecture: Python Brasil 13 - Preventing Headaches with Linters and Automatic Checks - Vinta Software


Linters:

Combine all using: prospector or coala or black


Notes:


When to run linters?

  1. Moment of implementation
  2. Commit moment pre-commit.com
  3. Moment of continuous integration
  4. Moment of code review

Search:

Find, install and publish Python packages with the Python package index via PyPI

Find more linters at: Python Linters and Code Analysis tools curated list


Read more about:

GO TO INDEX


GitHub Projects

Python study projects:

GO TO INDEX


Good Separate Texts

Links from different sites:

GO TO INDEX


Awesome Lists

Below are lists with more content that increase the capacity of this list to x1000:

GO TO INDEX


Competitions

Below is a list of sites to put Python knowledge into practice:

  • Exercise List for Python - This is a list with suggestions for programs for beginners in programming.
  • URI Online Judge - The main objective is to promote the practice of programming and knowledge sharing.

GO TO INDEX


Notes

Space to add Python Language notes:

ASYNCIO

async / await -> create an object of type coroutine

to execute a coroutine it is necessary to pass it into asyncio.run() (eventloop?)

task -> asyncio.create_task() executes the concurrent coroutines

awaitables -> There are three main types of awaitalbes objects: corountines, tasks and futures

coroutines -> can be awaited from other coroutines

tasks -> are used to schedule coroutines concurrently

futures -> is a low-level awaitable that represents an eventual result of an asynchronous operation.

GO TO INDEX



Remember!

Copying everything from StackOverflow, doesn't make you understand anything, it just makes you a good copier!