Skip to content
Merged

Dev #72

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
2455107
feat: Add Hinchilla scraper and extend pipeline with sample data
lauxenz Jun 18, 2026
ee99604
feat: Expand UK geo taxonomy with comprehensive list of counties, maj…
lauxenz Jun 18, 2026
c2c2112
feat: Add load_existing_data helper and resume mode support for scrapers
lauxenz Jun 18, 2026
0e45cf2
feat: implement Gemini and Google Search grounding enrichment with Eu…
lauxenz Jun 18, 2026
8444548
ci: set up GitHub Actions workflow and requirements.txt for automated…
lauxenz Jun 18, 2026
2cdfeea
refactor: restructure Hinchilla codebase under src/ directory and ren…
lauxenz Jun 18, 2026
831ce1e
Merge pull request #51 from DigitalProductInnovationAndDevelopment/48…
marleenumminger Jun 18, 2026
cc0510f
Merge branch 'dev' into 53-create-cicd-pipeline
lauxenz Jun 18, 2026
0dc692d
Merge branch 'dev' into 47-scrape-hinchilla-website
lauxenz Jun 18, 2026
a7309d4
Merge pull request #54 from DigitalProductInnovationAndDevelopment/53…
lauxenz Jun 18, 2026
bc24108
Merge pull request #50 from DigitalProductInnovationAndDevelopment/47…
lauxenz Jun 18, 2026
2dd925e
feat: add Philea and Hinchilla dataset consolidation logic and orches…
lauxenz Jun 25, 2026
402a88f
feat: enhance Gemini enrichment robustness with retries and post-proc…
lauxenz Jun 25, 2026
fa440ea
fix: implement robust geolocation fallback and expand taxonomy to all…
lauxenz Jun 25, 2026
d42cdea
data: regenerate raw, preprocessed, and consolidated organization dat…
lauxenz Jun 25, 2026
6bced26
Refactor consolidation logic and tests to clean up the output schema
lauxenz Jun 25, 2026
0e5d482
Refactor Gemini enrichment module and tests to use new funding_info s…
lauxenz Jun 25, 2026
2594d34
Regenerate final preprocessed consolidated organization dataset
lauxenz Jun 25, 2026
bc9cb06
Potential fix for pull request finding
lauxenz Jun 25, 2026
8835395
Changed range parsing logic to be more robust
lauxenz Jun 25, 2026
634cbdb
Changed regex for Ivory Coast
lauxenz Jun 25, 2026
6dcfbf3
Fix magnitude parsing and splitting bugs in number extraction logic
lauxenz Jun 25, 2026
c9876c5
Added some Congo regex
lauxenz Jun 25, 2026
2f4dac9
Added Guinea Regex
lauxenz Jun 25, 2026
bf2f98a
Fix that range suffix can appear twice
lauxenz Jun 25, 2026
075a374
Merge pull request #55 from DigitalProductInnovationAndDevelopment/52…
lauxenz Jun 27, 2026
28ca074
Improve Hinchilla scraping and preprocessing quality
manuelgrabmayer Jul 1, 2026
69568d4
Add tech-enablement tag to keyword mapping and normalize related raw …
lauxenz Jul 3, 2026
e993804
Implement GDPR-compliant legal crawler and integrate into preprocessi…
lauxenz Jul 3, 2026
cb01c7a
Merge pull request #62 from DigitalProductInnovationAndDevelopment/61…
lauxenz Jul 8, 2026
47c1f92
feat: Add Charity Commission API scraper and unit tests
lauxenz Jul 9, 2026
a44e87a
Potential fix for pull request finding
lauxenz Jul 10, 2026
b7d4336
docs: update normalized category count in extract_geo_topic header
Copilot Jul 10, 2026
cc301a4
Potential fix for pull request finding
lauxenz Jul 10, 2026
e4b9a83
Potential fix for pull request finding
lauxenz Jul 10, 2026
79bba79
Potential fix for pull request finding
lauxenz Jul 10, 2026
50d8bd3
Merge pull request #71 from DigitalProductInnovationAndDevelopment/67…
lauxenz Jul 10, 2026
e8f78cc
docs: clarify category count includes tech-enablement
Copilot Jul 11, 2026
bae61c5
Merge pull request #69 from DigitalProductInnovationAndDevelopment/63…
lauxenz Jul 11, 2026
f3d0961
fix: address PR #70 review feedback on impressum extraction
Copilot Jul 11, 2026
8a28b6c
Merge pull request #70 from DigitalProductInnovationAndDevelopment/66…
lauxenz Jul 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Philea CI Pipeline

on:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]

jobs:
ci:
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'

- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt

- name: Run Linter (Flake8)
run: |
# Stop the build if there are Python syntax errors or undefined names
flake8 src/ --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 src/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics

- name: Syntax Compile Check (Build)
run: |
python -m compileall src/

- name: Run Unit Tests
env:
GEMINI_API_KEY: "dummy_key"
run: |
PYTHONPATH=src python -m unittest discover -s src/tests
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ celerybeat.pid

# Environments
.env
.env.local
.env.*.local
.env.development
.env.test
.env.production
.venv
env/
venv/
Expand Down Expand Up @@ -159,3 +164,7 @@ Thumbs.db
.vscode/
*.swp
*.swo

# Project custom ignores
response.html
detail_response.txt
83 changes: 83 additions & 0 deletions hinchilla.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"id": "ae4a2344",
"metadata": {},
"outputs": [],
"source": [
"import requests\n",
"from bs4 import BeautifulSoup, NavigableString\n",
"import pprint\n",
"import time\n",
"import json\n",
"import re"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3d6f0b4e",
"metadata": {},
"outputs": [],
"source": [
"r = requests.get(\"https://www.hinchilla.com/funder-directory\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "acdb647c",
"metadata": {},
"outputs": [],
"source": [
"with open(\"response.html\",\"w\") as f:\n",
" f.write(r.text)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "9796f913",
"metadata": {},
"outputs": [],
"source": [
"# Detailpage: \n",
"url = \"https://www.hinchilla.com/funder-directory/three-peas.txt\"\n",
"r = requests.get(url)\n",
"with open(\"detail_response.txt\",\"w\") as f:\n",
" f.write(r.text)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "815d5933",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading
Loading