DEV Community

ranms25
ranms25

Posted on • Edited on

OSDC-2023-assignment5

Quick review of the lecture at the course OSDC

@szabgab advised us how to better search for projects that would suit us better in terms of the ability to contribute to them and improve them.

We learned in more detail How to update a PR that was not accepted yet:

  • Created a new PR that failed the CI, and the owner commented on it as well.

  • After finding the fork and branch in the fork, we updated the file.

  • The PR was automatically updated and the CI was restarted.

During our discussion, we discussed (in theory) how to handle a change to an open source project that might take a month to complete.

  • What we can do to prevent breakage caused by changes made on the main project that conflict with the change we make.
  • It is impossible to completely avoid those conflicts, but we can reduce their impact by communicating and aligning our work frequently with the main branch.
  • There was a mention of rebasing. Later, we'll see how it works. In a brief discussion, we discussed whether open source work is paid.

Assignment

Our assignment was to Fix the PRs that are problematic. (Where the CI failed or where the owner asked for an update) from assignment 4
Find more projects via PyDigger, and create more PR try this time to make it more interesting and more challenging.
Add better projects to our JSON (that are not ours).

My update from last time,
vortexpy - I am still waiting for approval
stormlock - Was accepted 😊
unformat - Was accepted 😊
MathTranslate - It was not accepted and we were not able to get an answer as to why 🤷‍♂️
crypt-dir - Was accepted 😊
frontend - It was not accepted, but we get a response why not: "Not needed here, it's not meant for regular consumption." So respect that

This time I hope to contribute to the following projects:
vmn
magic_duckdb
megabots

By Added licenses to the metadata file (i.e. pyproject.toml, setup.py to appear in the website pypi.org

Additionally, I contributed to the project pydigger
You can see some of the changes I made on the page docs/license
By adding several values ​​that can help and better summarize where and how to add the "license" field.
For example:
add a field called license to the setup function in the setup.py of the project or add the same field under [build-system] in pyproject.toml file.

Here is the section of the setup.py file:

    setuptools.setup(
    name="name of the project",
    version="1.1.7",
    author="Foo Bar",
    author_email="Foo.Bar.contact@Foo.com",
    license="MIT"
Enter fullscreen mode Exit fullscreen mode

Here is the section of the pyproject.toml files:

    [build-system]
    requires = ["poetry>=0.12"]
    build-backend = "poetry.masonry.api"
    license = "Apache-2.0"
Enter fullscreen mode Exit fullscreen mode

Also, I looked for some projects that would interest me, including four in the medical field dealing with the curve in the spine caused by scoliosis.
Mainly, an Ensemble Deep Learning Approach to Classify Scoliosis and Healthy Subjects
Vertebra-Landmark-Detection
Scoliosis
scoliosisx
Deep-Learning-to-Classify-Scoliosis
Another earthquake-related project-A dashboard to visualize earthquakes worldwide since 2000.
earthquakes
And a nice project on how to build a Simple AWS Rekognition Application within 15 mins.
rekognition-demo

I hope to continue learning from the course, which has taught me many new and important things that will help me in the future. :) Have a great day!

Top comments (0)