{"id":13531086,"url":"https://github.com/nschloe/deadlink","last_synced_at":"2025-04-09T21:21:13.662Z","repository":{"id":37433839,"uuid":"359747511","full_name":"nschloe/deadlink","owner":"nschloe","description":":skull: Checks and fixes URLs in code and documentation.","archived":false,"fork":false,"pushed_at":"2022-07-19T16:53:37.000Z","size":1808,"stargazers_count":167,"open_issues_count":6,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-02T20:07:57.913Z","etag":null,"topics":["command-line","python","tool","url"],"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/nschloe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-04-20T08:51:14.000Z","updated_at":"2025-03-29T21:25:00.000Z","dependencies_parsed_at":"2022-07-20T12:17:31.017Z","dependency_job_id":null,"html_url":"https://github.com/nschloe/deadlink","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nschloe%2Fdeadlink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nschloe%2Fdeadlink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nschloe%2Fdeadlink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nschloe%2Fdeadlink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nschloe","download_url":"https://codeload.github.com/nschloe/deadlink/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248112371,"owners_count":21049648,"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":["command-line","python","tool","url"],"created_at":"2024-08-01T07:00:59.778Z","updated_at":"2025-04-09T21:21:13.623Z","avatar_url":"https://github.com/nschloe.png","language":"Python","funding_links":[],"categories":["Utilities","Python","\u003ca name=\"text-processing\"\u003e\u003c/a\u003eText processing"],"sub_categories":["Calendars"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/nschloe/deadlink\"\u003e\u003cimg alt=\"deadlink\" src=\"https://nschloe.github.io/deadlink/logo-with-text.svg\" width=\"60%\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n[![PyPi Version](https://img.shields.io/pypi/v/deadlink.svg?style=flat-square)](https://pypi.org/project/deadlink/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/deadlink.svg?style=flat-square)](https://pypi.org/project/deadlink/)\n[![GitHub stars](https://img.shields.io/github/stars/nschloe/deadlink.svg?style=flat-square\u0026logo=github\u0026label=Stars\u0026logoColor=white)](https://github.com/nschloe/deadlink/)\n[![Downloads](https://pepy.tech/badge/deadlink/month?style=flat-square)](https://pepy.tech/project/deadlink)\n\n\u003c!--[![PyPi downloads](https://img.shields.io/pypi/dm/deadlink.svg?style=flat-square)](https://pypistats.org/packages/deadlink)--\u003e\n\n[![gh-actions](https://img.shields.io/github/workflow/status/nschloe/deadlink/ci?style=flat-square)](https://github.com/nschloe/deadlink/actions?query=workflow%3Aci)\n[![codecov](https://img.shields.io/codecov/c/github/nschloe/deadlink.svg?style=flat-square)](https://app.codecov.io/gh/nschloe/deadlink)\n[![LGTM](https://img.shields.io/lgtm/grade/python/github/nschloe/deadlink.svg?style=flat-square)](https://lgtm.com/projects/g/nschloe/deadlink)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)\n\nParses text files for HTTP URLs and checks if they are still valid. Install with\n\n```\npip install deadlink\n```\n\nand use as\n\n\u003c!--TODO activate--\u003e\n\u003c!--pytest.mark.skip--\u003e\n\n```sh\ndeadlink check README.md   # or multiple files/directories\n# or deadlink c README.md\n```\n\nTo explicitly allow or ignore certain URLs, use\n\n```\ndeadlink check README.md -a http: -i stackoverflow.com github\n```\n\nThis only considers URLs containing `http:` and _not_ containing `stackoverflow.com` or\n`github`. You can also place allow and ignore lists in the config file\n`~/.config/deadlink/config.toml`, e.g.,\n\n```toml\nallow_urls = [\n  \"https:\"\n]\nignore_urls = [\n  \"stackoverflow.com\",\n  \"math.stackexchange.com\",\n  \"discord.gg\",\n  \"doi.org\"\n]\nigonore_files = [\n  \".svg\"\n]\n```\n\nSee\n\n```\ndeadlink check -h\n```\n\nfor all options.\nUse\n\n```sh\ndeadlink replace-redirects paths-or-files\n# or deadlink rr paths-or-files\n```\n\nto replace redirects in the given files. The same filters as for `deadlink check` apply.\n\nExample output:\n\n\u003c!--screenshot created with https://carbon.now.sh/--\u003e\n\n![](https://nschloe.github.io/deadlink/example-output-carbon.png)\n\n#### Similar projects:\n\n- [awesome_bot](https://github.com/dkhamsing/awesome_bot)\n- [brök](https://github.com/smallhadroncollider/brok)\n- [link-verifier](https://github.com/bmuschko/link-verifier)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnschloe%2Fdeadlink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnschloe%2Fdeadlink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnschloe%2Fdeadlink/lists"}