Managing Python Projects
48mAdvanced2019-12-06
Authors

Miki Tebeka
CEO at 353Solutions
Course details
While the work of coding can be a solitary endeavor, software developers don't work in a vacuum. In order to successfully bring their projects to the finish line, they must spend their days coordinating effectively with other developers. In this course, join Miki Tebeka as he shares best practices and tips for efficiently managing Python projects. Miki covers the essential non-coding tasks around Python programming, including how to best approach the directory structure for a project, tackle challenges related to dependency management, and determine what (and how much) to test. Plus, get general strategies for handling the development process, including how to use source control and issue tracking systems effectively.
Learning objectives
Avoiding common mistakes by leveraging a process
How code reuse can save you time
The proper directory structure for a Python project
Efficient dependency management
Various tests and when to use them
How much to test
Strategies for using source control
Using an issue tracking system effectively
Learning objectives
Avoiding common mistakes by leveraging a process
How code reuse can save you time
The proper directory structure for a Python project
Efficient dependency management
Various tests and when to use them
How much to test
Strategies for using source control
Using an issue tracking system effectively
Skills covered
AdvancedPythonProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Managing Python day-to-day
- 02 - What you should know
- 03 - Using the exercise files
1. Why Management Is Important
- 04 - Working together as a team
- 05 - Avoid mistakes
- 06 - Code reuse
2. Directory Structure
- 07 - Overview
- 08 - README.md
- 09 - init .py
- 10 - Tests
- 11 - Makefile
- 12 - setup.py
- 13 - Challenge - Slowmath project
- 14 - Solution - Slowmath project
3. Dependency Management
- 15 - The problem
- 16 - Package managers
- 17 - virtualenvs
- 18 - Production vs. development
- 19 - Challenge - Create environment
- 20 - Solution - Create environment
4. Testing
- 21 - What to test
- 22 - How much to test
- 23 - Pytest overview
- 24 - Fixtures
- 25 - Skipping and marks
- 26 - Checking for exceptions
- 27 - Challenge - Test cases from file
- 28 - Solution - Test cases from file
5. Development Process
- 29 - Working together
- 30 - Source control
- 31 - Issue tracking
- 32 - Feature branches
- 33 - Code review
- 34 - Retrospective
- 35 - Challenge - Implement features
- 36 - Solution - Implement features
Conclusion
- 37 - Next steps
Related courses
- Complete Guide to Analytics Engineering
- Python Scripting Using the ArcGIS API for Python
- Learning Python with PyCharm
- Introduction to Python: Learn How to Program Today with Python by Pearson
- QGIS and Python for AEC
- Python: Advanced Design Patterns
- PySpark Essential Training: Introduction to Building Data Pipelines
- Advanced Microsoft Fabric Implementation and Governance
Related learn paths
- Build AI Products Using Azure AI Services in Your Development Lifecycle
- Prepare for the Google Cloud Professional Cloud Architect Certification
- Advance Your Skills as a Django Developer
- Introduction to Fundamental Skills for Data Work: Data Collection
- Become a Data Scientist
- Manage Your LLMs with LLMOps
- Introduction to Fundamental Skills for Data Work: Data Processing
- The Top Skills IT Professionals Have Right Now