{"id":167625,"name":null,"description":"A social reader built with Python Flask.","url":"https://github.com/capjamesg/cinnamon","last_synced_at":"2025-09-09T20:28:38.945Z","repository":{"id":46710445,"uuid":"405316292","full_name":"capjamesg/cinnamon","owner":"capjamesg","description":"A social reader built with Python Flask.","archived":false,"fork":false,"pushed_at":"2024-07-18T17:30:31.000Z","size":6197,"stargazers_count":12,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-06T22:48:08.908Z","etag":null,"topics":["flask","indieweb","microsub","microsub-server","python","social-reader"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/capjamesg.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}},"created_at":"2021-09-11T07:43:53.000Z","updated_at":"2024-07-06T08:31:49.000Z","dependencies_parsed_at":"2023-01-26T04:46:10.239Z","dependency_job_id":"e62cab54-08af-451d-a312-bb4914582e14","html_url":"https://github.com/capjamesg/cinnamon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/capjamesg/cinnamon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capjamesg","download_url":"https://codeload.github.com/capjamesg/cinnamon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274357700,"owners_count":25270676,"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-09-09T02:00:10.223Z","response_time":80,"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"}},"owner":{"login":"capjamesg","name":"James","uuid":"37276661","kind":"user","description":"from words, wonder.","email":"","website":"jamesg.blog","location":"Scotland","twitter":null,"company":"@Roboflow","icon_url":"https://avatars.githubusercontent.com/u/37276661?u=883c2a6d3c38ea807594fb939dd3c5cf0575b3ba\u0026v=4","repositories_count":320,"last_synced_at":"2025-09-06T22:41:44.984Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/capjamesg","funding_links":["https://github.com/sponsors/capjamesg"],"total_stars":1458,"followers":513,"following":116,"created_at":"2022-11-14T09:28:31.746Z","updated_at":"2025-09-06T22:41:44.984Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capjamesg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capjamesg/repositories"},"packages":[],"commits":{"id":2184772,"full_name":"capjamesg/cinnamon","default_branch":"main","committers":[{"name":"capjamesg","email":"jamesg@jamesg.blog","login":null,"count":139},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":16},{"name":"p182","email":"33848191+p182","login":"p182","count":1}],"total_commits":156,"total_committers":3,"total_bot_commits":16,"total_bot_committers":1,"mean_commits":52.0,"dds":0.10897435897435892,"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":8}],"past_year_total_commits":8,"past_year_total_committers":1,"past_year_total_bot_commits":8,"past_year_total_bot_committers":1,"past_year_mean_commits":8.0,"past_year_dds":0.0,"last_synced_at":"2024-11-09T07:45:39.903Z","last_synced_commit":"3dfb2c05dd118c3d7780e91fd05e543e996e7d32","created_at":"2024-10-03T16:24:59.073Z","updated_at":"2024-11-09T07:45:39.903Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-09T00:17:06.873Z","repositories_count":5536318,"commits_count":873442897,"contributors_count":32219665,"owners_count":918747,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"capjamesg/cinnamon","html_url":"https://github.com/capjamesg/cinnamon","last_synced_at":"2025-05-07T01:46:02.347Z","status":null,"issues_count":4,"pull_requests_count":30,"avg_time_to_close_issue":20188530.0,"avg_time_to_close_pull_request":1130172.142857143,"issues_closed_count":4,"pull_requests_closed_count":28,"pull_request_authors_count":3,"issue_authors_count":1,"avg_comments_per_issue":0.5,"avg_comments_per_pull_request":0.03333333333333333,"merged_pull_requests_count":27,"bot_issues_count":0,"bot_pull_requests_count":19,"past_year_issues_count":0,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":19535.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":3,"created_at":"2024-10-03T16:24:59.833Z","updated_at":"2025-09-01T23:18:50.589Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fcinnamon/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":28},"issue_author_associations_count":{"OWNER":4},"pull_request_author_associations_count":{"CONTRIBUTOR":29,"OWNER":10},"issue_authors":{"capjamesg":4},"pull_request_authors":{"dependabot[bot]":28,"capjamesg":10,"p182":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.986Z","repositories_count":9980396,"issues_count":29825944,"pull_requests_count":87225962,"authors_count":9826726,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"capjamesg","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/capjamesg"}],"active_maintainers":[]},"events":{"total":{},"last_year":{}},"keywords":["flask","indieweb","microsub","microsub-server","python","social-reader"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-14T12:51:24.175Z","updated_at":"2022-09-14T12:51:24.175Z","repository_link":"https://github.com/capjamesg/cinnamon/blob/main/requirements.txt","dependencies":[{"id":4827910645,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.10.0","direct":true,"kind":"runtime","optional":false},{"id":4827910646,"package_name":"blinker","ecosystem":"pypi","requirements":"==1.4","direct":true,"kind":"runtime","optional":false},{"id":4827910647,"package_name":"bs4","ecosystem":"pypi","requirements":"==0.0.1","direct":true,"kind":"runtime","optional":false},{"id":4827910648,"package_name":"certifi","ecosystem":"pypi","requirements":"==2021.10.8","direct":true,"kind":"runtime","optional":false},{"id":4827910649,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.0.10","direct":true,"kind":"runtime","optional":false},{"id":4827910650,"package_name":"click","ecosystem":"pypi","requirements":"==8.0.3","direct":true,"kind":"runtime","optional":false},{"id":4827910651,"package_name":"feedparser","ecosystem":"pypi","requirements":"==6.0.8","direct":true,"kind":"runtime","optional":false},{"id":4827910652,"package_name":"Flask","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":4827910653,"package_name":"gunicorn","ecosystem":"pypi","requirements":"==20.1.0","direct":true,"kind":"runtime","optional":false},{"id":4827910654,"package_name":"html5lib","ecosystem":"pypi","requirements":"==1.1","direct":true,"kind":"runtime","optional":false},{"id":4827910655,"package_name":"idna","ecosystem":"pypi","requirements":"==3.3","direct":true,"kind":"runtime","optional":false},{"id":4827910656,"package_name":"indieweb-utils","ecosystem":"pypi","requirements":"==0.1.2","direct":true,"kind":"runtime","optional":false},{"id":4827910657,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":4827910658,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":4827910659,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":4827910660,"package_name":"mf2py","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":4827910661,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":4827910662,"package_name":"pytz","ecosystem":"pypi","requirements":"==2021.3","direct":true,"kind":"runtime","optional":false},{"id":4827910663,"package_name":"requests","ecosystem":"pypi","requirements":"==2.27.1","direct":true,"kind":"runtime","optional":false},{"id":4827910664,"package_name":"sentry-sdk","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"runtime","optional":false},{"id":4827910665,"package_name":"sgmllib3k","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":4827910666,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":4827910667,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.3.1","direct":true,"kind":"runtime","optional":false},{"id":4827910668,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.7","direct":true,"kind":"runtime","optional":false},{"id":4827910669,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":4827910670,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements_dev.txt","sha":null,"kind":"manifest","created_at":"2022-09-14T12:51:24.635Z","updated_at":"2022-09-14T12:51:24.635Z","repository_link":"https://github.com/capjamesg/cinnamon/blob/main/requirements_dev.txt","dependencies":[{"id":4827914462,"package_name":"mypy","ecosystem":"pypi","requirements":"==0.931","direct":true,"kind":"development","optional":false},{"id":4827914457,"package_name":"tox","ecosystem":"pypi","requirements":"==3.24.5","direct":true,"kind":"development","optional":false},{"id":4827914458,"package_name":"black","ecosystem":"pypi","requirements":"==21.12b0","direct":true,"kind":"development","optional":false},{"id":4827914459,"package_name":"isort","ecosystem":"pypi","requirements":"==5.10.1","direct":true,"kind":"development","optional":false},{"id":4827914460,"package_name":"pytest","ecosystem":"pypi","requirements":"==6.2.5","direct":true,"kind":"development","optional":false},{"id":4827914461,"package_name":"pytest-pythonpath","ecosystem":"pypi","requirements":"==0.7.3","direct":true,"kind":"development","optional":false},{"id":4827914463,"package_name":"types-dataclasses","ecosystem":"pypi","requirements":"==0.6.4","direct":true,"kind":"development","optional":false},{"id":4827914464,"package_name":"types-requests","ecosystem":"pypi","requirements":"==2.27.3","direct":true,"kind":"development","optional":false},{"id":4827914465,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.0.1","direct":true,"kind":"development","optional":false},{"id":4827914466,"package_name":"flake8","ecosystem":"pypi","requirements":"==4.0.1","direct":true,"kind":"development","optional":false},{"id":4827914467,"package_name":"responses","ecosystem":"pypi","requirements":"==0.17.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2023-01-26T04:46:10.147Z","updated_at":"2023-01-26T04:46:10.147Z","repository_link":"https://github.com/capjamesg/cinnamon/blob/main/.github/workflows/codeql-analysis.yml","dependencies":[{"id":7163735458,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7163735459,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7163735460,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7163735461,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-26T04:46:10.183Z","updated_at":"2023-01-26T04:46:10.183Z","repository_link":"https://github.com/capjamesg/cinnamon/blob/main/Dockerfile","dependencies":[{"id":7163735462,"package_name":"python","ecosystem":"docker","requirements":"3.9.0","direct":true,"kind":"build","optional":false}]}],"score":3.737669618283368,"created_at":"2025-09-09T01:14:12.606Z","updated_at":"2025-10-07T08:39:27.861Z","avatar_url":"https://github.com/capjamesg.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["projection","archival","transformers","interactive","sequences","generic","ecosystem-modeling","autograding","hacking","shellcodes"],"project_url":"https://science.ecosyste.ms/api/v1/projects/167625","html_url":"https://science.ecosyste.ms/projects/167625"}