Welcome to LightcurveDB’s documentation!¶
LightcurveDB is a PostgreSQL-backed system for storing and retrieving astronomical time-series data from the TESS (Transiting Exoplanet Survey Satellite) mission.
Installation¶
To install the latest version from GitHub:
pip install git+https://github.com/mit-kavli-institute/lightcurvedb.git
See other installation steps for specific computer contexts.
Development¶
Clone the repository and set up the development environment:
git clone https://github.com/mit-kavli-institute/lightcurvedb.git
cd lightcurvedb
pip install -e ".[dev]"
The project uses pyproject.toml
for dependency management. Development dependencies include testing, linting, and documentation tools.
Docker Development¶
A Docker environment is provided for consistent development:
docker-compose up -d
docker-compose exec tester bash
Testing¶
The project uses nox
for test automation across Python versions (3.9-3.12). Tests require a PostgreSQL database.
Local testing:
nox # Run all test sessions
pytest # Run tests directly
Docker testing:
docker-compose exec tester nox
Tests use pytest-xdist for parallel execution with per-worker database isolation.
Continuous Integration¶
The project uses GitHub Actions for automated testing and deployment:
Tests: Run automatically on all pushes and pull requests across Python 3.9-3.12
Documentation: Built and deployed to GitHub Pages on pushes to main branches
Semantic Release: Automated versioning based on commit messages
Contributing¶
This project follows the Angular commit convention for automatic semantic versioning:
feat:
: New features (minor version bump)fix:
: Bug fixes (patch version bump)feat!:
orBREAKING CHANGE:
: Breaking changes (major version bump)docs:
,style:
,refactor:
,test:
,chore:
: No version bump
Documentation¶
Build locally:
nox -s docs
# or
sphinx-build -b html docs/source/ docs/build/html
View online: Documentation is automatically published to GitHub Pages.