Sustainability signals for OSS dependencies across ecosystems
Project description
OSS Sustain Guard
Note: Demo shows a warm cache; first run may take longer depending on API response time.
Multi-language package sustainability analyzer - Evaluate your dependencies' health with 24 core metrics (plus optional dependents) including Contributor Redundancy, Maintainer Retention, and Security Signals.
Why OSS Sustain Guard?
Every time a high-profile OSS incident makes the news, I find myself wondering about the packages I rely on right now. I could visit GitHub and skim issues, pull requests, and activity to get a rough sense, but it is not easy. When you depend on tens or hundreds of packages, plus their dependencies, it becomes nearly impossible, and you usually do not notice until something goes wrong.
The libraries that support my work might be under heavy strain, and their own dependencies might be too. OSS Sustain Guard was built to answer those questions and to create moments where users can see the state of maintainers and communities. The first step is simple awareness.
💡 Project Philosophy
OSS Sustain Guard uses empathetic language and contextual metrics to help teams support the projects they rely on. We avoid judgment and recognize that sustainability looks different across communities and organizations.
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
Metrics are one lens among many; they work best alongside project context and real-world knowledge.
🎯 Key Features
- 24 Core Sustainability Metrics - Comprehensive evaluation across maintainer health, development activity, community engagement, project maturity, and security (all core metrics scored 0-10)
- Pluggable Metrics System - Easily extend analysis by adding your own sustainability metrics as plugins.
- Optional Dependents Analysis - Adds a downstream dependents metric when enabled with
--enable-dependents(requiresLIBRARIESIO_API_KEY) - 5 CHAOSS-Aligned Models - Stability, 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
- Minimal Setup - Requires a GitHub token for real-time analysis
🚀 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
# Real-time analysis currently supports GitHub-hosted repositories
# 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:
- Getting Started - Installation and basic usage
- Scoring Profiles - Different evaluation perspectives
- GitHub Actions Integration - CI/CD setup
- Pre-Commit Hooks - Automated checks
- Exclude Packages - Configuration
- FAQ - Common questions
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 Core 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
Optional dependents analysis adds a separate metric when enabled with --enable-dependents (requires LIBRARIESIO_API_KEY).
Score interpretation: 80-100 (Healthy) | 50-79 (Monitor) | 0-49 (Needs support)
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
- Scoring Profiles Guide - Different evaluation perspectives
- Custom Metrics Guide - Create your own sustainability metrics
- Pre-Commit Integration - Hook configuration
- GitHub Actions Guide - CI/CD setup
- Exclude Packages Guide - Package filtering
📄 License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oss_sustain_guard-0.14.3.tar.gz.
File metadata
- Download URL: oss_sustain_guard-0.14.3.tar.gz
- Upload date:
- Size: 489.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b57cbff6b9aa55dca9e45e51ee55b58522bf6c8bf8b1a537d26729a08f7cc572
|
|
| MD5 |
a92d01c373f7028ed3c79e478c18596c
|
|
| BLAKE2b-256 |
5910fcc1e721206e1a5ab012ec31fb6be3d1ca2544b0ee175bcd0a3f569760bb
|
Provenance
The following attestation bundles were made for oss_sustain_guard-0.14.3.tar.gz:
Publisher:
publish.yml on onukura/oss-sustain-guard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oss_sustain_guard-0.14.3.tar.gz -
Subject digest:
b57cbff6b9aa55dca9e45e51ee55b58522bf6c8bf8b1a537d26729a08f7cc572 - Sigstore transparency entry: 787724496
- Sigstore integration time:
-
Permalink:
onukura/oss-sustain-guard@affee34d5bf56b2d887922cb27f9019fbad06d1c -
Branch / Tag:
refs/tags/v0.14.3 - Owner: https://github.com/onukura
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@affee34d5bf56b2d887922cb27f9019fbad06d1c -
Trigger Event:
push
-
Statement type:
File details
Details for the file oss_sustain_guard-0.14.3-py3-none-any.whl.
File metadata
- Download URL: oss_sustain_guard-0.14.3-py3-none-any.whl
- Upload date:
- Size: 127.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5c1edfca5942442cc4116846d2b1e3db833d5f47b0c563e41c10778ced333e1
|
|
| MD5 |
228ea9d21b667c32e3ef63c50d120ebe
|
|
| BLAKE2b-256 |
25d739044b71b5ab4e48de5c501dd507b970ba1082cfdadb46598d09314a1211
|
Provenance
The following attestation bundles were made for oss_sustain_guard-0.14.3-py3-none-any.whl:
Publisher:
publish.yml on onukura/oss-sustain-guard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oss_sustain_guard-0.14.3-py3-none-any.whl -
Subject digest:
c5c1edfca5942442cc4116846d2b1e3db833d5f47b0c563e41c10778ced333e1 - Sigstore transparency entry: 787724505
- Sigstore integration time:
-
Permalink:
onukura/oss-sustain-guard@affee34d5bf56b2d887922cb27f9019fbad06d1c -
Branch / Tag:
refs/tags/v0.14.3 - Owner: https://github.com/onukura
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@affee34d5bf56b2d887922cb27f9019fbad06d1c -
Trigger Event:
push
-
Statement type: