Skip to main content

Add your description here

Project description

OSS Sustain Guard

Test & Coverage Python Version PyPI - Version License: MIT

demo

Multi-language package sustainability analyzer - Evaluate your dependencies' health with 24 metrics including Contributor Redundancy, Maintainer Retention, and Security Signals.

📌 Quick Notes:

  • Local caching - Popular packages served from efficient local cache for faster results
  • SSL verification - Use --insecure flag to disable SSL verification for development/testing only
  • Package resolution - If a package cannot be resolved to a GitHub repository, it will be skipped with a notification
  • Full documentation - https://onukura.github.io/oss-sustain-guard/

💡 Project Philosophy

OSS Sustain Guard is designed to spark thoughtful conversations about open-source sustainability, not to pass judgment on projects. Our mission is to raise awareness about the challenges maintainers face and encourage the community to think together about how we can better support the open-source ecosystem.

We believe that:

  • 🌱 Sustainability matters - Open-source projects need ongoing support to thrive
  • 🤝 Community support is essential - For community-driven projects, we highlight funding opportunities to help users give back
  • 📊 Transparency helps everyone - By providing objective metrics, we help maintainers and users make informed decisions
  • 🎯 Respectful evaluation - We distinguish between corporate-backed and community-driven projects, recognizing their different sustainability models
  • 💝 Supporting maintainers - When available, we display funding links for community projects to encourage direct support

This tool is meant to be a conversation starter about OSS sustainability, not a judgment. Every project has unique circumstances, and metrics are just one part of the story.

🎯 Key Features

  • 24 Sustainability Metrics - Comprehensive evaluation across maintainer health, development activity, community engagement, project maturity, and security (all metrics scored 0-10)
  • Pluggable Metrics System - Easily extend analysis by adding your own sustainability metrics as plugins.
  • Optional Dependents Analysis - Downstream dependency metrics (informational, not affecting total score)
  • 5 CHAOSS-Aligned Models - Risk, Sustainability, Community Engagement, Project Maturity, and Contributor Experience
  • Metric-Weighted Scoring - Configurable scoring profiles with integer weights per metric, normalized to 0-100 scale
  • Custom Scoring Profiles - Define your own scoring profiles to tailor evaluation priorities for your organization or use case.
  • Multi-Language Support - Python, JavaScript, Go, Rust, PHP, Java, Kotlin, C#, Ruby
  • Community Support Awareness - Displays funding links for community-driven projects
  • Local Caching - Efficient local cache for faster repeated checks
  • CI/CD Integration - GitHub Actions, Pre-commit hooks
  • Zero Configuration - Works out of the box

🚀 Quick Start

# Install
pip install oss-sustain-guard

# Set GitHub token (required for all package analysis)
export GITHUB_TOKEN='your_token_here'  # Get from: https://github.com/settings/tokens/new

# Check your dependencies (auto-detect from manifest files)
os4g check

# Check your dependencies including lock files
os4g check --include-lock

# Scan recursively (great for monorepos)
os4g check --recursive

# Check a single package
os4g check requests

# Check multiple packages (auto-detect language)
os4g check django flask numpy

# Multi-language support
os4g check python:requests npm:react rust:tokio r:ggplot2 haskell:text swift:apple/swift-nio

# Export results to JSON
os4g check requests --output-format json --output-file oss-report.json

# Generate an HTML report
os4g check requests --output-format html --output-file oss-report.html

📚 Documentation

For detailed usage, configuration, and features, see our documentation site:

Supported Ecosystems

Python, JavaScript, Go, Rust, PHP, Java, Kotlin, C#, Ruby, R, Haskell, Swift, Dart, Elixir, Perl

See Getting Started for ecosystem-specific syntax.

24 Sustainability Metrics

Evaluated across 5 categories:

  • Maintainer Health (25%) - Contributor diversity and retention
  • Development Activity (20%) - Release rhythm and recent activity
  • Community Engagement (20%) - Issue/PR responsiveness
  • Project Maturity (15%) - Documentation and governance
  • Security & Funding (20%) - Security posture and sustainability

Score interpretation: 80-100 (Healthy) | 50-79 (Monitor) | 0-49 (Needs Attention)

Special Features

  • 🎁 Gratitude Vending Machine - Discover community projects that need support

    os4g gratitude --top 5
    
  • 💰 Community Funding Links - Auto-displays funding options for community-driven projects

🤝 Contributing

See CONTRIBUTING.md for development setup, testing, code style, and architecture documentation.

📝 Documentation

📄 License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oss_sustain_guard-0.14.0.tar.gz (411.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oss_sustain_guard-0.14.0-py3-none-any.whl (125.4 kB view details)

Uploaded Python 3

File details

Details for the file oss_sustain_guard-0.14.0.tar.gz.

File metadata

  • Download URL: oss_sustain_guard-0.14.0.tar.gz
  • Upload date:
  • Size: 411.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oss_sustain_guard-0.14.0.tar.gz
Algorithm Hash digest
SHA256 1ec2d0e4f6b804018df655f963ef4603ff7249ebc8666182f83f21c87bfd109e
MD5 5d4e0c9608596b4b93508f7fcd83bb41
BLAKE2b-256 e092a432baed421d48fb14a5775877e787ef818fce1bc4a3d2fa926787fe9c11

See more details on using hashes here.

Provenance

The following attestation bundles were made for oss_sustain_guard-0.14.0.tar.gz:

Publisher: publish.yml on onukura/oss-sustain-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oss_sustain_guard-0.14.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oss_sustain_guard-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf675ed4735ae8d3e0e7bed88e066c06556c8fec9241746b0fef36eb55c2d261
MD5 1186ddfdc5d7fe19707d8844560f93b1
BLAKE2b-256 788e6ce68b6e5353593afc5e43ec23f1c8068dfeb71ff886df039b730b37f0e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for oss_sustain_guard-0.14.0-py3-none-any.whl:

Publisher: publish.yml on onukura/oss-sustain-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page