├── Python101 └── README.md ├── Python201 └── README.md ├── Python301 └── README.md ├── README.md ├── _layouts └── default.html ├── assets ├── css │ └── style.scss └── pylabs.png └── jekyll-theme-hacker.gemspec /Python101/README.md: -------------------------------------------------------------------------------- 1 | # Python 101 & Hands on Labs 2 | 3 | - Introduction to Python 4 | - History of Python 5 | - Python Installation & Setup #Lab 6 | - Creating Variables #Lab 7 | - Datatypes 8 | - Mutable & Immutable objects 9 | - Collection Objects 10 | - List 11 | - Tuple 12 | - Dict 13 | - Set 14 | - Operators & Comparisons 15 | - Working with Strings 16 | - Working with Lists 17 | - Working with Dictionaries 18 | - Working with Sets 19 | - Conditionals (if/else) 20 | - Loops (for, while) 21 | - Input/Output 22 | - File handling 23 | - Functions 24 | - arbitrary arguments 25 | - default arguments 26 | - Lambda functions 27 | - Map reduce & filer 28 | - Variable Scoping 29 | - Comprehenstions 30 | - Modules & Packages 31 | - Working with Imports 32 | - Exception Handling 33 | - Use of \__name__ == "\__main__" 34 | - Math module 35 | - OS module 36 | - Sys module 37 | - Datetime module 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Python201/README.md: -------------------------------------------------------------------------------- 1 | # Python 201 & Hands on Labs 2 | 3 | - Docstrings 4 | - Virtual Environments 5 | - Generators 6 | - Iterators 7 | - Closures 8 | - Decorators 9 | - Object Oriented Programming 10 | - Classes 11 | - Objects 12 | - What is self? 13 | - Constructor 14 | - Class & Instance variable 15 | - Diff between \__new__ & \__init__ 16 | - Composition 17 | - Inheritance 18 | - Multi-level Inheritance 19 | - Multiple Inheritance 20 | - Use of Super 21 | - Encapsulation 22 | - Polymorphism 23 | - Class method, Static Method & Instance Method 24 | - Method Resoltion Order 25 | - ConfigParser Module 26 | - Logging Module 27 | - Re Module 28 | - SQLlite module 29 | - Connecting to Databases 30 | - Multithreading & Multiprocessing 31 | - Process vs Threads 32 | - Threading Limitations 33 | - Ways of creating Threads 34 | - Creating worker pool 35 | - Running Processes 36 | - Using multiprocessing Pool 37 | - Sharing state between Threads 38 | - Sharing state between Processes 39 | - Python Debugger Module (pdb) 40 | - Introduction to Unit testing 41 | - Mocking 42 | - Fixtures 43 | - Linters 44 | - Request Module 45 | - Intro to http.server 46 | - XML Parser 47 | - CSV Module 48 | - Argparse Module 49 | - Subprocess Moduile 50 | - Garbadge Collection 51 | - Collections module 52 | - Usage of pip -------------------------------------------------------------------------------- /Python301/README.md: -------------------------------------------------------------------------------- 1 | # Python 301 & Hands on Labs 2 | 3 | - Pickle Module 4 | - Descriptors 5 | - Class based Decorators 6 | - Co-routines 7 | - Asyncio Module (async & await) 8 | - Object Oriented Programming 9 | - Private & Protected Attributes 10 | - Interfaces 11 | - Abstract Classes 12 | - Meta classes 13 | - Use of \__slots__ 14 | - Use of \__call__ 15 | - Dataclasses 16 | - Custom Context Managers 17 | - Static Typing 18 | - Memory Management in Depth 19 | - Dictionary Implementation 20 | - CPython Optimizations 21 | - WSGI Protocol 22 | - Advance Multithreading & Multiprocessing 23 | - TBA(to be added) 24 | - GIL 25 | - Python Design Pattersn 26 | - Decorator Pattern 27 | - Observer Pattern 28 | - Strategy Pattern 29 | - State Pattern 30 | - Singleton Pattern 31 | - Code Profiling 32 | - Socket Programming 33 | - SMTP module (Sending emails) 34 | - SQLAlchemy 35 | - Cronjobs/Scheduling using Python 36 | - Ftplib & Paramiko 37 | - Python Packaging 38 | - Python Egg 39 | - Python Wheels 40 | - Python Gotchas 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Welcome to PyLabs 2 | 3 | [![PyLabs](assets/pylabs.png)](http://pylabs.collabnix.com/) 4 | 5 | 6 | 7 | PyLabs brings you tutorials that help you get hands-on experience using Python. Here you will find complete documentation of labs and tutorials that will help you, no matter if you are a beginner, Pro or expert. 8 | 9 | # Getting Started in 3 Simple Steps 10 | 11 | - Join 4300+ Collabnix Labs Contributors in 2 mins via [Collabnix Slack Channel](https://join.slack.com/t/collabnix/shared_invite/enQtODgyMjk0MzU5ODQyLTM1MGI0M2EzMGM3MTNlYTI0OGFiNjY2NzI1OTY2N2E1Yjk1N2NjZDMzZDk1NmYyMTJiYTA1ODMyNDNlNzc3MjU) 12 | 13 | - Fork, Contribute & Share via [Python GITHUB Repository](https://github.com/collabnix/python) 14 | 15 | - [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/fold_left.svg?style=social&label=Follow%20%40collabnix)](https://twitter.com/collabnix) 16 | 17 | 18 | # Python Hands-on Workshop/Labs 19 | 20 | - [Python 101](Python101/README.md) 21 | 22 | - [Python 201](Python201/README.md) 23 | 24 | - [Python 301](Python301/README.md) 25 | 26 | # REST API Development Hands-on Workshop/Labs 27 | 28 | - Flask & REST API development 29 | - Databases & ORMs 30 | - Authentication & Authorization 31 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {% if site.google_analytics %} 6 | 7 | 13 | {% endif %} 14 | 15 | 16 | {% seo %} 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 46 | 47 |
48 | 49 | {{ content }} 50 | 51 | 52 | 73 |
74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /assets/css/style.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | @import 'jekyll-theme-cayman'; 5 | -------------------------------------------------------------------------------- /assets/pylabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/collabnix/pylabs/831d647dd941739c45d4ff89a9c13fd7c3674de9/assets/pylabs.png -------------------------------------------------------------------------------- /jekyll-theme-hacker.gemspec: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | Gem::Specification.new do |s| 4 | s.name = 'jekyll-theme-hacker' 5 | s.version = '0.1.1' 6 | s.license = 'CC0-1.0' 7 | s.authors = ['Ajeet Raina', 'GitHub, Inc.'] 8 | s.email = ['ajeetraina@gmail.com'] 9 | s.homepage = 'https://collabnix.github.io/pylabs/' 10 | s.summary = 'pylabs' 11 | 12 | s.files = `git ls-files -z`.split("\x0").select do |f| 13 | f.match(%r{^((_includes|_layouts|_sass|assets)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i) 14 | end 15 | 16 | s.platform = Gem::Platform::RUBY 17 | s.add_runtime_dependency 'jekyll', '> 3.5', '< 5.0' 18 | s.add_runtime_dependency 'jekyll-seo-tag', '~> 2.0' 19 | s.add_development_dependency 'html-proofer', '~> 3.0' 20 | s.add_development_dependency 'rubocop', '~> 0.50' 21 | s.add_development_dependency 'w3c_validators', '~> 1.3' 22 | end 23 | --------------------------------------------------------------------------------