{"id":43632589,"url":"https://github.com/techunits/mocherry","last_synced_at":"2026-02-04T17:06:17.495Z","repository":{"id":57442562,"uuid":"234267842","full_name":"techunits/mocherry","owner":"techunits","description":"MoCherry: Build REST webservice using CherryPy \u0026 MongoDB","archived":false,"fork":false,"pushed_at":"2020-04-18T12:28:32.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-16T12:44:27.737Z","etag":null,"topics":["cherrypy","mongodb","python3","rest","rest-api","restful-webservices"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/mocherry/","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/techunits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["techunits"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-01-16T08:08:36.000Z","updated_at":"2020-04-18T12:32:34.000Z","dependencies_parsed_at":"2022-09-26T17:21:15.358Z","dependency_job_id":null,"html_url":"https://github.com/techunits/mocherry","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/techunits/mocherry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techunits%2Fmocherry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techunits%2Fmocherry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techunits%2Fmocherry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techunits%2Fmocherry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techunits","download_url":"https://codeload.github.com/techunits/mocherry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techunits%2Fmocherry/sbom","scorecard":{"id":872308,"data":{"date":"2025-08-11","repo":{"name":"github.com/techunits/mocherry","commit":"0d8f9c6deb640ef15934f76ce69e9c12b67b38d3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"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":"Code-Review","score":0,"reason":"Found 0/17 approved changesets -- score normalized to 0","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":"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":"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":"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":"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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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 14 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-24T04:39:36.179Z","repository_id":57442562,"created_at":"2025-08-24T04:39:36.182Z","updated_at":"2025-08-24T04:39:36.182Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29091317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["cherrypy","mongodb","python3","rest","rest-api","restful-webservices"],"created_at":"2026-02-04T17:06:16.532Z","updated_at":"2026-02-04T17:06:17.489Z","avatar_url":"https://github.com/techunits.png","language":"Python","funding_links":["https://github.com/sponsors/techunits"],"categories":[],"sub_categories":[],"readme":"\n# MoCherry\nMoCherry is built around CherryPy \u0026 mongoengine to support REST webserivces with very low memory footprint, support for MongoDB ORM, built-in production ready WSGI server and faster initilization.\n\n# Features\n  - In-built REST webservice support\n  - MongoDB ORM support with MongoEngine plugin\n  - Similar usability \u0026 file system structure like Django to reduce the learning curve\n  - Low memory footprint\n  - In-built CherryPy WSGI server\n  - Built-in basic encryption support\n  - MIT licensed\n\n# Installation\nMoCherry is already a part of python PyPi repository. So the following command will download and install MoCherry from PyPi repository and all it's required dependencies to your system or virtualenv.\n```sh\n$ pip install mocherry\n```\n\n# Create Your First Project\nNow MoCherry consists of a cli script which will enable developers to create a sample project / app from command-line without manually download it from github. Steps as follows:\n### Create project skeleton\n```sh\n$ mocherry-cli startproject \"my_project_001\"\nDownloading sample project: https://github.com/techunits/mocherry/blob/master/mocherry/resources/samples/project.zip?raw=true\nCreating new project: my_project_001\n$ cd my_project_001\n$ python manage.py runserver  # start WSGI server\n[20/Jan/2020:00:52:20] ENGINE Listening for SIGTERM.\n[20/Jan/2020:00:52:20] ENGINE Bus STARTING\n[20/Jan/2020:00:52:20] ENGINE Set handler for console events.       \n[20/Jan/2020:00:52:20] ENGINE Started monitor thread 'Autoreloader'.\n[20/Jan/2020:00:52:21] ENGINE Serving on http://localhost:9090\n[20/Jan/2020:00:52:21] ENGINE Bus STARTED\n```\n\n### Create application skeleton\nLets assume you have already created a project by following above steps, then you have to go inside that project and create app skeleton as per your requirements.\n```sh\n# Application name: app_001\n$ mocherry-cli startapp \"app_001\"\nDownloading sample app: https://github.com/techunits/mocherry/blob/master/mocherry/resources/samples/app.zip?raw=true\nCreating new app: app_001\n\n# Application name: app_002\n$ mocherry-cli startapp \"app_002\"\nDownloading sample app: https://github.com/techunits/mocherry/blob/master/mocherry/resources/samples/app.zip?raw=true\nCreating new app: app_002\n\n$ python manage.py runserver  # start WSGI server\n[20/Jan/2020:00:52:20] ENGINE Listening for SIGTERM.\n[20/Jan/2020:00:52:20] ENGINE Bus STARTING\n[20/Jan/2020:00:52:20] ENGINE Set handler for console events.       \n[20/Jan/2020:00:52:20] ENGINE Started monitor thread 'Autoreloader'.\n[20/Jan/2020:00:52:21] ENGINE Serving on http://localhost:9090\n[20/Jan/2020:00:52:21] ENGINE Bus STARTED\n```\n\n\n# MoCherry Management Commands\nMoCherry framework also support custom management commands to enhance its CLI capabilities. With the framework sample code we have provided a test command to verify how it works\n\n```sh\n$ python manage.py testcmd\nSuccess: This is a test command\n```\n\n# MoCherry Sample Dataset\nMoCherry provides sample data from the version 1.0.9 onwards. This should help developers to play around with the framework immediately without writing any code. You can create sample data by using following management command.\n\n```sh\n$ python manage.py load_sample_data\nDatabase: mongodb://localhost:27017/mocherry_sample_app\n\nNew Sample Data: 5e9abd4ab22cfec440086e60\nNew Sample Data: 5e9abd4ab22cfec440086e61\nNew Sample Data: 5e9abd4ab22cfec440086e62\nNew Sample Data: 5e9abd4ab22cfec440086e63\nNew Sample Data: 5e9abd4ab22cfec440086e64\nNew Sample Data: 5e9abd4ab22cfec440086e65\nNew Sample Data: 5e9abd4ab22cfec440086e66\nNew Sample Data: 5e9abd4ab22cfec440086e67\nNew Sample Data: 5e9abd4ab22cfec440086e68\nNew Sample Data: 5e9abd4ab22cfec440086e69\nNew Sample Data: 5e9abd4ab22cfec440086e6a\nNew Sample Data: 5e9abd4ab22cfec440086e6b\nNew Sample Data: 5e9abd4ab22cfec440086e6c\nNew Sample Data: 5e9abd4ab22cfec440086e6d\nNew Sample Data: 5e9abd4ab22cfec440086e6e\n```\n\n\n# Sample Applications\n - https://github.com/techunits/mocherry-sample-app\n - https://github.com/techunits/mocherry-sample-rest-app\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechunits%2Fmocherry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechunits%2Fmocherry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechunits%2Fmocherry/lists"}