Skip to main content

A small example package

Project description

M1-2022-git

Introduction

This repository is a fork from the previous repository. The bugs in the converter have been fixed and now we want to publish our work as a publicly available python package.

Getting started

You should be working from your own repository that is a fork of M1-2022-git-workflow. In order to run this project, you will have to follow these steps.

  1. Clone this project
  2. move into the project folder
cd M1-2022-git-workflow
  1. Set up a virtual environment
  • Create the virtual environment
python -m venv myvenv
  • Activate venv
. venv/bin/activate
  1. Install pytest
pip install -U pytest
  1. Execute main script
python main.py

Instructions

Merge feature branch into dev

Now that the converter has no more bugs, we want to merge our branch feature into the dev branch. We will do a pull request (on your own repo). On GitHub, go to the "Pull requests tab" and click "New pull request". Select base and compare. Remember : we want to merge decimal-binary-converter into dev. Then, Create the pull request. Add some description of the work you have done and publish the Pull Request.

Note : We could have just merge decimal-binary-converter into dev from the command line. However, when working on a real project, you probably won't have the rights to do so. Remember : dev is a public branch. So all the work going down there should be carefully reviewed and tested.

Publish your work

We now have an awesome binary/decimal two ways converter ! It's time to publish it so the rest of the world can enjoy it ! We will publish it on PyPI (Python Package Index) which is a public repository of softwares for Python.

  1. First, you have to create an account on Pypi.org
  2. Then, in your repository, you will find a .github directory
  3. Inside this directory, you will find .yml files that defines workflows (using GitHub actions)
  4. Open the yml files and take time to understand them. Do not hesitate to ask the teacher about them

Hands on !

  1. We want to create a workflow that will, on publish, test our code and if tests succeed, then publish our package on PyPI
  2. In GitHub, click on the Actions tab, then click on new workflow
  3. Choose among the suggestions the template that best suits your use-case and click Configure
  4. You may find some useful informations in the Python documentation
  5. When creating a release on GitHub, do not forget to create a tag corresponding to that release

Pull request

  1. Once the workflow is setup and tested (you have published your package using it) you can open a pull request to the original repository

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

example_package_mathildeh_28-0.0.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

example_package_mathildeh_28-0.0.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file example_package_mathildeh_28-0.0.1.tar.gz.

File metadata

File hashes

Hashes for example_package_mathildeh_28-0.0.1.tar.gz
Algorithm Hash digest
SHA256 45305101743bc4721dd0d3d4a99abf699c0f37b21f4802bfbc7fa8d47d2208b5
MD5 f96c94fab52a4f9a29eaba9856525971
BLAKE2b-256 4451c9a9ccf078f939d93ec9ae0e79503f63ea6f5dd0a918977d592609326305

See more details on using hashes here.

File details

Details for the file example_package_mathildeh_28-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for example_package_mathildeh_28-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b8ff92ec3c8cd83decb7015f30df0876643068d1cc22f5422f09696ba9b71eb
MD5 085a189a05ed7ddb02d9899f5422e249
BLAKE2b-256 68e481585d86359228d774f6f78977ce2980cb90550d3e9ff59b1921a37c509f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page