{"id":358183,"url":"https://github.com/adbar/htmldate","last_synced_at":"2026-05-13T04:03:58.813Z","repository":{"id":24365515,"uuid":"101302023","full_name":"adbar/htmldate","owner":"adbar","description":"Fast and robust date extraction from web pages, with Python or on the command-line","archived":false,"fork":false,"pushed_at":"2025-11-04T17:50:33.000Z","size":31572,"stargazers_count":148,"open_issues_count":11,"forks_count":30,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-04-30T22:05:07.249Z","etag":null,"topics":["date","date-parser","datetime","digital-forensics","entity-extraction","forensics-tools","information-extraction","metadata","metadata-extraction","natural-language-processing","nlp","opengraph","web-scraping","webscraping"],"latest_commit_sha":null,"homepage":"https://htmldate.readthedocs.io","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/adbar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["adbar"],"patreon":null,"open_collective":null,"ko_fi":"adbarbaresi","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-08-24T14:09:12.000Z","updated_at":"2026-04-19T09:33:45.000Z","dependencies_parsed_at":"2024-01-19T19:05:41.035Z","dependency_job_id":"ae63e7c8-dffd-4f4c-b2d6-a54d80ce0314","html_url":"https://github.com/adbar/htmldate","commit_stats":{"total_commits":665,"total_committers":25,"mean_commits":26.6,"dds":0.2571428571428571,"last_synced_commit":"dbcc2eb1bc227abb6a120b285bf279046b3e4cd3"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/adbar/htmldate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adbar","download_url":"https://codeload.github.com/adbar/htmldate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/sbom","scorecard":{"id":165820,"data":{"date":"2025-08-11","repo":{"name":"github.com/adbar/htmldate","commit":"b32422541cbc1f610838784f010a2e8cfc36fa05"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"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":"Code-Review","score":1,"reason":"Found 4/29 approved changesets -- score normalized to 1","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":"Maintained","score":0,"reason":"1 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":"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":"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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:45","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:62","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:80","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"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":"SAST","score":8,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 14 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:49:31.822Z","repository_id":24365515,"created_at":"2025-08-16T14:49:31.823Z","updated_at":"2025-08-16T14:49:31.823Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32785398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"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"}},"owner":{"login":"adbar","name":"Adrien Barbaresi","uuid":"2125866","kind":"user","description":"Research scientist – natural language processing, web scraping and text analytics. Mostly with Python.","email":"","website":"adrien.barbaresi.eu","location":"Berlin","twitter":"adbarbaresi","company":"Berlin-Brg. Academy of Sciences (BBAW)","icon_url":"https://avatars.githubusercontent.com/u/2125866?u=e2eeeb3384ab9391f598ade37d4388ad23199ebd\u0026v=4","repositories_count":37,"last_synced_at":"2024-06-11T15:59:25.206Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/adbar","funding_links":[],"total_stars":3746,"followers":360,"following":281,"created_at":"2022-11-04T01:56:16.102Z","updated_at":"2024-06-11T15:59:26.956Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adbar","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adbar/repositories"},"packages":[{"id":2761140,"name":"htmldate","ecosystem":"pypi","description":"Fast and robust extraction of original and updated publication dates from URLs and web pages.","homepage":"https://htmldate.readthedocs.io","licenses":"Apache 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/adbar/htmldate","keywords_array":["datetime","date-parser","entity-extraction","html-extraction","html-parsing","metadata-extraction","webarchives","web-scraping"],"namespace":null,"versions_count":59,"first_release_published_at":"2017-08-25T12:59:57.000Z","latest_release_published_at":"2025-11-04T17:46:43.000Z","latest_release_number":"1.9.4","last_synced_at":"2026-05-09T02:04:22.683Z","created_at":"2022-04-10T11:15:47.967Z","updated_at":"2026-05-09T02:14:12.421Z","registry_url":"https://pypi.org/project/htmldate/","install_command":"pip install htmldate --index-url https://pypi.org/simple","documentation_url":"https://htmldate.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Intended Audience :: Developers","Intended Audience :: Education","Intended Audience :: Information Technology","Intended Audience :: Science/Research","License :: OSI Approved :: Apache Software License","Operating System :: MacOS :: MacOS X","Operating System :: Microsoft :: Windows","Operating System :: POSIX :: Linux","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Internet :: WWW/HTTP","Topic :: Scientific/Engineering :: Information Analysis","Topic :: Text Processing :: Linguistic","Topic :: Text Processing :: Markup :: HTML"],"normalized_name":"htmldate","project_status":null},"repo_metadata":{"id":24365515,"uuid":"101302023","full_name":"adbar/htmldate","owner":"adbar","description":"Fast and robust date extraction from web pages, with Python or on the command-line","archived":false,"fork":false,"pushed_at":"2025-11-04T17:50:33.000Z","size":31572,"stargazers_count":148,"open_issues_count":11,"forks_count":30,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-04-30T22:05:07.249Z","etag":null,"topics":["date","date-parser","datetime","digital-forensics","entity-extraction","forensics-tools","information-extraction","metadata","metadata-extraction","natural-language-processing","nlp","opengraph","web-scraping","webscraping"],"latest_commit_sha":null,"homepage":"https://htmldate.readthedocs.io","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/adbar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["adbar"],"patreon":null,"open_collective":null,"ko_fi":"adbarbaresi","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-08-24T14:09:12.000Z","updated_at":"2026-04-19T09:33:45.000Z","dependencies_parsed_at":"2024-01-19T19:05:41.035Z","dependency_job_id":"ae63e7c8-dffd-4f4c-b2d6-a54d80ce0314","html_url":"https://github.com/adbar/htmldate","commit_stats":{"total_commits":665,"total_committers":25,"mean_commits":26.6,"dds":0.2571428571428571,"last_synced_commit":"dbcc2eb1bc227abb6a120b285bf279046b3e4cd3"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/adbar/htmldate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adbar","download_url":"https://codeload.github.com/adbar/htmldate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/sbom","scorecard":{"id":165820,"data":{"date":"2025-08-11","repo":{"name":"github.com/adbar/htmldate","commit":"b32422541cbc1f610838784f010a2e8cfc36fa05"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"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":"Code-Review","score":1,"reason":"Found 4/29 approved changesets -- score normalized to 1","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":"Maintained","score":0,"reason":"1 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":"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":"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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/adbar/htmldate/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:45","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:62","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:80","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"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":"SAST","score":8,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 14 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:49:31.822Z","repository_id":24365515,"created_at":"2025-08-16T14:49:31.823Z","updated_at":"2025-08-16T14:49:31.823Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32785398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"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"},"tags":[]},"repo_metadata_updated_at":"2026-05-09T02:14:12.421Z","dependent_packages_count":5,"downloads":9933818,"downloads_period":"last-month","dependent_repos_count":50,"rankings":{"downloads":0.4627874321489608,"dependent_repos_count":2.0808792415283794,"dependent_packages_count":1.865061673354139,"stargazers_count":7.270557691537888,"forks_count":8.546174388925849,"docker_downloads_count":2.380662027545102,"average":3.767687075840053},"purl":"pkg:pypi/htmldate","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/htmldate","docker_dependents_count":9,"docker_downloads_count":606,"usage_url":"https://repos.ecosyste.ms/usage/pypi/htmldate","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/htmldate/dependencies","status":null,"funding_links":["https://github.com/sponsors/adbar","https://ko-fi.com/adbarbaresi"],"critical":null,"issue_metadata":{"last_synced_at":"2025-11-17T08:58:56.531Z","issues_count":60,"pull_requests_count":155,"avg_time_to_close_issue":5371839.5869565215,"avg_time_to_close_pull_request":234296.7619047619,"issues_closed_count":46,"pull_requests_closed_count":147,"pull_request_authors_count":22,"issue_authors_count":34,"avg_comments_per_issue":2.25,"avg_comments_per_pull_request":1.3225806451612903,"merged_pull_requests_count":100,"bot_issues_count":0,"bot_pull_requests_count":53,"past_year_issues_count":6,"past_year_pull_requests_count":17,"past_year_avg_time_to_close_issue":1684609.5,"past_year_avg_time_to_close_pull_request":216226.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.16666666666666666,"past_year_avg_comments_per_pull_request":1.2352941176470589,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":12,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/issues","maintainers":[{"login":"adbar","count":96,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/adbar"}],"active_maintainers":[{"login":"adbar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/adbar"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/htmldate/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/htmldate/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/htmldate/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/htmldate/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/htmldate/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/htmldate/codemeta","maintainers":[{"uuid":"adbar","login":"adbar","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/adbar/","role":null,"created_at":"2022-11-28T11:40:35.710Z","updated_at":"2022-11-28T11:40:35.710Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/adbar/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":861830,"maintainers_count":368211,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":593537,"full_name":"adbar/htmldate","default_branch":"master","total_commits":682,"total_committers":25,"total_bot_commits":9,"total_bot_committers":3,"mean_commits":27.28,"dds":0.25219941348973607,"past_year_total_commits":3,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.5,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-05-08T07:39:09.861Z","last_synced_commit":"b669801dba2ebbc8fb6d1c098424cb7c185d23c3","created_at":"2023-03-09T06:27:43.752Z","updated_at":"2026-05-08T07:37:26.455Z","committers":[{"name":"Adrien Barbaresi","email":"barbaresi@bbaw.de","login":"adbar","count":510},{"name":"Adrien Barbaresi","email":"adrien.barbaresi@oeaw.ac.at","login":null,"count":65},{"name":"evolutionoftheuniverse","email":"67762964+evolutionoftheuniverse","login":"evolutionoftheuniverse","count":31},{"name":"DerKozmonaut","email":"52502201+DerKozmonaut","login":"DerKozmonaut","count":17},{"name":"Adrien Barbaresi","email":"adrien.barbaresi@ens-lyon.fr","login":null,"count":15},{"name":"Corey Dockser","email":"coreydockser@gmail.com","login":"coreydockser","count":9},{"name":"Radhi Fadlillah","email":"m.radhi.f@gmail.com","login":"RadhiFadlillah","count":7},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":6},{"name":"Vincent Barbaresi","email":"vincent.barbaresi@opendatasoft.com","login":null,"count":2},{"name":"Daniel S. Katz","email":"d.katz@ieee.org","login":"danielskatz","count":2},{"name":"Rahul B","email":"rahulbot@gmail.com","login":"rahulbot","count":2},{"name":"kernc","email":"kerncece@gmail.com","login":"kernc","count":2},{"name":"sourcery-ai[bot]","email":"58596630+sourcery-ai[bot]","login":"sourcery-ai[bot]","count":2},{"name":"Adam Hupp","email":"142939708+adamh-oai","login":"adamh-oai","count":1},{"name":"Andrei Zhemaituk","email":"a.zhemoytuk@gmail.com","login":"zhemaituk","count":1},{"name":"Ashik Paul","email":"ashikpaul17@gmail.com","login":"Ashikpaul","count":1},{"name":"B3N","email":"b@akhras.at","login":"b3n4kh","count":1},{"name":"EkaterineSheshelidze","email":"85356244+EkaterineSheshelidze","login":"EkaterineSheshelidze","count":1},{"name":"Felipe Hertzer","email":"felipeaugustohertzer@gmail.com","login":"felipehertzer","count":1},{"name":"Lawrence M Stewart","email":"getorca","login":"getorca","count":1},{"name":"MSK1582","email":"69879312+MSK1582","login":"MSK1582","count":1},{"name":"Nada Ayesh","email":"nayesh10@students.iugaza.edu.ps","login":"nadasuhailAyesh12","count":1},{"name":"SalihTalha","email":"47334156+SalihTalha","login":"SalihTalha","count":1},{"name":"lgtm-com[bot]","email":"43144390+lgtm-com[bot]","login":"lgtm-com[bot]","count":1},{"name":"liulinlin90","email":"liulinlin90@gmail.com","login":"liulinlin90","count":1}],"past_year_committers":[{"name":"Adrien Barbaresi","email":"adbar","login":"adbar","count":2},{"name":"Andrei Zhemaituk","email":"a.zhemoytuk@gmail.com","login":"zhemaituk","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-09T00:00:06.780Z","repositories_count":6230939,"commits_count":897641581,"contributors_count":34925520,"owners_count":1150439,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"adbar/htmldate","html_url":"https://github.com/adbar/htmldate","last_synced_at":"2025-11-17T08:58:56.531Z","status":"active","issues_count":60,"pull_requests_count":155,"avg_time_to_close_issue":5371839.5869565215,"avg_time_to_close_pull_request":234296.7619047619,"issues_closed_count":46,"pull_requests_closed_count":147,"pull_request_authors_count":22,"issue_authors_count":34,"avg_comments_per_issue":2.25,"avg_comments_per_pull_request":1.3225806451612903,"merged_pull_requests_count":100,"bot_issues_count":0,"bot_pull_requests_count":53,"past_year_issues_count":6,"past_year_pull_requests_count":17,"past_year_avg_time_to_close_issue":1684609.5,"past_year_avg_time_to_close_pull_request":216226.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.16666666666666666,"past_year_avg_comments_per_pull_request":1.2352941176470589,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":12,"created_at":"2023-05-14T15:34:38.762Z","updated_at":"2025-11-17T08:58:56.532Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/adbar%2Fhtmldate/issues","issue_labels_count":{"table":{"bug":12,"enhancement":11,"maintenance":7,"up for grabs":6,"question":6,"good first issue":2,"documentation":2}},"pull_request_labels_count":{"table":{"dependencies":43,"python":14,"github_actions":4}},"issue_author_associations_count":{"table":{"NONE":30,"OWNER":25,"CONTRIBUTOR":5}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":78,"OWNER":71,"NONE":6}},"issue_authors":{"table":{"adbar":25,"RadhiFadlillah":2,"rahulbot":2,"wangyu190810":1,"geoffbacon":1,"evolutionoftheuniverse":1,"Kulratis":1,"PetroffSky":1,"frenzymadness":1,"zhemaituk":1,"masylum":1,"alroythalus":1,"Ismael-Hery":1,"eupattaro89":1,"arcombe012":1,"rolisz":1,"vprelovac":1,"danielbichuetti":1,"0xFlo":1,"bisoldi":1,"TheNightsFall":1,"Yomguithereal":1,"TheCutestCat":1,"ulf1":1,"ahmetahacelik":1,"efecan-circlelabs":1,"CarlosMoralesSal":1,"jaekunchoi":1,"kinoute":1,"kvasilopoulos":1,"abyrne55":1,"SamComber":1,"HubLubas":1,"k-sareen":1}},"pull_request_authors":{"table":{"adbar":71,"dependabot[bot]":43,"sourcery-ai[bot]":9,"DerKozmonaut":3,"evolutionoftheuniverse":3,"b3n4kh":2,"danielskatz":2,"nadasuhailAyesh12":2,"EkaterineSheshelidze":2,"vbarbaresi":2,"felipehertzer":2,"mohmmadAyesh":2,"kernc":2,"zhemaituk":2,"SalihTalha":1,"rahulbot":1,"liulinlin90":1,"getorca":1,"MSK1582":1,"lgtm-com[bot]":1,"RadhiFadlillah":1,"Ashikpaul":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14184532,"issues_count":34603019,"pull_requests_count":113169189,"authors_count":11231817,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{"maintenance":1}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":2}},"past_year_pull_request_author_associations_count":{"table":{"OWNER":2,"CONTRIBUTOR":1,"NONE":1}},"past_year_issue_authors":{"table":{"abyrne55":1,"zhemaituk":1}},"past_year_pull_request_authors":{"table":{"adbar":2,"zhemaituk":2}},"maintainers":[{"table":{"login":"adbar","count":96,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/adbar"}}],"active_maintainers":[{"table":{"login":"adbar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/adbar"}}]}},"events":{"total":{"ReleaseEvent":2,"DeleteEvent":12,"PullRequestEvent":23,"ForkEvent":4,"IssuesEvent":8,"WatchEvent":20,"IssueCommentEvent":13,"PushEvent":21,"CreateEvent":13},"last_year":{"DeleteEvent":1,"PullRequestEvent":2,"ForkEvent":4,"IssuesEvent":2,"WatchEvent":11,"IssueCommentEvent":3,"PushEvent":3,"CreateEvent":1}},"keywords":["date","date-parser","datetime","digital-forensics","entity-extraction","forensics-tools","information-extraction","metadata","metadata-extraction","natural-language-processing","nlp","opengraph","web-scraping","webscraping"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/codeql.yml","sha":null,"kind":"manifest","created_at":"2023-11-07T17:42:05.791Z","updated_at":"2023-11-07T17:42:05.791Z","repository_link":"https://github.com/adbar/htmldate/blob/master/.github/workflows/codeql.yml","dependencies":[{"id":14359319168,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14359319169,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14359319170,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14359319171,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2023-11-07T17:42:06.388Z","updated_at":"2023-11-07T17:42:06.388Z","repository_link":"https://github.com/adbar/htmldate/blob/master/.github/workflows/tests.yml","dependencies":[{"id":14359319531,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14359319532,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14359319533,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14359319534,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-11-07T17:42:06.956Z","updated_at":"2023-11-07T17:42:06.956Z","repository_link":"https://github.com/adbar/htmldate/blob/master/docs/requirements.txt","dependencies":[{"id":14359320272,"package_name":"sphinx","ecosystem":"pypi","requirements":"\u003e=7.2.6","direct":true,"kind":"runtime","optional":false},{"id":14359320273,"package_name":"htmldate","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-11-07T17:42:08.428Z","updated_at":"2023-11-07T17:42:08.428Z","repository_link":"https://github.com/adbar/htmldate/blob/master/setup.py","dependencies":[{"id":14359320617,"package_name":"backports-datetime-fromisoformat","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14359320716,"package_name":"charset_normalizer","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14359320717,"package_name":"dateparser","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14359320718,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14359320719,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14359320720,"package_name":"urllib3","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"tests/eval-requirements.txt","sha":null,"kind":"manifest","created_at":"2023-11-07T17:42:09.101Z","updated_at":"2023-11-07T17:42:09.101Z","repository_link":"https://github.com/adbar/htmldate/blob/master/tests/eval-requirements.txt","dependencies":[{"id":14359320721,"package_name":"htmldate","ecosystem":"pypi","requirements":"\u003e=1.5.0","direct":true,"kind":"test","optional":false},{"id":14359320722,"package_name":"articleDateExtractor","ecosystem":"pypi","requirements":"==0.20","direct":true,"kind":"test","optional":false},{"id":14359320723,"package_name":"date_guesser","ecosystem":"pypi","requirements":"==2.1.4","direct":true,"kind":"test","optional":false},{"id":14359320726,"package_name":"goose3","ecosystem":"pypi","requirements":"==3.1.17","direct":true,"kind":"test","optional":false},{"id":14359320946,"package_name":"newspaper3k","ecosystem":"pypi","requirements":"==0.2.8","direct":true,"kind":"test","optional":false},{"id":14359320947,"package_name":"news-please","ecosystem":"pypi","requirements":"==1.5.35","direct":true,"kind":"test","optional":false},{"id":14359320953,"package_name":"tabulate","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"test","optional":false}]}],"score":24.399303025410596,"created_at":"2025-04-11T10:22:01.941Z","updated_at":"2026-05-13T04:03:58.823Z","avatar_url":"https://github.com/adbar.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/358183","html_url":"https://summary.ecosyste.ms/projects/358183"}