The quicklisp-stats Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The quicklisp-stats Reference Manual

This is the quicklisp-stats Reference Manual, version 0.0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 17:32:37 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Quicklisp Stats

A system that fetches and performs basic operations on the Quicklisp download statistics.

Warning

14:51 <Xach> 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.

14:53 <Xach> 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

Another warning

At 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.

API

The main API function:

Helper functions:

All 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.

If 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.

Examples

QUICKLISP-STATS> (system-downloads :alexandria 2020 11)
13731

QUICKLISP-STATS> (loop with stats = (month 2020 4)
                       with filtered-stats 
                         = (remove-if-not (lambda (x) (< 10000 (cdr x))) stats)
                       for (system . count) in filtered-stats 
                       do (format t ";; ~20A : ~5D~%" system count))
;; alexandria           : 19938
;; cl-ppcre             : 15636
;; bordeaux-threads     : 14974
;; trivial-features     : 14569
;; split-sequence       : 14510
;; closer-mop           : 14482
;; trivial-gray-streams : 14259
;; babel                : 14254
;; cffi                 : 12365
;; flexi-streams        : 11940
;; iterate              : 11924
;; named-readtables     : 11205
;; cl-fad               : 10996
;; usocket              : 10859
;; anaphora             : 10783
;; trivial-backtrace    : 10693
NIL

QUICKLISP-STATS> (loop for ((year month) . data) in (all)
                       for result = (a:assoc-value data "bordeaux-threads"
                                                   :test #'equal)
                       do (format t ";; ~4,'0D-~2,'0D: ~D~%" year month result))
;; 2020-01: 16059
;; 2020-02: 12701
;; 2020-03: 17123
;; 2020-04: 14974
;; 2020-05: 14489
;; 2020-06: 13851
;; 2020-07: 14130
;; 2020-08: 10843
;; 2020-09: 13757
;; 2020-10: 13444
;; 2020-11: 15825
NIL

License

MIT


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 quicklisp-stats

Author

Michał "phoe" Herda <phoe@disroot.org>

License

MIT

Description

Fetches and operates on Quicklisp download statistics.

Version

0.0.1

Dependencies
Source

quicklisp-stats.asd (file)

Component

quicklisp-stats.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 quicklisp-stats.asd

Location

quicklisp-stats.asd

Systems

quicklisp-stats (system)


Previous: , Up: Lisp files   [Contents][Index]

3.1.2 quicklisp-stats/quicklisp-stats.lisp

Parent

quicklisp-stats (system)

Location

quicklisp-stats.lisp

Packages

quicklisp-stats

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 quicklisp-stats

Source

quicklisp-stats.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *cache*

The cache storing Quicklisp stats data. Keys are conses of year and month, values are alists of system names and download counts.

Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: all &optional VERBOSEP

Downloads all Quicklisp stats and returns them.

The result is cached in *CACHE*, so if data for a given month was already downloaded, it is not fetched again.

Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)

Function: month YEAR MONTH &optional VERBOSEP

Downloads Quicklisp stats for a given month and returns them.

The result is cached in *CACHE*, so if data for a given month was already downloaded, it is not fetched again.

Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)

Function: system-downloads SYSTEM YEAR MONTH

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.

The result is cached in *CACHE*, so if data for a given month was already downloaded, it is not fetched again.

Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: no-data-yet-month CONDITION
Package

quicklisp-stats

Methods
Method: no-data-yet-month (CONDITION no-data-yet)
Source

quicklisp-stats.lisp (file)

Generic Function: no-data-yet-year CONDITION
Package

quicklisp-stats

Methods
Method: no-data-yet-year (CONDITION no-data-yet)
Source

quicklisp-stats.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Conditions

Condition: no-data-yet ()
Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: year
Initargs

:year

Readers

no-data-yet-year (generic function)

Slot: month
Initargs

:month

Readers

no-data-yet-month (generic function)

Direct Default Initargs
InitargValue
:month(alexandria:required-argument :month)
:year(alexandria:required-argument :year)

Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *url*
Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: %month YEAR MONTH VERBOSEP
Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)

Function: no-data-yet-report CONDITION STREAM
Package

quicklisp-stats

Source

quicklisp-stats.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   Q  
Index Entry  Section

F
File, Lisp, quicklisp-stats.asd: The quicklisp-stats․asd file
File, Lisp, quicklisp-stats/quicklisp-stats.lisp: The quicklisp-stats/quicklisp-stats․lisp file

L
Lisp File, quicklisp-stats.asd: The quicklisp-stats․asd file
Lisp File, quicklisp-stats/quicklisp-stats.lisp: The quicklisp-stats/quicklisp-stats․lisp file

Q
quicklisp-stats.asd: The quicklisp-stats․asd file
quicklisp-stats/quicklisp-stats.lisp: The quicklisp-stats/quicklisp-stats․lisp file

Jump to:   F   L   Q  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %  
A   F   G   M   N   S  
Index Entry  Section

%
%month: Internal functions

A
all: Exported functions

F
Function, %month: Internal functions
Function, all: Exported functions
Function, month: Exported functions
Function, no-data-yet-report: Internal functions
Function, system-downloads: Exported functions

G
Generic Function, no-data-yet-month: Exported generic functions
Generic Function, no-data-yet-year: Exported generic functions

M
Method, no-data-yet-month: Exported generic functions
Method, no-data-yet-year: Exported generic functions
month: Exported functions

N
no-data-yet-month: Exported generic functions
no-data-yet-month: Exported generic functions
no-data-yet-report: Internal functions
no-data-yet-year: Exported generic functions
no-data-yet-year: Exported generic functions

S
system-downloads: Exported functions

Jump to:   %  
A   F   G   M   N   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
M   S   Y  
Index Entry  Section

*
*cache*: Exported special variables
*url*: Internal special variables

M
month: Exported conditions

S
Slot, month: Exported conditions
Slot, year: Exported conditions
Special Variable, *cache*: Exported special variables
Special Variable, *url*: Internal special variables

Y
year: Exported conditions

Jump to:   *  
M   S   Y  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   N   P   Q   S  
Index Entry  Section

C
Condition, no-data-yet: Exported conditions

N
no-data-yet: Exported conditions

P
Package, quicklisp-stats: The quicklisp-stats package

Q
quicklisp-stats: The quicklisp-stats system
quicklisp-stats: The quicklisp-stats package

S
System, quicklisp-stats: The quicklisp-stats system

Jump to:   C   N   P   Q   S