Modern Python Projects

8h 45m 6s
English
Paid

Course description

There's a long way from writing your first print("hello world") to shipping a Python application. Installing new packages without breaking others, choosing the best tools that will still be maintained in a few years, figuring out what's the "Pythonic" code that everyone keeps talking about, moving files around to avoid import errors, writing tests even when you don't have time, or making sure that your documentation is up to date - those are some of the struggles that you might encounter.

Read more about the course

This course helps you solve those problems. It takes you through all the steps of a typical Python project - from setting up a good project structure, managing dependencies, adding tests, writing documentation, setting up continuous integration, and finally - deploying it. 

This course explains how to improve your code with various static analysis tools. It gives you the tools for installing new packages or updating the Python version without messing it up. It shows you how to build popular types of Python projects like a CLI application or Python package. It even helps you configure the VS Code editor for the best experience when coding in Python! 

This course covers everything you need to know to develop, run, and deploy full web apps on top of FastAPI. Just some of the topics include:

  • VS Code + Python: A current and growing Python code editor
  • Manage Python and packages in the real world
  • Create a Python project with cookiecutter templates
  • Managing project dependencies with tools like pip, pip-tools, poetry, and more
  • See what "good" Python code should look like
  • Test your Python code with pytest
  • Documenting your code with Sphinx
  • Perform some automatic checks on your code with continuous integration
  • How to build a CLI application that you can run in your terminal
  • Create a Python module/library that can be published on PyPI
  • Make a standalone executable application that you can send to someone without Python dependencies
  • Deploying your application to a Platform as a Service tool called Heroku
  • Create a simple Docker image and deploy it to one of the popular Infrastructure
  • And much more

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 176 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Modern Python Projects

0:00
/
#1: 01-welcome

All Course Lessons (176)

#Lesson TitleDurationAccess
1
01-welcome Demo
01:30
2
02-what-you-will-learn
06:25
3
03-what-you-need-to-know
00:42
4
04-meet-your-instructor
00:44
5
05-disclaimer-about-tools-and-services-in-this-course
00:43
6
01-python
00:47
7
02-code-editor
00:33
8
03-source-code
00:25
9
01-choosing-a-code-editor
04:36
10
02-installing-vscode
00:25
11
03-installing-Python-extension
05:55
12
04-pylance-and-a-language-server-protocol
02:53
13
05-quick-overview-of-vs-code
10:48
14
06-running-python-code
03:08
15
07-debugging-python-code
03:56
16
08-testing-python-code
04:53
17
09-snippets
04:28
18
10-plugins
08:22
19
01-dont-change-system-python
01:40
20
02-pyenv
01:10
21
03-installing-pyenv
03:21
22
04-installing-pyenv-win-Windows
00:58
23
05-installing-new-python-version-with-pyenv
05:18
24
06-3-levels-of-pyenv
03:48
25
07-troubleshooting-pyenv
01:41
26
08-bonus-how-pyenv-works
02:40
27
09-bonus-is-there-pyenv-for-node-go-etc
00:45
28
10-the-problem-with-pip
05:20
29
11-what-are-virtual-environments
01:28
30
12-creating-a-virtual-environment
02:14
31
13-using-a-virtual-environment
01:28
32
14-typical-workflow-with-virtual-environment
02:28
33
15-virtualenvwrapper-a-virtual-environments-management-tool
10:04
34
16-isolate-global-packages-with-pipx
02:53
35
17-pipx-in-action
05:11
36
18-pipx-packages-in-vs-code
02:34
37
19-summary
03:49
38
01-starting-a-new-project-can-be-hard
03:34
39
02-what-is-cookiecutter
00:36
40
03-using-cookiecutter-to-generate-a-project
08:01
41
04-tip-how-i-use-cookiecutter
01:19
42
05-you-can-build-your-own-template
02:24
43
06-summary
02:35
44
01-what-is-project-management-in-python
00:34
45
02-how-python-imports-modules
03:28
46
03-import-errors
02:34
47
04-simple-project
02:58
48
05-medium-project
01:39
49
06-advanced-projects
01:46
50
07-makefiles-simple-tasks-management
05:52
51
08-dependencies-of-your-project
00:32
52
09-requirements-txt-conventions
03:16
53
10-separate-requirements-files
01:15
54
11-pin-your-dependencies
01:02
55
12-pip-tools
04:12
56
13-python-project-chores
01:11
57
14-pipenv-or-poetry
01:00
58
15-poetry-in-action
04:48
59
16-publishing-a-package-with-poetry
01:28
60
17-other-tools
03:34
61
18-my-favorite-tool
02:02
62
01-how-to-not-write-good-python-code
01:44
63
02-pep8-and-pep257
02:01
64
03-black
04:22
65
04-linters
02:10
66
05-pylint
07:00
67
06-flake8
03:11
68
07-flake8-plugins
05:20
69
08-multiple-linters-in-vs-code
02:05
70
09-other-static-code-analyzers
02:56
71
10-sourcery
03:09
72
11-different-python-repl
01:15
73
12-ipython
02:40
74
13-bpython
00:54
75
14-ptpython
01:00
76
01-unittest-vs-pytest
00:42
77
02-converting-unittest-test-to-pytest
04:57
78
03-running-pytest-tests
03:50
79
04-pytest-options
06:58
80
05-configuration-file
02:16
81
06-fixtures
02:16
82
07-mocking-and-monkeypatching
01:18
83
08-parametrized-tests
03:39
84
09-marks
03:15
85
10-testing-code-examples-in-the-documentation
01:21
86
11-extending-pytest-with-plugins
01:43
87
12-useful-pytest-plugins
03:28
88
13-moving-from-unittest-to-pytest
01:49
89
14-summary
02:03
90
01-sphinx
00:42
91
02-example-code-for-this-chapter
01:44
92
03-set-up-sphinx
03:02
93
04-reStructuredText
02:01
94
05-adding-more-documentation
02:03
95
06-how-to-write-good-documentation
02:04
96
07-generating-API-documentation
04:10
97
08-show-source-code-in-the-documentation
00:43
98
09-testing-your-documentation
02:41
99
10-read-the-docs
00:58
100
11-mkdocs
01:16
101
12-rest-api-documentation
02:35
102
01-building-projects-is-not-just-coding
00:37
103
02-tox-automate-python-tasks-on-your-computer
02:31
104
03-source-code-for-this-chapter
00:30
105
04-tox-in-action
06:59
106
05-pre-commit
03:50
107
06-pre-commit-in-action
05:34
108
07-continuous-integration
01:31
109
08-github-actions
03:03
110
09-github-actions-in-action
10:15
111
10-ci-server-vs-your-computer
00:41
112
11-gitlab-ci
00:36
113
12-gitlab-ci-in-action
11:30
114
13-when-to-use-which-tool
03:15
115
01-time-for-practice
00:37
116
02-cli-applications
00:40
117
03-our-cli-application
02:29
118
04-technical-considerations
02:05
119
05-first-version-of-uptimer
13:36
120
06-daemon-mode-and-multiple-urls
03:45
121
07-adding-tests
11:07
122
08-adding-documentation
07:01
123
09-possible-improvements
03:07
124
01-lets-build-a-python-package
00:40
125
02-technical-considerations
00:40
126
03-start-with-a-cookiecutter-template
02:37
127
04-remove-unnecessary-files
05:15
128
05-add-code
06:01
129
06-install-package-from-setup-py
02:25
130
07-add-tests
03:50
131
08-add-documentation
06:35
132
09-publishing-on-pypi
08:59
133
10-flit
01:36
134
11-private-pypi
01:09
135
01-executable-applications
02:23
136
02-gui-for-the-uptimer
06:13
137
03-warning-building-executable-applications-is-tough
00:57
138
04-create-mac-app-with-pyinstaller
07:14
139
05-will-it-work-on-a-brand-new-macos-installation
01:36
140
06-create-a-windows-exe-file
09:09
141
07-will-it-work-on-a-brand-new-windows-installation
01:33
142
08-windows-and-a-virus-warning
01:16
143
09-cross-platform-python-applications
01:22
144
01-deploying-python-application
01:28
145
02-virtual-servers-paas-containers
01:14
146
03-virtual-private-server
00:59
147
04-platform-as-a-service
01:24
148
05-docker-containers-and-kubernetes
03:21
149
06-uptimer-website
07:35
150
07-deploying-to-heroku
08:23
151
08-using-docker
01:43
152
09-lets-write-a-dockerfile
04:00
153
10-building-a-docker-image
05:06
154
11-publishing-on-docker-hub
03:03
155
12-free-docker-playground
03:53
156
13-deploy-docker-image-on-digitalocean
03:28
157
14-auto-reboot-and-auto-update
06:40
158
15-docker-compose
02:44
159
01-thats-all-folks
00:21
160
02-vs-code
01:04
161
03-pyenv
01:02
162
04-virtual-environments
00:37
163
05-pipx
00:59
164
06-cookiecutter
01:20
165
07-growing-python-projects
00:57
166
08-pinning-dependencies
01:09
167
09-poetry-and-friends
00:40
168
10-static-analysis
01:59
169
11-pytest
00:47
170
12-documentation
01:04
171
13-ci
02:18
172
14-building-a-cli-application
00:30
173
15-building-a-python-package
00:56
174
16-building-an-executable-application
00:39
175
17-deployment
01:27
176
18-thanks-and-bye
00:23

Unlock unlimited learning

Get instant access to all 175 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Time Series Analysis, Forecasting, and Machine Learning

Time Series Analysis, Forecasting, and Machine Learning

Sources: udemy
Let me cut to the chase. This is not your average Time Series Analysis course. This course covers modern developments such as deep learning, time series classif
22 hours 47 minutes 45 seconds
Scraping the Web for Fun and Profit

Scraping the Web for Fun and Profit

Sources: Jakob Greenfeld
This course will teach you how to use web scraping to create profitable projects. You will learn the basics of scraping using Python libraries...
6 hours 33 minutes 9 seconds
Statistics Every Programmer Needs

Statistics Every Programmer Needs

Sources: Gary Sutton
"Statistics Every Programmer Needs" is a practical guide on applying statistical and quantitative methods to programming tasks using...
REST APIs with Flask and Python

REST APIs with Flask and Python

Sources: udemy
Are you tired of boring, outdated, incomplete, or incorrect tutorials? I say no more to copy-pasting code that you don’t understand. Welcome to one of the best resources online ...
11 hours 56 minutes 4 seconds
The Fundamentals of Programming with Python

The Fundamentals of Programming with Python

Sources: techwithtim.net (Tim Ruscica)
Learn the Python programming language from scratch. This series is designed for complete beginners and will walk you through the python programming language. Ab
4 hours 18 minutes 50 seconds