A Python client for backing up daily reports and photos from Bright Horizons daycare centers
Project description
Bright Horizons Backup
Backup your child's daily reports, photos, and activities from Bright Horizons daycare centers.
Installation
Using pip
pip install bright-horizons-backup
playwright install chromium
Using uv (recommended)
uv add bright-horizons-backup
uv run playwright install chromium
Setup
Create a .env file with your Bright Horizons login:
BH_EMAIL=your_email@example.com
BH_PASSWORD=your_password
Usage
1. Backup Your Data
# Basic backup
bright-horizons-backup
# Custom output folder
bright-horizons-backup --output-dir ./my_backup
# Use different credentials
bright-horizons-backup --email user@example.com --password mypassword
2. View Your Backups
# Install with viewer support
pip install bright-horizons-backup[viewer]
# Or with uv: uv add bright-horizons-backup[viewer]
# Launch web viewer
bright-horizons-viewer
# View specific backup
bright-horizons-viewer ./output_20240101_120000
The viewer opens at http://localhost:5000 with a timeline view, photo gallery, and monthly organization.
What Gets Backed Up
- Daily reports with teacher notes
- Photos and videos
- Activity descriptions
- All organized by child and date
Output Files
The backup creates organized folders:
output_20240101_120000/
├── parent_profile.json # Your account information
├── dependents.json # List of your children
└── Child_Name_ID/
├── dependent.json # Child's profile info
├── raw/
│ └── batch_*.json # Raw API responses
├── processed/
│ └── 2023-01-15.json # Daily reports with notes
└── media/
├── photo_*.jpg # Downloaded photos
└── video_*.mp4 # Downloaded videos
Additional files created:
bh_state.json- Saved login session (reused for future runs)run_*folders - Browser screenshots, videos, and debug traces from login process
Development
Setup
# Clone repository
git clone https://github.com/marsuleouf/bright-horizons-backup.git
cd bright-horizons-backup
# Install with uv (recommended)
uv sync --extra dev --extra viewer
playwright install chromium
# Setup pre-commit hooks
uv run pre-commit install
Testing
# Run tests
uv run pytest
# Run with coverage
uv run pytest --cov
# Run across Python versions
uv run tox
Troubleshooting
Login issues: Check your email/password in the .env file. Inspect the run_* folder for screenshots and videos of the login process.
Browser errors: Run playwright install chromium
Permission errors: Make sure you have write access to the output directory
License
MIT License - see LICENSE file.
Disclaimer
For personal use only. Respect Bright Horizons' terms of service. Not affiliated with Bright Horizons.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bright_horizons_backup-1.0.0.tar.gz.
File metadata
- Download URL: bright_horizons_backup-1.0.0.tar.gz
- Upload date:
- Size: 32.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10f7309ac6807fe82119cac73e5f69baed0068a19dc8c6392548834349dbaafe
|
|
| MD5 |
0a639f2eb16143e4c3ade17e0a94dc2d
|
|
| BLAKE2b-256 |
418310b676636e343c540c96be77348bfc6d487ecbee5695e537c50fdb669ff6
|
Provenance
The following attestation bundles were made for bright_horizons_backup-1.0.0.tar.gz:
Publisher:
publish.yml on marsuleouf/bright-horizons-backup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bright_horizons_backup-1.0.0.tar.gz -
Subject digest:
10f7309ac6807fe82119cac73e5f69baed0068a19dc8c6392548834349dbaafe - Sigstore transparency entry: 576891468
- Sigstore integration time:
-
Permalink:
marsuleouf/bright-horizons-backup@f1fa727f0001ea16aafa051b277aee285e60fc37 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/marsuleouf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1fa727f0001ea16aafa051b277aee285e60fc37 -
Trigger Event:
release
-
Statement type:
File details
Details for the file bright_horizons_backup-1.0.0-py3-none-any.whl.
File metadata
- Download URL: bright_horizons_backup-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f728f9d65fe582ad82b12b893287ad08f4e421c44abb43d7e2548f9a726f36be
|
|
| MD5 |
3a07b042842fb23cf8bc025a51f8b29c
|
|
| BLAKE2b-256 |
2c62d169e81ab68424b8f51da3d66e387f3fe58c5a2aabcedb301317ee6efccd
|
Provenance
The following attestation bundles were made for bright_horizons_backup-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on marsuleouf/bright-horizons-backup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bright_horizons_backup-1.0.0-py3-none-any.whl -
Subject digest:
f728f9d65fe582ad82b12b893287ad08f4e421c44abb43d7e2548f9a726f36be - Sigstore transparency entry: 576891478
- Sigstore integration time:
-
Permalink:
marsuleouf/bright-horizons-backup@f1fa727f0001ea16aafa051b277aee285e60fc37 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/marsuleouf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1fa727f0001ea16aafa051b277aee285e60fc37 -
Trigger Event:
release
-
Statement type: