iwatats/sez_procurement
0
NTB Seychelles Procurement Intelligence Dashboard
An interactive dashboard combining all four public procurement data sources published by the [National Tender Board of Seychelles](https://www.ntb.sc).
What's inside
Dashboard sections
- Headline KPIs — total SR awarded, tenders opened, EOI count, advertised count
- Procurement funnel — Advertised → EOI → Minutes → Awarded volume at each stage
- Awarded spend — SR value by category and by organisation
- Bidding market — competition level per tender + most frequent low bidders
- Pipeline tracker — upcoming advertised tender deadlines
- Organisation deep dive — per-org breakdown across all four data stages
- Full-text search — search across all four datasets simultaneously
- Data export — download any dataset as CSV, Excel (.xlsx), or JSON
Run locally
git clone https://huggingface.co/spaces/your-username/ntb-seychelles
cd ntb-seychelles
pip install -r requirements.txt
python app.py
# → open http://localhost:7860Updating the data
The data/ directory contains pre-scraped CSVs. To refresh:
pip install requests beautifulsoup4 pdfplumber pandas openpyxl
python main.py --all --out-dir ./data
git add data/*.csv
git commit -m "Refresh data $(date +%Y-%m-%d)"
git pushHugging Face will automatically rebuild the Space after each push.
Data notes
- Awarded tender PDFs are accessible for May–Aug 2025, Jan–Apr 2025, Nov–Dec 2024, and Jan–Apr 2021. Earlier periods return HTTP 404 from the NTB server.
- All data is sourced from public NTB web pages. This tool is independent and not affiliated with the NTB.
Tech stack
- Scraping: Python · requests · BeautifulSoup · pdfplumber
- Dashboard: Plotly Dash · Dash Bootstrap Components
- Serving: gunicorn (production WSGI)
- Hosting: Hugging Face Spaces (Docker SDK)
