PackageAnalyzer.jl: analyzing the open source ecosystem & more!

07/26/2023, 8:00 PM — 8:30 PM UTC
26-100

Abstract:

We have developed PackageAnalyzer.jl in order to analyze the whole open source Julia ecosystem, but it can also be used to analyze private registries and dependency graphs too. In this talk we will give an update on the growth of the Julia ecosystem and how well best-practices such as CI, tests, and documentation have kept up with this growth, as well as show you how to use PackageAnalyzer to easily analyze your own dependency graph.

Description:

PackageAnalyzer.jl lets you statically inspect the content of a package and collect information about the use of documentation, testing suite, continuous integration, as well as the licenses used, the number of lines of code, the number of contributors. Additionally, using JuliaSyntax.jl, PackageAnalyzer can introspect the source code and count the number of struct definitions, exports, method definitions, and more. PackageAnalyzer also supports analyzing an entire Manifest.toml or even a whole registry, and takes care to look at exactly the code specified in a manifest rather than the latest version of the code in its source repository. This can be used to check that e.g. all dependencies in an application have an open-source license, or have tests, and is new to PackageAnalyzer v1.0.

We will show how to use PackageAnalyzer in an example application, and the kinds of analyses which can be performed. We will also show statistics about the whole open-source ecosystem, as an update to the JuliaCon 2021 talk called Code, docs, and tests: what's in the General registry?. We'll talk about the current state of the ecosystem as well as how it has grown and changed since 2021.

Platinum sponsors

JuliaHub

Gold sponsors

ASML

Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners

NAWA

Local partners

Postmates

Fiscal Sponsor

NumFOCUS