Skip to content
@OSS-PREY

OSSPREY

We measure health of your Open Source Project and provide actionable recommendations

OSSPREY - About the Tool

OSSPREY (Open Source PRoject sustainabilitY tracker) is built to help open source projects not just survive, but thrive. Instead of relying on surface-level metrics, OSSPREY looks deeper — mapping how people collaborate, how code evolves, and how projects grow or struggle over time.

We combine network analysis, machine learning, and lessons pulled directly from real research to offer practical, evidence-based recommendations — not just vague advice. Our goal is simple: make it easier for maintainers, contributors, and foundations to spot risks early, understand what’s working, and take action to build more sustainable projects.

Open source is complex and always changing. OSSPREY gives you tools that grow with you — whether you're steering a small project or managing a major foundation’s portfolio. It’s not about static scores or dashboards; it’s about building a healthier future for your community.

To learn more about OSSPREY, visit our live link at ossprey.netlify.app

➡️ OSSPREY is here to help you build sustainable open source software.

OSSPREY Installation Manual

Step 1: Clone All Repositories

OSSPREY consists of multiple modular components. Begin by cloning all required repositories:

git clone https://github.com/OSS-PREY/OSSPREY-FrontEnd-Server
git clone https://github.com/OSS-PREY/OSSPREY-BackEnd-Server
git clone https://github.com/OSS-PREY/OSSPREY-ReACT-API
git clone https://github.com/OSS-PREY/OSSPREY-Pex-Forecaster
git clone https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool

Step 2: Front-End Installation

  1. Ensure Node.js & npm are installed (version 14.x or above):

    sudo apt install npm
    
  2. Install project dependencies:

    npm install
    
  3. Start development server (hot reload):

    npm run dev
    
  4. Build for production:

    npm run build
    
  5. Clear cache and reinstall (if build issues occur):

    rm -rf node_modules package-lock.json
    npm cache clean --force
    npm install
    

Step 3: Back-End Installation

  1. Create and activate Python environment (Python 3.10 recommended):

    python3 -m venv venv
    source venv/bin/activate
    
  2. Install Python dependencies:
    Download requirements.txt from GitHub and run:

    pip install -r requirements.txt
    
  3. Navigate to OSSPREY-OSS-Scraper-Tool directory:

    cd OSSPREY-OSS-Scraper-Tool
    
  4. Install Rust and Cargo:
    Follow the official guide at rust-lang.org/tools/install

  5. Environment File Configuration
    Create a .env file in the OSSPREY-OSS-Scraper-Tool directory with the following content:

    GITHUB_TOKEN="PERSONAL-TOKEN"
    

    Replace PERSONAL-TOKEN with your GitHub personal access token. The token should be fine-grained access tokens with read access to the public repositories on GitHub.

  6. Prepare and build the OSS Scraper tool:

    cargo update
    cargo clean
    cargo build
    cargo fix --bin "miner"
    

    The built binary will appear inside the target directory.

  7. Navigate to the core backend directory (OSSPREY-BackEnd-Server):

    cd ../OSSPREY-BackEnd-Server
    

    This directory contains the Flask server that serves API endpoints.

  8. Install MongoDB and Mongosh:
    Use the provided scripts (MongoDB and Mongosh) to install MongoDB and Mongosh:

    sh install_mongo.sh
    sh install_mongosh.sh
    
  9. Set up the database user in mongosh:

    mongosh
    
    use decal-db
    db.createUser({
      user: "ossprey-backend",
      pwd: "FL3YyVGCr79xlPT0",
      roles: [{ role: "readWrite", db: "decal-db" }]
    })
    
  10. Download Foundational Data:
    Download the foundational data and place it in the parent directory.

  11. Insert data into MongoDB:
    Run the following script from the given Insert-Data file.

    sh insert_data_to_mongodb.sh
    
  12. Environment File Configuration
    Create a .env file in the OSSPREY-BackEnd-Server directory with the following content:

    GITHUB_TOKEN_1="PERSONAL-TOKEN-1" 
    GITHUB_TOKEN_2="PERSONAL-TOKEN-2"
    GITHUB_TOKEN_3="PERSONAL-TOKEN-3"
    GITHUB_TOKEN_4="PERSONAL-TOKEN-4"
            
    PEX_GENERATOR_REPO_URL="https://github.com/arjashok/pex-forecaster.git"
    OSS_SCRAPER_REPO_URL="https://github.com/priyalsoni15/OSS-scraper.git"
    PEX_GENERATOR_DIR="/mnt/data1/OSPEX/root-linode/pex-forecaster"
    OSS_SCRAPER_DIR="/OSSPREY-OSS-Scraper-Tool"
    REACT_API_DIR="/OSSPREY-ReACT-API"
    GITHUB_USERNAME="GITHUB_USERNAME"
    MONGODB_URI="mongodb://ossprey-backend:FL3YyVGCr79xlPT0@localhost:27017/decal-db?retryWrites=true&w=majority"
    

    Replace PERSONAL-TOKEN-1, PERSONAL-TOKEN-2, PERSONAL-TOKEN-3, and PERSONAL-TOKEN-4 with your GitHub personal access tokens. These should be fine-grained access tokens with read access to public repositories. Also, replace GITHUB_USERNAME with your GitHub username.

  13. Start the Flask backend using Gunicorn (production):

    gunicorn -w 4 --max-requests 100 --max-requests-jitter 10 --timeout 120 -b 0.0.0.0:5000 run:app
    
  14. Debug locally using Flask (development):

    python -m flask run
    

Pinned Loading

  1. OSSPREY-Pex-Forecaster OSSPREY-Pex-Forecaster Public

    Project Explorer (PEx) Forecasting is a streamlined pipeline for sustainability forecasting, offering modular tools for data processing, network generation, and trajectory modeling.

    Jupyter Notebook 2

  2. OSSPREY-FrontEnd-Server OSSPREY-FrontEnd-Server Public

    OSSPREY is a tool to support sustainable open-source development. It provides direct analytics of project metrics, temporal AI-based sustainability forecasts, and evidence-based recommendations to …

    Vue 1

  3. OSSPREY-Website OSSPREY-Website Public

    This repository contains the source code for the OSSPREY website. It provides step-by-step instructions and command-line utilities needed to install and run the tool locally.

    JavaScript

  4. OSSPREY-ReACT-API OSSPREY-ReACT-API Public

    ReACT-API serves as the backbone for hosting Researched Actionable (ReACT) insights, empowering OSSPREY projects with actionable research-driven data.

    Python

  5. OSSPREY-BackEnd-Server OSSPREY-BackEnd-Server Public

    Open-source sustainability web server for OSSPREY, hosting APIs for Apache and Eclipse projects, with features like GitHub data fetching, project insights, and social/technical network analysis

    Python

  6. OSSPREY-OSS-Scraper-Tool OSSPREY-OSS-Scraper-Tool Public

    Rust

Repositories

Showing 8 of 8 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…