{"id":15724571,"url":"https://github.com/ryancheley/the-well-maintained-test","last_synced_at":"2025-08-20T06:33:14.804Z","repository":{"id":40554979,"uuid":"426067834","full_name":"ryancheley/the-well-maintained-test","owner":"ryancheley","description":"Programatically tries to answer the 12 questions from Adam Johnson's blog post https://adamj.eu/tech/2021/11/04/the-well-maintained-test/","archived":false,"fork":false,"pushed_at":"2025-08-11T10:52:30.000Z","size":233,"stargazers_count":23,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-13T17:01:32.027Z","etag":null,"topics":["oss","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryancheley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-09T02:43:03.000Z","updated_at":"2025-08-05T00:16:41.000Z","dependencies_parsed_at":"2023-12-30T16:32:20.184Z","dependency_job_id":"cb6fb255-6735-4451-a0fd-8f2bb6c84745","html_url":"https://github.com/ryancheley/the-well-maintained-test","commit_stats":{"total_commits":146,"total_committers":4,"mean_commits":36.5,"dds":"0.18493150684931503","last_synced_commit":"61c516f845d321a1a1acf5e4cc57fb65bfce578a"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/ryancheley/the-well-maintained-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fthe-well-maintained-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fthe-well-maintained-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fthe-well-maintained-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fthe-well-maintained-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryancheley","download_url":"https://codeload.github.com/ryancheley/the-well-maintained-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fthe-well-maintained-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271278840,"owners_count":24731900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oss","python"],"created_at":"2024-10-03T22:17:13.154Z","updated_at":"2025-08-20T06:33:14.791Z","avatar_url":"https://github.com/ryancheley.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# the-well-maintained-test\n\n[![PyPI](https://img.shields.io/pypi/v/the-well-maintained-test.svg)](https://pypi.org/project/the-well-maintained-test/)\n[![Changelog](https://img.shields.io/github/v/release/ryancheley/the-well-maintained-test?include_prereleases\u0026label=changelog)](https://github.com/ryancheley/the-well-maintained-test/releases)\n[![Tests](https://github.com/ryancheley/the-well-maintained-test/workflows/Test/badge.svg)](https://github.com/ryancheley/the-well-maintained-test/actions?query=workflow%3ATest)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/ryancheley/the-well-maintained-test/blob/master/LICENSE)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ryancheley/the-well-maintained-test/main.svg)](https://results.pre-commit.ci/latest/github/ryancheley/the-well-maintained-test/main)\n\n\n\nProgramatically tries to answer the 12 questions from Adam Johnson's [blog post](https://adamj.eu/tech/2021/11/04/the-well-maintained-test/)\n\n## Installation\n\n### uv (recommended)\n\nThe preferred method of installation for this tool is [uv](https://docs.astral.sh/uv/).\n\n    uv tool install the-well-maintained-test\n\n### pipx\n\nAlternatively, you can use [pipx](https://pypa.github.io/pipx/).\n\n    pipx install the-well-maintained-test\n\n### virtual environment\n\nThis tool can be installed in a virtual environment using pip:\n\nCreate your virtual environment\n\n    python3 -m venv venv\n    source venv/bin/activate\n\nInstall with pip\n\n    python -m pip install the-well-maintained-test\n\n## Authentication\nThe 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))\n\nRun this command and paste in your new token:\n\n    the-well-maintained-test auth\n\nThis 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.\n\n## the-well-maintained-test --help\n\n\u003c!-- [[[cog\nimport cog\nfrom the_well_maintained_test import cli\nfrom click.testing import CliRunner\nrunner = CliRunner()\nresult = runner.invoke(cli.cli, [\"--help\"])\nhelp = result.output.replace(\"Usage: cli\", \"Usage: the-well-maintained-test\")\ncog.out(\n    \"```\\n{}\\n```\".format(help)\n)\n]]] --\u003e\n```\nUsage: the-well-maintained-test [OPTIONS] COMMAND [ARGS]...\n\n  Programatically tries to answer the 12 questions from Adam Johnson's blog post\n  https://adamj.eu/tech/2021/11/04/the-well-maintained-test/\n\n  package is a package on pypi you'd like to check:\n\n      the-well-maintained-test package the-well-maintained-test\n\nOptions:\n  --version  Show the version and exit.\n  --help     Show this message and exit.\n\nCommands:\n  auth          Generates a json file with your GitHub Personal Token so...\n  check         Check your GitHub API Usage Stats\n  package       Name of a package on PyPi you'd like to check\n  questions     List of questions tested\n  requirements  Loop over a requirements.txt file\n\n```\n\u003c!-- [[[end]]] --\u003e\n\n## Development\n\nTo contribute to this tool, first checkout the code. This project uses [uv](https://docs.astral.sh/uv/) for modern Python dependency management.\n\n### Using uv (recommended)\n\n    cd the-well-maintained-test\n    uv sync --extra test\n\nThis will create a virtual environment and install all dependencies including test dependencies.\n\nTo run the tests:\n\n    uv run pytest\n\n### Alternative: Traditional setup\n\nIf you prefer not to use uv, you can still use traditional tools:\n\n    cd the-well-maintained-test\n    python3 -m venv venv\n    source venv/bin/activate\n    pip install -e '.[test]'\n\nTo run the tests:\n\n    just test\n\n### Development commands\n\nWith uv:\n\n    # Run the CLI tool\n    uv run the-well-maintained-test --help\n\n    # Run tests\n    uv run pytest\n\n    # Run mypy\n    uv run mypy src/the_well_maintained_test/*.py --no-strict-optional\n\n    # Install development dependencies\n    uv sync --extra dev\n\nThe 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.\n\nTo run `mypy` command you'll need to run\n\n    mypy --install-types\n\nThen, to run mypy:\n\n    just mypy\n\nOR the raw command is\n\n    mypy src/the_well_maintained_test/*.py --no-strict-optional\n\nYou can also do a pre-commit check on the files by running\n\n    just check\n\nOR the raw commands are\n\n    pre-commit run --all-files\n    mypy src/the_well_maintained_test/*.py --no-strict-optional\n\nThis will run several pre-commit hooks, but before that it will run `mypy`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryancheley%2Fthe-well-maintained-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryancheley%2Fthe-well-maintained-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryancheley%2Fthe-well-maintained-test/lists"}