macxred / cashctrl_api

Python client for the CashCtrl REST API
MIT License
0 stars 0 forks source link

feat: update contributing.md document #40

Open AlexTheWizardL opened 1 month ago

AlexTheWizardL commented 1 month ago

This PR covers the update of contributing file based on the new code style and best practices applied to the code.

@lasuk Please review the changes and provide feedback or approval for merging.

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Flag Coverage Δ
unittests 93.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

lasuk commented 1 month ago

Thanks for those changes. This would be a good moment to incorporate #25 and the first comment in macxred/cashctrl_ledger#53. Your thoughts, @AlexTheWizardL?

lasuk commented 1 month ago

Asking ChatGPT for naming conventions of open source Python projects hosted on GitHub reveals that most projects

Click for conversation with ChatGPT ### Discussion on Git Branch and Pull Request Naming Conventions for Python Open Source Projects #### Question: What naming conventions do Python open source projects hosted on GitHub use for git branches and pull requests? Please add examples of a few large Python open source projects. #### Answer: Naming conventions for git branches in Python open source projects on GitHub vary, but some common patterns emerge. These conventions help maintain organization and clarity within the project. Similarly, pull request (PR) naming conventions follow patterns to ensure clarity and context. Here are some typical conventions along with examples from large Python open source projects: ##### Common Branch Naming Conventions 1. **Main Branches:** - `main` or `master`: The primary branch where the source code of HEAD always reflects a production-ready state. - Example: `main` 2. **Feature Branches:** - `feature/`: Used for developing new features. - Example: `feature/authentication-module` 3. **Bugfix Branches:** - `bugfix/`: Used for fixing bugs. - Example: `bugfix/fix-login-issue` 4. **Release Branches:** - `release/`: Used to prepare for a new release. - Example: `release/2.0.0` 5. **Hotfix Branches:** - `hotfix/`: Used for urgent fixes in production. - Example: `hotfix/security-patch` 6. **Experimental Branches:** - `experiment/`: Used for experimental features or ideas. - Example: `experiment/new-algorithm` ##### Common Pull Request Naming Conventions 1. **Feature Pull Requests:** - `Add ` - Example: `Add user authentication module` 2. **Bugfix Pull Requests:** - `Fix ` - Example: `Fix login issue causing crashes` 3. **Release Pull Requests:** - `Release ` - Example: `Release version 2.0.0` 4. **Hotfix Pull Requests:** - `Hotfix ` - Example: `Hotfix for security vulnerability` 5. **Documentation Pull Requests:** - `Docs ` - Example: `Docs update for installation instructions` ##### Examples from Large Python Open Source Projects 1. **Django** - **Branches:** - Main Branch: `main` - Feature branch: `feature/async-support` - Bugfix branch: `bugfix/issue-12345` - Release branch: `release/3.2` - **Pull Requests:** - Feature PR: `Add async support` - Bugfix PR: `Fix issue #12345` 2. **Flask** - **Branches:** - Main Branch: `main` - Feature branch: `feature/rest-api` - Bugfix branch: `bugfix/template-rendering` - Release branch: `release/2.1.0` - **Pull Requests:** - Feature PR: `Add REST API` - Bugfix PR: `Fix template rendering issue` 3. **Pandas** - **Branches:** - Main Branch: `main` - Feature branch: `feature/dataframe-enhancements` - Bugfix branch: `bugfix/groupby-errors` - Release branch: `release/1.3.0` - **Pull Requests:** - Feature PR: `Add enhancements to DataFrame` - Bugfix PR: `Fix groupby errors` 4. **Scikit-Learn** - **Branches:** - Main Branch: `main` - Feature branch: `feature/neural-networks` - Bugfix branch: `bugfix/cross-validation-issue` - Release branch: `release/0.24.2` - **Pull Requests:** - Feature PR: `Add neural network module` - Bugfix PR: `Fix cross-validation issue` 5. **NumPy** - **Branches:** - Main Branch: `main` - Feature branch: `feature/matrix-multiplication` - Bugfix branch: `bugfix/array-indexing` - Release branch: `release/1.21.0` - **Pull Requests:** - Feature PR: `Add matrix multiplication enhancements` - Bugfix PR: `Fix array indexing issue` ##### Conclusion These conventions help keep branches and pull requests organized and ensure that their purpose is clear. While the specific names might vary slightly between projects, the general patterns of naming branches based on their purpose (feature, bugfix, release, hotfix, etc.) and PRs based on their content (add, fix, release, hotfix, docs, etc.) are widely followed.