{"id":37084033,"url":"https://github.com/twm/feedparser","last_synced_at":"2026-01-14T10:15:47.997Z","repository":{"id":57431924,"uuid":"117386155","full_name":"twm/feedparser","owner":"twm","description":"forkparser - A hopefully temporary fork of the Universal Feed Parser","archived":false,"fork":true,"pushed_at":"2025-05-28T06:05:28.000Z","size":7064,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-14T20:40:05.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pypi.python.org/pypi/forkparser","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"kurtmckee/feedparser","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twm.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-13T23:17:15.000Z","updated_at":"2018-01-14T20:27:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/twm/feedparser","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/twm/feedparser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twm%2Ffeedparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twm%2Ffeedparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twm%2Ffeedparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twm%2Ffeedparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twm","download_url":"https://codeload.github.com/twm/feedparser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twm%2Ffeedparser/sbom","scorecard":{"id":904141,"data":{"date":"2025-08-11","repo":{"name":"github.com/twm/feedparser","commit":"cf4185144c5ae012ada8203d0f33bcc57e4aeb6f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact forkparser-6.1.0 not signed: https://api.github.com/repos/twm/feedparser/releases/9245250","Warn: release artifact forkparser-6.0.0 not signed: https://api.github.com/repos/twm/feedparser/releases/9226654","Warn: release artifact forkparser-6.1.0 does not have provenance: https://api.github.com/repos/twm/feedparser/releases/9245250","Warn: release artifact forkparser-6.0.0 does not have provenance: https://api.github.com/repos/twm/feedparser/releases/9226654"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'","Warn: branch protection not enabled for branch 'forkparser'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-24T16:44:02.077Z","repository_id":57431924,"created_at":"2025-08-24T16:44:02.080Z","updated_at":"2025-08-24T16:44:02.080Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-14T10:15:47.279Z","updated_at":"2026-01-14T10:15:47.991Z","avatar_url":"https://github.com/twm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"feedparser - Parse Atom and RSS feeds in Python.\n\n| Copyright 2010-2015 Kurt McKee \u003ccontactme@kurtmckee.org\u003e\n| Copyright 2002-2008 Mark Pilgrim\n\nfeedparser is open source. See the LICENSE file for more information.\n\n\nInstallation\n============\n\nFeedparser can be installed using distutils or setuptools by running::\n\n    $ python setup.py install\n\nIf you're using Python 3, feedparser will automatically be updated by the 2to3\ntool; installation should be seamless across Python 2 and Python 3.\n\nThere's one caveat, however: sgmllib.py was deprecated in Python 2.6 and is no\nlonger included in the Python 3 standard library. Because feedparser currently\nrelies on sgmllib.py to handle illformed feeds (among other things), it's a\nuseful library to have installed.\n\nIf your feedparser download included a copy of sgmllib.py, it's probably called\nsgmllib3.py, and you can simply rename the file to sgmllib.py. It will not be\nautomatically installed using the command above, so you will have to manually\ncopy it to somewhere in your Python path.\n\nIf a copy of sgmllib.py was not included in your feedparser download, you can\ngrab a copy from the Python 2 standard library (preferably from the Python 2.7\nseries) and run the 2to3 tool on it::\n\n    $ 2to3 -w sgmllib.py\n\nIf you copied sgmllib.py from a Python 2.6 or 2.7 installation you'll\nadditionally need to edit the resulting file to remove the `warnpy3k` lines at\nthe top of the file. There should be four lines at the top of the file that you\ncan delete.\n\nBecause sgmllib.py is a part of the Python codebase, it's licensed under the\nPython Software Foundation License. You can find a copy of that license at\npython.org:\n\n    http://docs.python.org/license.html\n\n\nDocumentation\n=============\n\nThe feedparser documentation is available on the web at:\n\n    https://pythonhosted.org/feedparser/\n\nIt is also included in its source format, ReST, in the docs/ directory. To\nbuild the documentation you'll need the Sphinx package, which is available at:\n\n    http://sphinx.pocoo.org/\n\nYou can then build HTML pages using a command similar to::\n\n    $ sphinx-build -b html docs/ fpdocs\n\nThis will produce HTML documentation in the fpdocs/ directory.\n\n\nTesting\n=======\n\nFeedparser has an extensive test suite that has been growing for a decade. If\nyou'd like to run the tests yourself, you can run the following command::\n\n    $ python feedparsertest.py\n\nThis will spawn an HTTP server that will listen on port 8097. The tests will\nfail if that port is in use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwm%2Ffeedparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwm%2Ffeedparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwm%2Ffeedparser/lists"}