{"id":16817191,"url":"https://github.com/nijel/utidylib","last_synced_at":"2025-07-20T12:05:37.563Z","repository":{"id":2156317,"uuid":"3101687","full_name":"nijel/utidylib","owner":"nijel","description":"HTML Tidy Python Library","archived":false,"fork":false,"pushed_at":"2025-03-20T09:36:46.000Z","size":229,"stargazers_count":14,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-06T18:18:55.384Z","etag":null,"topics":["html","python","tidy"],"latest_commit_sha":null,"homepage":"https://utidylib.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"xdissent/utidylib","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nijel.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["nijel"],"liberapay":"nijel","polar":"nijel"}},"created_at":"2012-01-04T12:09:07.000Z","updated_at":"2025-03-20T09:36:49.000Z","dependencies_parsed_at":"2024-03-11T19:28:29.894Z","dependency_job_id":"64134e77-662c-4ce9-8bbf-cd9f360ad03b","html_url":"https://github.com/nijel/utidylib","commit_stats":{"total_commits":318,"total_committers":11,"mean_commits":28.90909090909091,"dds":0.2547169811320755,"last_synced_commit":"e453f3818daa1d5428aec2bd001705cb9a4afd56"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/nijel/utidylib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nijel%2Futidylib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nijel%2Futidylib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nijel%2Futidylib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nijel%2Futidylib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nijel","download_url":"https://codeload.github.com/nijel/utidylib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nijel%2Futidylib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266120225,"owners_count":23879277,"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":["html","python","tidy"],"created_at":"2024-10-13T10:46:28.464Z","updated_at":"2025-07-20T12:05:37.539Z","avatar_url":"https://github.com/nijel.png","language":"Python","funding_links":["https://github.com/sponsors/nijel","https://liberapay.com/nijel","https://polar.sh/nijel"],"categories":[],"sub_categories":[],"readme":"uTidylib\n========\n\n.. image:: https://github.com/nijel/utidylib/actions/workflows/test.yml/badge.svg\n    :target: https://github.com/nijel/utidylib/actions/workflows/test.yml\n    :alt: Build Status\n\n.. image:: https://codecov.io/gh/nijel/utidylib/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/nijel/utidylib\n    :alt: Coverage Status\n\n.. image:: https://readthedocs.org/projects/utidylib/badge/?version=latest\n    :target: http://utidylib.readthedocs.org/en/latest/\n    :alt: Documentation\n\n.. image:: https://img.shields.io/pypi/v/uTidylib\n   :target: https://pypi.org/project/uTidylib/\n   :alt: PyPI - Version\n\n\nThis is uTidylib, the Python wrapper for the HTML cleaning\nlibrary named TidyLib. It supports both original Tidy \u003chttp://tidy.sf.net\u003e and new\nHTML5 enabled Tidy \u003chttp://www.html-tidy.org/\u003e.\n\nThe package is available on PyPI \u003chttps://pypi.org/project/uTidylib/\u003e.\n\nOnce installed, there are two ways to get help.  The simplest is:\n\n.. code-block:: sh\n\n    $ python\n    \u003e\u003e\u003e import tidy\n    \u003e\u003e\u003e help(tidy)\n    . . .\n\nThen, of course, there's the API documentation, which\nis available at \u003chttps://utidylib.readthedocs.io/en/latest/\u003e.\n\n10 Second Tutorial\n------------------\n\n.. code-block:: pycon\n\n    \u003e\u003e\u003e import tidy\n    \u003e\u003e\u003e print(\n    ...     tidy.parseString(\n    ...         \"\u003cHtml\u003eHello Tidy!\",\n    ...         output_xhtml=1,\n    ...         add_xml_decl=1,\n    ...         indent=1,\n    ...         tidy_mark=0,\n    ...         doctype=\"transitional\",\n    ...     )\n    ... )\n    \u003c?xml version=\"1.0\"?\u003e\n    \u003c!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"\u003e\n    \u003chtml xmlns=\"http://www.w3.org/1999/xhtml\"\u003e\n      \u003chead\u003e\n        \u003ctitle\u003e\u003c/title\u003e\n      \u003c/head\u003e\n      \u003cbody\u003e\n        Hello Tidy!\n      \u003c/body\u003e\n    \u003c/html\u003e\n\n\nGood luck!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnijel%2Futidylib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnijel%2Futidylib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnijel%2Futidylib/lists"}