Project Overview

Project Title: DevSignal Analytics — Live Open-Source Dependency Monitor (Python + REST API)

Business Scenario: DevSignal is a software consultancy that advises engineering teams on which open-source libraries are safe to depend on. Their clients keep asking the same question: "Is this package still healthy, or are we building on something that's quietly dying?"

Business Problem: Nobody has time to manually check dozens of package pages every week. DevSignal needs a repeatable way to pull live, current data on a tracked list of dependencies and flag which ones show signs of momentum versus which show signs of neglect.

Project Objective: Use Python to call the free, public crates.io API (the package registry for the Rust programming language) for a curated list of widely used packages ("crates"), and turn the live JSON responses into a real analytics report on popularity, momentum, and maintenance risk.

Key Stakeholders: Engineering leadership (build-vs-adopt decisions), Security/Platform team (dependency risk), DevSignal's client-facing consultants (need a repeatable report to hand clients).

Final Business Goal: A live-refreshable report that anyone can re-run at any time to get an up-to-the-minute view of dependency health — not a one-time snapshot that goes stale.

What You Will Finally Build

  • A working Python script that calls a real REST API and handles its JSON response

  • A live data snapshot (CSV) built entirely from that API — plus a cleaned/derived version with risk flags

  • 6 analytics charts covering popularity, age vs. adoption, momentum, and maintenance risk

  • A written insights & recommendations report

  • A short final presentation summary

Why an API instead of a downloaded CSV? A CSV is frozen the moment it's exported. An API call gets you the number as it stands right now — every time you re-run this project's code, the download counts will be higher than they were last time. That's the core skill this project teaches: pulling live data on demand instead of relying on a static file.

Tools: Python, the built-in urllib (or requests) library for calling the API, pandas for structuring the JSON into a table, and Matplotlib for the charts. No SQL, Excel, or BI tool is required.