-
Notifications
You must be signed in to change notification settings - Fork 2
The Player's Handbook
Hubert Tournier edited this page May 18, 2021
·
34 revisions
So you decided to play with us, that's insanely great!
If you are in just for fun, the first 2 steps below will be enough for the time being and you can safely skip all the other steps.
However, if you intend to take the full learning curve and eventually publish your work or submit it to the project, please keep on reading.
- The first step is to decide on a Unix command to reimplement in Python 3.x.
- You can use our suggested list in the front page, pick one from our Monster Manual, or just go for any other one (even from other operating systems!) that fits your whims and fancies.
- If you have selected a POSIX command, you can start implementing the POSIX version instead of the latest version. POSIX versions are simpler and more testing oriented.
- Aim to be compliant with the PEP 8 Style Guide for Python Code, which you can check with the pylint utility.
- Try to follow the Pythonic way ("This is the way!").
- Do your unit tests
Back to back testing:
- Provide a script for testing the new command against the installed one (more on this soon).
Portability testing:
- Also test execution under Windows for the portability goal.
- Write some documentation in a README.md file (in GitHub markdown language) or manual page (in the newer mdoc or classical man languages).
- Select an OSI-approved Open Source License and put it in a License file.
- Eventually use Black, "The Uncompromising Code Formatter" utility, to format your code in a conventional way.
- Create a GitHUb account
Either:
- Easy
- Create a repository
- Link your command to the project with the pnu-project topic
- Medium
- Clone this repository, make your changes and submit them for inclusion here if you prefer this over the pnu-project GitHub topic linking.
- Eventually, make a pip package for your entry.
The commands below are linked to their latest FreeBSD man page (the web site also gives access to a lot of other Unix-like operating systems versions), but you should probably start implementing their simpler (and more testing oriented) POSIX.1 versions.