Tests: 261 passing | Tag: v0.3.3 | Status: ✅ Production Ready
Live Catalog Lookup (no local DB required)
astrobridge.lookup.lookup_object()— two-step fan-out: SIMBAD/NED resolve the name, then Gaia DR3 + 2MASS enrich with positional cone searchesastrobridge.lookup.lookup_by_coordinates()— concurrent cone search across all 4 live adapters- Automatic fallback to local connectors when
pyvois not installed
New Live TAP Adapters
GaiaDR3TapAdapter— ESA Gaia Archive TAP; cone search returns G/BP/RP photometry, proper motions, parallaxTwoMassTapAdapter— NASA IRSA TAP; cone search returns J/H/Ks photometry
Expanded Catalog Routing (13 catalogs)
- New
CatalogTypevalues:TWOMASS,HIPPARCOS,ALLWISE,VIZIER,EXOPLANET_ARCHIVE - All 13 catalogs scored across all 8 object classes
- New NLP property modifiers:
nir(2MASS/AllWISE boost),exoplanet(NASA Exoplanet Archive boost)
AI Descriptions
astrobridge.ai_description.generate_description()— plain-language object descriptions- New
anthropicprovider backend (Claude); setAI_PROVIDER=anthropic+AI_API_KEY openaiandstubproviders also supportedidentify_from_catalogs()— async function combining NLP routing + live lookup + AI description in one call
New Modules (previously only in astrobridge_complete/)
astrobridge.database— SQLite persistence:objects,catalog_sources,calibration_framestablesastrobridge.ccd_calibration— CCD reduction pipeline (bias/dark/flat); uses astropy+ccdproc or pure NumPy fallbackUnifiedObjectmodel added toastrobridge.modelswithfrom_sources()classmethod
Installation
pip install astrobridge==0.3.3
pip install astrobridge[live]==0.3.3 # Gaia DR3 + 2MASS + SIMBAD/NED live TAP
pip install astrobridge[web]==0.3.3 # FastAPI web consoleTests: 182 passing | Tag: v0.3.2
- Fixed mypy configuration and remaining type annotation issues
- All strict mypy overrides passing on
connectors,orchestrator,jobs
Tests: 182 passing | Tag: v0.3.1
- Added comprehensive test suite documentation (
docs/Test Suite Guide.md) - 34 new interactive demo tests covering all menu options
╔══════════════════════════════════════════════════════════════════════════════╗ ║ AstroBridge Release v0.3.0 ║ ║ Modernization & Type Safety Baseline ║ ╚══════════════════════════════════════════════════════════════════════════════╝
📦 RELEASE INFO ─────────────────────────────────────────────────────────────────────────────── Date: April 9, 2026 Version: 0.3.0 Status: ✅ Production Ready + Modernized Tests: 148 passing (100% + zero warnings) Backwards Compat: ✅ Drop-in replacement for v0.2.0
🔧 MODERNIZATION UPDATES (NEW in 0.3.0) ─────────────────────────────────────────────────────────────────────────────── ✓ PEP 621 Modern Packaging — Migrated from setup.py to pyproject.toml ✓ Automated Versioning — setuptools_scm derives versions from git tags ✓ Strict Type Safety — mypy strict mode on core modules (connectors, orchestrator, jobs) ✓ Linting with Ruff — Import sorting, style, upgrades (E, F, I, UP, B, SIM) ✓ Bounded Async Concurrency — Limited TAP requests with asyncio.Semaphore(8) ✓ CI/CD Pipeline — GitHub Actions with ruff → mypy → pytest gates ✓ Protocol-Based Typing — Structural subtyping for matcher/router interfaces ✓ Test Suite — 148 tests (up from 126), all async, zero warnings
╔══════════════════════════════════════════════════════════════════════════════╗ ║ AstroBridge Release v0.2.0 ║ ║ Comprehensive Documentation & Production Ready ║ ╚══════════════════════════════════════════════════════════════════════════════╝
📦 RELEASE INFO ─────────────────────────────────────────────────────────────────────────────── Date: April 8, 2026 Version: 0.2.0 Status: ✅ Production Ready Tests: 142 passing (all green) Documentation: 4 comprehensive guides + inline code comments
🎯 KEY FEATURES ─────────────────────────────────────────────────────────────────────────────── ✓ Bayesian probabilistic cross-matching with confidence scoring ✓ Proper-motion-aware epoch transformations ✓ Intelligent query routing (8 object classes, 7 catalogs) ✓ FastAPI web console + REST API ✓ SQLite persistence (jobs, analytics, benchmarks) ✓ Async/await multi-catalog orchestration ✓ Type-safe Pydantic data models throughout ✓ Comprehensive test coverage with edge cases
📚 DOCUMENTATION (NEW in 0.2.0) ───────────────────────────────────────────────────────────────────────────────
-
Command Guide (CLI/API Reference) 📄 docs/Command Guide.md • How to run CLI commands (astrobridge-demo, astrobridge-identify) • REST API endpoints with cURL examples • Python API usage patterns • Expected outputs for all commands • 50+ code examples
-
Algorithm and Science (Mathematical Foundations) 📄 docs/Algorithm and Science.md • Bayesian inference framework with Bayes' theorem • Positional/photometric likelihoods (Gaussian models) • Confidence scoring algorithm • Weighting profiles (balanced, position-first, photometry-first) • Proper-motion corrections & epoch transformations • Ambiguity resolution strategies • Real-world examples with calculations • Known limitations & future work • References to academic papers
-
Architecture Guide (Design & Teaching) 📄 docs/Architecture Guide.md • System architecture with ASCII diagrams • Core components (Orchestrator, Router, Matcher, Connectors) • Data models & type safety (Pydantic v2) • Orchestration pipeline flow • Design patterns (Adapter, Strategy, Factory, Observer) • Advanced scenarios (epochs, multi-wavelength, crowded fields) • Custom catalog adapter examples • Integration patterns for data pipelines • Reproducible science workflows • Teaching curriculum (5 courses + 3-week lab) • 2,700+ lines of detailed reference
-
Deployment Guide (Operations & Production) 📄 docs/Deployment Guide.md • Local development setup • Docker containerization • Cloud deployment (AWS ECS, Lambda, ALB) • PyPI releases with GitHub Actions • Production configuration • Database setup (SQLite → PostgreSQL migration) • Monitoring & observability • Security hardening & authentication • Performance tuning • Disaster recovery planning • Deployment checklist • Troubleshooting guide • 2,500+ lines of operational reference
🔧 CODE IMPROVEMENTS ─────────────────────────────────────────────────────────────────────────────── ✓ Return type hints added to all demo/identify/connector functions ✓ Docstrings expanded with Args/Returns/Raises ✓ 21 new edge case tests (empty inputs, boundaries, extreme values) ✓ All 142 tests passing (100%) ✓ Version bumped: 0.1.1 → 0.2.0
📊 TEST COVERAGE ─────────────────────────────────────────────────────────────────────────────── Phase 1: Foundation ✓ Infrastructure Phase 2: Models ✓ 40+ model/interface tests Phase 3: Connectors ✓ Integration tests with fixtures Phase 4: Matching ✓ 17 Bayesian matcher tests Phase 5: Routing ✓ 33 intelligent routing tests Phase 6: API ✓ 21 orchestration tests Phase 7: Edge Cases (NEW) ✓ 21 edge case tests
Total: 142 passing tests (0 failures, 0 skipped) Success Rate: 100%
🚀 DEPLOYMENT OPTIONS ───────────────────────────────────────────────────────────────────────────────
-
Local Development → CLI + optional web UI on laptop → Perfect for prototyping & teaching
-
Docker Container → Standardized deployment with volume-mounted state → Docker Compose with optional PostgreSQL → ~5 min setup to running service
-
AWS Cloud → ECS Fargate (serverless containers) → RDS PostgreSQL for state → ALB with load balancing → Lambda + API Gateway for REST-only deployments
-
Kubernetes → StatefulSet for high availability → ConfigMaps for configuration → Horizontal pod autoscaling included
🔐 SECURITY FEATURES ─────────────────────────────────────────────────────────────────────────────── ✓ API key authentication (Bearer tokens) ✓ CORS configuration per environment ✓ Rate limiting (10 req/s default) ✓ Input validation (Pydantic, max lengths) ✓ SQL injection prevention (parameterized queries) ✓ HTTPS/TLS via nginx reverse proxy ✓ Health checks (liveness, readiness probes)
📈 PERFORMANCE ─────────────────────────────────────────────────────────────────────────────── ✓ O(1) spatial candidate lookup (grid-based indexing) ✓ Concurrent multi-catalog queries (asyncio) ✓ TTL-based result caching ✓ Connection pooling & query optimization ✓ ~0.5s median query time (3 catalogs)
📝 GIT HISTORY ─────────────────────────────────────────────────────────────────────────────── 96df9dc Update README with correct documentation links (spaces in file names) 4d2f2ca Version 0.2.0: Add comprehensive deployment guide, update version numbers fa0ca99 Add comprehensive architecture guide for research & teaching... 67390bc Fix: restore demo.py, setup.py, WORKLOG.md to root directory 5029ae3 Reorganize docs: create docs folder, add comprehensive Bayesian algorithm
🎓 SUITABLE FOR ─────────────────────────────────────────────────────────────────────────────── ✓ Research institutions & observatories ✓ Educational labs (undergrad/grad courses) ✓ Astronomical surveys & data pipelines ✓ Cross-catalog matching studies ✓ Variability monitoring ✓ Proper-motion kinematics research ✓ Machine learning feature engineering
🔗 GITHUB RELEASE ─────────────────────────────────────────────────────────────────────────────── Repository: github.com/myrakhandelwal/AstroBridge Branch: main Tag: v0.2.0 License: MIT (Copyright © 2026 Myra Khandelwal)
Installation: pip install astrobridge==0.2.0
Quick Start: astrobridge-demo astrobridge-identify "Proxima Centauri"
Documentation: See docs/ folder for Command, Algorithm, Architecture, and Deployment guides
✅ RELEASE CHECKLIST (ALL COMPLETE) ─────────────────────────────────────────────────────────────────────────────── [✓] Version bumped (0.1.1 → 0.2.0) [✓] All tests passing (142/142) [✓] Type hints complete (mypy clean) [✓] Documentation comprehensive (4 guides) [✓] Deployment guide included [✓] Security hardening documented [✓] Performance tuning guide [✓] Disaster recovery plan [✓] Edge cases tested [✓] Git tag created (v0.2.0) [✓] Changes pushed to main [✓] README updated [✓] License declared
╔══════════════════════════════════════════════════════════════════════════════╗ ║ Ready for production deployment and educational use ║ ║ Next phase: Performance benchmarks, scaling studies, institution surveys ║ ╚══════════════════════════════════════════════════════════════════════════════╝