feat: initial SA Tender Monitor project
- OCDS API client for eTenders.gov.za (primary tender discovery) - Web UI scraper using Playwright (fetches supportDocument[] array that the OCDS API doesn't expose — only 1 doc per tender in OCDS) - SQLite database with full schema for tenders + documents - Click CLI: pull, stats, list, show commands - 10 unit tests (all passing) covering models, OCDS parsing, web UI parsing, and document enrichment logic - Comprehensive research report: 75+ SA tender sources documented with automation details (API/RSS/scraping availability per source) - Hybrid architecture: OCDS for discovery + web scraping for full document lists (verified: web UI shows 2+ docs, OCDS shows 1)
This commit is contained in:
10
requirements.txt
Normal file
10
requirements.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
httpx>=0.28.1,<1
|
||||
beautifulsoup4>=4.12.3,<5
|
||||
lxml>=5.3.0,<6
|
||||
selectolax>=0.3.27,<1
|
||||
playwright>=1.49.0,<2
|
||||
rich>=13.9.0,<14
|
||||
click>=8.1.7,<9
|
||||
feedparser>=6.0.11,<7
|
||||
python-dateutil>=2.9.0,<3
|
||||
tqdm>=4.67.0,<5
|
||||
Reference in New Issue
Block a user