Skip to content

Commit 1906ca5

Browse files
authored
Updated CONTRIBUTING.md, made it better (huangsam#110)
1 parent c5ae8bb commit 1906ca5

File tree

1 file changed

+94
-65
lines changed

1 file changed

+94
-65
lines changed

CONTRIBUTING.md

Lines changed: 94 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,124 @@
1-
# Contributing
1+
# 🚀 Welcome to the Ultimate Python Study Guide! 📚
22

3-
Thanks for taking the time to understand how you can contribute to the
4-
Ultimate Python Study guide!
3+
🎉 Thank you for considering contributing to this awesome project! 🎉
54

6-
Please take a look at the [code of conduct](CODE_OF_CONDUCT.md) before
7-
proceeding further.
5+
But first, before you jump in, let's vibe with our [Code of Conduct](CODE_OF_CONDUCT.md). We want this space to be 🌈 inclusive, respectful, and nothing but fun!
86

9-
---
7+
## 🐍 What's This All About?
108

11-
The repository consists of documentation and Python modules. Before you
12-
contribute to the repository with a pull request, review all of the standards
13-
listed in upcoming sections. That way, you can maintain the craftsmanship of
14-
this project and still make an impact on the developers using this project
15-
for learning purposes.
9+
Our Python Study Guide is your ticket to Python mastery! 🐍 This place is all about energy, excitement, and pure Python magic. 💫
1610

17-
## README documentation
11+
## 📖 Let's Talk Documentation
1812

19-
The [README](README.md) is important because it is the most frequently viewed
20-
page in this repository. As such, any changes that are made to this page must
21-
follow these guidelines:
13+
Our README is like the opening act at a concert. It's where the party starts, and we want it to be sensational! Here are the keys to this performance:
2214

23-
- Translations are referenced at the top
24-
- Python modules are referenced in the ToC
25-
- External links point to HTTPS resources that return a `2xx` status
26-
- Python documentation is useful for newcomers and professionals
27-
- GitHub repositories have at least 1k stars
28-
- Practice resources have Python exercises
15+
- Translations? 🌍 Yes, they're right at the top for everyone to enjoy!
16+
- Python modules? 🤓 Oh, they've got a VIP seat in our Table of Contents (ToC).
17+
- External links? 🔗 They're all about HTTPS and that sweet `2xx` status.
18+
- Python documentation? For both newbies and wizards, it's all in here!
19+
- GitHub repositories? 🌟 We love stars! If it's got at least 1k stars, bring it on!
20+
- Practice resources? 🏋️‍♂️ We've got Python exercises to keep you in shape.
2921

30-
## Python modules
22+
## 📚 Get into Python Modules
3123

32-
Every Python module is a standalone lesson which helps developers build
33-
their own intuition for core Python. Each module has a name that corresponds
34-
to a topic and explores concepts with `assert` statements. This approach
35-
encourages test-driven development and makes it simple for developers to
36-
discern what the expected output from the code is.
24+
Our Python modules are like mini-python-parties that you can host anywhere! They're packed with energy and make learning a blast! 🎉
3725

38-
Certain Python concepts are skipped in this study guide because the modules
39-
do not reference each other and make small use of I/O operations. But this
40-
limitation also allows the lessons to be pasted freely to any computing
41-
environment such as an IDE, a browser window or a standalone application.
26+
### 🧩 The Setup
4227

43-
When creating or updating Python modules, please respect the guidelines in
44-
the sub-sections below.
45-
46-
### Standard structure
47-
48-
Every standalone Python module consists of the following:
28+
Each Python module follows a rock-solid structure:
4929

5030
```python
51-
# Main function
31+
# The main event 🎉
5232
def main():
53-
# Assertion comments
33+
# Here's where the magic happens!
5434
assert 1 + 1 == 2
5535
assert True is not False
5636

57-
58-
# Main function conditional
37+
# The show must go on
5938
if __name__ == "__main__":
6039
main()
6140
```
6241

63-
If the module involves additional functions and classes, they are placed
64-
above the `main` function.
42+
If there's more Python goodness, it's up front before the main event!
6543

66-
### Style conventions
44+
### Style and Shine
6745

68-
The project follows conventions from these PEP proposals:
46+
We've got style, oh baby! Check out the PEPs:
6947

70-
- [PEP 8 -- Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/)
71-
- [PEP 257 -- Docstring Conventions](https://www.python.org/dev/peps/pep-0257/)
48+
- [PEP 8](https://www.python.org/dev/peps/pep-0008) - Our fashion bible!
49+
- [PEP 257](https://www.python.org/dev/peps/pep-0257) - Docstring Glamour!
7250

73-
The project has additional conventions:
51+
But there's more! We have our own style:
7452

75-
- Module imports are arranged by [isort](https://github.com/timothycrosley/isort)
76-
- Module constants follow an `_UNDER_SCORE_FIRST` convention
77-
- Strings have "double-quotes" unless a `"` exists in the string
78-
- Dynamic strings make use of [f-strings](https://www.python.org/dev/peps/pep-0498/)
53+
- Imports are perfectly sorted with [isort](https://github.com/timothycrosley/isort).
54+
- Constants? They follow the `_UNDER_SCORE_FIRST` party rule.
55+
- Strings love double-quotes, but if there's a `"`, they'll use single quotes!
56+
- For dynamic strings, it's all about those fabulous f-strings! 🎤
7957

80-
### Code coverage
58+
### 📈 Code Coverage Stars
8159

82-
Each module should have 80-100% code coverage with the [test runner](runner.py).
83-
The reason for this high standard is that the repository code is relatively
84-
simple. All interactive learning tends to revolve around the `main` function
85-
since that is where the assertions are. That way, developers immediately know
86-
when they make a mistake in the module. This is valuable feedback because it
87-
helps them improve quickly.
60+
We like to keep the energy high, and that means every module should have a whopping 80-100% code coverage! Our modules are like dance floors, and we don't want any empty spaces. That's because each module is a standalone lesson, and the `main` function is where the magic happens.
8861

89-
To validate code coverage, run the following commands:
62+
## 🌟 Your Contribution
9063

91-
```bash
92-
$ coverage run -m runner
93-
$ coverage html
94-
$ open htmlcov/index.html
95-
```
64+
Your contributions are like the encore at a concert - they're a big deal! We appreciate your dedication to making this project even more amazing. Don't hesitate to reach out if you have any questions. Your contributions, no matter how small, are making a big difference in the Python learning world!
65+
66+
So, get ready to rock and roll, Python style! 🤘🐍💥
67+
68+
# 💥 Dive into the Python World
69+
70+
Python is a versatile language used in web development, data analysis, artificial intelligence, and more. As a contributor, you're joining a vibrant community of learners and mentors.
71+
72+
# 🧑‍💻 Learning Together
73+
74+
Our project isn't just a repository; it's a collaborative learning experience. You can learn from the contributions of others and share your Python wisdom with the world. Together, we can unlock the true potential of this fantastic language.
75+
76+
# 🚀 Opportunities Galore
77+
78+
When you contribute to this project, you're not just improving it; you're also enhancing your own skills. You might discover new Python tricks, learn more about best practices, and even find inspiration for your own projects.
79+
80+
# 🌍 Global Impact
81+
82+
Python is a worldwide phenomenon, and your contributions will impact Python enthusiasts globally. Your work can help someone on the other side of the planet learn Python, kickstart their career, or solve a problem they've been struggling with.
83+
84+
# 🙋‍♀️ Join a Supportive Community
85+
86+
Our community is welcoming and supportive. If you have questions or need guidance, don't hesitate to ask. We're all here to help each other and grow together.
87+
88+
# 📢 Your Voice Matters
89+
90+
Your unique perspective is valuable. If you have ideas to make this guide even more engaging or fun, share them with us! We're open to creative and innovative suggestions.
91+
92+
# 🤖 Evolving with Python
93+
94+
Python is constantly evolving, and so is our guide. You can help keep it up-to-date, ensuring that learners always have access to the latest Python features and best practices.
95+
96+
# 🎉 Your Contribution Matters
97+
98+
Your contributions, whether they are big or small, are the building blocks of our project's success. Together, we're creating a resource that makes Python more accessible and exciting.
99+
100+
# 🌟 Be a Python Star
101+
102+
By contributing to this project, you're becoming a Python star, and you're helping others shine brightly too. Let's light up the Python world together!
103+
104+
## How to Contribute
105+
106+
Ready to dive in? Here's how you can contribute:
107+
108+
1. **Fork the Repository**: Head to [https://github.com/huangsam/ultimate-python/](https://github.com/huangsam/ultimate-python/) and click the "Fork" button in the top right corner.
109+
110+
2. **Clone Your Fork**: After forking, you'll have your copy of the repository. Clone it to your local machine.
111+
112+
113+
114+
3. **Make Your Contributions**: Create or update Python modules, documentation, or anything that adds value to the project.
115+
116+
4. **Push Your Changes**: Once your work is ready, push your changes to your forked repository.
117+
118+
5. **Create a Pull Request**: Head back to the original repository (https://github.com/huangsam/ultimate-python/) and create a pull request. Describe your changes and let us know why they're awesome.
119+
120+
We're excited to see what you bring to the table! Your contributions are making the Python world a better place.
121+
122+
Please don't hesitate to reach out if you have any questions. Your contributions, no matter how small, are making a big difference! 🌟🐍💥
123+
124+
## Feel the Pythonic Energy - Contribute Now!🔥

0 commit comments

Comments
 (0)