{"id":28467502,"url":"https://github.com/emrepbu/consumerproducer.animate","last_synced_at":"2025-08-25T07:17:54.618Z","repository":{"id":296534421,"uuid":"993107840","full_name":"emrepbu/ConsumerProducer.Animate","owner":"emrepbu","description":"Animated visualization of Producer-Consumer problem using Manim. Features buffer management,   synchronization. Educational tool for understanding concurrent   programming concepts.","archived":false,"fork":false,"pushed_at":"2025-06-01T10:03:27.000Z","size":38455,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T01:41:17.456Z","etag":null,"topics":["animation","buffer-management","computer-science","concurrency","educational","educational-animation","manim","neural-network","producer-consumer","python","synchronization","threading","visualization"],"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/emrepbu.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}},"created_at":"2025-05-30T08:22:39.000Z","updated_at":"2025-06-17T14:28:27.000Z","dependencies_parsed_at":"2025-05-31T23:28:25.084Z","dependency_job_id":null,"html_url":"https://github.com/emrepbu/ConsumerProducer.Animate","commit_stats":null,"previous_names":["emrepbu/consumerproducer.animate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emrepbu/ConsumerProducer.Animate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrepbu%2FConsumerProducer.Animate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrepbu%2FConsumerProducer.Animate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrepbu%2FConsumerProducer.Animate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrepbu%2FConsumerProducer.Animate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emrepbu","download_url":"https://codeload.github.com/emrepbu/ConsumerProducer.Animate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrepbu%2FConsumerProducer.Animate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272022469,"owners_count":24860198,"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-08-25T02:00:12.092Z","response_time":1107,"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":["animation","buffer-management","computer-science","concurrency","educational","educational-animation","manim","neural-network","producer-consumer","python","synchronization","threading","visualization"],"created_at":"2025-06-07T07:39:13.983Z","updated_at":"2025-08-25T07:17:54.598Z","avatar_url":"https://github.com/emrepbu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Producer-Consumer Animation\n\nAnimated visualization of Producer-Consumer problem using Manim. Features buffer management, synchronization, and neural network implementations. Educational tool for understanding concurrent programming concepts.\n\n[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![Manim](https://img.shields.io/badge/ManimCE-v0.17.0+-red.svg)](https://www.manim.community/)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n[English](#english) | [Türkçe](#türkçe)\n\n## English\n\n### Features\n\n- Visual representation of Producer and Consumer components\n- Limited capacity buffer visualization\n- Data production and consumption animations\n- Waiting animations for full/empty buffer states\n- Neural network-based producer-consumer variant\n- CPU Clock signal visualization\n- Bilingual support (English/Turkish)\n\n### Installation\n\n1. Ensure Python 3.8+ is installed\n2. Install dependencies:\n```bash\npip install -r requirements.txt\n```\n\n### Usage\n\nRun the animation:\n\n```bash\n./run_animation.sh\n```\n\nOr manually:\n\n```bash\n# Render as video (MP4)\nmanim -pqh producer_consumer_animation.py ProducerConsumer\n\n# Low quality preview\nmanim -pql producer_consumer_animation.py ProducerConsumer\n\n# Render as GIF\nmanim -pql --format=gif producer_consumer_animation.py ProducerConsumer\n\n# Neural network version\nmanim -pqh neural_producer_consumer.py NeuralProducerConsumer\n\n# CPU Clock version\nmanim -pqh cpu_clock_animation.py CPUClock\n```\n\n### Animation Details\n\nThe animation includes these components:\n\n1. **Producer**: Shown in blue box, continuously generates data\n2. **Buffer**: Yellow rectangle in center, 5-slot capacity\n3. **Consumer**: Shown in green box, processes data\n\nAnimation flow:\n- Producer generates data and adds to buffer\n- Producer waits when buffer is full\n- Consumer takes data from buffer and processes it\n- Consumer waits when buffer is empty\n\n### Generated Videos\n\nThe project includes the following rendered videos (English versions):\n\n| Animation | Preview | Download |\n|-----------|---------|----------|\n| **Producer-Consumer** | \u003cvideo src=\"https://github.com/user-attachments/assets/e307194b-9e8f-42e2-a1cd-71c9e1798adf\" width=\"300\"\u003e\u003c/video\u003e | [Download MP4](media/videos/temp_render/1080p60/ProducerConsumer_en.mp4) |\n| **Neural Producer-Consumer** | \u003cvideo src=\"https://github.com/user-attachments/assets/b9f2d98c-350a-4687-a6de-48ec8b9779f1\" width=\"300\"\u003e\u003c/video\u003e | [Download MP4](media/videos/temp_render/1080p60/NeuralProducerConsumer_en.mp4) |\n| **CPU Clock Signal** | \u003cvideo src=\"https://github.com/user-attachments/assets/03eb7b85-e4eb-4331-8a9a-9ca14c4f5ca7\" width=\"300\"\u003e\u003c/video\u003e | [Download MP4](media/videos/temp_render/1080p60/CPUClock_en.mp4) |\n\n### Keywords\n\n`producer-consumer-problem` `manim-animation` `concurrent-programming` `thread-synchronization` `buffer-management` `educational-visualization` `computer-science-education` `operating-systems-concepts` `neural-network-visualization` `cpu-clock-signal` `digital-signal-processing` `python-animation` `manim-community` `cs-education` `threading-visualization` `synchronization-primitives` `animated-algorithms`\n\n---\n\n## Türkçe\n\n### Özellikler\n\n- Producer (Üretici) ve Consumer (Tüketici) bileşenlerinin görsel temsili\n- Sınırlı kapasiteli buffer (tampon bellek) gösterimi\n- Veri üretimi ve tüketimi animasyonu\n- Buffer dolu/boş durumlarında bekleme animasyonları\n- Sinir ağı tabanlı üretici-tüketici varyantı\n- CPU Saat sinyali görselleştirmesi\n- İki dil desteği (İngilizce/Türkçe)\n\n### Kurulum\n\n1. Python 3.8+ yüklü olduğundan emin olun\n2. Bağımlılıkları yükleyin:\n```bash\npip install -r requirements.txt\n```\n\n### Kullanım\n\nAnimasyonu çalıştırmak için:\n\n```bash\n./run_animation.sh\n```\n\nVeya manuel olarak:\n\n```bash\n# Video olarak render et (MP4)\nmanim -pqh producer_consumer_animation.py ProducerConsumer\n\n# Düşük kalitede önizleme\nmanim -pql producer_consumer_animation.py ProducerConsumer\n\n# GIF olarak render et\nmanim -pql --format=gif producer_consumer_animation.py ProducerConsumer\n\n# Sinir ağı versiyonu\nmanim -pqh neural_producer_consumer.py NeuralProducerConsumer\n\n# CPU Saat versiyonu\nmanim -pqh cpu_clock_animation.py CPUClock\n```\n\n### Animasyon Detayları\n\nAnimasyon şu bileşenleri içerir:\n\n1. **Producer (Üretici)**: Mavi kutuda gösterilir, sürekli veri üretir\n2. **Buffer (Tampon)**: Ortada sarı dikdörtgen, 5 slotlu kapasite\n3. **Consumer (Tüketici)**: Yeşil kutuda gösterilir, veriyi işler\n\nAnimasyon akışı:\n- Producer veri üretir ve buffer'a ekler\n- Buffer dolduğunda Producer bekler\n- Consumer buffer'dan veri alır ve işler\n- Buffer boşsa Consumer bekler\n\n### Oluşturulan Videolar\n\nProje kapsamında aşağıdaki videolar oluşturulmuştur (Türkçe versiyonlar):\n\n| Animasyon | Önizleme | İndir |\n|-----------|----------|--------|\n| **Producer-Consumer** | \u003cvideo src=\"https://github.com/user-attachments/assets/503493ed-06ce-4421-89e9-033266cfdd76\" width=\"300\"\u003e\u003c/video\u003e | [MP4 İndir](media/videos/temp_render/1080p60/ProducerConsumer_tr.mp4) |\n| **Neural Producer-Consumer** | \u003cvideo src=\"https://github.com/user-attachments/assets/d8c227e5-5277-4030-a9e3-c92acc57b1fd\" width=\"300\"\u003e\u003c/video\u003e | [MP4 İndir](media/videos/temp_render/1080p60/NeuralProducerConsumer_tr.mp4) |\n| **CPU Saat Sinyali** | \u003cvideo src=\"https://github.com/user-attachments/assets/dbd40c84-5072-4f10-87c3-f8abf7f27da2\" width=\"300\"\u003e\u003c/video\u003e | [MP4 İndir](media/videos/temp_render/1080p60/CPUClock_tr.mp4) |\n\n### Anahtar Kelimeler\n\n`üretici-tüketici-problemi` `manim-animasyon` `eşzamanlı-programlama` `thread-senkronizasyon` `tampon-yönetimi` `eğitsel-görselleştirme` `bilgisayar-bilimi-eğitimi` `işletim-sistemleri-kavramları` `sinir-ağı-görselleştirme` `cpu-saat-sinyali` `dijital-sinyal-işleme` `python-animasyon` `manim-topluluğu` `cs-eğitim` `threading-görselleştirme` `senkronizasyon-primitifleri` `animasyonlu-algoritmalar`\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Star History\n\nIf you find this project helpful, please consider giving it a star!\n\n## Contact\n\nFor questions or feedback, please open an issue on GitHub.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femrepbu%2Fconsumerproducer.animate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femrepbu%2Fconsumerproducer.animate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femrepbu%2Fconsumerproducer.animate/lists"}