Quantifying the Commons
This project seeks to quantify the size and diversity of the commons--the collection of works that are openly licensed or in the public domain.
This project is currently being worked on as a Google Summer of Code (GSoC)
project. The goal is to add automation of data gathering and report generation
so that our reports quantifying the commons are never more than 3 months out of
date. To prepare for this refactor, previous work was moved to
pre-automation/
.
The Creative Commons team is committed to fostering a welcoming community. This project and all other Creative Commons open source projects are governed by our Code of Conduct. Please report unacceptable behavior to conduct@creativecommons.org per our reporting guidelines.
See CONTRIBUTING.md
.
This repository uses pipenv to manage the required Python modules:
pipenv
:
brew install pipenv
pipenv
:
pipenv sync --dev
To successfully run scripts that require client credentials, you will need to follow these steps:
env.example
file in the script's directory to
.env
:
cp env.example .env
.env
file and assign values as needed. See
sources.md
on how to get credentials:
GOOGLE_API_KEYS=your_api_key
PSE_KEY=your_pse_key
.env
file.Static analysis tools ensure the codebase adheres to consistent formatting and style guidelines, enhancing readability and maintainability. Also see GitHub Actions, below.
pre-commit
Pre-commit allows for static analysis tools (black
, flake8
, isort
, etc.)
to be run manually or with every commit:
pipenv run pre-commit install
pipenv run pre-commit run -a
.pre-commit-config.yaml
dev/tools.sh
helper scriptThe dev/tools.sh
helper script runs the static analysis tools
(black
, flake8
, and isort
):
./dev/tools.sh
It can also accept command-line arguments to specify specific files or directories to check:
./dev/tools.sh PATH/TO/MY/FILE.PY
The .github/workflows/python_static_analysis.yml
GitHub Actions workflow performs static analysis (black
, flake8
, and
isort
) on committed changes. The workflow is triggered automatically when you
push changes to the main branch or open a pull request.
Kindly visit the sources.md
file for it.
For information on past efforts, see history.md
.
LICENSE
: the code within this repository is licensed under the
Expat/MIT license.
The data within this repository is dedicated to the public domain under the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication.
The documentation within the project is licensed under a Creative Commons Attribution 4.0 International License.