{"id":17227145,"url":"https://github.com/hadware/katalixia","last_synced_at":"2025-03-25T17:49:10.606Z","repository":{"id":79256128,"uuid":"81572053","full_name":"hadware/katalixia","owner":"hadware","description":"A python lib that uses espeak's phonemic decomposition to get a rime","archived":false,"fork":false,"pushed_at":"2020-01-07T17:23:51.000Z","size":15,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T15:44:47.655Z","etag":null,"topics":[],"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/hadware.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-10T14:18:53.000Z","updated_at":"2017-10-26T17:31:37.000Z","dependencies_parsed_at":"2023-03-05T13:15:39.504Z","dependency_job_id":null,"html_url":"https://github.com/hadware/katalixia","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadware%2Fkatalixia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadware%2Fkatalixia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadware%2Fkatalixia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadware%2Fkatalixia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hadware","download_url":"https://codeload.github.com/hadware/katalixia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245515598,"owners_count":20628196,"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":[],"created_at":"2024-10-15T04:18:15.064Z","updated_at":"2025-03-25T17:49:10.585Z","avatar_url":"https://github.com/hadware.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# katalixia\nA python lib that uses Espeak's phonemic decomposition to get a rime\n\n## Install\nKatalixia hasn't been posted to the pypi repo, but you should be able to install it using \n\n`pip3 install https://github.com/hadware/katalixia`\n\nDependencies (actually only the python3 lib `voxpopuli` are required, but that shouldn't be a problem since pip takes care of dependencies by itself. Be sure to install voxpuloli's dependencies, especialy the Mbrola voices.\n\n## Usage\nBasically, feed words/phrases to a `RhymeTree` object, and then ask for rhymes using the `find_rhymes` method:\n\n```python\n\u003e\u003e\u003e from katalixia import RhymeTree\n\u003e\u003e\u003e tree = RhymeTree.from_word_list([\"marteau\", \"bateau\", \"apollo\", \"polo\", \"rire\", \"avenir\", \"sourire\"])\n\u003e\u003e\u003e tree.find_rhyme(\"gateau\")\n'bateau'\n\u003e\u003e\u003e tree.find_rhyme(\"picolo\")\n'polo'\n```\n\nExamples are in French because rhymes are prettier in French. Anyone disagreeing with that shall duel me in a one-to-one joust of poetry. **The RhymeTree can however be set to use the phonemic transformation for other barbarian languages, such as German, Spanish, or even English (or any language supported by Espeak, for that matter)**\n\n```python\n\u003e\u003e\u003e # at one point there should be an example here. For the time being, delight yourself witht the view of this comment\n```\n\nWords for the tree can also directly be loaded from a text file, so you don't have to write the 3 precious lines of code required to read a text file:\n\n```python\n\u003e\u003e\u003e tree = RhymeTree.from_textfile(\"comma_separated_words.txt\", separator=\",\")\n\u003e\u003e\u003e # rhyme away!\n```\n\nIt's also possible to pickle and save a RhymeTree for future use (and it's even encouraged, as building the RhymeTree is a bit slow, because everything is running on your own machine and not some Silicon Valley's cloud-based docker microservice hydro-cooled hypersecured datacenter. \n\n```python\n\u003e\u003e\u003e tree.save(\"rhymetree.pckl\")\n\u003e\u003e\u003e same_tree = RhymeTree.from_pickle(\"rhymetree.pckl\") # amazingly once unpickled, it works exactly the same as it used to.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadware%2Fkatalixia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhadware%2Fkatalixia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadware%2Fkatalixia/lists"}