Programatically tries to answer the 12 questions from Adam Johnson's blog post https://adamj.eu/tech/2021/11/04/the-well-maintained-test/
Project description
the-well-maintained-test
Programatically tries to answer the 12 questions from Adam Johnson's blog post
Installation
Install this tool using pip
:
$ pip install the-well-maintained-test
Authentication
The GitHub API will rate limit anonymous calls. You can authenticate yourself with a personal token (documentation on how to generate is here)
Run this command and paste in your new token:
the-well-maintained-test auth
This will create a file called auth.json in your current directory containing the required value. To save the file at a different path or filename, use the --auth=myauth.json
option.
Usage
Usage: the-well-maintained-test [OPTIONS] COMMAND [ARGS]...
Programatically tries to answer the 12 questions from Adam Johnson's blog
post https://adamj.eu/tech/2021/11/04/the-well-maintained-test/ URL is a url
to a github repository you'd like to check, for example:
the-well-maintained-test url 'https://github.com/ryancheley/the-well-
maintained-test'
package is a package on pypi you'd like to check:
the-well-maintained-test package --name the-well-maintained-test
Note: URL is being deprecated and replaced with package starting in v0.9.0
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
auth Save authentication credentials to a JSON file
check Check your GitHub API Usage Stats.
package Name of a package on PyPi you'd like to check
questions List of questions tested
requirements Loop over a requirements.txt file
url URL to a github repository you'd like to check.
If you want to see what questions will be answered before running you you can pass
the-well-maintained-test questions
If you want to see a single question and the original source from Adam Johnson's blog
the-well-maintained-test questions -q 3
3. Is there a changelog?
A changelog, or a release notes page, is vital for our ability to update the package. The changelog is the main place for communication of breaking changes. (A case for changelogs is made at keepachangelog.com.)
Changelogs come in many forms: a single file, a documentation section, GitHub release descriptions, etc. Again, hopefully the package doesn’t make you hunt for it.
Note that some projects “have a changelog”, but it has stopped being maintained since the project’s inception. So check that the changelog covers recent releases.
See https://adamj.eu/tech/2021/11/04/the-well-maintained-test/#is-there-a-changelog for the original source.
Development
To contribute to this tool, first checkout the code. Then create a new virtual environment:
cd the-well-maintained-test
python -m venv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
just test
To run mypy
command you'll need to run
mypy --install-types
Then, to run mypy:
just mypy
You can also do a pre-commit check on the files by running
just check
This will run several pre-commit hooks, but before that it will run mypy
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for the-well-maintained-test-0.8.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b86a3d6b4860fe6ece34f46aade21f5fcced95bf4cbbd4e30b6d138c6beb4e05 |
|
MD5 | 1f5c666dfeb8c06175fb3ce4f8a3035b |
|
BLAKE2b-256 | 1b4ab0aa4c35f914e3a7b07f4dcb32e14b71e67029c46d11a13d2e16c70de548 |
Hashes for the_well_maintained_test-0.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53c04df4419c9194baf8ac3284b14605c2b98f16ff1f959fbdc8ab9d85d28f25 |
|
MD5 | 38296dbdd5abdd1ee9d148e6dac1c57d |
|
BLAKE2b-256 | 30e747f4ee0b6cb6cdfd8cb4b59a2ee3a384a1f626d44d25b7728018e74509ca |