{"id":22537548,"url":"https://github.com/shramkoweb/bookbot","last_synced_at":"2026-02-02T10:17:12.166Z","repository":{"id":263943548,"uuid":"891864104","full_name":"Shramkoweb/bookbot","owner":"Shramkoweb","description":"A Python-based text analyzer that counts words and character frequencies in any .txt file, providing a detailed, sorted report. Perfect for quick text insights and learning text processing basics!","archived":false,"fork":false,"pushed_at":"2024-12-15T04:45:44.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T12:11:43.907Z","etag":null,"topics":["automation","beginner-friendly","character-frequency","data-analysis","file-processing","open-source","python","text-analysis","text-parser","text-processing","word-count"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shramkoweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-11-21T04:55:50.000Z","updated_at":"2025-02-08T19:09:51.000Z","dependencies_parsed_at":"2024-11-21T06:18:23.997Z","dependency_job_id":"c716b954-2a05-4647-9105-525cd64a5de5","html_url":"https://github.com/Shramkoweb/bookbot","commit_stats":null,"previous_names":["shramkoweb/bookbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Shramkoweb/bookbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shramkoweb%2Fbookbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shramkoweb%2Fbookbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shramkoweb%2Fbookbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shramkoweb%2Fbookbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shramkoweb","download_url":"https://codeload.github.com/Shramkoweb/bookbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shramkoweb%2Fbookbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29009890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T08:40:12.472Z","status":"ssl_error","status_checked_at":"2026-02-02T08:40:10.926Z","response_time":58,"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":["automation","beginner-friendly","character-frequency","data-analysis","file-processing","open-source","python","text-analysis","text-parser","text-processing","word-count"],"created_at":"2024-12-07T11:07:32.736Z","updated_at":"2026-02-02T10:17:12.133Z","avatar_url":"https://github.com/Shramkoweb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Character \u0026 Word Frequency Analyzer\n\nThis Python project analyzes a text file, providing a detailed report of the word count and frequency of each character\nin the document. Designed to work with plain text files, it offers insights into text composition and can serve as a\nfoundation for more advanced text analysis.\n\n[![asciicast](https://asciinema.org/a/Mf12iQsBgMs3KtShNDxeY2t4S.svg)](https://asciinema.org/a/TjcBPAFjy0bJzQLOGnfQ098tP)\n\n\nFeatures\n\n\t•\tWord Count: Calculates the total number of words in the document.\n\t•\tCharacter Frequency: Counts how often each character appears, case-insensitive.\n\t•\tSorted Output: Displays characters sorted by frequency in descending order.\n\t•\tCustomizable Input: Specify the path to any .txt file for analysis.\n\t•\tRobust Error Handling: Provides clear feedback if the input file is missing or unreadable.\n\nInstallation\n\n\t1.\tClone the Repository:\n\ngit clone https://github.com/Shramkoweb/bookbot.git\ncd character-word-analyzer\n\n\t2.\tEnsure Python is Installed:\n\nThis script requires Python 3.6 or later. Check your version:\n\npython3 --version\n\n\t3.\tPrepare the Input File:\n\t•\tPlace the .txt file you want to analyze in the books/ directory.\n\t•\tUpdate the book_path variable in the main() function if using a different directory.\n\nUsage\n\n\t1.\tRun the script:\n\npython3 main.py\n\n\t2.\tThe script will:\n\t•\tRead the text file specified in the book_path variable.\n\t•\tDisplay a report of the word count and character frequencies.\n\nExample Output\n\nFor a file frankenstein.txt:\n\n--- Begin report of books/frankenstein.txt ---\n75045 words found in the document\n\nThe 'e' character was found 57000 times\nThe 't' character was found 43000 times\nThe 'a' character was found 32000 times\n...\nThe 'z' character was found 500 times\n\n--- End report ---\n\nCustomization\n\n\t1.\tAnalyzing a Different File:\n\nModify the book_path variable in the main() function:\n\nbook_path = \"path/to/your/textfile.txt\"\n\n\t2.\tFiltering Characters:\n\nBy default, the script excludes non-alphabetic characters from the report. To include all characters, remove the\nisalpha() check in main():\n\nif item['char'].isalpha():  # Remove this condition\n\nTroubleshooting\n\n\t•\tFile Not Found:\n\nEnsure the file path is correct and that the file exists. The default path is books/frankenstein.txt.\n• Encoding Issues:\nIf your text file uses a non-UTF-8 encoding, update the get_book_text() function:\n\nwith open(path, \"r\", encoding=\"your-encoding\") as f:\n\nContact\n\nFor issues, suggestions, or questions, feel free to reach out:\n• Author: Serhii Shramko    \n• Email: shramko.dev@gmail.com\n• GitHub: shramkoweb\n\nEnjoy analyzing text with ease! 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshramkoweb%2Fbookbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshramkoweb%2Fbookbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshramkoweb%2Fbookbot/lists"}