Skip to content

Package browser brainstorming

Benjamin Bannier edited this page Jan 24, 2022 · 6 revisions

A comparison of package-browsing websites for various different packaging ecosystems, and a list of feature ideas for Zeek-unique features our site could expose.

Other sites

Conan

URL: https://conan.io/center/

Example package: https://conan.io/center/openssl

Site features: search, featured packages, community news

Package features: version history, tags, license, number of downloads, "recipes" for use, dependencies, reverse dependencies

CPAN

URL: https://www.cpan.org/

Example package: https://metacpan.org/pod/WWW::Curl

Site features: search (better via metacpan.org), categories (unmaintained), recent updates

Package features: code coverage, rss feed, source/browse link, issue tracker, detailed testing & compatibility info

Comments: spans several sites (cpan.org vs metacpan.org vs cpantesters.org), cluttered but featureful, more source-oriented and less github-disjunct than others

OCaml

URL: https://v3.ocaml.org/packages

Example package: https://v3.ocaml.org/p/dns/6.1.4

Comments: search, featured packages, high-level stats, most popular, new releases, contribution guide

Package features: install command, readme and full documentation in-site, authors, dependencies and reverse dependencies, release history

Comments: no testing / compatibility info, very clean

PyPI

URL: https://pypi.org/

Example package: https://pypi.org/project/semantic-version/

Site features: search, browse by category, high-level stats, trending packages, new releases

Package features: install command, release history, license, authors, download, link to homepage, github stats, categories

Comments: no information about testing / compatibility, no dependencies, no explicit docs link

Rust

crates.io

URL: https://crates.io/

Example package: https://crates.io/crates/rand

Site features: search, browse by category, high-level stats, recent/popular packages

Package features: readme, install command, homepage link, docs link, repo link, version, dependencies, reverse dependencies

Comments: has a "try on Rust playground" feature

lib.rs

URL: https://lib.rs

Example package: https://lib.rs/crates/rand

Site features: improvements on top of https://crates.io, in particular extracts more metadata from repo info, an improved algorithm to rank packages to display, and surfacing of dependency freshness, see their about page

Splunk

URL: https://splunkbase.splunk.com/

Example package: https://splunkbase.splunk.com/app/3884/

Site features: search, browse by technology/category, featured apps

Package features: overview, details, version history, compatibility, license, category

Zeek-specific feature ideas

  • Support bundle creation in-site
  • Indicate security class (uses native code, has external dependencies, etc)
  • Show set of event types that drives the package / search packages by event types
  • Indicate log(s) created by package and their content
  • Indicate clusterization of package (i.e., does this need manager/proxy/worker/etc)
  • Indicate high-level features: BinPAC, Spicy, plugin use, has executable
  • Run in try.zeek.org when unproblematic (pure Zeek packages, for example). Note that for packages that use our Github Zeek package action, there's a possibility to spell out external dependencies, so we could potentially run "complicated" plugins too if we tap into this information. (Very few packages will support this right now.)
Clone this wiki locally