├── src
├── requirement.txt
├── local_image.png
├── repo_data.py
├── readme.md
├── repo-collection.csv
├── heroes
│ ├── readme.md
│ ├── heroes.py
│ └── heroes2.py
└── test.py
├── CNAME
├── _data
├── stars
│ └── zhou-xiaojun-jd_mask.yml
├── summary.zip
├── summary_total.json
├── summary_areas.json
├── summary_china.json
├── summary_global.json
├── tags.yml
├── heroes.yml
├── readme.md
├── unclassified.yml
└── meta.yml
├── .gitignore
├── Gemfile
├── assets
├── screenshot1.png
├── screenshot2.png
├── page_summary
│ ├── world_repos_count.svg
│ ├── world_forks_count.svg
│ ├── world_stars_count.svg
│ ├── world_projects_count.svg
│ ├── areas_repos_count.svg
│ ├── china_repos_count.svg
│ ├── global_repos_count.svg
│ ├── total_repos_count.svg
│ ├── areas_forks_count.svg
│ ├── areas_stars_count.svg
│ ├── china_forks_count.svg
│ ├── china_stars_count.svg
│ ├── total_forks_count.svg
│ ├── areas_projects_count.svg
│ ├── china_projects_count.svg
│ ├── global_forks_count.svg
│ ├── global_stars_count.svg
│ ├── total_stars_count.svg
│ ├── global_projects_count.svg
│ └── total_projects_count.svg
├── css
│ └── style.scss
└── shields
│ ├── github-covid19dashboards.svg
│ ├── wertycn-nCoV.svg
│ ├── BlankerL-DXY-2019-nCoV-Data.svg
│ ├── nf-core-covid19.svg
│ ├── BlankerL-DXY-2019-nCoV-Crawler.svg
│ ├── gcreddy42-hiring2020.svg
│ ├── ricnov-COVID-19-ITALY.svg
│ ├── sorxrob-2019-ncov-api.svg
│ ├── sydrawat-covid19.in.svg
│ ├── zhou-xiaojun-jd_mask.svg
│ ├── Academic-nCoV-2019-nCoV.svg
│ ├── Pratitya-wuhan2020-timeline.svg
│ ├── alessiodl-COVID19Dashboard.svg
│ ├── alessiodl-COVID19Feed2Json.svg
│ ├── github-covid19-dashboards.svg
│ ├── sorxrob-2019-ncov-frontend.svg
│ ├── kenlog-coronavirusinfections.org.svg
│ ├── patilatharva-covid19tokyo.live..svg
│ ├── TheWanderingCoel-WuhanPneumoniaBotTelegram.svg
│ ├── kenlog-italy.coronavirusinfections.org.svg
│ ├── mattroconnor-deep_learning_coronavirus_cure.svg
│ ├── jriou-wcov.svg
│ ├── veaba-ncov.svg
│ ├── JanLikar-covid.svg
│ ├── byrwiki-jiayou.svg
│ ├── goinvo-COVID19.svg
│ ├── Moyck-2019NCOV.svg
│ ├── digiphilo-covid.svg
│ ├── geohot-corona.svg
│ ├── laomocode-yiqin.svg
│ ├── liu-zoe-wuhancv.svg
│ ├── p-j-r-covid-19.svg
│ ├── par6n-ncov-19.svg
│ ├── pzhaonet-ncov.svg
│ ├── pzhaonet-ncovr.svg
│ ├── NovelCOVID-API.svg
│ ├── dsfsi-covid19za.svg
│ ├── green512-2019nCoV.svg
│ ├── hack-fang-nCov.svg
│ ├── jakobzhao-virus.svg
│ ├── openZH-covid_19.svg
│ ├── pomber-covid19.svg
│ ├── sangyx-nCoV-Map.svg
│ ├── soorichu-coronako.svg
│ ├── yjlou-2019-nCov.svg
│ ├── Bost-corona_cases.svg
│ ├── IliasPap-COVIDNet.svg
│ ├── MhdHejazi-Corona.svg
│ ├── azurini-data_public.svg
│ ├── calthaus-ncov-cfr.svg
│ ├── cuihuan-2019_nCov.svg
│ ├── elcronos-COVID-19.svg
│ ├── lispczz-pneumonia.svg
│ ├── nextstrain-ncov.svg
│ ├── pcm-dpc-COVID-19.svg
│ └── pennsignals-chime.svg
├── _includes
├── footer.md
├── navigation.md
├── github_icon.md
├── search_repo.md
├── github_icon_with_name.md
├── repo.md
├── page_summary_china.md
├── page_summary_global.md
├── page_summary_total.md
├── page_summary_areas.md
├── site_recommendation.md
├── projects.md
├── post-comments.html
├── tags_projects.md
├── forks.svg
├── badge.svg
└── repo-collection.md
├── _config.yml
├── index.md
├── world.md
├── areas.md
├── start_server.sh
├── .github
├── ISSUE_TEMPLATE
│ ├── ----.md
│ └── site-recommendation.md
└── workflows
│ ├── shields.yml
│ └── counting.yml
├── search.md
├── unclassified.md
├── china.md
├── tags.md
├── heroes.md
├── sitemap.xml
├── about.md
└── contribute.md
/src/requirement.txt:
--------------------------------------------------------------------------------
1 | pyyaml
2 |
--------------------------------------------------------------------------------
/CNAME:
--------------------------------------------------------------------------------
1 | open-source-covid-19.weileizeng.com
2 |
--------------------------------------------------------------------------------
/_data/stars/zhou-xiaojun-jd_mask.yml:
--------------------------------------------------------------------------------
1 | 190
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | _site/
3 | \_site/
4 | *~
5 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | gem "github-pages", group: :jekyll_plugins
2 | source 'https://rubygems.org'
3 |
--------------------------------------------------------------------------------
/_data/summary.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WeileiZeng/Open-Source-COVID-19/HEAD/_data/summary.zip
--------------------------------------------------------------------------------
/src/local_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WeileiZeng/Open-Source-COVID-19/HEAD/src/local_image.png
--------------------------------------------------------------------------------
/assets/screenshot1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WeileiZeng/Open-Source-COVID-19/HEAD/assets/screenshot1.png
--------------------------------------------------------------------------------
/assets/screenshot2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WeileiZeng/Open-Source-COVID-19/HEAD/assets/screenshot2.png
--------------------------------------------------------------------------------
/_includes/footer.md:
--------------------------------------------------------------------------------
1 | About [Open Source COVID-19](about)
2 |
3 | [Back to top](#top)
4 |
5 |
6 |
7 | {% include post-comments.html %}
--------------------------------------------------------------------------------
/_data/summary_total.json:
--------------------------------------------------------------------------------
1 | {
2 | "forks_count": 49831,
3 | "projects_count": 246,
4 | "repos_count": 184,
5 | "stars_count": 121311
6 | }
--------------------------------------------------------------------------------
/_data/summary_areas.json:
--------------------------------------------------------------------------------
1 | {
2 | "forks_count": 14510,
3 | "projects_count": 58,
4 | "repos_count": 51,
5 | "stars_count": 32491
6 | }
--------------------------------------------------------------------------------
/_data/summary_china.json:
--------------------------------------------------------------------------------
1 | {
2 | "forks_count": 4157,
3 | "projects_count": 60,
4 | "repos_count": 45,
5 | "stars_count": 17724
6 | }
--------------------------------------------------------------------------------
/_data/summary_global.json:
--------------------------------------------------------------------------------
1 | {
2 | "forks_count": 31164,
3 | "projects_count": 128,
4 | "repos_count": 88,
5 | "stars_count": 71096
6 | }
--------------------------------------------------------------------------------
/_includes/navigation.md:
--------------------------------------------------------------------------------
1 | | Global | [Countries](areas) | [China](china) | tags | [About](about) |
--------------------------------------------------------------------------------
/_includes/github_icon.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-leap-day
2 |
3 | exclude:
4 | - src
5 |
6 | github:
7 | is_project_page: false
8 |
9 | google_analytics: UA-155170936-3
10 |
11 |
12 | disqus: opensourcewuhan
13 |
--------------------------------------------------------------------------------
/_includes/search_repo.md:
--------------------------------------------------------------------------------
1 | | {{ repo.stargazers_count }} | {% if repo.fork %} forked {% endif %} | {{ repo.forks }} | {{ repo.full_name }} |
--------------------------------------------------------------------------------
/_includes/github_icon_with_name.md:
--------------------------------------------------------------------------------
1 | {{ repo_name }}
2 |
--------------------------------------------------------------------------------
/_includes/repo.md:
--------------------------------------------------------------------------------
1 | * {% if include.repo-name %}  [{{ include.repo-name }}](https://github.com/{{ include.repo-name }}) {% endif %} {{ include.content }}
--------------------------------------------------------------------------------
/src/repo_data.py:
--------------------------------------------------------------------------------
1 | # use Github API to get the data of repos, including star_counts
2 | # do some post processing like statistics of all stars and all forks.
3 |
4 | # TODO:
5 | # use curl to download data for repo listes in _data
6 | # use python json lib to read and process data
7 |
--------------------------------------------------------------------------------
/src/readme.md:
--------------------------------------------------------------------------------
1 | this fold has several python scripts
2 | * counting.py
3 | * read entries in _data/*.yml, culr github API to get data for each repo, and do some statistic analysis.
4 | * output: total repo, total star, total forks, etc
5 | * sampel.json
6 | * a sample result of github api for a repo
--------------------------------------------------------------------------------
/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 | {% include navigation.md %}
6 |
7 | {% include page_summary_global.md %}
8 |
9 |
10 | {% assign projects = site.data.global %}
11 |
12 | {% include projects.md %}
13 |
14 |
15 |
16 | {% include site_recommendation.md %}
17 |
18 |
19 |
20 |
21 | {% include footer.md %}
--------------------------------------------------------------------------------
/world.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 | {% include navigation.md %}
6 |
7 | {% include page_summary_global.md %}
8 |
9 |
10 | {% assign projects = site.data.global %}
11 |
12 | {% include projects.md %}
13 |
14 |
15 |
16 | {% include site_recommendation.md %}
17 |
18 |
19 |
20 |
21 | {% include footer.md %}
--------------------------------------------------------------------------------
/areas.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Countries/areas"
3 | comments: false
4 | ---
5 |
6 | {% include navigation.md %}
7 |
8 | {% include page_summary_areas.md %}
9 |
10 |
11 | {% assign projects = site.data.areas %}
12 |
13 | {% include projects.md %}
14 |
15 |
16 |
17 | {% include site_recommendation.md %}
18 |
19 |
20 |
21 | {% include footer.md %}
--------------------------------------------------------------------------------
/_includes/page_summary_china.md:
--------------------------------------------------------------------------------
1 | China:
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/start_server.sh:
--------------------------------------------------------------------------------
1 | echo this script will start the server at local host. this may take 10 seconds
2 |
3 | echo if "ERROR /sw.js not found." happens, it is probabalty due to googale analytics, which can be ignored.
4 |
5 | # another bug
6 | # jekyll 3.8.5 | Error: No such file or directory
7 | # @Weileis-Air.attlocal.net.23492
8 | # save some modify files. then it will fix by removing #files
9 |
10 | bundle exec jekyll serve --verbose
11 |
--------------------------------------------------------------------------------
/_includes/page_summary_global.md:
--------------------------------------------------------------------------------
1 | Global: {% assign page_name = "global" %}
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/_includes/page_summary_total.md:
--------------------------------------------------------------------------------
1 | Total: {% assign page_name = "total" %}
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/_includes/page_summary_areas.md:
--------------------------------------------------------------------------------
1 | Countries/Areas: {% assign page_name = "areas" %}
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/repo-collection.csv:
--------------------------------------------------------------------------------
1 | name,repo,website,decription
2 | wuhan2020,https://github.com/wuhan2020/wuhan2020,https://wh.opensource-service.cn/#/,
3 | wuhan2020-timeline,https://github.com/Pratitya/wuhan2020-timeline,,记录自2019年12月起武汉新冠肺炎疫情进展的时间线
4 | nCoV,https://github.com/wertycn/nCoV,http://nav.werty.cn/,2019-nCoV 武汉新冠状病毒肺炎疫情信息导航
5 | ,,http://charity.foodblockchain.com.cn/?from=timeline&isappinstalled=0,
6 | chinatimeline,https://github.com/chinatimeline/chinatimeline.github.io,,
7 | ,,,
8 | ,,,
--------------------------------------------------------------------------------
/_data/tags.yml:
--------------------------------------------------------------------------------
1 | # automated file. please do not edit
2 | - others
3 | - dashboard
4 | - data
5 | - analysis
6 | - organization
7 | - API
8 | - news
9 | - map
10 | - python
11 | - R
12 | - javascript
13 | - twitter
14 | - supply
15 | - research
16 | - ventilator
17 | - paper
18 | - AI
19 | - crowdsourced-list
20 | - ipynb
21 | - hackathon
22 | - visualization
23 | - APP
24 | - IOS
25 | - CLI
26 | - react-native
27 | - academic
28 | - epidemiology
29 | - handbook
30 | - WFH
31 | - lockdown
32 | - education
33 | - community
34 | - nonopensource
35 | - android
36 | - csv
37 | - report
38 |
--------------------------------------------------------------------------------
/_includes/site_recommendation.md:
--------------------------------------------------------------------------------
1 |
2 | ### Site recommendation
3 | [Open Source COVID-19](https://weileizeng.github.io/Open-Source-COVID-19/) collects all open source sites related to nCoV/COVID-19. It is hosted on [GitHub](https://github.com/WeileiZeng/Open-Source-COVID-19). You are welcome to recommend a site by
4 | * [open an issue at GitHub](https://github.com/WeileiZeng/Open-Source-COVID-19/issues/)
5 | * [contact me](https://weileizeng.com/news/1992/06/29/contact/)
6 | * Edit [_data/*.yml](https://github.com/WeileiZeng/Open-Source-COVID-19/tree/master/_data) and send a pull request
7 |
8 |
--------------------------------------------------------------------------------
/_data/heroes.yml:
--------------------------------------------------------------------------------
1 | # any member who has contributed to the open source community. Your contribution could be either a line of a code, an idea.
2 |
3 | - name: name
4 | home_page: https://example.com/mainpage
5 | repos:
6 | - repo_name: user/repo
7 | - repo_name: org/repo
8 | projects:
9 | - project_name:
10 | project_url:
11 | description: more about you.
12 |
13 | - name: WZ
14 | home_page: https://github.com/WeileiZeng
15 | repos:
16 | - repo_name: WeileiZeng/OpenSourceWuhan
17 | - repo_name: WeileiZeng/OpenSourceCOVID-19
18 | description: wuhan jiayou
19 |
20 |
21 |
--------------------------------------------------------------------------------
/_data/readme.md:
--------------------------------------------------------------------------------
1 | ### data files: (edit those to add your projects)
2 | * global.yml
3 | * projects applying to global scale. used in homepage index.md
4 | * areas.yml
5 | * projects focusing on some countries or areas. used in countries/areas page, area.md
6 | * china.yml
7 | * data entries for the projects in china.md
8 | * unclassified.yml
9 | * temp/test file for unclassified data entries. not used anywhere
10 |
11 | ### automated files: (do not edit, will be overwritten automatically)
12 | * tags.yml
13 | * all tags
14 | * tags_projects.yml
15 | * all projects classified by tags. Used in tags.md
16 |
--------------------------------------------------------------------------------
/_includes/projects.md:
--------------------------------------------------------------------------------
1 |
2 | {% for group in projects %}
3 | ## {{ group.group_name }}
4 | {% for repo in group.repos %}
5 | * {% if repo.repo_name %} {% assign repo_name = repo.repo_name %} {% include github_icon.md %}{% endif %} {% if repo.repo2_name %} {% assign repo_name = repo.repo2_name %} {% include github_icon.md %}{% endif %} {% if repo.web_name %}{{ repo.web_name }}{% endif %} {% if repo.web2_name %}{{ repo.web2_name }}{% endif %} {{ repo.content }} {% for tag in repo.tags %} {{ tag }} {% endfor %} {% endfor %}
6 | {% endfor %}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/----.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: 项目推荐
3 | about: 欢迎提交新项目
4 | title: 项目推荐:项目名称
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **请用如下格式填写,每条目各占一行,若无对应条目请空置或者删除,谢谢**
11 | **Please use the following format. You can leave any of them blank. Thanks**
12 | - repo_name:
13 | repo2_name:
14 | web_name:
15 | web_url:
16 | web2_name:
17 | web2_url:
18 | content:
19 | tags:
20 |
21 | 例如:example:
22 | - repo_name: WeileiZeng/OpenSourceWuhan
23 | web_name: 武汉开源OpenSourceWuhan
24 | web_url: https://weileizeng.github.io/OpenSourceWuhan/
25 | content: A collection of all Open Source project for defending Wuhan/world during COVID-19 支援武汉开源项目汇总
26 | tags:
27 | - navigation
28 | - crowdsourcing-list
29 |
--------------------------------------------------------------------------------
/_includes/post-comments.html:
--------------------------------------------------------------------------------
1 | {% if site.disqus and page.comments != false %}
2 |
3 |
16 |
17 | {% endif %}
18 |
--------------------------------------------------------------------------------
/search.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Search
3 | ---
4 |
5 | Search some keywords to see repos which are not includes in my list. Some of them may show up here due to changing of repo name
6 |
7 | Current keywords used: COVID, nCoV, covid19
8 |
9 | Total number of repos: {{ site.data.github_search | size }}. We only show 200 of them here.
10 |
11 | | stars | forks | name | description | homepage | easy_copy|
12 | |-|-|-|{% for repo in site.data.github_search limit: 200 %}
13 | | {{ repo.stargazers_count }} | {{ repo.forks }} | {{ repo.full_name }} | {{ repo.description }}| {{ repo.homepage }} | - repo_name: {{repo.full_name}}
web_url: {{repo.homepage}}
content: {{repo.description}} | {% endfor %}
--------------------------------------------------------------------------------
/_data/unclassified.yml:
--------------------------------------------------------------------------------
1 | #not classified yet
2 | # for example: not open source, community based, or not directly related to the disease
3 | - group_name: closed source
4 | description: community based, non open source
5 | repos:
6 |
7 |
8 | - group_name: academic
9 | description: academics get affected
10 | repos:
11 | - web_name: VIRTUAL APS MARCH 2020
12 | web_url: https://virtualmarchmeeting.com/
13 | content: A free community-driven virtual platform to support speakers at the 2020 APS March Meeting. Supported by Q-ctrl.
14 | tags:
15 | - communication
16 | - repo_name: virtualscienceforum/virtualscienceforum
17 | web_name: Organization for hosting of online conferences
18 | web_url: https://virtualscienceforum.org
19 | tags:
20 | - communication
21 |
--------------------------------------------------------------------------------
/_includes/tags_projects.md:
--------------------------------------------------------------------------------
1 |
2 | {% assign projects_sorted = projects | sort: "group_name" %}
3 | {% for group in projects_sorted %}
4 | ## {{ group.group_name }}
5 | {% for repo in group.repos %}
6 | * {% if repo.repo_name %}{% assign repo_name = repo.repo_name %} {% include github_icon_with_name.md %}{% endif %} {% if repo.repo2_name %}{% assign repo_name = repo.repo2_name %} {% include github_icon_with_name.md %}{% endif %} {% if repo.web_name %}{{ repo.web_name }}{% endif %} {% if repo.web2_name %}{{ repo.web2_name }}{% endif %} {{ repo.content }} {% for tag in repo.tags %} {{ tag }} {% endfor %} {% endfor %}
7 |
8 | {% endfor %}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/site-recommendation.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Site Recommendation
3 | about: self-submission welcome
4 | title: 'site recommendation: project name'
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Please use the following format. You can leave any of them blank. But a web_name is needed if web_url is provided. Thanks**
11 | - repo_name:
12 | repo2_name:
13 | web_name:
14 | web_url:
15 | web2_name:
16 | web2_url:
17 | content:
18 | tags:
19 |
20 | which area the projects is working on? Global or some particular area?
21 |
22 |
23 | example:
24 | - repo_name: WeileiZeng/Open-Source-COVID-19
25 | web_name: Open-Source-COVID-19
26 | web_url: https://weileizeng.github.io/Open-Source-COVID-19/
27 | content: A collection of all Open Source project during COVID-19 开源项目汇总
28 | tags:
29 | - navigation
30 | - crowdsourcing-list
31 |
--------------------------------------------------------------------------------
/_includes/forks.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets/page_summary/world_repos_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_includes/badge.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets/page_summary/world_forks_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/world_stars_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/world_projects_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/workflows/shields.yml:
--------------------------------------------------------------------------------
1 | name: Update shields
2 |
3 | on: [push]
4 | #schedule:
5 | #- '0 8 * * *'
6 |
7 | jobs:
8 | build:
9 |
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | - uses: actions/checkout@v2
14 |
15 | - name: Regenerating content. The commit would fail if nothing changes
16 | run: |
17 | echo this is a simple workflow which will run automatically upon each push.
18 | cd src
19 | pip3 install --upgrade setuptools
20 | pip3 install -r requirement.txt
21 | python3 tags.py
22 | python3 shields.py
23 |
24 |
25 | - name: Commit files
26 | run: |
27 | git config --local user.email "action@github.com"
28 | git config --local user.name "GitHub Action"
29 | git add -A
30 | git commit -m "update shields"
31 | - name: Push changes
32 | uses: ad-m/github-push-action@master
33 | with:
34 | github_token: ${{ secrets.GITHUB_TOKEN }}
35 |
--------------------------------------------------------------------------------
/unclassified.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Unclassified
3 | ---
4 | Unclasssified projects, not directly related, or not open source yet.
5 |
6 | See also [projects for Wuhan, China](index)
7 |
8 |
9 |
10 | {% for group in site.data.unclassified %}
11 | ## {{ group.group_name }}
12 | {% for repo in group.repos %}
13 | * {% if repo.repo_name %}  [{{ repo.repo_name }}](https://github.com/{{ repo.repo_name }}) {% endif %} {% if repo.repo2_name %}  [{{ repo.repo2_name }}](https://github.com/{{ repo.repo2_name }}) {% endif %} {% if repo.web_name %}[{{ repo.web_name }}]({{ repo.web_url }}){% endif %} {% if repo.web2_name %}[{{ repo.web2_name }}]({{ repo.web2_url }}){% endif %} {{ repo.content }} {% endfor %}
14 | {% endfor %}
15 |
16 |
17 |
18 |
19 |
20 | {% include footer.md %}
--------------------------------------------------------------------------------
/china.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: China
3 | comments: false
4 | ---
5 | {% include navigation.md %}
6 |
7 |
8 | {% include page_summary_china.md %}
9 |
10 |
11 | {% assign projects = site.data.china %}
12 |
13 | {% include projects.md %}
14 |
15 |
16 |
17 | ### Gitee
18 | * [dcloud/xinguan2020](https://gitee.com/dcloud/xinguan2020) 抗疫防疫项目大汇总:出入管理、访客登记、健康统计、疫情查询、物资管理、社区代购、消毒登记、同乘查询...
19 | * [更多项目列表](https://www.dcloud.io/ncp.html)
20 |
21 |
22 | ### 推荐网页 Site recommendation
23 | [Open Source COVID-19](https://weileizeng.github.io/Open-Source-COVID-19/)
24 | 集结了支援武汉的开源项目,是一个连接各个开源项目的入口。本站托管于[GitHub](https://github.com/WeileiZeng/Open-Source-COVID-19),持续更新中。
25 | * 给本站推荐项目请点这里 [Open issue at GitHub](https://github.com/WeileiZeng/Open-Source-COVID-19/issues/new?assignees=&labels=&template=------.md&title=%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%E6%8E%A8%E8%8D%90%3A+%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0)
26 | * 也可评论或者[Contact me](https://weileizeng.com/news/1992/06/29/contact/)
27 |
28 |
29 |
30 |
31 | {% include footer.md %}
32 |
33 |
--------------------------------------------------------------------------------
/.github/workflows/counting.yml:
--------------------------------------------------------------------------------
1 | name: Counting summary once a day
2 |
3 | on:
4 | schedule:
5 | - cron: '0 8 * * *'
6 |
7 | jobs:
8 | build:
9 |
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | - uses: actions/checkout@v2
14 |
15 | - name: Regenerating content. The commit would fail if nothing changes
16 | run: |
17 | echo this is a simple workflow which will run automatically upon each push.
18 | cd src
19 | pip3 install --upgrade setuptools
20 | pip3 install -r requirement.txt
21 | python3 counting.py
22 | python3 shields.py
23 | cd heroes
24 | python3 search_repo.py
25 |
26 |
27 | - name: Commit files
28 | run: |
29 | git config --local user.email "action@github.com"
30 | git config --local user.name "GitHub Action"
31 | git add -A
32 | git commit -m "Counting summary once a day"
33 | - name: Push changes
34 | uses: ad-m/github-push-action@master
35 | with:
36 | github_token: ${{ secrets.GITHUB_TOKEN }}
37 |
--------------------------------------------------------------------------------
/src/heroes/readme.md:
--------------------------------------------------------------------------------
1 | ## process of OpenSourceHeroes projects
2 |
3 | idea:
4 | * I wrote that "10000+ people have contributed to these projects, which have received 10000+ stars". I am confident that these number is more than the truth, but how do I get the numbers? The star part is easy, which has been done by src/counting.py and was shown in the bottom of each page as a page summary. But I don't know how to get the "10000+" people yet.
5 | * My idea is that, instead of the projects listed in my list, we can focus on a broad range. Simply by searching "nCoV" or "COVID" on github, one can get hundreds of projects. as shown by the two json file in this folder (which is generated by searching.py).
6 | * Meanwhile, I notice that, the owner cannot fully represent the contributors. We can include all forks as well, or pull request and issue contributions.
7 |
8 |
9 |
10 | TODO:
11 |
12 | - [ ] Get repo owners
13 | - [ ] Get repo contributors
14 | - [ ] visualization
15 | - [ ] option1: markdown table
16 | - [ ] option2: [pyecharts](https://gallery.pyecharts.org/#/Graph/graph_weibo)
17 |
--------------------------------------------------------------------------------
/assets/page_summary/areas_repos_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/china_repos_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/global_repos_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/total_repos_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/areas_forks_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/areas_stars_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/china_forks_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/china_stars_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/total_forks_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/areas_projects_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/china_projects_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/global_forks_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/global_stars_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/total_stars_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/global_projects_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/page_summary/total_projects_count.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tags.md:
--------------------------------------------------------------------------------
1 | ---
2 | comments: true
3 | ---
4 |
5 | {% include navigation.md %}
6 |
7 |
8 | {% include page_summary_total.md %}
9 |
10 | Here lists all projects classified by tags. A project may appear under multiple tags. Help me to add [more.](https://github.com/WeileiZeng/Open-Source-COVID-19/issues/68)
11 | {% assign tags_sorted = site.data.tags | sort %}{% for tag in tags_sorted %}
12 | {% endfor %}
13 |
14 |
15 |
16 | {% assign projects = site.data.tags_projects %}
17 |
18 | {% include tags_projects.md %}
19 |
20 |
--------------------------------------------------------------------------------
/src/test.py:
--------------------------------------------------------------------------------
1 | #!/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
2 |
3 |
4 | import json
5 | import requests
6 | # now use json file to produce shields
7 |
8 | import shutil
9 | def download_svg_by_url(image_url, save_filename):
10 | resp = requests.get(image_url, stream=True)
11 | local_file = open(save_filename, 'wb')
12 | resp.raw.decode_content = True
13 | shutil.copyfileobj(resp.raw, local_file)
14 | local_file.close()
15 | del resp
16 |
17 |
18 | def update_summary_badge(page_name):
19 | filename='../_data/summary_'+page_name+'.json'
20 | summary={}
21 | with open(filename,'r') as f:
22 | summary=json.load(f)
23 | print(summary)
24 | for k,v in summary.items():
25 | print(k)
26 | #print(v)
27 | label=k[:-6]
28 | counts=v
29 | url="https://img.shields.io/static/v1?label="+label+"&message="+str(counts)+"&color=brightgreen"
30 | print(url)
31 | save_filename='../assets/page_summary/'+page_name+'_'+k+'.svg'
32 | download_svg_by_url(url, save_filename)
33 | requests.get
34 |
35 |
36 | update_summary_badge('world')
37 | update_summary_badge('china')
38 |
--------------------------------------------------------------------------------
/_data/meta.yml:
--------------------------------------------------------------------------------
1 | #this one define the format. Each item in the [repos] array is a project. A project may have 0-2 repo, and 0-2 website.
2 | - group_name: group_name
3 | repos:
4 | - repo_name: owner/name
5 | repo2_name: owner/name
6 | web_name: website name
7 | web_url: https://www.example.com/
8 | web2_name:
9 | web2_url:
10 | content: this is a description of the projects, or anything else you want to add in the end
11 | tags:
12 | # though single tag is much cleaner for organization, it may be hard to classify all projects. At this point, multiple tags are allowed for each project
13 | - dashboard
14 | # track current cases, may also include visualization and maps
15 | - map
16 | # similar to dashboard, but some may only have a map
17 | - visualization
18 | # similar to dashboard, but some may only have visualization of data
19 | - data
20 | # collected data (json, yaml, csv, etc) avaliable for further analysis, visualization, or research
21 | - api
22 | # data avaliable by curl or wget
23 | - analysis
24 | # predictions, timeline review
25 | - apps
26 | # applications on andorid or iphones
27 | - communication
28 | - community
29 | - academic
30 | # related to academic and education
31 | - health
32 |
--------------------------------------------------------------------------------
/assets/css/style.scss:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 | @import "{{ site.theme }}";
5 | /* Radial Out */
6 | .hvr-radial-out {
7 | display: inline-block;
8 | vertical-align: middle;
9 | -webkit-transform: perspective(1px) translateZ(0);
10 | transform: perspective(1px) translateZ(0);
11 | box-shadow: 0 0 1px rgba(0, 0, 0, 0);
12 | position: relative;
13 | overflow: hidden;
14 | background: #e1e1e1;
15 | -webkit-transition-property: color;
16 | transition-property: color;
17 | -webkit-transition-duration: 0.3s;
18 | transition-duration: 0.3s;
19 | }
20 | .hvr-radial-out:before {
21 | content: "";
22 | position: absolute;
23 | z-index: -1;
24 | top: 0;
25 | left: 0;
26 | right: 0;
27 | bottom: 0;
28 | background: #2098D1;
29 | border-radius: 100%;
30 | -webkit-transform: scale(0);
31 | transform: scale(0);
32 | -webkit-transition-property: transform;
33 | transition-property: transform;
34 | -webkit-transition-duration: 0.3s;
35 | transition-duration: 0.3s;
36 | -webkit-transition-timing-function: ease-out;
37 | transition-timing-function: ease-out;
38 | }
39 | .hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
40 | color: white;
41 | }
42 | .hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
43 | -webkit-transform: scale(2);
44 | transform: scale(2);
45 | }
46 |
--------------------------------------------------------------------------------
/heroes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Heroes
3 | ---
4 | We try to list all people who contributed to the open source community during COVID-19. This page is under development.
5 |
6 | search "COVID" on GitHub, one can see {{ site.data.github_search_COVID.total_count }} repos. The first 30 are
7 |
8 | {% for repo in site.data.github_search_COVID.items %}
9 | *  [{{ repo.full_name }}](https://github.com/{{ repo.full_name }}) {% endfor %}
11 |
12 |
13 | search "nCoV" on GitHub, one can see {{ site.data.github_search_nCoV.total_count }} repos. The first 30 are
14 |
15 | {% for repo in site.data.github_search_nCoV.items %}
16 | *  [{{ repo.full_name }}](https://github.com/{{ repo.full_name }}) {% endfor %}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
34 |
35 |
36 |
37 |
38 | ---
39 |
40 | {% include footer.md %}
--------------------------------------------------------------------------------
/sitemap.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 | http://open-source-covid-19.weileizeng.com/
12 | 2020-03-31T08:44:30+00:00
13 | 1.00
14 |
15 |
16 | http://open-source-covid-19.weileizeng.com/index
17 | 2020-03-31T08:44:30+00:00
18 | 0.80
19 |
20 |
21 | http://open-source-covid-19.weileizeng.com/areas
22 | 2020-03-31T08:44:30+00:00
23 | 0.80
24 |
25 |
26 | http://open-source-covid-19.weileizeng.com/china
27 | 2020-03-31T08:44:30+00:00
28 | 0.80
29 |
30 |
31 | http://open-source-covid-19.weileizeng.com/tags
32 | 2020-03-31T08:44:30+00:00
33 | 0.80
34 |
35 |
36 | http://open-source-covid-19.weileizeng.com/about
37 | 2020-03-31T08:44:30+00:00
38 | 0.80
39 |
40 |
41 | http://open-source-covid-19.weileizeng.com/search
42 | 2020-03-31T08:44:30+00:00
43 | 0.64
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/heroes/heroes.py:
--------------------------------------------------------------------------------
1 | '''
2 | save data to data_heroes/heroes.json
3 | file structure
4 | [
5 | {
6 | full_name:
7 | contributors:
8 | [
9 | {
10 | login:
11 | id:
12 | contributions:
13 | }
14 | ]
15 | }
16 | ]
17 | '''
18 | import requests
19 | import json
20 |
21 | def save(api_content,username):
22 | with open('data_heroes/'+username.replace('/','.')+'.json','w') as f:
23 | f.write(
24 | json.dumps(api_content, sort_keys=True, indent=4)
25 | )
26 |
27 | keyword="COVID"
28 | keyword="nCoV"
29 | keyword="covid19" # a lot of repos start with that name
30 |
31 | #response=requests.get("https://api.github.com/search/repositories?q="+keyword+"&sort=stars&order=desc")
32 |
33 |
34 | heroes=[]
35 |
36 | #res = response.json()
37 | f = open('github_search_COVID.json','r')
38 | res = json.load(f)
39 | f.close()
40 | #information keys to save
41 | contributor_keys=['login','id','contributions']
42 | repo_keys=['id','full_name','fork']
43 | for repo in res['items']:
44 | #print(repo)
45 | repo2={}
46 | for k in repo_keys:
47 | repo2[k]=repo[k]
48 | contributors = requests.get(repo['contributors_url']).json()
49 | #print(contributors)
50 | #break
51 | repo_heroes=[]
52 | for contributor in contributors:
53 | #save(contributor, contributor.login)
54 | #print(json.dumps(contributor,indent=2))
55 | hero={}
56 | for k in contributor_keys:
57 | hero[k]=contributor[k]
58 | repo_heroes.append(hero)
59 | repo2['contributors']=repo_heroes
60 | #print(json.dumps(repo_heroes, indent = 2))
61 | heroes.append(repo2)
62 | print(json.dumps(heroes, indent = 2))
63 |
64 | with open('list_heroes.json','w') as f:
65 | f.write(json.dumps(heroes, indent = 2))
66 |
67 |
--------------------------------------------------------------------------------
/_includes/repo-collection.md:
--------------------------------------------------------------------------------
1 | | name | repo | website | decription |
2 | |------------------|----------------------------------------------------------------|-------------------------------------------------------------------------------|----------------------------------------------|
3 | |wuhan2020 |[repo](https://github.com/wuhan2020/wuhan2020) |[website](https://wh.opensource-service.cn/#/) | |
4 | |wuhan2020-timeline|[repo](https://github.com/Pratitya/wuhan2020-timeline) | |记录自2019年12月起武汉新冠肺炎疫情进展的时间线|
5 | |nCoV |[repo](https://github.com/wertycn/nCoV) |[website](http://nav.werty.cn/) |2019-nCoV 武汉新冠状病毒肺炎疫情信息导航 |
6 | | | |[website](http://charity.foodblockchain.com.cn/?from=timeline&isappinstalled=0)| |
7 | |chinatimeline |[repo](https://github.com/chinatimeline/chinatimeline.github.io)| | |
8 | | | | | |
9 | | | | | |
10 |
--------------------------------------------------------------------------------
/about.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: About
3 | ---
4 | {% include navigation.md %}
5 |
6 | {% include page_summary_total.md %}
7 |
8 | ### About us
9 | Open Source COVID-19 collects open source projects during COVID-19. The projects are not necessarily hosted on GitHub, as long as it corporates in an open source way, that everyone can access, inspect and improve it.
10 |
11 | The goal of this navigation site is to help people access data, contribute to the projects, and trigger new ideas.
12 |
13 | {% include site_recommendation.md %}
14 |
15 | ### Media coverage:
16 | * [thenation.com](https://www.thenation.com/article/world/china-journalism-coronavirus/)
17 | * [linux中国](https://linux.cn/article-11820-1.html), [机器之心](https://www.jiqizhixin.com/articles/2020-01-29-4)
18 |
19 | ### Under development
20 | * [tags](tags) list projects by tags
21 | * [searching](search) Finding more projects by searching keywords on github.
22 |
23 | ### [what is open source?](https://opensource.com/resources/what-open-source)
24 | The term [open source](https://opensource.com/article/18/2/coining-term-open-source-software) refers to something people can modify and share because its design is publicly accessible.
25 | Open source software is software with source code that anyone can inspect, modify, and enhance.
26 | Some software has source code that only the person, team, or organization who created it—and maintains exclusive control over it—can modify. People call this kind of software "proprietary" or "closed source" software.
27 |
28 | ### FAQ
29 | - I cannot share this website?
30 | - Some platform like facebook or wechat may block the domain github.io. I created another link to avoid such problem. Visit [https://cli.im/ARTwYZ](https://cli.im/ARTwYZ) and share.
31 | - Can I submit my own project?
32 | - Self-submission are welcome.
33 | - Citation
34 | - You are welcome to link or mention this site in your projects. If you need a formal citation, you can use the DOI identifier
35 |
36 |
--------------------------------------------------------------------------------
/assets/shields/github-covid19dashboards.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/wertycn-nCoV.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/contribute.md:
--------------------------------------------------------------------------------
1 | ## Contribution guide
2 | The primary purpose of this project is to collect useful open source projects and display them by categories and region. Github pages (jekyll) have been used for the website, hence all data are saved in `yaml` format. Some python scripts are added for postprocessing.
3 |
4 | ### Data format
5 | All data is saved in three files in _data folder.
6 | * `global.yml`
7 | * Contains projects applying to global scale. Used in homepage index.md
8 | * `areas.yml`
9 | * Contains projects focusing on some countries or areas. Used in countries/areas page, area.md
10 | * `china.yml`
11 | * data entries for the projects in china.md
12 |
13 | Each project makes up one entry in the file. An entry is defined in [meta.yml](https://github.com/WeileiZeng/Open-Source-COVID-19/blob/master/_data/meta.yml) Add entries in those files, and the website will render and display it automatically.
14 |
15 | ### Where to find projects
16 | * from your own experience.
17 | * seen on github and web.
18 | * from issues and pull requests. etc.
19 |
20 | This repository is open an issue as a feedback, with the prescribed title and content. This step is optional.
21 |
22 | ### Added to Open Source COVID-19
23 |
24 | Thanks for your work to help the people in need! Your site has been added to the Open-Source-COVID-19 page, which collects open source projects related to COVID-19, including maps, data, news, api, analysis, medical and supply information, etc. Please share to anyone who might need the information in the list, or will possibly contribute to some of those projects. You are also welcome to recommend more projects.
25 |
26 | http://open-source-covid-19.weileizeng.com/
27 |
28 | Cheers!
29 |
30 |
31 | ### Rendering
32 | After adding an entry (and push to the origin), these steps will be done automatically (at every push). They would took one min in total.
33 | * src/tags.py collect tags in the three data file and save it into tags.yml and tags_projects.yml. These two files are used for the tag page.
34 | * src/shields.py. generate shields for each project. A shield is an svg picture showing the number of stars.
35 | * github page rebuild the website
36 |
37 | ### Local test
38 | If you fork it, you can test it by turning on github pages "setting -> github pages -> master banch"
39 |
40 | To do a local test. You need to install jekyll first, and then install gems for the project.
41 | * install ruby environment
42 | * gem install jekyll bundler
43 | * bundle install
44 | * bundle exec jekyll serve
45 |
46 | A guide can be found here [here](https://github.com/github/personal-website) to see the installation section.
47 |
48 |
49 | #### [返回首页](./)
50 |
51 |
--------------------------------------------------------------------------------
/assets/shields/BlankerL-DXY-2019-nCoV-Data.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/nf-core-covid19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/BlankerL-DXY-2019-nCoV-Crawler.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/gcreddy42-hiring2020.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/ricnov-COVID-19-ITALY.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/sorxrob-2019-ncov-api.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/sydrawat-covid19.in.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/zhou-xiaojun-jd_mask.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/Academic-nCoV-2019-nCoV.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/Pratitya-wuhan2020-timeline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/alessiodl-COVID19Dashboard.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/alessiodl-COVID19Feed2Json.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/github-covid19-dashboards.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/sorxrob-2019-ncov-frontend.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/kenlog-coronavirusinfections.org.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/patilatharva-covid19tokyo.live..svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/TheWanderingCoel-WuhanPneumoniaBotTelegram.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/kenlog-italy.coronavirusinfections.org.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/mattroconnor-deep_learning_coronavirus_cure.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/jriou-wcov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/veaba-ncov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/JanLikar-covid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/byrwiki-jiayou.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/goinvo-COVID19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/Moyck-2019NCOV.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/digiphilo-covid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/geohot-corona.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/laomocode-yiqin.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/liu-zoe-wuhancv.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/p-j-r-covid-19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/par6n-ncov-19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/pzhaonet-ncov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/pzhaonet-ncovr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/NovelCOVID-API.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/dsfsi-covid19za.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/green512-2019nCoV.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/hack-fang-nCov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/jakobzhao-virus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/openZH-covid_19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/pomber-covid19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/sangyx-nCoV-Map.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/soorichu-coronako.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/yjlou-2019-nCov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/heroes/heroes2.py:
--------------------------------------------------------------------------------
1 | '''
2 | save data to data_heroes/heroes.json
3 | file structure
4 | [
5 | {
6 | full_name:
7 | contributors:
8 | [
9 | {
10 | login:
11 | id:
12 | contributions:
13 | }
14 | ]
15 | }
16 | ]
17 | '''
18 | import requests
19 | import json
20 |
21 | def save(api_content,username):
22 | with open('data_heroes/'+username.replace('/','.')+'.json','w') as f:
23 | f.write(
24 | json.dumps(api_content, sort_keys=True, indent=4)
25 | )
26 |
27 |
28 | def get_list_of_repos():
29 | #search those keywords and save response to files
30 | searching_keywords=['COVID','nCoV','covid19']
31 |
32 | #combine the lists and remove duplicates
33 | repos=[]
34 | duplicates={}
35 | for k in searching_keywords:
36 | with open('github_search_'+k+'.json','r') as f:
37 | items=json.load(f)['items']
38 | #check
39 | for i in items:
40 | try:
41 | print( duplicates[i['full_name']] + '--->duplicates')
42 | except KeyError:
43 | duplicates[i['full_name']]=i['full_name']
44 | repos.append(i)
45 | #print(i['full_name'])
46 | #repos = repos + items
47 | #print(len(repos))
48 | print('after removing duplicates, we got a list of size')
49 | print(len(repos))
50 | return repos
51 | # now check the list to remove duplicates and forks
52 |
53 | get_list_of_repos()
54 | exit()
55 |
56 | keyword="COVID"
57 | keyword="nCoV"
58 | keyword="covid19" # a lot of repos start with that name
59 |
60 | #response=requests.get("https://api.github.com/search/repositories?q="+keyword+"&sort=stars&order=desc")
61 |
62 |
63 | heroes=[]
64 |
65 | #res = response.json()
66 | f = open('github_search_COVID.json','r')
67 | res = json.load(f)
68 | f.close()
69 | #information keys to save
70 | contributor_keys=['login','id','contributions']
71 | repo_keys=['id','full_name','fork']
72 | for repo in res['items']:
73 | #print(repo)
74 | repo2={}
75 | for k in repo_keys:
76 | repo2[k]=repo[k]
77 | contributors = requests.get(repo['contributors_url']).json()
78 | #print(contributors)
79 | #break
80 | repo_heroes=[]
81 | for contributor in contributors:
82 | #save(contributor, contributor.login)
83 | #print(json.dumps(contributor,indent=2))
84 | hero={}
85 | for k in contributor_keys:
86 | hero[k]=contributor[k]
87 | repo_heroes.append(hero)
88 | repo2['contributors']=repo_heroes
89 | #print(json.dumps(repo_heroes, indent = 2))
90 | heroes.append(repo2)
91 | print(json.dumps(heroes, indent = 2))
92 |
93 | with open('list_heroes.json','w') as f:
94 | f.write(json.dumps(heroes, indent = 2))
95 |
96 |
--------------------------------------------------------------------------------
/assets/shields/Bost-corona_cases.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/IliasPap-COVIDNet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/MhdHejazi-Corona.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/azurini-data_public.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/calthaus-ncov-cfr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/cuihuan-2019_nCov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/elcronos-COVID-19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/lispczz-pneumonia.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/nextstrain-ncov.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/pcm-dpc-COVID-19.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/shields/pennsignals-chime.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------