• Stars
    star
    549
  • Rank 80,967 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 8 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python library and web service for Open Source Software Health and Sustainability metrics & data collection. You can find our documentation and new contributor information easily here: https://oss-augur.readthedocs.io/en/main/ and learn more about Augur at our website https://augurlabs.io

Augur NEW Release v0.51.0

first-timers-only We follow the First Timers Only philosophy of tagging issues for first timers only, and walking one newcomer through the resolution process weekly. You can find these issues tagged with "first timers only" on our issues list..

standard-readme compliant Build Docker images Hits-of-Code CII Best Practices

NEW RELEASE ALERT!

If you want to jump right in, updated docker build/compose and bare metal installation instructions are available here

Augur is now releasing a dramatically improved new version to the main branch. It is also available here: https://github.com/chaoss/augur/releases/tag/v0.51.0

  • The main branch is a stable version of our new architecture, which features:
    • Dramatic improvement in the speed of large scale data collection (100,000+ repos). All data is obtained for 100k+ repos within 2 weeks.
    • A new job management architecture that uses Celery and Redis to manage queues, and enables users to run a Flower job monitoring dashboard
    • Materialized views to increase the snappiness of API’s and Frontends on large scale data
    • Changes to primary keys, which now employ a UUID strategy that ensures unique keys across all Augur instances
    • Support for https://github.com/oss-aspen/8knot dashboards (view a sample here: https://eightknot.osci.io/). (beautification coming soon!)
    • Data collection completeness assurance enabled by a structured, relational data set that is easily compared with platform API Endpoints
  • The next release of the new version will include a hosted version of Augur where anyone can create an account and add repos “they care about”. If the hosted instance already has a requested organization or repository it will be added to a user’s view. If its a new repository or organization, the user will be notified that collection will take (time required for the scale of repositories added).

What is Augur?

Augur is a software suite for collecting and measuring structured data about free and open-source software (FOSS) communities.

We gather trace data for a group of repositories, normalize it into our data model, and provide a variety of metrics about said data. The structure of our data model enables us to synthesize data across various platforms to provide meaningful context for meaningful questions about the way these communities evolve. Augur’s main focus is to measure the overall health and sustainability of open source projects, as these types of projects are system critical for nearly every software organization or company. We do this by gathering data about project repositories and normalizing that into our data model to provide useful metrics about your project’s health. For example, one of our metrics is Burstiness. Burstiness – how are short timeframes of intense activity, followed by a corresponding return to a typical pattern of activity, observed in a project?

This can paint a picture of a project’s focus and gain insight into the potential stability of a project and how its typical cycle of updates occurs.

We are a CHAOSS project, and many of our metrics are implementations of the metrics defined by our awesome community. You can find a full list of them here.

For more information on how to get involved on the CHAOSS website.

Collecting Data

Augur supports Python3.6 through Python3.9 on all platforms. Python3.10 and above do not yet work because of machine learning worker dependencies. On OSX, you can create a Python 3.9 environment this way: python3.9 -m venv path/to/venv.

Augur's main focus is to measure the overall health and sustainability of open source projects.

Augur collects more data about open source software projects than any other available software. Augur's main focus is to measure the overall health and sustainability of open source projects. One of Augur's core tenets is a desire to openly gather data that people can trust, and then provide useful and well-defined metrics that help give important context to the larger stories being told by that data. We do this in a variety of ways, one of which is doing all our own data collection in house. We currently collect data from a few main sources:

  1. Raw Git commit logs (commits, contributors)
  2. GitHub's API (issues, pull requests, contributors, releases, repository metadata)
  3. The Linux Foundation's Core Infrastructure Initiative API (repository metadata)
  4. Succinct Code Counter, a blazingly fast Sloc, Cloc, and Code tool that also performs COCOMO calculations

This data is collected by dedicated data collection workers controlled by Augur, each of which is responsible for querying some subset of these data sources. We are also hard at work building workers for new data sources. If you have an idea for a new one, please tell us - we'd love your input!

Getting Started

If you're interested in collecting data with our tool, the Augur team has worked hard to develop a detailed guide to get started with our project which can be found in our documentation.

If you're looking to contribute to Augur's code, you can find installation instructions, development guides, architecture references (coming soon), best practices and more in our developer documentation. Please know that while it's still rather sparse right now, but we are actively adding to it all the time. If you get stuck, please feel free to ask for help!

Contributing

To contribute to Augur, please follow the guidelines found in our CONTRIBUTING.md and our Code of Conduct. Augur is a welcoming community that is open to all, regardless if you're working on your 1000th contribution to open source or your 1st. We strongly believe that much of what makes open source so great is the incredible communities it brings together, so we invite you to join us!

License, Copyright, and Funding

Copyright © 2023 University of Nebraska at Omaha, University of Missouri, Brian Warner, and the CHAOSS Project.

Augur is free software: you can redistribute it and/or modify it under the terms of the MIT License as published by the Open Source Initiative. See the LICENSE file for more details.

This work has been funded through the Alfred P. Sloan Foundation, Mozilla, The Reynolds Journalism Institute, contributions from VMWare, Red Hat Software, Grace Hopper's Open Source Day, GitHub, Microsoft, Twitter, Adobe, the Gluster Project, Open Source Summit (NA/Europe), and the Linux Foundation Compliance Summit. Significant design contributors include Kate Stewart, Dawn Foster, Duane O'Brien, Remy Decausemaker, others omitted due to the memory limitations of project maintainers, and 15 Google Summer of Code Students.

Current maintainers

  • Derek Howard <https://github.com/howderek>_
  • Andrew Brain <https://github.com/ABrain7710>_
  • Isaac Milarsky <https://github.com/IsaacMilarky>_
  • John McGinnis <https://github.com/Ulincys>_
  • Sean P. Goggins <https://github.com/sgoggins>_

Former maintainers

  • Carter Landis <https://github.com/ccarterlandis>_
  • Gabe Heim <https://github.com/gabe-heim>_
  • Matt Snell <https://github.com/Nebrethar>_
  • Christian Cmehil-Warn <https://github.com/christiancme>_
  • Jonah Zukosky <https://github.com/jonahz5222>_
  • Carolyn Perniciaro <https://github.com/CMPerniciaro>_
  • Elita Nelson <https://github.com/ElitaNelson>_
  • Michael Woodruff <https://github.com/michaelwoodruffdev/>_
  • Max Balk <https://github.com/maxbalk/>_

Contributors

  • Dawn Foster <https://github.com/geekygirldawn/>_
  • Ivana Atanasova <https://github.com/ivanayov/>_
  • Georg J.P. Link <https://github.com/GeorgLink/>_

GSoC 2022 participants

  • Kaxada <https://github.com/kaxada>_
  • Mabel F <https://github.com/mabelbot>_
  • Priya Srivastava <https://github.com/Priya730>_
  • Ramya Kappagantu <https://github.com/RamyaKappagantu>_
  • Yash Prakash <https://gist.github.com/yash-yp>_

GSoC 2021 participants

  • Dhruv Sachdev <https://github.com/Dhruv-Sachdev1313>_
  • Rashmi K A <https://github.com/Rashmi-K-A>_
  • Yash Prakash <https://github.com/yash2002109/>_
  • Anuj Lamoria <https://github.com/anujlamoria/>_
  • Yeming Gu <https://github.com/gymgym1212/>_
  • Ritik Malik <https://gist.github.com/ritik-malik>_

GSoC 2020 participants

  • Akshara P <https://github.com/aksh555/>_
  • Tianyi Zhou <https://github.com/tianyichow/>_
  • Pratik Mishra <https://github.com/pratikmishra356/>_
  • Sarit Adhikari <https://github.com/sarit-adh/>_
  • Saicharan Reddy <https://github.com/mrsaicharan1/>_
  • Abhinav Bajpai <https://github.com/abhinavbajpai2012/>_

GSoC 2019 participants

  • Bingwen Ma <https://github.com/bing0n3/>_
  • Parth Sharma <https://github.com/parthsharma2/>_

GSoC 2018 participants

  • Keanu Nichols <https://github.com/kmn5409/>_

More Repositories

1

grimoirelab

GrimoireLab: platform for software development analytics and insights
Roff
432
star
2

grimoirelab-perceval

Send Sir Perceval on a quest to retrieve and gather data from software repositories.
Python
281
star
3

metrics

Implementation-agnostic metrics for assessing open source community health. Maintained by the CHAOSS Metrics Committee.
182
star
4

community

This is the main CHAOSS community repository. Feel free to open an issue to discuss a topic of community interest! This repository also holds governance, mentorship, and other community-related documentation
JavaScript
94
star
5

wg-dei

CHAOSS Working Group focused on Diversity, Equity, and Inclusion metrics
84
star
6

prospector

Prospector permits automated collection of a wide range of metrics of open source projects useful in evaluating the project.
Python
67
star
7

grimoirelab-elk

Python
58
star
8

grimoirelab-sortinghat

A tool to manage identities
Python
51
star
9

wg-evolution

Working Group focused on Evolution metrics (for software development projects)
39
star
10

wg-value

CHAOSS Value Working Group
39
star
11

grimoirelab-sirmordred

Orchestrate the execution of GrimoireLab tools to produce a dashboard
Python
35
star
12

website

(Some of the) Content of http://chaoss.community website.
HTML
34
star
13

grimoirelab-sigils

Panels from GrimoireLab dashboards
Python
33
star
14

wg-metrics-development

CHAOSS Common Metrics Working Group
33
star
15

grimoirelab-tutorial

Tutorial for installing, using, developing GrimoireLab
Python
28
star
16

wg-risk

Risk Working Group Repository
26
star
17

grimoirelab-kingarthur

King Arthur commands his loyal knight Perceval on the quest to retrieve data from software repositories.
Python
20
star
18

grimoirelab-graal

A Generic Repository AnALyzer
Python
19
star
19

AFOS-AfricanOpenSource

AFOS (AfricanOpenSource) is a platform for showcasing Open Source projects build by Africans to increase visibility, and expose the projects to more contributors. This was a GitHub-funded project
JavaScript
17
star
20

grimoirelab-manuscripts

Bitergia reports engine
Jupyter Notebook
16
star
21

community-handbook

This is the home of documentation included in the Community Handbook.
15
star
22

chaoss-slack-bot

This holds the code to the CHAOSS slack bot for newcomers to the project
JavaScript
15
star
23

augur-community-reports

A set of Jupyter Lab Notebooks and Other Implementations of Community Reports in Standard Form
Jupyter Notebook
15
star
24

wg-app-ecosystem

Working group for community metrics in the context of the open source app ecosystem
13
star
25

wg-metrics-models

Working Group for Metrics Model
Jupyter Notebook
12
star
26

grimoirelab-kidash

Kidash: A GrimoireLab tool & library to manage Kibana/Kibiter visualizations and dashboards
Python
11
star
27

grimoirelab-cereslib

This project aims at unifying, eventizing and enriching information from the Perceval tool
Python
10
star
28

translations

9
star
29

chaoss-africa

CHAOSS Africa is the local chapter of the CHAOSS Project
9
star
30

wg-science

Focused on the development of metrics, metrics models, and software for improving scientific open source community health and sustainability.
8
star
31

grimoirelab-hatstall

HTML
8
star
32

grimoirelab-toolkit

Toolkit of common functions used across GrimoireLab projects.
Python
6
star
33

augur-license

Augur's Open Source License coverage tool. Provides license identification by file, identification of non-OSI compliant licenses, and percentage of a project with license declarations. Also provides a downloadable SBOM with license information by file. Integrated with Augur, and leveraging Fossology scanners and DosocsV2.
Python
6
star
34

MARS

Metrics Automated Release System
Python
4
star
35

grimoirelab-perceval-weblate

GrimoireLab: Bundle of Perceval backends for Weblate
Python
3
star
36

wg-ospo

3
star
37

education

This holds info on the CHAOSS Onboarding Courses
3
star
38

community-reports

A place to discuss how we package and deliver sets of metrics for open source health reports to users.
3
star
39

grimoirelab-bestiary

Python
3
star
40

grimoirelab-perceval-mozilla

GrimoireLab: Bundle of Perceval backends for Mozilla ecosystem
Python
3
star
41

Accessibility

This holds information on accessibility testing for all websites from the CHAOSS Community.
3
star
42

grimoirelab-elk-gitee

Python
2
star
43

augur-auggie

Auggie implementation utilizing Amazon Lex to classify messages. You can checkout our GitHub Page at https://chaoss.github.io/augur-auggie/
JavaScript
2
star
44

org-affiliation-data

List of domains and organizations for affiliation purposes
2
star
45

grimoirelab-perceval-gitee

GrimoireLab: Bundle of Perceval backends for Gitee
Python
2
star
46

grimoirelab-perceval-opnfv

GrimoireLab: Bundle of Perceval backends for OPNFV ecosystem
Python
2
star
47

wg-un-sdg

UN-SDG working group aims to empower open source communities with metrics to align their contributions with the UN's Sustainable Development Goals (SDGs) and enhance the role of open source in achieving global sustainability.
2
star
48

grimoirelab-perceval-puppet

GrimoireLab: Bundle of Perceval backends for Puppet, Inc. ecosystem.
Python
1
star
49

grimoirelab-github-actions

GrimoireLab CI GitHub actions
1
star
50

wg-data-science

CHAOSS Data Science Working Group: collaborate and improve open source project health using data science-based approaches
1
star
51

chaoss.github.io

GitHub web presence for the CHAOSS Project. Jekyll-based site with a blog, innovation experiments, documentation, and more.
HTML
1
star
52

AFOS-API

Backend service for the African Open Source(AFOS) project
JavaScript
1
star