{"id":125668,"url":"https://github.com/Bklieger/infinite-bookshelf","last_synced_at":"2026-06-19T17:30:23.215Z","repository":{"id":240612036,"uuid":"803040376","full_name":"Bklieger/infinite-bookshelf","owner":"Bklieger","description":"Infinite Bookshelf: Generate entire books in seconds using Groq and Llama3","archived":false,"fork":false,"pushed_at":"2025-10-09T21:16:44.000Z","size":2165,"stargazers_count":1348,"open_issues_count":3,"forks_count":303,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-06-10T13:03:48.188Z","etag":null,"topics":["ai","groq","groq-api","llama3"],"latest_commit_sha":null,"homepage":"https://infinite.benjamin.sh","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/Bklieger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-05-19T23:56:33.000Z","updated_at":"2026-06-10T01:03:33.000Z","dependencies_parsed_at":"2024-08-01T03:56:33.876Z","dependency_job_id":"50e6df2c-c1d5-48b4-8bd7-46c2f0b40679","html_url":"https://github.com/Bklieger/infinite-bookshelf","commit_stats":{"total_commits":71,"total_committers":5,"mean_commits":14.2,"dds":0.09859154929577463,"last_synced_commit":"89250be01b9438b488e24f8d7914fad9296e2a08"},"previous_names":["bklieger/groqbook","bklieger/infinite-bookshelf"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Bklieger/infinite-bookshelf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bklieger","download_url":"https://codeload.github.com/Bklieger/infinite-bookshelf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34412796,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"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":"Bklieger","name":null,"uuid":"62450410","kind":"user","description":null,"email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/62450410?u=7995b1bdf3937ea1ac8279607e682f10850872d6\u0026v=4","repositories_count":1,"last_synced_at":"2023-08-11T12:58:42.885Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Bklieger","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-08-11T12:58:42.904Z","updated_at":"2023-08-11T12:58:42.904Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bklieger","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bklieger/repositories"},"packages":[],"commits":{"id":1641583,"full_name":"Bklieger/infinite-bookshelf","default_branch":"main","total_commits":74,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":12.333333333333334,"dds":0.1351351351351351,"past_year_total_commits":2,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":2.0,"past_year_dds":0.0,"last_synced_at":"2026-06-16T16:05:39.216Z","last_synced_commit":"400b272175945d35eaefa68aefe9106fa9d7e467","created_at":"2024-08-01T04:18:19.989Z","updated_at":"2026-06-16T16:05:28.758Z","committers":[{"name":"Benjamin Klieger","email":"62450410+Bklieger","login":"Bklieger","count":64},{"name":"Mustafa-Esoofally","email":"coolmusta@gmail.com","login":"Mustafa-Esoofally","count":3},{"name":"Benjamin Klieger","email":"bklieger@groq.com","login":"bklieger-groq","count":3},{"name":"lee-groq","email":"lstilwell@groq.com","login":"lee-groq","count":2},{"name":"fatherxtreme123","email":"143677684+fatherxtreme123","login":"fatherxtreme123","count":1},{"name":"amrrs","email":"1littlecoder@gmail.com","login":"amrrs","count":1}],"past_year_committers":[{"name":"lee-groq","email":"lstilwell@groq.com","login":"lee-groq","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-18T00:00:09.052Z","repositories_count":6262546,"commits_count":875232062,"contributors_count":35068194,"owners_count":1168136,"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":{"table":{"full_name":"Bklieger/infinite-bookshelf","html_url":"https://github.com/Bklieger/infinite-bookshelf","last_synced_at":"2026-05-04T19:03:59.467Z","status":"error","issues_count":21,"pull_requests_count":29,"avg_time_to_close_issue":1484553.9473684211,"avg_time_to_close_pull_request":1206170.4583333333,"issues_closed_count":19,"pull_requests_closed_count":24,"pull_request_authors_count":8,"issue_authors_count":19,"avg_comments_per_issue":0.9523809523809523,"avg_comments_per_pull_request":0.13793103448275862,"merged_pull_requests_count":20,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":31070.0,"past_year_avg_time_to_close_pull_request":24.666666666666668,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2024-08-09T22:32:02.530Z","updated_at":"2026-05-04T19:03:59.467Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bklieger%2Finfinite-bookshelf/issues","issue_labels_count":{"table":{"enhancement":1}},"pull_request_labels_count":{"table":{"enhancement":1}},"issue_author_associations_count":{"table":{"NONE":20,"CONTRIBUTOR":1}},"pull_request_author_associations_count":{"table":{"OWNER":17,"CONTRIBUTOR":7,"NONE":5}},"issue_authors":{"table":{"vicplekhanova":2,"lionkingc":2,"Zardinho":1,"guruk":1,"popkcorn":1,"ssood":1,"kuekhaoyang":1,"Theoburn359":1,"xxmoha2":1,"jesperlowgren":1,"gerotutu":1,"AnaCris01":1,"RysiekAI":1,"kuntal-c":1,"jigzaw10":1,"CREAITIVE-THINKING":1,"ChrissyMoe":1,"austinmurre":1,"rakesh-logicrays":1}},"pull_request_authors":{"table":{"Bklieger":17,"bklieger-groq":4,"oceanuo":2,"chiragjoshi12":2,"Emsel76":1,"hola-ivan":1,"Mustafa-Esoofally":1,"lee-groq":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-16T00:00:20.494Z","repositories_count":14812328,"issues_count":33169109,"pull_requests_count":109506223,"authors_count":11308178,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"OWNER":2,"CONTRIBUTOR":1,"NONE":1}},"past_year_issue_authors":{"table":{"austinmurre":1}},"past_year_pull_request_authors":{"table":{"Bklieger":2,"Emsel76":1,"lee-groq":1}},"maintainers":[{"table":{"login":"Bklieger","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Bklieger"}}],"active_maintainers":[{"table":{"login":"Bklieger","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Bklieger"}}]}},"events":{"total":{"PullRequestEvent":7,"ForkEvent":79,"IssuesEvent":8,"WatchEvent":192,"IssueCommentEvent":14,"PushEvent":2,"PullRequestReviewEvent":1},"last_year":{"PullRequestEvent":3,"ForkEvent":8,"IssuesEvent":1,"WatchEvent":26,"PushEvent":1,"PullRequestReviewEvent":1}},"keywords":["ai","groq","groq-api","llama3"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2024-05-30T07:24:50.269Z","updated_at":"2024-05-30T07:24:50.269Z","repository_link":"https://github.com/Bklieger/infinite-bookshelf/blob/main/requirements.txt","dependencies":[{"id":18308668497,"package_name":"requests","ecosystem":"pypi","requirements":"==2.31.0","direct":true,"kind":"runtime","optional":false},{"id":18308668458,"package_name":"altair","ecosystem":"pypi","requirements":"==5.3.0","direct":true,"kind":"runtime","optional":false},{"id":18308668459,"package_name":"annotated-types","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":18308668460,"package_name":"anyio","ecosystem":"pypi","requirements":"==4.3.0","direct":true,"kind":"runtime","optional":false},{"id":18308668461,"package_name":"attrs","ecosystem":"pypi","requirements":"==23.2.0","direct":true,"kind":"runtime","optional":false},{"id":18308668462,"package_name":"blinker","ecosystem":"pypi","requirements":"==1.8.2","direct":true,"kind":"runtime","optional":false},{"id":18308668463,"package_name":"cachetools","ecosystem":"pypi","requirements":"==5.3.3","direct":true,"kind":"runtime","optional":false},{"id":18308668464,"package_name":"certifi","ecosystem":"pypi","requirements":"==2024.2.2","direct":true,"kind":"runtime","optional":false},{"id":18308668465,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.3.2","direct":true,"kind":"runtime","optional":false},{"id":18308668466,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":true,"kind":"runtime","optional":false},{"id":18308668467,"package_name":"defusedxml","ecosystem":"pypi","requirements":"==0.7.1","direct":true,"kind":"runtime","optional":false},{"id":18308668468,"package_name":"distro","ecosystem":"pypi","requirements":"==1.9.0","direct":true,"kind":"runtime","optional":false},{"id":18308668469,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.51.0","direct":true,"kind":"runtime","optional":false},{"id":18308668470,"package_name":"fpdf2","ecosystem":"pypi","requirements":"==2.7.9","direct":true,"kind":"runtime","optional":false},{"id":18308668471,"package_name":"gitdb","ecosystem":"pypi","requirements":"==4.0.11","direct":true,"kind":"runtime","optional":false},{"id":18308668472,"package_name":"GitPython","ecosystem":"pypi","requirements":"==3.1.43","direct":true,"kind":"runtime","optional":false},{"id":18308668473,"package_name":"groq","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"runtime","optional":false},{"id":18308668474,"package_name":"h11","ecosystem":"pypi","requirements":"==0.14.0","direct":true,"kind":"runtime","optional":false},{"id":18308668475,"package_name":"httpcore","ecosystem":"pypi","requirements":"==1.0.5","direct":true,"kind":"runtime","optional":false},{"id":18308668476,"package_name":"httpx","ecosystem":"pypi","requirements":"==0.27.0","direct":true,"kind":"runtime","optional":false},{"id":18308668477,"package_name":"idna","ecosystem":"pypi","requirements":"==3.7","direct":true,"kind":"runtime","optional":false},{"id":18308668478,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.1.4","direct":true,"kind":"runtime","optional":false},{"id":18308668479,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.22.0","direct":true,"kind":"runtime","optional":false},{"id":18308668480,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"==2023.12.1","direct":true,"kind":"runtime","optional":false},{"id":18308668481,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":18308668482,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.1.5","direct":true,"kind":"runtime","optional":false},{"id":18308668483,"package_name":"mdurl","ecosystem":"pypi","requirements":"==0.1.2","direct":true,"kind":"runtime","optional":false},{"id":18308668484,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.26.4","direct":true,"kind":"runtime","optional":false},{"id":18308668485,"package_name":"packaging","ecosystem":"pypi","requirements":"==24.0","direct":true,"kind":"runtime","optional":false},{"id":18308668486,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.2","direct":true,"kind":"runtime","optional":false},{"id":18308668487,"package_name":"pillow","ecosystem":"pypi","requirements":"==10.3.0","direct":true,"kind":"runtime","optional":false},{"id":18308668488,"package_name":"protobuf","ecosystem":"pypi","requirements":"==4.25.3","direct":true,"kind":"runtime","optional":false},{"id":18308668489,"package_name":"pyarrow","ecosystem":"pypi","requirements":"==16.1.0","direct":true,"kind":"runtime","optional":false},{"id":18308668490,"package_name":"pydantic","ecosystem":"pypi","requirements":"==2.7.1","direct":true,"kind":"runtime","optional":false},{"id":18308668491,"package_name":"pydantic_core","ecosystem":"pypi","requirements":"==2.18.2","direct":true,"kind":"runtime","optional":false},{"id":18308668492,"package_name":"pydeck","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":18308668493,"package_name":"Pygments","ecosystem":"pypi","requirements":"==2.18.0","direct":true,"kind":"runtime","optional":false},{"id":18308668494,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":true,"kind":"runtime","optional":false},{"id":18308668495,"package_name":"pytz","ecosystem":"pypi","requirements":"==2024.1","direct":true,"kind":"runtime","optional":false},{"id":18308668496,"package_name":"referencing","ecosystem":"pypi","requirements":"==0.35.1","direct":true,"kind":"runtime","optional":false},{"id":18308668498,"package_name":"rich","ecosystem":"pypi","requirements":"==13.7.1","direct":true,"kind":"runtime","optional":false},{"id":18308668499,"package_name":"rpds-py","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":18308668500,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":18308668501,"package_name":"smmap","ecosystem":"pypi","requirements":"==5.0.1","direct":true,"kind":"runtime","optional":false},{"id":18308668502,"package_name":"sniffio","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":18308668503,"package_name":"streamlit","ecosystem":"pypi","requirements":"==1.34.0","direct":true,"kind":"runtime","optional":false},{"id":18308668504,"package_name":"tenacity","ecosystem":"pypi","requirements":"==8.3.0","direct":true,"kind":"runtime","optional":false},{"id":18308668505,"package_name":"toml","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false},{"id":18308668506,"package_name":"toolz","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":18308668507,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.4","direct":true,"kind":"runtime","optional":false},{"id":18308668508,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"==4.11.0","direct":true,"kind":"runtime","optional":false},{"id":18308668509,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2024.1","direct":true,"kind":"runtime","optional":false},{"id":18308668510,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.2.1","direct":true,"kind":"runtime","optional":false}]}],"score":9.000359807188254,"created_at":"2024-07-25T15:26:45.228Z","updated_at":"2026-06-19T17:30:23.215Z","avatar_url":"https://github.com/Bklieger.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/125668","html_url":"https://summary.ecosyste.ms/projects/125668"}