https://github.com/ryancheley/the-well-maintained-test
Programatically tries to answer the 12 questions from Adam Johnson's blog post https://adamj.eu/tech/2021/11/04/the-well-maintained-test/
https://github.com/ryancheley/the-well-maintained-test
oss python
Last synced: 10 months ago
JSON representation
Programatically tries to answer the 12 questions from Adam Johnson's blog post https://adamj.eu/tech/2021/11/04/the-well-maintained-test/
- Host: GitHub
- URL: https://github.com/ryancheley/the-well-maintained-test
- Owner: ryancheley
- License: apache-2.0
- Created: 2021-11-09T02:43:03.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-08-11T10:52:30.000Z (10 months ago)
- Last Synced: 2025-08-13T17:01:32.027Z (10 months ago)
- Topics: oss, python
- Language: Python
- Homepage:
- Size: 228 KB
- Stars: 23
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- stars - ryancheley/the-well-maintained-test - Programatically tries to answer the 12 questions from Adam Johnson's blog post https://adamj.eu/tech/2021/11/04/the-well-maintained-test/ (Python)
README
# the-well-maintained-test
[](https://pypi.org/project/the-well-maintained-test/)
[](https://github.com/ryancheley/the-well-maintained-test/releases)
[](https://github.com/ryancheley/the-well-maintained-test/actions?query=workflow%3ATest)
[](https://github.com/ryancheley/the-well-maintained-test/blob/master/LICENSE)
[](https://github.com/astral-sh/ruff)
[](https://results.pre-commit.ci/latest/github/ryancheley/the-well-maintained-test/main)
Programatically tries to answer the 12 questions from Adam Johnson's [blog post](https://adamj.eu/tech/2021/11/04/the-well-maintained-test/)
## Installation
### uv (recommended)
The preferred method of installation for this tool is [uv](https://docs.astral.sh/uv/).
uv tool install the-well-maintained-test
### pipx
Alternatively, you can use [pipx](https://pypa.github.io/pipx/).
pipx install the-well-maintained-test
### virtual environment
This tool can be installed in a virtual environment using pip:
Create your virtual environment
python3 -m venv venv
source venv/bin/activate
Install with pip
python -m 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](https://github.com/settings/tokens))
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.
## the-well-maintained-test --help
```
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/
package is a package on pypi you'd like to check:
the-well-maintained-test package the-well-maintained-test
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
auth Generates a json file with your GitHub Personal Token so...
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
```
## Development
To contribute to this tool, first checkout the code. This project uses [uv](https://docs.astral.sh/uv/) for modern Python dependency management.
### Using uv (recommended)
cd the-well-maintained-test
uv sync --extra test
This will create a virtual environment and install all dependencies including test dependencies.
To run the tests:
uv run pytest
### Alternative: Traditional setup
If you prefer not to use uv, you can still use traditional tools:
cd the-well-maintained-test
python3 -m venv venv
source venv/bin/activate
pip install -e '.[test]'
To run the tests:
just test
### Development commands
With uv:
# Run the CLI tool
uv run the-well-maintained-test --help
# Run tests
uv run pytest
# Run mypy
uv run mypy src/the_well_maintained_test/*.py --no-strict-optional
# Install development dependencies
uv sync --extra dev
The commands below use the command runner [just](https://github.com/casey/just). If you would rather not use `just` the raw commands are also listed above.
To run `mypy` command you'll need to run
mypy --install-types
Then, to run mypy:
just mypy
OR the raw command is
mypy src/the_well_maintained_test/*.py --no-strict-optional
You can also do a pre-commit check on the files by running
just check
OR the raw commands are
pre-commit run --all-files
mypy src/the_well_maintained_test/*.py --no-strict-optional
This will run several pre-commit hooks, but before that it will run `mypy`