Python Package Set-up
|
|
Intro to Version Control with Git
|
Git provides a way to track changes in your project.
Git is a software for version control, and is separate from GitHub.
|
Using GitHub
|
You can use GitHub to store your project online where you or others can access it from a central repository.
You can use GitHub to store your projects so that you can work on them from multiple computers.
|
Python Coding Style
|
|
Deciding Package Structure
|
Your package should be broken up into modules and subpackages depending on the amount of code and functionality.
You can use the __init__.py file to define what packages are imported with your package, and how the user interacts with it.
|
Code Collaboration using GitHub
|
To contribute to someone else’s project, you should fork their repository.
All development work should be done on a new branch. Each branch should implement one feature.
Once you’ve implemented a new feature, push to your repository and create a pull request on the original repo.
|
Python Testing
|
A good set of tests covers individual functions/features and behavior of the software as a whole.
It’s better to write tests during development so you can check your progress along the way. The longer you wait to start the harder it is.
Try to test as much of your package as you can, but don’t go overboard, most packages don’t have 100% test coverage.
|
Continuous Integration
|
Continuous integration automates development steps, such as testing, coverage, and packaging.
Continuous integration also allows you to test your code on a variety of operative systems and platforms.
The CookieCutter includes (almost) ready-to-use configuration files for GitHub Actions.
You can find GitHub Actions steps and other services in GitHub Marketplace
|
Documentation
|
|
Deployment
|
|
Continuous Integration using Travis-CI
|
Continuous integration automates development steps, such as testing, coverage, and packaging.
Continuous integration also allows you to test your code on a variety of operative systems and platforms.
The CookieCutter includes (almost) ready-to-use configuration files for Travis CI and CodeCov.
Travis, Codecov, and many others are available for free for open-source projects in the GitHub Marketplace.
|
{:auto_ids}
key word 1
: explanation 1
key word 2
: explanation 2