Skip to main content
CourseFlix

Modern Python Projects

8h 45m 6s
English
Paid

Embark on your Python development journey from writing your first print("hello world") statement to successfully shipping a full-fledged Python application. You'll navigate challenges like installing new packages without causing conflicts, choosing durable tools, understanding "Pythonic" code, avoiding import errors, and ensuring your documentation is current—the kind of struggles that many developers face.

Course Overview

This course is designed to help you tackle these common Python development challenges by guiding you through every step of a typical Python project. From setting up an efficient project structure, managing dependencies, and adding tests to writing comprehensive documentation, setting up continuous integration, and successfully deploying your application.

Key Features and Tools

Gain insights into improving your code with a range of static analysis tools and learn to manage packages or update your Python version confidently. Discover how to construct popular types of Python projects, such as a CLI application or Python package, and configure the VS Code editor for an optimal Python coding experience.

Developing Full Web Applications

This course also covers everything you need to develop, run, and deploy full web apps using FastAPI. Some of the essential topics include:

  • VS Code + Python: Utilize a modern and evolving Python code editor.
  • Real-world Python and package management: Learn best practices for managing Python dependencies.
  • Create a Python project using cookiecutter templates.
  • Manage project dependencies with tools like pip, pip-tools, and poetry.
  • Understand what "good" Python code looks like.
  • Test your Python code with pytest.
  • Document your code effectively with Sphinx.
  • Implement continuous integration to automate checks.
  • Build a CLI application to run in your terminal.
  • Create a Python module/library for publishing on PyPI.
  • Develop a standalone executable application free from Python dependencies.
  • Deploy your application using a Platform as a Service tool called Heroku.
  • Create and deploy a simple Docker image to popular infrastructure services.
  • And much more!

Additional

https://github.com/talkpython/modern-python-projects-course

About the Author: Talkpython

Talkpython thumbnail
Talk Python to Me is a weekly podcast hosted by Michael Kennedy. The show covers a wide array of Python topics as well as many related topics (e.g. MongoDB, AngularJS, DevOps).

Watch Online 176 lessons

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
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