{"id":32495293,"url":"https://github.com/cllspy/sumora","last_synced_at":"2026-07-03T01:05:00.909Z","repository":{"id":319555676,"uuid":"1079008884","full_name":"CllsPy/Sumora","owner":"CllsPy","description":"Sumora — An AI-powered blog summarization system.","archived":false,"fork":false,"pushed_at":"2025-10-24T09:05:03.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-24T11:12:17.628Z","etag":null,"topics":["beautifulsoup4","c4model","llmops","python3","streamlit-webapp"],"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/CllsPy.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-18T22:22:13.000Z","updated_at":"2025-10-24T09:05:06.000Z","dependencies_parsed_at":"2025-10-24T11:12:21.799Z","dependency_job_id":null,"html_url":"https://github.com/CllsPy/Sumora","commit_stats":null,"previous_names":["cllspy/llmwhisper","cllspy/sumora"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CllsPy/Sumora","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CllsPy%2FSumora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CllsPy%2FSumora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CllsPy%2FSumora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CllsPy%2FSumora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CllsPy","download_url":"https://codeload.github.com/CllsPy/Sumora/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CllsPy%2FSumora/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35068149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"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":["beautifulsoup4","c4model","llmops","python3","streamlit-webapp"],"created_at":"2025-10-27T13:51:06.289Z","updated_at":"2026-07-03T01:05:00.824Z","avatar_url":"https://github.com/CllsPy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blog Summary System\n\n\u003cimg width=\"860\" height=\"516\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d7926522-8b3e-4c6b-a159-433196b75edd\" /\u003e\n\n\n## Tech Stack\n![Python](https://img.shields.io/badge/Python-3776AB?logo=python\u0026logoColor=white)\n![Streamlit](https://img.shields.io/badge/Streamlit-FF4B4B?logo=streamlit\u0026logoColor=white)\n![BeautifulSoup](https://img.shields.io/badge/BeautifulSoup-4B8BBE?logo=python\u0026logoColor=white)\n![C4 Model](https://img.shields.io/badge/C4%20Model-232F3E?logo=diagram\u0026logoColor=white)\n\n## Overview\nThis project demonstrates how to enhance a personal blog through automated content summarization. It uses a Large Language Model (LLM) to generate concise and engaging summaries of blog articles. The system retrieves a blog URL, extracts text content, and produces a short, humorous summary that helps users quickly understand the main ideas.\n\n## About This Project\n\n### C4 Model\n![c4lvl2](https://github.com/user-attachments/assets/11669801-7bd6-49b8-81ea-fe0f0e23cee7)\n\nThis system uses the GPT-5-Nano model via the [OpenAI API](https://openai.com/fr-FR/index/openai-api/). The workflow receives a blog URL from the user, extracts content with [BeautifulSoup4](https://www.crummy.com/software/BeautifulSoup/bs4/doc.ptbr/), and generates a lighthearted summary. Finally, the application is deployed using [Streamlit Community Cloud](https://streamlit.io/cloud).\n\n## Development Roadmap\n\n1. **Environment Setup** – Initialize the project structure.  \n2. **Data Collection** – Fetch blog content using the provided URL.  \n3. **Data Preprocessing** – Clean and prepare the extracted text.  \n4. **Summarization Pipeline** –  \n   - Extract data  \n   - Process text  \n   - Generate summary  \n5. **Cloud Deployment** – Publish the app on Streamlit Community Cloud.\n\n## Prerequisites\n- Python 3.11.9  \n- Streamlit Cloud Community account (Free Tier)  \n- OpenAI API key (Paid)\n\n## Required Packages\nInstall the dependencies before running the project:\n\n```bash\npip install -e .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcllspy%2Fsumora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcllspy%2Fsumora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcllspy%2Fsumora/lists"}