Home/Docs/Packages

Packages

RepoPulse SDKs and comprehensive intelligence for Rust, JavaScript/TypeScript, and Python packages.

SDK Usage

RepoPulse client libraries for programmatic access to repository and package intelligence.

Rust

cargo add repopulse
use repopulse::RepoPulseClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = RepoPulseClient::new();
    let repo = client.get_repo("octocat", "Hello-World").await?;
    println!("Health Score: {}", repo.health_score.overall);
    Ok(())
}

Python

pip install repopulse
from repopulse import RepoPulseClient

client = RepoPulseClient()
repo = client.get_repo("octocat", "Hello-World")
print(f"Health Score: {repo.health_score.overall}")

JavaScript/TypeScript

npm install repopulse
import { RepoPulseClient } from 'repopulse';

const client = new RepoPulseClient();
const repo = await client.getRepo('octocat', 'Hello-World');
console.log(`Health Score: ${repo.healthScore.overall}`);

Supported Ecosystems

Rust

Registry: crates.io

API: https://crates.io/api/v1

Explore Rust

Ecosystem Features

  • Cargo integration
  • Memory safety focus
  • Strong ecosystem

Analysis Focus

  • Download trends
  • Version cadence
  • Dependency analysis
  • Maintainer activity

JavaScript/TypeScript

Registry: npm

API: https://registry.npmjs.org

Explore JavaScript/TypeScript

Ecosystem Features

  • Largest ecosystem
  • Flexible development
  • Rich tooling
  • Active community

Analysis Focus

  • Download statistics
  • Maintainer diversity
  • Deprecation status
  • Update frequency

Python

Registry: PyPI

API: https://pypi.org/pypi

Explore Python

Ecosystem Features

  • Scientific computing
  • Educational adoption
  • Extensive libraries
  • Data science focus

Analysis Focus

  • Release patterns
  • Python version support
  • Community adoption
  • Maintenance health

Analysis Metrics

Download Trends

High Priority

Track download patterns over time

Calculation:Weekly/monthly download aggregations
Insight:Identifies adoption trends and popularity changes

Release Cadence

High Priority

Frequency and regularity of version releases

Calculation:Time intervals between releases
Insight:Indicates maintenance activity and development velocity

Dependency Health

Medium Priority

Analysis of dependency tree and relationships

Calculation:Dependency count, update status, security issues
Insight:Assesses maintenance burden and potential vulnerabilities

Maintainer Activity

High Priority

Activity level of package maintainers

Calculation:Maintainer count, update frequency, response times
Insight:Evaluates long-term sustainability and support quality

Version Stability

Medium Priority

Stability of version releases and breaking changes

Calculation:Semantic versioning analysis, breaking change frequency
Insight:Helps assess API stability and upgrade difficulty

Package Insights

Rule-based insights that highlight important aspects of package health and maintenance.

Maintenance Risk

High Risk
Trigger:Package not updated in 12+ months
Recommended Action:Consider alternative packages or contribute updates

Dependency Burden

Medium Risk
Trigger:50+ dependencies or complex dependency tree
Recommended Action:Evaluate necessity of dependencies, consider lighter alternatives

Low Adoption

Low Risk
Trigger:Fewer than 100 weekly downloads
Recommended Action:Assess package maturity and community interest

Version Instability

Medium Risk
Trigger:Frequent breaking changes or irregular versioning
Recommended Action:Plan for frequent updates and testing

Maintainer Bottleneck

High Risk
Trigger:Single maintainer or inactive maintainer team
Recommended Action:Consider contributing or finding well-maintained alternatives

API Endpoints

GET /api/package/:ecosystem/:name

Complete package analysis including health score and insights

Example:/api/package/npm/lodash
Response:Full analysis object with metrics, insights, and health score
GET /api/card/package/:ecosystem/:name

Generate SVG card for package visualization

Example:/api/card/package/npm/lodash?theme=carbon
Response:SVG image of package card
GET /api/badge?package=:ecosystem/:name&type=health

Generate package health badge

Example:/api/badge?package=npm/lodash&type=downloads&theme=flat
Response:SVG badge image

Package Badge Types

health

Overall package health score

Example: health: good (85)

downloads

Formatted download count

Example: downloads: 1.2M

version

Current package version

Example: version: 4.17.21

ecosystem

Package ecosystem indicator

Example: ecosystem: npm

dependency-risk

Dependency tree risk assessment

Example: dependency risk: low

Usage: /api/badge?package=ecosystem/name&type=health&theme=flat

README Integration

Package Health Badge

<!-- Package Health --> ![Package Health](https://repopulse-one.vercel.app/api/badge?package=npm/lodash&type=health&theme=flat)

Package Card

<img src="https://repopulse-one.vercel.app/api/card/package/npm/lodash?theme=carbon" alt="Package Card"/>

Multiple Badges

<!-- Package Stats --> ![Downloads](https://repopulse-one.vercel.app/api/badge?package=npm/lodash&type=downloads&theme=flat) ![Version](https://repopulse-one.vercel.app/api/badge?package=npm/lodash&type=version&theme=flat) ![Health](https://repopulse-one.vercel.app/api/badge?package=npm/lodash&type=health&theme=flat)

Analyze Your Dependencies

Get comprehensive intelligence on the packages you depend on. Make informed decisions about your technology stack.