{"id":29253479,"url":"https://github.com/ekahyaoglu/secupatch","last_synced_at":"2026-05-14T12:34:41.832Z","repository":{"id":302186121,"uuid":"1011550488","full_name":"EKahyaoglu/SecuPatch","owner":"EKahyaoglu","description":"Python-based patch compliance dashboard that generates a compliance report with visualizations and in-depth analysis.","archived":false,"fork":false,"pushed_at":"2025-07-19T16:46:21.000Z","size":262,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-06T00:44:01.661Z","etag":null,"topics":["csv-parser","patches","python","streamlit","yaml-parser"],"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/EKahyaoglu.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-01T02:05:12.000Z","updated_at":"2025-07-19T16:46:25.000Z","dependencies_parsed_at":"2025-07-01T03:23:59.887Z","dependency_job_id":"c8aec68f-3ac0-4d7f-a75e-889901078996","html_url":"https://github.com/EKahyaoglu/SecuPatch","commit_stats":null,"previous_names":["ekahyaoglu/secupatch"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EKahyaoglu/SecuPatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKahyaoglu%2FSecuPatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKahyaoglu%2FSecuPatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKahyaoglu%2FSecuPatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKahyaoglu%2FSecuPatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EKahyaoglu","download_url":"https://codeload.github.com/EKahyaoglu/SecuPatch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKahyaoglu%2FSecuPatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278358479,"owners_count":25973949,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"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":["csv-parser","patches","python","streamlit","yaml-parser"],"created_at":"2025-07-04T02:02:45.640Z","updated_at":"2025-10-04T18:52:19.649Z","avatar_url":"https://github.com/EKahyaoglu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SECUPATCH\n\n## 📋 Overview\nWeb-based compliance dashboard designed to help IT administrators, security analysts, and infrastructure teams ensure that servers in their organization meet required patching standards. Users can upload a patch manifest (YAML) and system log file (CSV), and SecuPatch automatically evaluates compliance, visualizes server patching status, and offers a downloadable compliance report.\n\n## 🚀 Features\n- Upload patch manifests (YAML) and system log files (CSV) to evaluate server compliance,\n- Automated compliance evaluation based on uploaded data,\n- Interactive visualizations of patch status and compliance metrics,\n- Downloadable compliance reports for easy sharing,\n\n## 🗂️ Project Structure\n| File               | Description                                 |\n|--------------------|---------------------------------------------|\n| `project.py`        | Main application containing the Streamlit UI and business logic |\n| `test_project.py`   | Unit tests for three core functions using `pytest` |\n| `requirements.txt`  | List of required Python libraries |\n| `README.md`         | Project documentation and video demo link |\n\n## 🧪 Testing\nThis project uses `pytest` to validate core functionality and ensure code reliability. Three major functions are tested:\n\n- `parse_log_file()`\n- `evaluate_compliance()`\n- `load_patch_manifest()`\n\n## 📦 Dependencies\n\u003cb\u003eInstall project dependencies with:\u003c/b\u003e\n\n    pip install -r requirements.txt\n\n\u003cb\u003eDependencies include:\u003c/b\u003e\n\n    • streamlit\n    • pandas\n    • pyyaml\n    • plotly\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekahyaoglu%2Fsecupatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekahyaoglu%2Fsecupatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekahyaoglu%2Fsecupatch/lists"}