{"id":15621519,"url":"https://github.com/krmanik/mandarin-news-feed","last_synced_at":"2026-04-30T02:35:32.030Z","repository":{"id":117576033,"uuid":"298227181","full_name":"krmanik/Mandarin-News-Feed","owner":"krmanik","description":"daily read news \u0026 learn words daily [For Chinese language learners] Made with python, kivy and kivyMD","archived":false,"fork":false,"pushed_at":"2020-09-24T22:45:06.000Z","size":15145,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-30T01:14:42.890Z","etag":null,"topics":["kivy","kivymd","mandarin","mandarin-chinese","mandarin-news-feed","news","newspaper","python","python-for-android"],"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/krmanik.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}},"created_at":"2020-09-24T09:12:24.000Z","updated_at":"2025-04-25T12:07:52.000Z","dependencies_parsed_at":"2024-02-02T17:07:43.647Z","dependency_job_id":null,"html_url":"https://github.com/krmanik/Mandarin-News-Feed","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/krmanik/Mandarin-News-Feed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krmanik%2FMandarin-News-Feed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krmanik%2FMandarin-News-Feed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krmanik%2FMandarin-News-Feed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krmanik%2FMandarin-News-Feed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krmanik","download_url":"https://codeload.github.com/krmanik/Mandarin-News-Feed/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krmanik%2FMandarin-News-Feed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32452740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["kivy","kivymd","mandarin","mandarin-chinese","mandarin-news-feed","news","newspaper","python","python-for-android"],"created_at":"2024-10-03T09:41:13.978Z","updated_at":"2026-04-30T02:35:31.999Z","avatar_url":"https://github.com/krmanik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mandarin-News-Feed\ndaily read news \u0026amp; learn words daily \n\nLearn Mandarin language by reading news daily. Also save new words and export to Anki decks.\n\nThe app created using kivy, kivymd and many other open source projects entirely in python. View [app_license.json](https://github.com/infinyte7/Mandarin-News-Feed/blob/master/Mandarin%20News%20Feed/app_license.json).\n\n**Note: I have just created this app to learn kivy and kivymd.**\n\n# Demo\n|\u003cimg src=\"Images/demo.gif\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/app_demo.gif\" height=\"450\"\u003e\u003c/img\u003e|\n|--|--|\n\n\n# Features\n- Night mode\n- Text to speech offline and online\n- View news by topic or search query\n- New words at main screen (HSK level)\n- Change font size of news article text\n- Export words as [Anki](https://apps.ankiweb.net/) deck\n- Click on words to view their meaning while reading news\n- Daily news using Google RSS feed (Chinese language only)\n- Save new words to text files separated by news and daily words\n- Change font (put new fonts to ```Mandarin News Feed/fonts``` folder)\n- When new words saved then words data in form of ```.json``` file saved in ```Mandarin News Feed/saved_words_json``` folder for offline viewing\n- When online text to speech feature used, then audio for that words saved to ```Mandarin News Feed/saved_audio``` for offline usage. \n\n\n# Download\nDownload the app from the GitHub release page.\n\nhttps://github.com/infinyte7/Mandarin-News-Feed/releases\n\n# After install\n### Change default fonts\nDownload new chinese font and paste it inside ```Mandarin News Feed/fonts```, if folder not present then create the folder.\n\n### Load words data from local folder\nDownload cedict-json data from [github.com/infinyte7/cedict-json](https://github.com/infinyte7/cedict-json) and paste it in ```Mandarin News Feed/words_json_data```, if folder not present then create the folder. Note: In ```words_json_data``` only put ```.json``` files only.\n\n\n# Faq?\n\n## Why is it always crashing?\nThe app still in alpha version. Every new updates will try to reduce the crash.\nAlso, trying to remove this error.\n```\nReferenceError: weakly-referenced object no longer exists\n```\n\n## Where is all the files stored?\nThe files stores in ```storage/emulated/0/Mandarin News Feed/``` folder.\n\n## How can I delete the saved words from daily words and news words?\nRemove ```daily_words_data.txt``` and ```news_words_data.txt```, from ```Mandarin News Feed/wordslist``` folder.\n\n## Why app size so big?\nAll python modules required by the app is packed inside the app. So that app size is big.\n\nList of python modules\n\n```\nrequirements = python3,kivy,kivymd,genanki,cached_property,frozendict,pystache,pyyaml,pillow,pyjnius,\nnewspaper3k,requests,nltk,sgmllib3k,jieba3k,feedfinder2,tinysegmenter,tldextract,python-dateutil,lxml,cssselect,\nfeedparser,beautifulsoup4,idna,click,joblib,regex,tqdm,chardet,certifi,urllib3,soupsieve,requests-file,xmltodict,\npycedict,pinyin,HanziConv,googletrans,httpcore,sniffio,httpx,h11,hstspreload,rfc3986,hstspreload,h2,contextvars,\nhyperframe,hpack,immutables,asyncio,aiohttp,multidict,yarl,async-timeout,attrs,aiogtts\n```\n\n# Build the project\nAll the code and required files are in ```Mandarin News Feed``` folder of this GitHub repository. \n1. Fork this repository\n2. Install python, kivy and kivymd\n3. The project used following python modules. Note: When creating app using buildozer then put all the dependencies required by the module in ```requirements = ```\n\n```\nkivy\nkivymd\npillow\npyjnius\ngenanki\nnewspaper3k\njieba\nbeautifulsoup4\ncertifi\npycedict\npinyin\nHanziConv\ngoogletrans\naiohttp\naiogtts\n```\n4. Use ```buildozer.spec``` and create the app for target system.\nView https://github.com/kivy/buildozer for more.\n\n# Contribution\nPR with features and bug fixes\n\n# License\nMandarin News Feed\n\u003cbr\u003eMani\n\u003cbr\u003eThe MIT License\n\n## Other third party licenses\nView [app_license.json](https://github.com/infinyte7/Mandarin-News-Feed/blob/master/Mandarin%20News%20Feed/app_license.json)\n\n# Image Gallery\n|Normal Mode|Dark Mode|\n|--|--|\n|\u003cimg src=\"Images/gallery/main_screen.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/main_screen_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/bottom_sheet.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/bottom_sheet_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/change_feed_topic.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/change_feed_topic_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/news_popup.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/news_screen_popup_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/news.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/news_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/news_article.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/news_article_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/word_popup.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/word_popup_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/wordslist.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/wordslist.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/settings.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/settings_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|\n|\u003cimg src=\"Images/gallery/license.png\" height=\"450\"\u003e\u003c/img\u003e|\u003cimg src=\"Images/gallery/license_dark_mode.png\" height=\"450\"\u003e\u003c/img\u003e|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrmanik%2Fmandarin-news-feed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrmanik%2Fmandarin-news-feed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrmanik%2Fmandarin-news-feed/lists"}