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
Repository
sustainable-communities-tracker
Basic Info
- Host: GitHub
- Owner: yochannah
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://yochannah.github.io/sustainable-communities-tracker/
- Size: 533 KB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
- Releases: 1
Metadata Files
README.md
Sustainable communities tracker
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.
- 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
viewfolder. - The rest are data collection components.
- General: This is fully written in Javascript. The entry point is in index.js in this folder. Entire suite of metrics-gathering.
- Individual methods: JS-based. Entry: singleMethod.js. Useful to gather all of a single metric from all repos.
- Local methods: clone git and run some metrics locally rather than infuriating the github api.
Data collection
To set up
- You'll need a recent version of node. Run
npm installto get the dependencies. - in your .bashrc or .zshrc set up a githup api access token. It should look somethingg like this:
EXPORT github_sustain_sw_token=123456678sdfsdfsdfsdfsdfsdf - run
node index.jsin yer terminal
To grab various github api stats
- 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:
- Create a directory in the parent directory of this repo, and call it
localData. - Copy sample.tsv into localData.
- Tweak the repo names and dates, and/or add any lines you need to, to add more repos.
- 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:
- copy files generated by the script(s) to
view/_data - set up jekyll if you haven't already (
gem install jekyll bundler). I use rvm to manage ruby versions, it makes things easier. - once it's all set up, cd into the view directory
cd viewand runbundle 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
- Website: http://yo-yehudi.com
- Repositories: 258
- Profile: https://github.com/yochannah
@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
Top Committers
| Name | 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
- actions/checkout v2 composite
- actions/setup-node v2 composite
- 124 dependencies
- 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
- jekyll ~> 4.2.0
- minima ~> 2.5
- tzinfo ~> 1.2
- tzinfo-data >= 0
- wdm ~> 0.1.1
- 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