Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bright_horizons_backup-1.0.0.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bright_horizons_backup-1.0.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

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

Hashes for bright_horizons_backup-1.0.0.tar.gz
Algorithm Hash digest
SHA256 10f7309ac6807fe82119cac73e5f69baed0068a19dc8c6392548834349dbaafe
MD5 0a639f2eb16143e4c3ade17e0a94dc2d
BLAKE2b-256 418310b676636e343c540c96be77348bfc6d487ecbee5695e537c50fdb669ff6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bright_horizons_backup-1.0.0.tar.gz:

Publisher: publish.yml on marsuleouf/bright-horizons-backup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bright_horizons_backup-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bright_horizons_backup-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f728f9d65fe582ad82b12b893287ad08f4e421c44abb43d7e2548f9a726f36be
MD5 3a07b042842fb23cf8bc025a51f8b29c
BLAKE2b-256 2c62d169e81ab68424b8f51da3d66e387f3fe58c5a2aabcedb301317ee6efccd

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page