<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: ranms25</title>
    <description>The latest articles on Forem by ranms25 (@ranms25).</description>
    <link>https://forem.com/ranms25</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1041865%2Fec81e71f-85be-4069-95c6-2fb6a880db7b.jpg</url>
      <title>Forem: ranms25</title>
      <link>https://forem.com/ranms25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ranms25"/>
    <language>en</language>
    <item>
      <title>OSDC-2023-weather-app</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Sat, 17 Jun 2023 09:22:26 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-weather-app-ola</link>
      <guid>https://forem.com/ranms25/osdc-2023-weather-app-ola</guid>
      <description>&lt;h2&gt;
  
  
  Quick review of the lecture at the course &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/OSDC-Code-Maven/osdc-2023-03-azrieli"&gt;This week&lt;/a&gt;&lt;br&gt;
During the session, we discussed project selection for contributions and focused on Docker Compose. We learned Docker commands and how to use them. Docker Compose simplifies managing multi-container applications, and &lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; also demonstrated how hands-on using it. We briefly touched on cloud providers like Linode and Digital Ocean. &lt;/p&gt;

&lt;h3&gt;
  
  
  Assignment
&lt;/h3&gt;

&lt;p&gt;Our task this time was to create an open-source project&lt;/p&gt;

&lt;h4&gt;
  
  
  Python-Weather-App project
&lt;/h4&gt;

&lt;p&gt;I really like weather, so I thought it would be nice to develop a nice little app that would bring me real-time weather data for various places in the world&lt;/p&gt;

&lt;p&gt;Here's a summary of the steps I have taken:&lt;/p&gt;

&lt;p&gt;Certainly! Here's an improved summary of the steps you've taken for your Python Weather App project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;I created a GitHub repository named &lt;a href="https://github.com/ranms25/Python-Weather-App"&gt;Python-Weather-App&lt;/a&gt; to host my weather application project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I installed the necessary packages that you can see in the &lt;a href="https://github.com/ranms25/Python-Weather-App/blob/main/requirements.txt"&gt;requirements.txt&lt;/a&gt; file I created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I obtained an &lt;a href="https://openweathermap.org/appid"&gt;API key&lt;/a&gt; from OpenWeatherMap by visiting their website and creating an account. This API key is necessary to make API requests and retrieve weather data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I designed a command-line user interface for the weather app, allowing users to input a location for which they want to fetch weather information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I implemented the core functionality of the app in the &lt;a href="https://github.com/ranms25/Python-Weather-App/blob/main/weather_app.py"&gt;weather_app.py&lt;/a&gt; file. This involved making API requests to OpenWeatherMap using the requests library, parsing the JSON response to extract relevant weather information (such as temperature, humidity, weather conditions, wind speed, rainfall, and snowfall), and displaying the information to the user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I utilized the dotenv library and created a &lt;code&gt;.env&lt;/code&gt; &lt;a href="https://github.com/ranms25/Python-Weather-App/blob/main/.env"&gt;file&lt;/a&gt; where the API key can be stored. This file is included in the repository and users are instructed to add their own API key to the file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I added error handling to the app to gracefully handle situations such as invalid locations or issues with the API request. When errors occur, appropriate error messages are displayed to the user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The project's &lt;a href="https://github.com/ranms25/Python-Weather-App/blob/main/README.md"&gt;README file&lt;/a&gt; provides clear instructions for users on how to install the necessary dependencies, add their API key to the &lt;code&gt;.env&lt;/code&gt; file, and run the weather app. Additionally, the README file includes instructions on running tests for the weather application using pytest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The repository is published on GitHub, allowing others to view and contribute to the project.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It was quite challenging and took a long time. In spite of that, it was good to see the course material come together in a practical way.&lt;/p&gt;

&lt;p&gt;Stay tuned!&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>OSDC-2023-Assignment 11</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Sun, 11 Jun 2023 17:54:03 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-assignment-11-51pg</link>
      <guid>https://forem.com/ranms25/osdc-2023-assignment-11-51pg</guid>
      <description>&lt;h2&gt;
  
  
  Quick review of the lecture at the course &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/OSDC-Code-Maven/osdc-2023-03-azrieli"&gt;This week&lt;/a&gt; During this week's session on Testing with PyTest, we learned various concepts and techniques. We started the session with an introduction to testing using pytest. Covered topics such as test methods, demo tools in Python, an application under test (AUT), regression testing, doctest, and unit test. &lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; also demonstrated how pytest can be used alongside unit test and doctest for comprehensive testing. Test coverage, pytest setup, and examples of tests were discussed as well.&lt;/p&gt;

&lt;p&gt;Also, we focused on additional features and functionalities. Gabor explained pytest's handling of expected exceptions, changing text, missing exceptions, and raised exceptions. We also covered topics like exercise-testing exceptions, multiple failures, selective running of test functions, stopping on the first failure, and expecting a test to fail. The session included discussions on command-line options such as -rx, skip tests, show extra tests, and verbose and quiet modes. &lt;/p&gt;

&lt;p&gt;Overall, the session provided a comprehensive overview of testing with PyTest and equipped us with various techniques and tools to write effective tests for Python applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Assignment
&lt;/h3&gt;

&lt;p&gt;Find an open-source project, and write some tests for a part of the code that did not have tests. Send it as a Pull-Request.&lt;/p&gt;

&lt;h4&gt;
  
  
  Irish-C/calculator-class-program project
&lt;/h4&gt;




&lt;p&gt;I created several &lt;a href="https://github.com/Irish-C/calculator-class-program/pull/2"&gt;test files&lt;/a&gt; to validate different aspects of the calculator program. These files are &lt;code&gt;test_calculator.py&lt;/code&gt;, &lt;code&gt;test_calculator_extended.py&lt;/code&gt;, &lt;code&gt;test_gui.py&lt;/code&gt;, &lt;code&gt;test_gui_extended.py&lt;/code&gt;, and &lt;code&gt;test_user_validation.py&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;test_calculator.py&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;This file contains tests to verify the basic functionality of the calculator class. The tests cover operations such as addition, subtraction, multiplication, and division. Here's an example test from the file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;test_add&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;calculator&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Calculator&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;calculator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;test_calculator_extended.py&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;In this file, I expanded the tests to cover more complex scenarios. The tests include operations with negative numbers, decimal numbers, and large numbers to ensure accurate calculations.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;test_gui.py&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;test_gui.py&lt;/code&gt; file focuses on testing the graphical user interface (GUI) of the calculator. The tests verify if GUI elements are displayed correctly and if button clicks trigger the appropriate actions. Here's an example test:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;test_clear&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;gui&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TkinterGUI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="c1"&gt;# Set the inputs
&lt;/span&gt;    &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;num1_entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"2"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;num2_entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"3"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;operation_var&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Addition"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Call the clear method
&lt;/span&gt;    &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;clear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="c1"&gt;# Check if inputs and selection are cleared
&lt;/span&gt;    &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;operation_var&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"Select Operation"&lt;/span&gt;
    &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;num1_entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;
    &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;num2_entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt; &lt;span class="s"&gt;"
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;test_user_validation.py&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;In this file, I wrote tests to validate user input. The tests ensure that the calculator class properly handles invalid inputs, such as non-numeric characters and division by zero. Here's an example test:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;test_validate_user_addition&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
     &lt;span class="n"&gt;uv&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;UserValidation&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
     &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;uv&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;validate_user&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Addition'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
     &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="s"&gt;"
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To run the tests, use the &lt;code&gt;pytest&lt;/code&gt; command in the PowerShell terminal while inside the "calculator-class-program" directory. pytest will collect the test items from the files and execute them, displaying the progress and results.&lt;/p&gt;

&lt;p&gt;During the test execution, all tests passed successfully, indicating that the relevant parts of the calculator program are functioning correctly. &lt;/p&gt;

&lt;p&gt;Overall, the test files were created to validate different aspects of the calculator program, including basic calculations, extended operations, GUI functionality, and user input validation. The tests help ensure the accuracy and robustness of the calculator application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Calculator-Class-Program GitHub Action
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/ranms25/calculator-class-program/blob/main/.github/workflows/main.yml"&gt;This GitHub Action&lt;/a&gt; enables the automation of the testing process for the Irish-C/calculator-class-program project. The action is triggered whenever there is a push or pull request event in the repository. It sets up the necessary environment, installs dependencies, and runs the test suite using the PyTest framework.&lt;/p&gt;

&lt;h4&gt;
  
  
  Test Results
&lt;/h4&gt;

&lt;p&gt;The GitHub Action provides detailed test results, indicating the pass or fail status of each test case. These results can be reviewed in the GitHub Actions tab of the repository. Any failures or errors will be displayed, helping identify any issues in the calculator-class-program code.&lt;/p&gt;

&lt;p&gt;By leveraging this GitHub Action, the Irish-C/calculator-class-program project benefits from automated testing, ensuring the reliability and accuracy of the calculator program. Developers can easily identify and address any issues that arise, promoting code quality and maintainability.&lt;/p&gt;

&lt;p&gt;Keep following along as I continue to learn and make progress week after week!&lt;/p&gt;




</description>
      <category>osdc</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>OSDC-Github actions</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Sat, 13 May 2023 17:49:50 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-second-assignment8-1947</link>
      <guid>https://forem.com/ranms25/osdc-2023-second-assignment8-1947</guid>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/OSDC-Code-Maven/osdc-2023-03-azrieli"&gt;This week&lt;/a&gt; we learned about "Continuous Integration for GitHub projects" We covered the basics of GitHub Actions and provided examples of how to use them. The presentation included a demonstration of a simple workflow and implementation, examples of how to trigger jobs, and an overview of environment variables and repositories.
Take a look:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code-maven.com/github-actions"&gt;GitHub Actions examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code-maven.com/slides/github-ci/"&gt;slides: Continuous Integration for GitHub projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/actions"&gt;Collection of official GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/szabgab/capturecli"&gt;capturecli, simple python project with CI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also discussed the use of a matrix strategy and presented examples of Linux commands with GitHub Actions.&lt;/p&gt;

&lt;p&gt;The assignment for the session was to find a project with tests but without continuous integration and set up a GitHub Action to run the tests, then show the results to before sending the pull request to the project owner.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contribution to Automated Testing: Adding GitHub Actions Workflow to &lt;a href="https://github.com/Cybrid-app/cybrid-api-organization-python"&gt;cybrid-api-organization-python&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I hope to contribute to this &lt;a href="https://github.com/Cybrid-app/cybrid-api-organization-python/pull/1"&gt;project&lt;/a&gt;. I created a GitHub Actions workflow file named "CI" that runs automated tests on multiple operating systems and Python versions to ensure code quality and consistency. The workflow is triggered by push and pull request events as well as manually through the GitHub web interface.&lt;/p&gt;

&lt;p&gt;The matrix strategy allows the workflow to test the code on Ubuntu, macOS, and Windows using Python 3.9, 3.10, and 3.11. The setup-python action installs the necessary version of Python, while the install dependencies step installs the required dependencies from the requirements.txt and test-requirements.txt files.&lt;/p&gt;

&lt;p&gt;The final step runs the pytest command to execute the test cases. The workflow provides developers with feedback on the quality of their code and alerts them to any issues or errors that need attention.&lt;/p&gt;

&lt;p&gt;This automated testing process helps maintain a high level of code quality and ensures that the code is consistent across different operating systems and Python versions. It saves developers time and effort by catching issues early in the development process, allowing them to focus on developing new features and improving existing ones.&lt;/p&gt;

&lt;p&gt;Learning and progressing from week to week, keep following :)&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>OSDC-2023-assignment7</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Fri, 05 May 2023 13:10:56 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-assignment7-401c</link>
      <guid>https://forem.com/ranms25/osdc-2023-assignment7-401c</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/OSDC-Code-Maven/osdc-2023-03-azrieli"&gt;This week&lt;/a&gt; we learned how to configure git-scm on Windows, including setting the default editor and configuring global and local repository settings. We also learned about the process of cloning, forking, and pulling repositories, as well as creating and pushing repositories to GitHub. Additionally, we were introduced to basic git workflows, including branching, adding, committing, and pushing changes to a repository. Finally, we learned about advanced git commands, such as rebasing and force pushing, to manage changes to a repository.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This week's task was to take one project, set up the local development environment, and send a PR. &lt;br&gt;
I chose the &lt;a href="https://osdc.code-maven.com/open-source-by-organizations/"&gt;open-source-by-organizations&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When I first set up the development environment, I ran into a problem towards the end with the command:&lt;br&gt;
&lt;code&gt;python generate.py github/bioinform.yaml github/calgaryml.yaml&lt;/code&gt;&lt;br&gt;
I contacted &lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; and he explained to me that he moved the files to a subfolder called 'data' and have not updated the README file&lt;br&gt;
So I opened a &lt;a href="https://github.com/OSDC-Code-Maven/open-source-by-organizations/pull/80"&gt;PR&lt;/a&gt; in order to correct the problem, in retrospect it would have been better to open issue and only then send the PR.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In addition, after the aforementioned correction, I encountered another problem, this time I opened an &lt;a href="https://github.com/OSDC-Code-Maven/open-source-by-organizations/issues/79"&gt;issue directly&lt;/a&gt;.&lt;br&gt;
After doing this I noticed that the main page of the project is written as a sentence:&lt;br&gt;
"Currently there are 190 Corporations, 15 Non Profits, 216 Universities, 50 Governments, 2 Other organisations listed on our site."&lt;br&gt;
And I thought it would be better to show it as a table. I opened a &lt;a href="https://github.com/OSDC-Code-Maven/open-source-by-organizations/pull/81"&gt;PR&lt;/a&gt; and waiting to see what &lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; thinks about it and whether it is worthwhile.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Among the steps I did was go through the steps of setting up a development environment in the &lt;a href="https://github.com/OSDC-Code-Maven/open-source-by-organizations/blob/main/README.md"&gt;README file&lt;/a&gt;&lt;br&gt;
And I continued with the some of the following steps:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;git checkout -b ranms25/add&lt;/code&gt;: This command creates a new branch called "ranms25/add" and switches to it. The &lt;code&gt;-b&lt;/code&gt; flag tells Git to create the new branch if it doesn't already exist.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;vi index.html&lt;/code&gt;: This command opens the file "index.html" in the Vim text editor. You can edit the file in Vim and save your changes by typing &lt;code&gt;:wq&lt;/code&gt; and pressing Enter.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;git remote add fork git@github.com:ranms25/open-source-by-organizations.git&lt;/code&gt;: This command adds a new remote called "fork" to your local Git repository. The remote's URL is &lt;code&gt;git@github.com:ranms25/open-source-by-organizations.git&lt;/code&gt;. This command is typically used when you want to push changes to a forked repository.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;git push --set-upstream fork ranms25/add&lt;/code&gt;: This command pushes your local branch "ranms25/add" to the remote repository "fork". The &lt;code&gt;--set-upstream&lt;/code&gt; flag tells Git to set the "fork" remote as the default remote for the "ranms25/add" branch. This means that in the future, you can simply run &lt;code&gt;git push&lt;/code&gt; without specifying the remote and branch names.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As a result, I did a git push directly after Gabor asked me to fix the code, and it had already been added to the new PR.&lt;br&gt;
There was a lot we learned this week, and I feel that each lesson I am learning more and understanding more. I hope to continue learning in this way, keep following!&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>github</category>
      <category>git</category>
      <category>html</category>
    </item>
    <item>
      <title>OSDC-2023-assignment6</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Fri, 28 Apr 2023 09:07:29 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-assignment6-43be</link>
      <guid>https://forem.com/ranms25/osdc-2023-assignment6-43be</guid>
      <description>&lt;p&gt;This week we started learning a new and fascinating subject "Doker".&lt;br&gt;
We reviewed what a "Docker" image is and saw how to set up a development environment with its help.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We went over the slides of &lt;a href="https://code-maven.com/slides/linux-docker/"&gt;Learning Linux in a Docker container&lt;/a&gt; up before the slide about CentOS.&lt;/li&gt;
&lt;li&gt;Then we saw a few examples of &lt;a href="https://code-maven.com/slides/docker/open-source"&gt;Open source project in Docker&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/szabgab/slides"&gt;Source of all the slides&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the help of what we learned we got a task: Setup the local development environment open source projects - in your preferred programming language - for me, Python is my preferred programming language :). &lt;br&gt;
The task was a bit complex and took some time, because it was important for me to find suitable projects that did not have a description for setting up a development environment using Docker, to install and adjust the environment according to what we envisioned in class, as well as to also run tests that the environment that was uploaded is indeed normal and good. &lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up a development environment with Docker for &lt;a href="https://github.com/mobility-team/mobility/pull/79"&gt;mobility&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you have &lt;a href="https://docs.docker.com/get-docker/"&gt;Docker installed&lt;/a&gt; on your machine.&lt;/li&gt;
&lt;li&gt;Clone the repository to your local machine using Git. For example, you can run the following command in your terminal: 
&lt;code&gt;git clone https://github.com/mobility-team/mobility.git&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to the project directory:
&lt;code&gt;cd mobility&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Create a Docker container:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For Windows:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CMD:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name mobility-dev -w /opt -v %cd%:/opt python:3.9 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PowerShell:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name mobility-dev -w /opt -v ${PWD}:/opt python:3.9 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Linux:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name mobility-dev -w /opt -v $(PWD):/opt python:3.9 bash&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the required dependencies:
&lt;code&gt;pip install -r requirements.txt &amp;amp;&amp;amp; pip install -e .&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install the pytest package:
&lt;code&gt;pip install pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the unit tests to make sure everything is working properly:
&lt;code&gt;pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Starts a Docker container 
&lt;code&gt;docker container start -i mobility-dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting up a development environment with Docker for &lt;a href="https://github.com/Cosmo-Tech/CosmoTech-Acceleration-Library/pull/10"&gt;Cosmo-Tech&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you have &lt;a href="https://docs.docker.com/get-docker/"&gt;Docker installed&lt;/a&gt; on your machine.&lt;/li&gt;
&lt;li&gt;Clone the repository to your local machine using Git. For example, you can run the following command in your terminal: 
&lt;code&gt;git clone https://github.com/Cosmo-Tech/CosmoTech-Acceleration-Library.git&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to the project directory:
&lt;code&gt;cd CosmoTech-Acceleration-Library&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Create a Docker container:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For Windows:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CMD:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name cosmotech-acceleration-library-dev -w /opt -v %cd%:/opt python:3.11 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PowerShell:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name cosmotech-acceleration-library-dev -w /opt -v ${PWD}:/opt python:3.11 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Linux:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name cosmotech-acceleration-library-dev -w /opt -v $(PWD):/opt python:3.11 bash&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the required dependencies:
&lt;code&gt;pip install -r requirements.txt&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install the pytest package:
&lt;code&gt;pip install pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the unit tests to make sure everything is working properly:
&lt;code&gt;pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Starts a Docker container 
&lt;code&gt;docker container start -i cosmotech-acceleration-library-dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting up a development environment with Docker for &lt;a href="https://github.com/PH-Tools/PHX/pull/34"&gt;PHX&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you have &lt;a href="https://docs.docker.com/get-docker/"&gt;Docker installed&lt;/a&gt; on your machine.&lt;/li&gt;
&lt;li&gt;Clone the repository to your local machine using Git. For example, you can run the following command in your terminal: 
&lt;code&gt;git clone https://github.com/PH-Tools/PHX.git&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to the project directory:
&lt;code&gt;cd PHX&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Create a Docker container:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For Windows:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CMD:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name phx-dev dev -w /opt -v %cd%:/opt python:3.7 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PowerShell:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name phx-dev -w /opt -v ${PWD}:/opt python:3.7 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Linux:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name phx-dev -w /opt -v $(PWD):/opt python:3.7 bash&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the required dependencies:
&lt;code&gt;pip install -r dev-requirements.txt &amp;amp;&amp;amp; pip install -e .&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the unit tests to make sure everything is working properly:
&lt;code&gt;pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Starts a Docker container 
&lt;code&gt;docker container start -i phx-dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting up a development environment with Docker for &lt;a href="https://github.com/vpaeder/pymx2/pull/2"&gt;pymx2&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you have &lt;a href="https://docs.docker.com/get-docker/"&gt;Docker installed&lt;/a&gt; on your machine.&lt;/li&gt;
&lt;li&gt;Clone the repository to your local machine using Git. For example, you can run the following command in your terminal: 
&lt;code&gt;git clone https://github.com/vpaeder/pymx2.git&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to the project directory:
&lt;code&gt;cd pymx2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Create a Docker container:
&lt;code&gt;docker run -it --name pymx2-dev  -v /opt/pymx2 -v /$(pwd):/opt python:3.11 bash&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install the required dependencies:
&lt;code&gt;python -m setup install&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the unit tests to make sure everything is working properly:
&lt;code&gt;python -m unittest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Starts a Docker container 
&lt;code&gt;docker container start -i pymx2-dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting up a development environment with Docker for &lt;a href="https://github.com/Cybrid-app/cybrid-api-id-python/pull/1"&gt;cybrid-api-id-python&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you have &lt;a href="https://docs.docker.com/get-docker/"&gt;Docker installed&lt;/a&gt; on your machine.&lt;/li&gt;
&lt;li&gt;Clone the repository to your local machine using Git. For example, you can run the following command in your terminal: 
&lt;code&gt;git clone https://github.com/Cybrid-app/cybrid-api-id-python.git&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to the project directory:
&lt;code&gt;cd cybrid-api-id-python&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Create a Docker container:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For Windows:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CMD:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name cybrid-api-id-python-dev -w /opt -v %cd%:/opt python:3.11 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PowerShell:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name cybrid-api-id-python-dev -w /opt  -v ${PWD}:/opt python:3.11 bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Linux:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;docker run -it --name cybrid-api-id-python-dev -w /opt  -v $(PWD):/opt python:3.11 bash&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the required dependencies:
&lt;code&gt;pip install -r requirements.txt &amp;amp;&amp;amp; pip install pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run the unit tests to make sure everything is working properly:
&lt;code&gt;pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Starts a Docker container 
&lt;code&gt;docker container start -i cybrid-api-id-python-dev&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The search took a long time, and so did the installation. &lt;br&gt;
Because, There are projects I've seen that have a description of the installation, and for some of them it was sometimes difficult to understand how to set up an environment, and if I was able to set up then the tests they wanted were not good and did not pass, I tried to also find projects that would really want to use Docker.&lt;/p&gt;

&lt;p&gt;I wrote in the PR the following reasons why I think it is important to add the above information:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Ease of onboarding&lt;/code&gt;: new contributors or developers joining the project may not be familiar with the required software and libraries needed to develop and run the project. Providing clear instructions on how to set up a local development environment using Docker, it makes it easier for them to get up and running quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Reproducibility&lt;/code&gt;: By using Docker to set up the local development environment, it ensures that all developers are using the same development environment with the same versions of software and libraries. This makes it easier to reproduce bugs and issues reported by other developers, as well as ensure that the project is built and tested in a consistent manner across different environments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Isolation&lt;/code&gt;: Docker allows developers to create a containerized environment that is isolated from the host system, preventing potential conflicts with other software installed on the host. This helps ensure that the project's dependencies do not conflict with other software, potentially causing issues or breaking the development environment&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Additionally, I sent to &lt;a href="https://github.com/szabgab/slides/pull/23"&gt;Open source project in Docker&lt;/a&gt; which is managed by &lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; these projects as a PR to add slides and examples in this case for Python projects.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Note:&lt;/code&gt;&lt;br&gt;
About &lt;a href="https://github.com/vpaeder/pymx2/pull/2"&gt;pymx2&lt;/a&gt; PR.&lt;br&gt;
This PR has been written for git-scm.&lt;br&gt;
The maintainer reviewed my contribution, they declined it, citing technical reasons related to the driver needing access to a serial port and the driver not being meant to be a standalone app. I realized that Dockerizing the driver may not be feasible, as it requires access to a physical device that cannot be accessed from within a Docker container.&lt;/p&gt;

&lt;p&gt;Through this experience, I learned that not all contributions may be suitable for every project, and it is important to understand the technical requirements and design considerations of a project before making contributions (I did try to do this and it takes a lot of time and I tried to choose suitable projects, and I hope to improve on this in the future). I also gained a better understanding of the limitations of Docker and how it may not be the best option for certain types of applications, particularly those that require access to hardware devices like serial ports.&lt;/p&gt;

&lt;p&gt;In conclusion, while my pull request was declined, I appreciate the feedback from the maintainer and the opportunity to learn more about the project and its technical requirements. I will continue to contribute to open-source projects and keep these lessons in mind in the future.&lt;/p&gt;

&lt;p&gt;Hopefully, we will get into Docker in the next lesson and dive deeper.&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>github</category>
      <category>python</category>
      <category>docker</category>
    </item>
    <item>
      <title>OSDC-2023-assignment5</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Sat, 15 Apr 2023 16:51:06 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-assignment5-2a0f</link>
      <guid>https://forem.com/ranms25/osdc-2023-assignment5-2a0f</guid>
      <description>&lt;h2&gt;
  
  
  Quick review of the lecture at the course &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; 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.&lt;/p&gt;

&lt;p&gt;We learned in more detail How to update a PR that was not accepted yet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Created a &lt;a href="https://github.com/OSDC-Code-Maven/osdc-2023-03-azrieli/pull/44"&gt;new PR&lt;/a&gt; that failed the CI, and the owner commented on it as well.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After finding the fork and branch in the fork, we updated the file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The PR was automatically updated and the CI was restarted.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;What we can do to prevent breakage caused by changes made on the main project that conflict with the change we make.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Assignment
&lt;/h3&gt;

&lt;p&gt;Our assignment was to  Fix the PRs that are problematic. (Where the CI failed or where the owner asked for an update) from &lt;a href="https://dev.to/ranms25/osdc-2023-assignment4-3jak"&gt;assignment 4&lt;/a&gt; &lt;br&gt;
Find more projects via &lt;a href="https://pydigger.com/"&gt;PyDigger&lt;/a&gt;, and create more PR try this time to make it more interesting and more challenging.&lt;br&gt;
Add better projects to our JSON (that are not ours).&lt;/p&gt;

&lt;p&gt;My update from last time,&lt;br&gt;
&lt;a href="https://github.com/Synerty/vortexpy/pull/1"&gt;vortexpy&lt;/a&gt; -  I am still waiting for approval&lt;br&gt;
&lt;a href="https://github.com/tmccombs/stormlock/pull/1"&gt;stormlock&lt;/a&gt; - Was accepted 😊&lt;br&gt;
&lt;a href="https://github.com/hanjinliu/unformat/pull/1"&gt;unformat&lt;/a&gt; - Was accepted 😊&lt;br&gt;
&lt;a href="https://github.com/SUSYUSTC/MathTranslate/pull/24"&gt;MathTranslate&lt;/a&gt; - It was not accepted and we were not able to get an answer as to why 🤷‍♂️&lt;br&gt;
&lt;a href="https://github.com/khanh101/crypt-dir/pull/1"&gt;crypt-dir&lt;/a&gt; - Was accepted 😊&lt;br&gt;
&lt;a href="https://github.com/hacs/frontend/pull/645"&gt;frontend&lt;/a&gt; - It was not accepted, but we get a response why not: "Not needed here, it's not meant for regular consumption." So respect that&lt;/p&gt;

&lt;p&gt;This time I hope to contribute to the following projects:&lt;br&gt;
&lt;a href="https://github.com/final-israel/vmn/pull/134"&gt;vmn&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/iqmo-org/magic_duckdb/pull/1"&gt;magic_duckdb&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/momegas/megabots/pull/6"&gt;megabots&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By Added licenses to the metadata file (i.e. pyproject.toml, setup.py to appear in the website pypi.org&lt;/p&gt;

&lt;p&gt;Additionally, I contributed to the project &lt;a href="https://github.com/szabgab/pydigger.com/pull/104"&gt;pydigger&lt;/a&gt;&lt;br&gt;
You can see some of the changes I made on the page &lt;a href="https://pydigger.com/docs/license"&gt;docs/license&lt;/a&gt; &lt;br&gt;
By adding several values ​​that can help and better summarize where and how to add the "license" field.&lt;br&gt;
For example:&lt;br&gt;
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.&lt;/p&gt;

&lt;h4&gt;
  
  
  Here is the section of the setup.py file:
&lt;/h4&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    setuptools.setup(
    name="name of the project",
    version="1.1.7",
    author="Foo Bar",
    author_email="Foo.Bar.contact@Foo.com",
    license="MIT"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  Here is the section of the pyproject.toml files:
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    [build-system]
    requires = ["poetry&amp;gt;=0.12"]
    build-backend = "poetry.masonry.api"
    license = "Apache-2.0"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;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.&lt;br&gt;
Mainly, an Ensemble Deep Learning Approach to Classify Scoliosis and Healthy Subjects&lt;br&gt;
&lt;a href="https://github.com/yijingru/Vertebra-Landmark-Detection"&gt;Vertebra-Landmark-Detection&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/zc402/Scoliosis"&gt;Scoliosis&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Fernando23296/scoliosisx"&gt;scoliosisx&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/wiguider/Ensemble-Deep-Learning-to-Classify-Scoliosis-and-Healthy-Subjects"&gt;Deep-Learning-to-Classify-Scoliosis&lt;/a&gt;&lt;br&gt;
Another earthquake-related project-A dashboard to visualize earthquakes worldwide since 2000.&lt;br&gt;
&lt;a href="https://github.com/pierrotsmnrd/earthquakes"&gt;earthquakes&lt;/a&gt;&lt;br&gt;
And a nice project on how to build a Simple AWS Rekognition Application within 15 mins.&lt;br&gt;
&lt;a href="https://github.com/manbobo2002/rekognition-demo"&gt;rekognition-demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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!&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>OSDC-2023-assignment4</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Sat, 01 Apr 2023 18:45:24 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-assignment4-3jak</link>
      <guid>https://forem.com/ranms25/osdc-2023-assignment4-3jak</guid>
      <description>&lt;h2&gt;
  
  
  Quick review of the lecture at the course &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We get familiar with the &lt;a href="https://pydigger.com/"&gt;PyDigger&lt;/a&gt; website, and learned about the different metadata which is important to have in the details of the various projects, for example, license, author name, a summary of the project, and so on.&lt;br&gt;
We looked at pypi page of &lt;a href="https://pypi.org/project/numpy/"&gt;numpy&lt;/a&gt; &lt;br&gt;
We found that the &lt;a href="https://pydigger.com/pypi/mrflagly"&gt;mrflagly&lt;/a&gt; project was missing the author field from the meta-data, so we sent PR, and learn about &lt;a href="https://python-poetry.org/docs/pyproject/"&gt;pyproject.toml&lt;/a&gt;&lt;br&gt;
&lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt;  mentioned the recommended books listed at the bottom of the &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;  main page. Especially &lt;a href="https://un.curl.dev/"&gt;Uncurled by Daniel Stenberg, author of curl&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Assignment
&lt;/h3&gt;

&lt;p&gt;Our assignment was to Find 5 projects via &lt;a href="https://pydigger.com/"&gt;PyDigger&lt;/a&gt; that have no author, not license, or no VCS. Add the missing information and send a PR.&lt;br&gt;
And in this way contribute to the projects&lt;/p&gt;

&lt;p&gt;I hope to contribute to the following projects:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Synerty/vortexpy/pull/1"&gt;vortexpy&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/tmccombs/stormlock/pull/1"&gt;stormlock&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/hanjinliu/unformat/pull/1"&gt;unformat&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/SUSYUSTC/MathTranslate/pull/24"&gt;MathTranslate&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/khanh101/crypt-dir/pull/1"&gt;crypt-dir&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/hacs/frontend/pull/645"&gt;frontend&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By Added licenses to the metadata file (i.e. pyproject.toml, setup.py  to appear in the website pypi.org&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>OSDC-2023-assignment3</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Fri, 24 Mar 2023 14:57:46 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-second-assignment-3lhe</link>
      <guid>https://forem.com/ranms25/osdc-2023-second-assignment-3lhe</guid>
      <description>&lt;h2&gt;
  
  
  Today in class at the course &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;we download and install the git client from &lt;a href="https://git-scm.com/"&gt;git-scm&lt;/a&gt;. We set up local git configure, clone, add, commit, etc. In Windows, we start the git-bash application, Create a Github page locally, and on Github create the USERNAME.github.io repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  Second assignment
&lt;/h3&gt;

&lt;p&gt;Our assignment was to create a website using GitHub pages, with a cv, projects, and more Informative information. Adding a link to our course site, and a link to my blog.&lt;br&gt;
I am very happy with the result look &lt;a href="https://ranms25.github.io/"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  During the task, these are some of the steps I took:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Within &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; create a new repository the name must be: github_username.github.io.&lt;/li&gt;
&lt;li&gt;Install Git CLI from &lt;a href="https://git-scm.com/"&gt;git-scm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Clone the repository locally via &lt;a href="https://en.wikipedia.org/wiki/Secure_Shell"&gt;ssh&lt;/a&gt;.
In the git-bash application, I wrote:
ssh-keygen.exe
and search in .ssh/ for the public key.
Copy it to &lt;a href="https://github.com/ranms25"&gt;my profile&lt;/a&gt;: setting-&amp;gt; SSH and GPG keys-&amp;gt; new SSH key. Give it a title, paste the key, and press 'Add SSH key'.&lt;/li&gt;
&lt;li&gt;Create a new file named index.md with &lt;a href="https://en.wikipedia.org/wiki/Vim_(text_editor)"&gt;vim&lt;/a&gt;  add, commit, and push to my new repo.&lt;/li&gt;
&lt;li&gt;Create a new file named _config.yml, I used this &lt;a href="https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll"&gt;guide&lt;/a&gt;-to configure my web pages theme. 
&lt;a href="https://pages.github.com/themes/"&gt;supported themes for GitHub pages&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Adding &lt;a href="https://ranms25.github.io/CV"&gt;CV&lt;/a&gt; and writing more information about myself, GitHub automatically generates HTML from my markdown files using &lt;a href="https://jekyllrb.com/"&gt;Jekyll&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From lesson to lesson, I am learning a lot and hope to continue :)&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>OSDC-2023-second-assignment</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Thu, 16 Mar 2023 19:48:44 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-second-assignment-11me</link>
      <guid>https://forem.com/ranms25/osdc-2023-second-assignment-11me</guid>
      <description>&lt;h2&gt;
  
  
  Today in class at the course &lt;a href="https://osdc.code-maven.com/"&gt;OSDC&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;we go over the PRs that we opened and fix issues in PR instead of opening new ones. we saw how to follow interesting projects on GitHub to get notifications. We got a better understanding of the structure of a Github URL, and how to find a git repo of a project. We found out for the first time what are yaml files and other impressive and important things!&lt;/p&gt;

&lt;h3&gt;
  
  
  Second assignment
&lt;/h3&gt;

&lt;p&gt;I have selected some more interesting projects to follow, among them:&lt;br&gt;
&lt;a href="https://github.com/kantoniko"&gt;El kantoniko de Ladino en el Internet&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/ansible"&gt;Ansible&lt;/a&gt; &lt;br&gt;
played around with &lt;a href="https://github.com/OSDC-Code-Maven/open-source-by-organizations/tree/main/github"&gt;yaml&lt;/a&gt; edited the &lt;a href="https://github.com/OSDC-Code-Maven/osdc-2023-03-azrieli"&gt;OSDC course repository&lt;/a&gt;, added JSON file, and sent a PR.&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>git</category>
      <category>github</category>
      <category>yaml</category>
    </item>
    <item>
      <title>OSDC-2023-first-assignment</title>
      <dc:creator>ranms25</dc:creator>
      <pubDate>Thu, 09 Mar 2023 14:23:32 +0000</pubDate>
      <link>https://forem.com/ranms25/osdc-2023-first-assignment-kp5</link>
      <guid>https://forem.com/ranms25/osdc-2023-first-assignment-kp5</guid>
      <description>&lt;p&gt;Today was the first day of the course OSDC 2023, led by &lt;a class="mentioned-user" href="https://dev.to/szabgab"&gt;@szabgab&lt;/a&gt; OSDC. &lt;/p&gt;

&lt;p&gt;In the first assignment, I played around with GitHub, edited the OSDC course repository, added JSON file, and sent a pull request.&lt;/p&gt;

&lt;p&gt;I am really looking forward to this course and hope to learn new tools in the field of Open Source Development.&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>git</category>
      <category>github</category>
    </item>
  </channel>
</rss>
