{"id":13838957,"url":"https://github.com/kivy/kivent","last_synced_at":"2026-03-13T15:40:08.827Z","repository":{"id":138881282,"uuid":"9707708","full_name":"kivy/kivent","owner":"kivy","description":"KivEnt is an entity-based game engine for Kivy","archived":false,"fork":false,"pushed_at":"2025-09-11T13:21:15.000Z","size":58254,"stargazers_count":578,"open_issues_count":46,"forks_count":96,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-03-08T02:06:23.796Z","etag":null,"topics":["python"],"latest_commit_sha":null,"homepage":"http://www.kivent.org","language":"Cython","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/kivy.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}},"created_at":"2013-04-27T02:04:48.000Z","updated_at":"2026-01-01T23:07:46.000Z","dependencies_parsed_at":"2023-04-20T21:18:23.717Z","dependency_job_id":null,"html_url":"https://github.com/kivy/kivent","commit_stats":{"total_commits":898,"total_committers":20,"mean_commits":44.9,"dds":"0.37305122494432075","last_synced_commit":"e89a5b0aef9309a65b5a14132000b2bcae773416"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kivy/kivent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fkivent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fkivent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fkivent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fkivent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kivy","download_url":"https://codeload.github.com/kivy/kivent/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivy%2Fkivent/sbom","scorecard":{"id":562028,"data":{"date":"2025-08-11","repo":{"name":"github.com/kivy/kivent","commit":"e89a5b0aef9309a65b5a14132000b2bcae773416"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":5,"reason":"Found 3/6 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T13:59:23.484Z","repository_id":138881282,"created_at":"2025-08-20T13:59:23.484Z","updated_at":"2025-08-20T13:59:23.484Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30469330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"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":["python"],"created_at":"2024-08-04T16:00:43.109Z","updated_at":"2026-03-13T15:40:08.798Z","avatar_url":"https://github.com/kivy.png","language":"Cython","funding_links":[],"categories":["Development","Python"],"sub_categories":[],"readme":"KivEnt 3.0\n==========\nKivEnt is a framework for building performant, dynamic real-time scenes in [Kivy](http://kivy.org/#home) for Python2 and Python3. At the moment it is 2d oriented. The only dependency for the kivent_core module is Kivy itself. Additional modules may have other requirements, such as kivent_cymunk module being based on [Chipmunk2d](https://chipmunk-physics.net/) and its [cymunk wrapper](https://github.com/tito/cymunk).\n\nAn entity-component architecture is used to control game object state and the logic of processing the game objects. This means that your game objects will be made up of collections of independent components that stricly hold data; each component corresponds to a GameSystem that will perform all data processing on the components, in the update loop each frame, and as a result of user interaction or other programmaticaly generated events. All memory for the built-in components is allocated statically: if you would like learn more about memory management, [read here](http://kivent.org/docs/memory_handlers.html).\n\nKivEnt is built with a modular architecture and designed to have both a python api and a c-level cython api that allows more performant access to your game data. This makes it suitable for quickly prototyping a mechanic completely in python, and relatively trivial to then deeply cythonize that GameSystem if you find it to be performance sensitive. This process has already been done for the built-in components meaning they are ready for you to build new, performant game systems on top of them.\n\n## Project Website: \nhttp://www.kivent.org\n\n## Mailing List: \nhttps://groups.google.com/forum/#!forum/kivent\n\n## Documentation: \nhttp://www.kivent.org/docs  \n\n## Getting Started\nRead the [introduction](https://github.com/kivy/KivEnt/wiki/An-Introduction-to-KivEnt) on the github wiki.\n\n## Dependencies\nKivEnt is split into modules, the core module, 'kivent_core', is dependent only on Kivy.\n\nOther modules may have other dependecies, listed here:\n\n### kivent_core:\n* [kivy](https://github.com/kivy/kivy)\n\n### kivent_cymunk:\n* [kivy](https://github.com/kivy/kivy)\n* [cymunk](https://github.com/tito/cymunk)\n* [kivent_core](https://github.com/kivy/KivEnt/tree/master/modules/core)\n\n### kivent_particles\n* [kivy](https://github.com/kivy/kivy)\n* [kivent_core](https://github.com/kivy/KivEnt/tree/master/modules/core)\n\n### kivent_maps\n* [kivy](https://github.com/kivy/kivy)\n* [kivent_core](https://github.com/kivy/KivEnt/tree/master/modules/core)\n* [python-tmx](https://savannah.nongnu.org/projects/python-tmx/)\n\n### kivent_projectiles\n* [kivy](https://github.com/kivy/kivy)\n* [kivent_core](https://github.com/kivy/KivEnt/tree/master/modules/core)\n* [cymunk](https://github.com/tito/cymunk)\n* [kivent_cymunk](https://github.com/kivy/KivEnt/tree/master/modules/cymunk)\n* [kivent_particles](https://github.com/kivy/KivEnt/tree/master/modules/particles)\n\n## Installation\nfirst install all dependencies then:\n\n    cd .../KivEnt/modules/core\n    python setup.py build_ext install\nor\n\n    cd .../KivEnt/modules/cymunk\n    python setup.py build_ext install\n\nIf you want to install into a system python on something like ubuntu you may need to:\n\n    sudo python setup.py build_ext install\n    \nIf you would like to instead build the modules in place and use PYTHONPATH to find them:\n\n    cd .../KivEnt/modules/core\n    python setup.py build_ext --inplace\n    export PYTHONPATH=/path/to/KivEnt/modules/core:$PYTHONPATH \nor:\n\n    cd .../KivEnt/modules/cymunk\n    python setup.py build_ext --inplace\n    export PYTHONPATH=/path/to/KivEnt/modules/cymunk:$PYTHONPATH \n\n## Windows Kivy Portable Package Installation:\n\nOpen the kivy-2.7.bat (kivy-3.4.bat if using the py3 portable package) command console and type:\n\n    pip install https://github.com/tito/cymunk/archive/master.zip\n    \nNow either download and extract or git clone the KivEnt source:\n\n    git clone https://github.com/Kovak/KivEnt.git\n\nAssuming you have KivEnt in the root folder for the portable package, in the kivy-2.7.bat console:\n\n    cd KivEnt/modules/core\n    python setup.py build_ext install\n    #check core install\n    cd ../../examples/2_basic_app\n    python main.py\n    cd ../../modules/cymunk\n    python setup.py build_ext install\n    #check that cymunk install\n    cd ../../examples/6_controlling_the_viewing_area\n    python main.py\n\n## Tested On:\nTested with [master branch](https://github.com/kivy/kivy). Python 2.7 and Python 3.4.\n\nTested on Android, Ubuntu, Windows, OSX; iOS coming soon!\n\nSupport\n-------\n\nIf you need assistance, you can ask for help on our mailing list:\n\n* User Group : https://groups.google.com/group/kivent\n* Email      : kivent@googlegroups.com\n\nWe also have an IRC channel:\n\n* Server  : irc.freenode.net\n* Port    : 6667, 6697 (SSL only)\n* Channel : #kivy\n\nContributing\n------------\n\nWe love pull requests and discussing novel ideas. Check out our\n[contribution guide](http://kivy.org/docs/contribute.html) and\nfeel free to improve KivEnt.\n\nThe following mailing list and IRC channel are used exclusively for\ndiscussions about developing the Kivy framework and its sister projects:\n\n* Dev Group : https://groups.google.com/group/kivy-dev\n* Email     : kivy-dev@googlegroups.com\n\nIRC channel:\n\n* Server  : irc.freenode.net\n* Port    : 6667, 6697 (SSL only)\n* Channel : #kivy-dev\n\nLicense\n-------\n\nKivEnt aims to be a full MIT licensed project. At the moment every module is MIT,\nhowever this could change in the future. To be sure of the licensing for a module\nrefer to the LICENSE file inside that module.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkivy%2Fkivent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkivy%2Fkivent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkivy%2Fkivent/lists"}