Dependency Management Data

What is it?

Dependency Management Data (DMD) is a set of tooling to get a better understanding of the use of dependencies across your organisation.

The aim is to provide you with a set of queryable data about how your projects use configured, so you can target changes across your projects and organisation more appropriately.

What can it tell me?

Have you ever wondered any of the below?

If so, this suite of Free and Open Source software is for you. You can get a similar offering to some vendors, completely for free 🤑

How does it work?

There is a command-line tool, dmd, which aims to make this an easier way to interact with the data.

Once you have collected the data through one of the supported tools you can then import it.

Once imported, you can use the inbuilt dmd-web tool to get a Web frontend (including SQLite frontend via Datasette), load it locally through your preferred SQLite interface, or use one of the built-in reports.

If you want more of an idea of the command-line tool before you download it, check out the docs for dmd.

How do I get started?

With my own data

The blog post Getting started with Dependency Management Data is a good way to get started with your own data, and guides you through the process of getting started.

With the example data

If you don't (yet) want to use DMD with your own data, it's best to check out the example project, which provides some a pre-seeded database, and the associated data exports that you can test the experience with, as well as seeing how it has configured the tooling to build the database.

The example data has a corresponding deployment of the DMD web application at dependency-management-data-example.fly.dev.

Some examples of queries:

Where can I learn more?