Skip to content
SpacesEDU

GDE2Acsv

Convert MyEducation BC General Data Extracts to SpacesEDU Advanced CSV — automatically, every night.

[Download for Windows](https://github.com/myblueprint/GDE2Acsv/releases/latest/download/GDE2Acsv-windows.exe){ .md-button } [View on GitHub](https://github.com/myblueprint/GDE2Acsv){ .md-button .md-button--secondary }
5
CSV outputs
5
District configs
3
Platforms
91%
Test coverage

Download

Get the latest release for your platform:

Platform Download Notes
Windows GDE2Acsv-windows.exe Double-click to open Setup Wizard
Linux GDE2Acsv-linux chmod +x before first run
macOS GDE2Acsv-macos Allow in System Settings › Privacy & Security

First time?

Start with the Partner Installation Guide for step-by-step setup instructions including the Setup Wizard walkthrough.


What it does

GDE files  →  GDE2Acsv  →  SpacesEDU CSV files  →  SFTP upload
Input (MyEdBC GDE) Output (SpacesEDU)
Student Demographic Students.csv
Staff Information – Enhanced Staff.csv
Emergency Contact Information Family.csv
Student Schedule + Course Information Classes.csv
Student Schedule + Student Demographic Enrollments.csv

Key features

  • Active student filtering — only Active students exported; PreReg and Inactive excluded
  • CEDS grade mapping — BC grade codes (K, 1–12) mapped to CEDS standard format
  • Blended class detection — same teacher/time/multi-grade sections merged automatically
  • Homeroom generation — elementary homeroom classes auto-generated from demographics
  • District config inheritance — district-specific overrides layer on top of the base MyEdBC config
  • Automated scheduling — runs daily via Windows Task Scheduler or cron
  • SFTP upload — zips all CSVs into a single dated file and uploads to SpacesEDU after each run; host allowlist restricts uploads to SpacesEDU servers only
  • Atomic writes — all-or-nothing commit; a failed run never leaves partial output
  • Anomaly detection — warns when output record counts drop more than 20% compared to the previous run
  • Structured run logging — each run writes a machine-readable JSON log tag for the Run History page
  • Mapping Editor — web UI wizard for creating or modifying district configs without editing YAML
  • Help & Docs page — in-app access to documentation and support links

GitHub Actions CI/CD

Releases are fully automated. As a developer you simply:

git tag v1.x.0
git push origin --tags

GitHub Actions then:

  1. Runs the full test suite (Python 3.9, 3.11, 3.13) + lint + format check + type check + security scan (bandit) + config validation
  2. Builds platform executables — Windows .exe, Linux binary, macOS binary — in parallel
  3. Creates a GitHub Release with all three files attached and download links in the release notes

Partners can always get the latest version from the Releases page — the /releases/latest/download/ URL always resolves to the most recent release.


📦 Partner Guide
Installation · Troubleshooting · FAQ
🛠 Developer Guide
Setup · Architecture · Releases