{"id":13826070,"url":"https://github.com/johnbumgarner/wordhoard","last_synced_at":"2026-01-14T07:44:01.276Z","repository":{"id":39167309,"uuid":"306728924","full_name":"johnbumgarner/wordhoard","owner":"johnbumgarner","description":"This Python module can be used to obtain antonyms, synonyms, hypernyms, hyponyms, homophones and definitions.","archived":false,"fork":false,"pushed_at":"2024-05-29T11:39:07.000Z","size":552,"stargazers_count":124,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-25T17:01:22.631Z","etag":null,"topics":["antonyms","bag-of-words","definitions","dictionary","homophones","hypernyms","hyponyms","lexicon","nlp","python","python3","synonyms","text-analysis","textual-analysis","wordlists","wordnet","wordnets","wordsearch"],"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/johnbumgarner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://www.buymeacoffee.com/johnbumgarner"}},"created_at":"2020-10-23T19:28:04.000Z","updated_at":"2025-05-30T12:48:45.000Z","dependencies_parsed_at":"2023-12-30T06:31:55.959Z","dependency_job_id":"fded9891-d91c-41d8-807b-dc26582cba1e","html_url":"https://github.com/johnbumgarner/wordhoard","commit_stats":{"total_commits":115,"total_committers":2,"mean_commits":57.5,"dds":0.008695652173912993,"last_synced_commit":"ff389e3ff67c7770b952687467f54cf367c689c7"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/johnbumgarner/wordhoard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbumgarner%2Fwordhoard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbumgarner%2Fwordhoard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbumgarner%2Fwordhoard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbumgarner%2Fwordhoard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnbumgarner","download_url":"https://codeload.github.com/johnbumgarner/wordhoard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnbumgarner%2Fwordhoard/sbom","scorecard":{"id":528253,"data":{"date":"2025-08-11","repo":{"name":"github.com/johnbumgarner/wordhoard","commit":"818ee175755efa06de358bccefdb774bfb18a59c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"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":"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":"Code-Review","score":0,"reason":"Found 1/29 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":"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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"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":"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":"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":"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: MIT License: 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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.5.3 not signed: https://api.github.com/repos/johnbumgarner/wordhoard/releases/96360319","Warn: release artifact 1.5.2 not signed: https://api.github.com/repos/johnbumgarner/wordhoard/releases/92239683","Warn: release artifact 1.5.3 does not have provenance: https://api.github.com/repos/johnbumgarner/wordhoard/releases/96360319","Warn: release artifact 1.5.2 does not have provenance: https://api.github.com/repos/johnbumgarner/wordhoard/releases/92239683"],"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'"],"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":"Vulnerabilities","score":5,"reason":"5 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: GHSA-48p4-8xcf-vxj5","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 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-20T05:01:29.049Z","repository_id":39167309,"created_at":"2025-08-20T05:01:29.049Z","updated_at":"2025-08-20T05:01:29.049Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28413478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["antonyms","bag-of-words","definitions","dictionary","homophones","hypernyms","hyponyms","lexicon","nlp","python","python3","synonyms","text-analysis","textual-analysis","wordlists","wordnet","wordnets","wordsearch"],"created_at":"2024-08-04T09:01:31.696Z","updated_at":"2026-01-14T07:44:01.255Z","avatar_url":"https://github.com/johnbumgarner.png","language":"Python","funding_links":["https://www.buymeacoffee.com/johnbumgarner"],"categories":["Python"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n   \u003c! -- Graphic source: https://thesaurus.plus --\u003e \n  \u003cimg src=\"https://github.com/johnbumgarner/wordhoard/blob/master/graphic/wordhoard_graphic.jpg\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eOverviews\u003c/h1\u003e\n\n![PyPI](https://img.shields.io/pypi/v/wordhoard) \u0026nbsp;\n![License: MIT](https://img.shields.io/github/license/johnbumgarner/wordhoard)\u0026nbsp;\n![GitHub issues](https://img.shields.io/github/issues/johnbumgarner/wordhoard)\u0026nbsp;\n![GitHub pull requests](https://img.shields.io/github/issues-pr/johnbumgarner/wordhoard)\u0026nbsp;\n[![Downloads](https://static.pepy.tech/personalized-badge/wordhoard?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=brightgreen\u0026left_text=Downloads)](https://pepy.tech/project/wordhoard)\u0026nbsp;\n\n\u003c!-- [![wordhoard](https://snyk.io/advisor/python/wordhoard/badge.svg)](https://snyk.io/advisor/python/wordhoard)\u0026nbsp; --\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003ePrimary Use Case\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e \nTextual analysis is a broad term for various research methodologies used to qualitatively describe, interpret and understand text data. These methodologies are mainly used in academic research to analyze content related to media and communication studies, popular culture, sociology, and philosophy. Textual analysis allows these researchers to quickly obtain relevant insights from unstructured data. All types of information can be gleaned from textual data, especially from social media posts or news articles. Some of this information includes the overall concept of the subtext, symbolism within the text, assumptions being made and potential relative value to a subject (e.g. data science). In some cases it is possible to deduce the relative historical and cultural context of a body of text using analysis techniques coupled with knowledge from different disciplines, like linguistics and semiotics.\n   \nWord frequency is the technique used in textual analysis to measure the frequency of a specific word or word grouping within unstructured data. Measuring the number of word occurrences in a corpus allows a researcher to garner interesting insights about the text. A subset of word frequency is the correlation between a given word and that word's relationship to either antonyms and synonyms within the specific corpus being analyzed. Knowing these relationships is critical to improving word frequencies and topic modeling.\n\n\u003cstrong\u003eWordHoard\u003c/strong\u003e was designed to assist researchers performing textual analysis to build more comprehensive lists of antonyms, synonyms, hypernyms, hyponyms and homophones.\n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eInstallation\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e \n   Install the distribution via pip:\n\u003c/p\u003e\n\n```python\npip3 install wordhoard\n```\n\n\u003ch1 style=\"color:IndianRed;\"\u003eGeneral Package Utilization\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\nPlease reference the \u003ca href=\"https://wordhoard.readthedocs.io/en/latest\" target=\"_blank\"\u003eWordHoard Documentation\u003c/a\u003e for package usage guidance and parameters.\n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eSources\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\nThis package is currently designed to query these online sources for antonyms, synonyms, hypernyms, hyponyms and definitions:\n\n1. classicthesaurus.com\n2. collinsdictionary.com\n3. merriam-webster.com\n4. synonym.com\n5. thesaurus.com\n6. wordhippo.com\n7. wordnet.princeton.edu\n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eDependencies\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\nThis package has these core dependencies:\n  \n1. backoff\n2. BeautifulSoup\n3. deckar01-ratelimit\n4. deepl\n5. lxml\n6. requests\n7. urllib3\n\u003c/p\u003e\n\n\u003cp align=\"justify\"\u003e\nAdditional details on this package's dependencies can be found \u003ca href=\"https://wordhoard.readthedocs.io/en/latest/dependencies\" target=\"_blank\"\u003ehere\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eDevelopment Roadmap\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\nIf you would like to contribute to the \u003cstrong\u003eWordHoard\u003c/strong\u003e project please read the \u003ca href=\"https://wordhoard.readthedocs.io/en/latest/contributing\" target=\"_blank\"\u003econtributing guidelines\u003c/a\u003e.\n   \nItems currently under development:\n   - Expanding the list of hypernyms, hyponyms and homophones\n   - Adding part-of-speech filters in queries \n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eIssues\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\nThis repository is actively maintained.  Feel free to open any issues related to bugs, coding errors, broken links or enhancements. \n\nYou can also contact me at [John Bumgarner](mailto:wordhoardproject@gmail.com?subject=[GitHub]%20wordhoard%20project%20request) with any issues or enhancement requests.\n\u003c/p\u003e\n\n\n\u003ch1 style=\"color:IndianRed;\"\u003eSponsorship\u003c/h1\u003e\n\nIf you would like to contribute financially to the development and maintenance of the \u003cstrong\u003eWordHoard\u003c/strong\u003e project please read the \u003ca href=\"https://github.com/johnbumgarner/wordhoard/blob/master/SPONSOR.md\"\u003esponsorship information\u003c/a\u003e.\n\n\u003ch1 style=\"color:IndianRed;\"\u003eLicense\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\nThe MIT License (MIT).  Please see \u003ca href=\"https://wordhoard.readthedocs.io/en/latest/license\" target=\"_blank\"\u003eLicense File\u003c/a\u003e for more information.\n\u003c/p\u003e\n\n\u003ch1 style=\"color:IndianRed;\"\u003eAuthor\u003c/h1\u003e\n\n\u003cp align=\"justify\"\u003e\n  Copyright (c) 2020 John Bumgarner\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnbumgarner%2Fwordhoard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnbumgarner%2Fwordhoard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnbumgarner%2Fwordhoard/lists"}