{"id":16411088,"url":"https://github.com/phoe/quicklisp-stats","last_synced_at":"2025-06-26T23:40:36.840Z","repository":{"id":111724573,"uuid":"323102709","full_name":"phoe/quicklisp-stats","owner":"phoe","description":"Fetches and operates on Quicklisp download statistics.","archived":false,"fork":false,"pushed_at":"2021-03-16T23:39:16.000Z","size":14,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-06T03:23:44.693Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Common Lisp","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/phoe.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-20T15:25:29.000Z","updated_at":"2024-08-09T03:52:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"943c3499-7340-495d-a728-e17e9c72e65a","html_url":"https://github.com/phoe/quicklisp-stats","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoe%2Fquicklisp-stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoe%2Fquicklisp-stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoe%2Fquicklisp-stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoe%2Fquicklisp-stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phoe","download_url":"https://codeload.github.com/phoe/quicklisp-stats/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240415658,"owners_count":19797671,"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","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":[],"created_at":"2024-10-11T06:44:31.134Z","updated_at":"2025-02-24T04:21:58.590Z","avatar_url":"https://github.com/phoe.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quicklisp Stats\n\nA system that fetches and performs basic operations on the Quicklisp download statistics.\n\n## Warning\n\n\u003e 14:51 \\\u003cXach\\\u003e there may be errors - this is the first effort. i am using a mix of shell and sql and stuff and something may have failed to query properly.\n\u003e\n\u003e 14:53 \\\u003cXach\\\u003e I would caution against inferring too much from this data. many are caused by bots, builds, etc. it's not a true measure of popularity or utility or whatever\n\n## Another warning\n\nAt the moment of writing these words, the CSV files provided by Quicklisp only show the top 1000 projects of each month. In case of any questions about the data rather than the tool used to fetch and parse it, please ask @quicklisp for assistance.\n\n## API\n\nThe main API function:\n\n* `(system-downloads system year month)`\n  * Returns the number of times `system` was downloaded from Quicklisp during the `month` of `year`, or `nil` if the system was not found in Quicklisp stats for that month.\n\nHelper functions:\n\n* `(all \u0026optional verbosep)`\n  * Downloads Quicklisp stats for a given month and returns them.\n* `(month year month \u0026optional verbosep)`\n  * Downloads all Quicklisp stats and returns them.\n\nAll results are cached in `*cache*` whose value is an `equal`-tested hash table, so if data for a given month was already downloaded, it is not fetched again. The keys of `*cache*` are conses of year and month, and values are alists of system names and download counts.\n\nIf data for a given month is unavailable, an error of type `no-data-yet` is signaled, with accessors `no-data-yet-month` and `no-data-yet-year` for retrieving the problematic month and year combination.\n\n## Examples\n\n```lisp\nQUICKLISP-STATS\u003e (system-downloads :alexandria 2020 11)\n13731\n\nQUICKLISP-STATS\u003e (loop with stats = (month 2020 4)\n                       with filtered-stats \n                         = (remove-if-not (lambda (x) (\u003c 10000 (cdr x))) stats)\n                       for (system . count) in filtered-stats \n                       do (format t \";; ~20A : ~5D~%\" system count))\n;; alexandria           : 19938\n;; cl-ppcre             : 15636\n;; bordeaux-threads     : 14974\n;; trivial-features     : 14569\n;; split-sequence       : 14510\n;; closer-mop           : 14482\n;; trivial-gray-streams : 14259\n;; babel                : 14254\n;; cffi                 : 12365\n;; flexi-streams        : 11940\n;; iterate              : 11924\n;; named-readtables     : 11205\n;; cl-fad               : 10996\n;; usocket              : 10859\n;; anaphora             : 10783\n;; trivial-backtrace    : 10693\nNIL\n\nQUICKLISP-STATS\u003e (loop for ((year month) . data) in (all)\n                       for result = (a:assoc-value data \"bordeaux-threads\"\n                                                   :test #'equal)\n                       do (format t \";; ~4,'0D-~2,'0D: ~D~%\" year month result))\n;; 2020-01: 16059\n;; 2020-02: 12701\n;; 2020-03: 17123\n;; 2020-04: 14974\n;; 2020-05: 14489\n;; 2020-06: 13851\n;; 2020-07: 14130\n;; 2020-08: 10843\n;; 2020-09: 13757\n;; 2020-10: 13444\n;; 2020-11: 15825\nNIL\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoe%2Fquicklisp-stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphoe%2Fquicklisp-stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoe%2Fquicklisp-stats/lists"}