creativecommons / creativecommons/quantifying

[Meta] Ways to Contribute

Đang mở
#39 14 bình luận 1 reaction 1 người được giao Được @TimidRobot nhận Xem trên GitHub
✨ goal: improvement 🌟 goal: addition 🏷 status: label work required 💬 talk: discussion 💻 aspect: code 🤖 aspect: dx good first issue help wanted 🟨 priority: medium
Ngôn ngữ chính
Python
Star
48
Fork
74
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## Overview
⚠️ **This meta-issue should not be worked on itself.** Instead it is a place for me (@TimidRobot) to document ways to engage with this project.

## First
- Read the documentation on [Welcome — Creative Commons Open Source](https://opensource.creativecommons.org/)
- **[Contribution Guidelines — Creative Commons Open Source](https://opensource.creativecommons.org/contributing-code/)** 👀

## Ways to Contribute
- Pull Requests (PRs)
- Contribute a PR for an existing issue per **[Contribution Guidelines — Creative Commons Open Source](https://opensource.creativecommons.org/contributing-code/)**
- Help review PRs
- Issues
- Create a new issue recommending a data source that should be included. Include information like:
- quantity of records
- types of metadata available
- API documentation link
- API requirements and limitations
- Also see
- [`sources.md`](https://github.com/creativecommons/quantifying/blob/main/sources.md)
- [Sources | Openverse](https://openverse.org/sources) (any of the listed sources are potential sources for this project)
- [`pre-automation/`](https://github.com/creativecommons/quantifying/tree/925e7212e98ffe0ee166439c10ae951cf41304dc/pre-automation)
- Create a new issue related to a single script or data source:
- Scripts should be using `.env` ([theskumar/python-dotenv](https://github.com/theskumar/python-dotenv)) and not `query_secrets.py` or similar
- Scripts mustn't be monolithic--they should be limited to a single phase (ex. query, process, report. See #22)
- Scripts must be designed to be run from the repository root via pipenv (ex. `pipenv run PATH/SCRIPT.PY`)
- Script should determine its own path and set appropriate global variables (ex. `DIR_ROOT`, `DIR_SCRIPT`)
- Scripts have a lot of duplication between them. Begin a shared library (remember to keep issues as small and descrete as possible--limit each issue/PR to a single script or data source).
- Scripts should be using retries with exponential backoff (ex. #2)

## Tips

### Conventions and best practices
- Always sort data and lists (both implicit and explicit) naturally ([Natural sort order - Wikipedia](https://en.wikipedia.org/wiki/Natural_sort_order))
- Example: sorted constants
https://github.com/creativecommons/quantifying/blob/46dcd3ff9d66e172b87d79b097adcb9b348c6f2c/scripts/1-fetch/wikipedia_fetch.py#L32-L44
- Example: sorted data
```python
from operator import itemgetter
```
```python
data.sort(key=itemgetter("TOOL_IDENTIFIER", "CATEGORY_CODE"))
```
- #2
- #217

### Plot process data
Any plots in phase 3-report should graph data without significantly modifying it. This means that development of phase 2-process and phase 3-report usually needs to be done at the same time.

Put another way, there should be a 1:1 relationship between phase 3-report plots and phase 2-process CSV files.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.