sustainable-communities-tracker

sustainable-communities-tracker

https://github.com/yochannah/sustainable-communities-tracker

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

sustainable-communities-tracker

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 1
Created almost 5 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

Sustainable communities tracker

DOI Node.js CI

This code was used in a year-long study looking at CHAOSS and other sustainability metrics that might affect open communities that user version control hosting sites for collaboration. This mostly ended up being and/or open source, open science communities, and mostly on GitHub.

Code components

There are four main components within this code.

  1. One is the data visualisation component, which runs on Jekyll, with lots of javascript-based processing, since Jekyll can generate static sites but doesn't always allow advanced data manipulation. The entry point for this section is in the view folder.
  2. The rest are data collection components.
    1. General: This is fully written in Javascript. The entry point is in index.js in this folder. Entire suite of metrics-gathering.
    2. Individual methods: JS-based. Entry: singleMethod.js. Useful to gather all of a single metric from all repos.
    3. Local methods: clone git and run some metrics locally rather than infuriating the github api.

Data collection

To set up

  1. You'll need a recent version of node. Run npm install to get the dependencies.
  2. in your .bashrc or .zshrc set up a githup api access token. It should look somethingg like this: EXPORT github_sustain_sw_token=123456678sdfsdfsdfsdfsdfsdf
  3. run node index.js in yer terminal

To grab various github api stats

  1. Full run, on ALL the repos you have in a text file, separated by newlines: bash node index.js --month 12 --urlList /path/to/urllist.txt ### Local git-based stats In some cases, using the GitHub API is not the most efficient way to handle things - generally repos with LOTS of commits. Cloning stuff locally and assessing the logs works for anything that's git specific rather than GitHub specific.

To run the local scripts:

Setup:

  1. Create a directory in the parent directory of this repo, and call it localData.
  2. Copy sample.tsv into localData.
  3. Tweak the repo names and dates, and/or add any lines you need to, to add more repos.
  4. You may also need to give the script permissions to run using chmod +x

The above setup steps, as one copy-pastable block:

```bash
#go to the folder containing this code.
cd sustainable-communities-tracker
#change the script to be executable
chmod +x src/localMethods/localMethods.sh

# make a folder to store all the output data 
mkdir ../localData
#copy the sample data to the data folder.
cp templates/sample.tsv ../localData/sample.tsv
```

To run the local script, after the above setup is complete:

node npm run localMethods

Data visualisation component

Once you've run stats on a repo, there's a minimal UI to view the json and data more visually. To use it:

  1. copy files generated by the script(s) to view/_data
  2. set up jekyll if you haven't already (gem install jekyll bundler). I use rvm to manage ruby versions, it makes things easier.
  3. once it's all set up, cd into the view directory cd view and run bundle exec jekyll serve - presto, you'll serve the visualisations.

Note that a copy of this repo, containing sanitised data and ready for deployment, is available here: https://github.com/Sustainable-Open-Science-and-Software/survey-datavis/actions

Owner

  • Name: Yo Yehudi
  • Login: yochannah
  • Kind: user
  • Location: Cambridge
  • Company: @open-life-science

@open-life-science exec director | previously @wellcometrust & @intermine & @PLOS Open Source Toolkit & @OBF Board

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Yehudi
    given-names: Yo
    orcid: https://orcid.org/0000-0003-2705-1724
title: Sustainability indicators in an open online community
version: 2023-06-thesis-release
date-released: 2023-06-26

GitHub Events

Total
Last Year

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 238
  • Total Committers: 3
  • Avg Commits per committer: 79.333
  • Development Distribution Score (DDS): 0.13
Past Year
  • Commits: 82
  • Committers: 3
  • Avg Commits per committer: 27.333
  • Development Distribution Score (DDS): 0.378
Top Committers
Name Email Commits
Yo Yehudi y****h@g****m 207
Yo Yehudi y****i@p****k 30
Yochannah Yehudi yo@0****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 24
  • Total pull requests: 12
  • Average time to close issues: 8 months
  • Average time to close pull requests: about 12 hours
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.46
  • Average comments per pull request: 0.0
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • yochannah (19)
Pull Request Authors
  • yochannah (6)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/node.js.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
package-lock.json npm
  • 124 dependencies
package.json npm
  • mocha ^8.3.2 development
  • @octokit/core ^3.5.1
  • @octokit/plugin-throttling ^3.5.2
  • luxon ^3.1.0
  • objects-to-csv ^1.3.6
  • parse-link-header ^1.0.1
  • path ^0.12.7
  • yargs ^17.0.1
view/Gemfile rubygems
  • jekyll ~> 4.2.0
  • minima ~> 2.5
  • tzinfo ~> 1.2
  • tzinfo-data >= 0
  • wdm ~> 0.1.1
view/Gemfile.lock rubygems
  • addressable 2.7.0
  • colorator 1.1.0
  • concurrent-ruby 1.1.8
  • em-websocket 0.5.2
  • eventmachine 1.2.7
  • ffi 1.14.2
  • forwardable-extended 2.6.0
  • http_parser.rb 0.6.0
  • i18n 1.8.10
  • jekyll 4.2.0
  • jekyll-feed 0.15.1
  • jekyll-sass-converter 2.1.0
  • jekyll-seo-tag 2.7.1
  • jekyll-watch 2.2.1
  • kramdown 2.3.1
  • kramdown-parser-gfm 1.1.0
  • liquid 4.0.3
  • listen 3.4.1
  • mercenary 0.4.0
  • minima 2.5.1
  • pathutil 0.16.2
  • public_suffix 4.0.6
  • rb-fsevent 0.11.0
  • rb-inotify 0.10.1
  • rexml 3.2.5
  • rouge 3.26.0
  • safe_yaml 1.0.5
  • sassc 2.4.0
  • terminal-table 2.0.0
  • unicode-display_width 1.7.0