{"id":16933115,"url":"https://github.com/bbc2/discolinks","last_synced_at":"2025-03-22T12:31:25.395Z","repository":{"id":38012039,"uuid":"496414783","full_name":"bbc2/discolinks","owner":"bbc2","description":"Command-line tool which checks a website for broken links.","archived":false,"fork":false,"pushed_at":"2024-09-28T10:28:59.000Z","size":226,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T11:04:58.227Z","etag":null,"topics":["broken-links","crawler","html","http","link-checker","link-checkers","link-checking","validator","web"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbc2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2022-05-25T23:02:56.000Z","updated_at":"2024-09-03T08:01:18.000Z","dependencies_parsed_at":"2024-10-28T13:18:05.115Z","dependency_job_id":"a5537ba3-6839-417b-9479-5fb8b641b63d","html_url":"https://github.com/bbc2/discolinks","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc2%2Fdiscolinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc2%2Fdiscolinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc2%2Fdiscolinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc2%2Fdiscolinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbc2","download_url":"https://codeload.github.com/bbc2/discolinks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244959409,"owners_count":20538625,"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","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":["broken-links","crawler","html","http","link-checker","link-checkers","link-checking","validator","web"],"created_at":"2024-10-13T20:48:37.832Z","updated_at":"2025-03-22T12:31:25.069Z","avatar_url":"https://github.com/bbc2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# discolinks\n\n[![Build Status][build_status_badge]][build_status_link]\n[![PyPI version][pypi_badge]][pypi_link]\n\nDiscolinks looks for broken links on a website.\n\nFeatures:\n\n- Starts on one page and recursively finds the other reachable pages on the website.\n- Asynchronous: Maximum number of parallel requests is configurable.\n- JSON output available: Useful for testing and scripting.\n\n## Getting Started\n\n```bash\n$ discolinks --url https://example.net\n📂 Results: 13 links (10 ok, 3 failed)\n├── 📄 https://example.net/foo\n│   ├── 🔗 /bad_absolute_href: 302 → 404\n│   └── 🔗 bad_relative_href: 404\n└── 📄 https://example.net/bar\n    └── 🔗 https://example.org/bad_external_href: Connection error\n```\n\n## Development\n\n```bash\n... # Activate virtualenv.\npoetry install\nmake check\n```\n\n## Release\n\n- Create a branch with a name like `release-1.2.3`.\n- Update version in `src/discolinks/__version__.py`.\n- Update version in `pyproject.toml`.\n- Update changelog.\n- Open a pull request and get it merged.\n- Tag the release `git tag --message 'Version 1.2.3' 1.2.3`\n- Push tags: `git push --tags`\n\n[build_status_badge]: https://github.com/bbc2/discolinks/actions/workflows/main.yml/badge.svg\n[build_status_link]: https://github.com/bbc2/discolinks/actions/workflows/main.yml\n[pypi_badge]: https://img.shields.io/pypi/v/discolinks\n[pypi_link]: https://pypi.org/project/discolinks/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc2%2Fdiscolinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbc2%2Fdiscolinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc2%2Fdiscolinks/lists"}