Skip to content

Commit d98b637

Browse files
authored
Created CONTRIBUTING.md (#59)
* Create CONTRIBUTING.md * Added challenges notes * Added notebooks * Added testing
1 parent fff63e9 commit d98b637

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

CONTRIBUTING.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Contributing Document
2+
3+
Thanks for taking some time to check out this document, I hope it goes a long way
4+
to helping you contribute to this repo.
5+
6+
## Quick Overview
7+
8+
First things first, this repo is mainly a catalog of all of The Renegade Coder's
9+
How to Python series content. The main purpose of this repo is to display
10+
this content in an easy-to-read format in the main README. This README is
11+
currently automatically generated through a combination of GitHub Actions
12+
an Python code.
13+
14+
However, in addition to the README, there are plenty of gold nuggest throughout
15+
the repo. For example, the following folders feature additional content:
16+
17+
- Challenges: a list of all of the How to Python challenges with solutions and testing
18+
- Notebooks: a list of all articles in Jupyter Notebook format
19+
- Testing: a list of performance tests for all solutions
20+
21+
In the following subsections, we'll take a look at how you can contribute to each of
22+
these collections.
23+
24+
## Challenges
25+
26+
In every article in the How to Pythons series, there is a coding challenge. The goal
27+
of the challenges collection is to provide a place where folks can share their
28+
solutions to each challenge.
29+
30+
Each challenge is in a folder that is named after the article it originates from. Inside
31+
this folder, you'll find a README which summarizes the challenge. In addition, you'll find
32+
a solution file which shares the name of the function that is to be implemented (e.g.,
33+
capitalize.py). In this solution file, all of the functions will share the same name
34+
followed by a number (e.g., capitalize_1()). These solutions are then tested automatically
35+
through a test file that shares the name of the solution file (e.g., test_capitalize.py).
36+
This test file is automatically executed through GitHub actions using pytest.
37+
38+
To aid in our efforts to expand this collection, you're welcome to provide solutions,
39+
migrate challenges that have not be included yet, and write tests. Keep in mind that
40+
naiming conventions matter. In other words, if you decided to add a new challenge,
41+
make sure it shares the name of the article excluding the "in python" piece. That
42+
way, the README picks it up automatically.
43+
44+
## Notebooks
45+
46+
Notebooks were an idea I had around the time that I was learning artifical intelligence
47+
in school. We were using them to work through AI problems, so I thought they'd be useful
48+
to illustrate running code. These days I'm less excited about them because they usually
49+
require specialized tools to run and edit. That said, if you're interested in filling
50+
out this collection, I would be happy to support you! The current collection of notebooks
51+
are all generated in Google Colab, but if you have a better idea, feel free to give it
52+
a try.
53+
54+
## Testing
55+
56+
In the 40th article in the How to Python series, I began generating the performance testing
57+
automatically using some Python scripts. Now, we get nice visualizations of the various
58+
solutions running. This is an extremely new addition to the repo, so the testing will need
59+
to be added for the existing articles. If you're interested in that sort of thing, feel
60+
free to create a testing file for an existing article and following the conventions of the
61+
existing files. If done correctly, testing should show up in the main README.

0 commit comments

Comments
 (0)