{"id":23074617,"url":"https://github.com/prajwal-prathiksh/git-tutorial-utils","last_synced_at":"2025-04-03T11:43:58.589Z","repository":{"id":255417341,"uuid":"849547152","full_name":"Prajwal-Prathiksh/git-tutorial-utils","owner":"Prajwal-Prathiksh","description":"A supplementary repository, containing some basic examples for someone to play and learn git.","archived":false,"fork":false,"pushed_at":"2024-08-30T10:25:46.000Z","size":18,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T01:17:05.424Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Prajwal-Prathiksh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-29T19:36:31.000Z","updated_at":"2024-08-30T07:00:46.000Z","dependencies_parsed_at":"2024-08-29T22:11:39.147Z","dependency_job_id":"bdff687f-c1d3-4972-af7b-bf118c6d6d47","html_url":"https://github.com/Prajwal-Prathiksh/git-tutorial-utils","commit_stats":null,"previous_names":["prajwal-prathiksh/git-tutorial-utils"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwal-Prathiksh%2Fgit-tutorial-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwal-Prathiksh%2Fgit-tutorial-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwal-Prathiksh%2Fgit-tutorial-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwal-Prathiksh%2Fgit-tutorial-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prajwal-Prathiksh","download_url":"https://codeload.github.com/Prajwal-Prathiksh/git-tutorial-utils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246998137,"owners_count":20866690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-16T08:28:54.335Z","updated_at":"2025-04-03T11:43:58.548Z","avatar_url":"https://github.com/Prajwal-Prathiksh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# git-tutorial-utils\nA supplementary repository, containing some basic examples for someone to play and learn git.\n\n\u003e Refer to the Git Tutorial [here](https://github.com/Prajwal-Prathiksh/git-tutorial) for a detailed explanation.\n\n\n## Hands-on Description\nThis hands-on tutorial is designed to help you show how to best make use of Git and GitHub in a practical way, through a very simple python module.\nThe tree structure of the repository is as follows:\n```bash\n.\n├── .flake8\n├── .github\n│   └── workflows\n│       ├── pep8-check.yaml\n│       └── run-tests.yaml\n├── .gitignore\n├── LICENSE\n├── README.md\n├── calculator.ipynb\n├── environment.yml\n├── pyproject.toml\n├── requirements.txt\n├── src\n│   ├── __init__.py\n│   ├── arithmetic.py\n│   └── geometry.py\n└── tests\n    ├── __init__.py\n    ├── test_arithmetic.py\n    └── test_geometry.py\n```\n\n\n## In-depth explanation of the files\n- `.flake8`: Contains the details for `flake8` linter.\n- `.github/workflows/pep8-check.yaml`: Contains the details for the GitHub Action to check the code for PEP8 compliance on every push/PR.\n- `.github/workflows/run-tests.yaml`: Contains the details for the GitHub Action to run pytest on the code on every push/PR.\n- `.gitignore`: Contains the details for the files to be ignored by git.\n- `calculator.ipynb`: A Jupyter notebook containing the examples for the python module, showcasing how to import and use the `src` module.\n- `environment.yml`: Contains the environment details for the conda environment. Can be used to create a new conda environment by running:\n```bash\nconda env create -f environment.yml\n```\n- `pyproject.toml`: Contains the details for `pyright` linter.\n- `requirements.txt`: Contains the environment details for the pip environment. Can be used to create a new pip environment by running:\n```bash\npip install -r requirements.txt\n```\n- `src/__init__.py`: The `__init__.py` file to make the `src` directory a package.\n- `src/arithmetic.py`: Contains the arithmetic functions.\n- `src/geometry.py`: Contains the geometry functions.\n- `tests/__init__.py`: The `__init__.py` file to make the `tests` directory a package.\n- `tests/test_arithmetic.py`: Contains the tests for the arithmetic functions.\n- `tests/test_geometry.py`: Contains the tests for the geometry functions.\n\n\n## Template Examples of PRs\n- [PR #1: Feat adv arithmetic operators good pr](https://github.com/Prajwal-Prathiksh/git-tutorial-utils/pull/1)\n  - This is a PR that showcases the addition of advanced arithmetic operators to the `arithmetic.py` module.\n  - It has also added the tests for the same in the `test_arithmetic.py` module.\n  - The PR does not have any conflicts, breaks the code, fails the linting checks, or fails the tests.\n  - The PR passes all the checks and is ready to be merged.\n- [PR #2: Feat adv arithmetic operators bad pr](https://github.com/Prajwal-Prathiksh/git-tutorial-utils/pull/2)\n  - This is a PR that showcases the addition of advanced arithmetic operators to the `arithmetic.py` module.\n  - It has not updated the tests for the same in the `test_arithmetic.py` module.\n  - The code update breaks existing functionality, fails the linting checks, and fails the tests.\n  - The PR does not pass all the checks and cannot be merged unless branch protection rules are overridden.\n  - This PR, however, is a good example of how a PR should not be made.\n  - The follow-up options are to either fix the PR with the required changes or close the PR.\n- [PR #3: Feat add circle area](https://github.com/Prajwal-Prathiksh/git-tutorial-utils/pull/3)\n  - This is a PR that showcases the addition of functions power in `arithmetic.py` and circle_area in `geometry.py` modules.\n  - It has also added the tests for the same in the `test_arithmetic.py` and `test_geometry.py` modules.\n  - The PR does not have any conflicts, breaks the code, fails the linting checks, or fails the tests **(AS OF NOW)!**\n  - This PR passes all the checks and is ready to be merged.\n  - However, this PR is meant to showcase how potential merge conflicts can prop up.\n  - This PR modifies the certain clocks of code which are also changed by `PR #1`. So if `PR #1` is merged into the `main` branch, this PR will have merge conflicts, or vice-versa.\n  \u003e In such scenarios, the following options are available for the maintainers:\n  \u003e - Notify both the contributors about this issue, so either of them can rebase their branch on top of the other, to resolve the conflicts.\n  \u003e - Merge the more complex PR first, and then rebase the simpler PR on top of the `main` branch. On any conflicts, either the maintainer or the contributor of the simpler PR can resolve the conflicts.\n  \u003e - Close both the PRs do it all themselves :) Just kidding, don't do this unless you like suffering.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprajwal-prathiksh%2Fgit-tutorial-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprajwal-prathiksh%2Fgit-tutorial-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprajwal-prathiksh%2Fgit-tutorial-utils/lists"}