Skip to content

Commit 4d1bef9

Browse files
authored
Initial commit
0 parents  commit 4d1bef9

35 files changed

+3202
-0
lines changed

.env.example

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
NASA_API_KEY = <YOUR_NASA_API_KEY>

.github/ISSUE_TEMPLATE/bug_report.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: Bug Report
3+
about: Use to report a bug
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Bug Report
10+
11+
### Description
12+
13+
Provide a brief overview of the bug encountered. Describe the behavior observed when the bug occurs and explain the behavior expected when the bug is not present.
14+
15+
### Reproducibility
16+
17+
- [ ] The bug is reproducible.
18+
- [ ] The bug is intermittent.
19+
- [ ] The bug occurs only under specific conditions.
20+
21+
#### Steps to Reproduce
22+
23+
1. List the steps to reproduce the bug.
24+
2. Be as detailed as possible to help with replication.
25+
26+
#### Screenshots / Error Messages (if applicable)
27+
28+
Insert any relevant screenshots or error messages related to the bug.
29+
30+
#### Environment
31+
32+
- **Operating System**: [e.g., Windows 10, macOS, Linux]
33+
- **Browser (if applicable)**: [e.g., Google Chrome, Firefox, Safari]
34+
- **Application Version/Commit**: [e.g., v1.2.3, Git commit hash]
35+
- **Additional Environment Details**: [e.g., hardware specifications, network conditions]
36+
37+
### Additional Context
38+
39+
Provide any additional context or information about the bug.
40+
41+
### Possible Fix
42+
43+
If you have suggestions for a fix, please describe them here.
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/peer_review.md

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Peer Review
3+
about: Use to submit a peer review
4+
title: ''
5+
labels: review
6+
assignees: ''
7+
---
8+
9+
## Peer Review for Reproducibility Checks
10+
11+
### Review Checklist
12+
13+
Please review the following aspects related to reproducibility checks:
14+
15+
- [ ] **Environment Setup**:
16+
- [ ] Were detailed instructions provided for setting up the development environment?
17+
- [ ] Are all necessary dependencies and libraries clearly documented?
18+
- [ ] **Data Preparation**:
19+
- [ ] Are source data files and preprocessing steps clearly documented?
20+
- [ ] Are scripts or commands for data transformation included and well-documented?
21+
- [ ] **Code Execution**:
22+
- [ ] Were clear instructions provided for running the code?
23+
- [ ] Does the code execute without errors and produce expected outputs?
24+
- [ ] **Configuration Management**:
25+
- [ ] Is version control information (e.g., Git commit hash) included for reproducibility?
26+
- [ ] Are any configuration files or parameters used properly documented?
27+
- [ ] **Results Verification**:
28+
- [ ] Are output results (e.g., metrics, visualizations) included and matched with expected outcomes?
29+
- [ ] Have any discrepancies between expected and actual results been identified and explained?
30+
- [ ] **Documentation**:
31+
- [ ] Is there a detailed README or documentation explaining the experiment setup and execution process?
32+
- [ ] Are code comments and documentation clear and informative?
33+
- [ ] **External Dependencies**:
34+
- [ ] Are any external data sources or APIs used accessible and well-documented?
35+
- [ ] Are external libraries or packages properly cited and versioned for reproducibility?
36+
- [ ] **Validation**:
37+
- [ ] Can an independent reviewer replicate the experiment using the provided instructions?
38+
- [ ] Are the results consistent across different environments or platforms?
39+
40+
### Additional Comments
41+
42+
Include any additional comments, concerns, or suggestions related to reproducibility.

.github/dependabot.yml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"

.github/workflows/gh-pages.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Publish to GitHub Pages
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
jobs:
8+
build-book:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- name: Set up Python
13+
uses: actions/setup-python@v5
14+
with:
15+
python-version: 3.11
16+
cache: "pip"
17+
- name: Install Dependencies
18+
run: |
19+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
20+
if [ -f pyproject.toml ]; then pip install ".[docs]"; fi
21+
- name: Build Juputer Book Documentation
22+
run: |
23+
jupyter-book build . --config docs/_config.yml --toc docs/_toc.yml
24+
- name: Upload artifact
25+
uses: actions/upload-pages-artifact@v3
26+
if: github.ref == 'refs/heads/main' && job.status == 'success'
27+
with:
28+
path: "_build/html"
29+
30+
deploy-book:
31+
needs: build-book
32+
permissions:
33+
pages: write
34+
id-token: write
35+
environment:
36+
name: github-pages
37+
url: ${{ steps.deployment.outputs.page_url }}
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Deploy to GitHub Pages
41+
id: deployment
42+
uses: actions/deploy-pages@v4

.github/workflows/release.yml

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build:
10+
name: Build distribution 📦
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Set up Python
16+
uses: actions/setup-python@v5
17+
with:
18+
python-version: "3.x"
19+
- name: Install pypa/build
20+
run: >-
21+
python3 -m
22+
pip install
23+
build
24+
--user
25+
- name: Build a binary wheel and a source tarball
26+
run: python3 -m build
27+
- name: Store the distribution packages
28+
uses: actions/upload-artifact@v4
29+
with:
30+
name: python-package-distributions
31+
path: dist/
32+
33+
publish-to-pypi:
34+
name: >-
35+
Publish Python 🐍 distribution 📦 to PyPI
36+
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
37+
needs:
38+
- build
39+
runs-on: ubuntu-latest
40+
environment:
41+
name: pypi
42+
url: https://pypi.org/p/wb-template # Replace <package-name> with your PyPI project name
43+
permissions:
44+
id-token: write # IMPORTANT: mandatory for trusted publishing
45+
46+
steps:
47+
- name: Download all the dists
48+
uses: actions/download-artifact@v4
49+
with:
50+
name: python-package-distributions
51+
path: dist/
52+
- name: Publish distribution 📦 to PyPI
53+
uses: pypa/gh-action-pypi-publish@release/v1

.gitignore

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
5+
# C extensions
6+
*.so
7+
8+
# Distribution / packaging
9+
.Python
10+
env/
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
*.egg-info/
23+
.installed.cfg
24+
*.egg
25+
26+
# PyInstaller
27+
# Usually these files are written by a python script from a template
28+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
29+
*.manifest
30+
*.spec
31+
32+
# Installer logs
33+
pip-log.txt
34+
pip-delete-this-directory.txt
35+
36+
# Unit test / coverage reports
37+
htmlcov/
38+
.tox/
39+
.coverage
40+
.coverage.*
41+
.cache
42+
nosetests.xml
43+
coverage.xml
44+
*.cover
45+
46+
# Translations
47+
*.mo
48+
*.pot
49+
50+
# Django stuff:
51+
*.log
52+
53+
# Sphinx documentation
54+
docs/_build/
55+
56+
# PyBuilder
57+
target/
58+
59+
# DotEnv configuration
60+
.env
61+
62+
# Database
63+
*.db
64+
*.rdb
65+
66+
# Pycharm
67+
.idea
68+
69+
# VS Code
70+
.vscode/
71+
72+
# Spyder
73+
.spyproject/
74+
75+
# Jupyter NB Checkpoints
76+
.ipynb_checkpoints/
77+
78+
# Mac OS-specific storage files
79+
.DS_Store
80+
81+
# vim
82+
*.swp
83+
*.swo
84+
85+
# Mypy cache
86+
.mypy_cache/
87+
88+
# Jupyter Book
89+
_build/
90+
91+
# python-dotenv
92+
.env
93+
94+
# setuptools-scm/
95+
src/*/_version.py

.pre-commit-config.yaml

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# See https://pre-commit.com for more information
2+
# See https://pre-commit.com/hooks.html for more hooks
3+
repos:
4+
- repo: https://github.com/pre-commit/pre-commit-hooks
5+
rev: v4.6.0
6+
hooks:
7+
- id: trailing-whitespace
8+
- id: end-of-file-fixer
9+
- id: check-yaml
10+
- id: check-added-large-files
11+
- id: check-ast
12+
- id: check-json
13+
- id: detect-aws-credentials
14+
args: [--allow-missing-credentials]
15+
- id: detect-private-key
16+
- repo: https://github.com/igorshubovych/markdownlint-cli
17+
rev: v0.41.0
18+
hooks:
19+
- id: markdownlint
20+
name: Markdownlint
21+
files: \.(md|mdown|markdown)$
22+
args: [
23+
"--disable=MD013", # line-length
24+
"--disable=MD033", # no-inline-html
25+
]
26+
- repo: https://github.com/codespell-project/codespell
27+
rev: v2.3.0
28+
hooks:
29+
- id: codespell
30+
name: codespell
31+
description: Checks for common misspellings in text files
32+
- repo: https://github.com/astral-sh/ruff-pre-commit
33+
rev: v0.6.5
34+
hooks:
35+
- id: ruff
36+
types_or: [python, pyi, jupyter]
37+
args: [--fix]
38+
- id: ruff-format
39+
types_or: [python, pyi, jupyter]

CITATION.cff

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
cff-version: 1.2.0
2+
message: "Country borders or names do not necessarily reflect the World Bank Group’s official position. All maps are for illustrative purposes and do not imply the expression of any opinion on the part of the World Bank, concerning the legal status of any country or territory or concerning the delimitation of frontiers or boundaries."
3+
title: "World Bank Data Lab Project Template"
4+
authors:
5+
- affiliation: World Bank
6+
family-names: Stefanini Vicente
7+
given-names: Gabriel
8+
orcid: https://orcid.org/0000-0001-6530-3780
9+
keywords:
10+
- Open Science
11+
repository-code: https://github.com/worldbank/template/tree/main

0 commit comments

Comments
 (0)