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.
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:
- Install
pipenv
:- Linux: Installing Pipenv
- macOS:
- Install Homebrew
- Install pipenv:
brew install pipenv
- Windows: Installing Pipenv
- Create the Python virtual environment and install prerequisites using
pipenv
:pipenv sync --dev
To successfully run scripts that require client credentials, you will need to follow these steps:
- Copy the contents of the
env.example
file in the script's directory to.env
:cp env.example .env
- Uncomment the variables in the
.env
file and assign values as needed. Seesources.md
on how to get credentials:GOOGLE_API_KEYS=your_api_key PSE_KEY=your_pse_key
- Save the changes to the
.env
file. - You should now be able to run scripts that require client credentials without any issues.
Using pre-commit
-
Install pre-commit
- Using pip:
pip install pre-commit
- Using homebrew:
brew install pre-commit
- Using pip:
-
Install the git hook scripts
pre-commit install
It will run on every commit automatically.
Using dev/tools.sh
helper script
The 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
- Python Guidelines — Creative Commons Open Source
- Black: the uncompromising Python code formatter
- flake8: a python tool that glues together pep8, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
- isort: A Python utility / library to sort imports
- (It doesn't import any libraries, it only sorts and formats them.)
- ppypa/pipenv: Python Development Workflow for Humans.
- pre-commit: A framework for managing and maintaining multi-language pre-commit hooks.
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.