{"id":34501340,"url":"https://github.com/codebypinar/interstellar-ml-3i-atlas","last_synced_at":"2026-04-29T23:33:04.402Z","repository":{"id":329936935,"uuid":"1121060101","full_name":"CodeByPinar/interstellar-ml-3I-ATLAS","owner":"CodeByPinar","description":"Physics-aware ML analysis of 3I/ATLAS (photometry + spectroscopy).","archived":false,"fork":false,"pushed_at":"2025-12-22T11:45:28.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-23T22:45:26.721Z","etag":null,"topics":["3i-atlas","astronomy","astrophysics","interstellar-object","lomb-scargle","machine-learning","photometry","physics-informed","plotly","python","reflectance-spectra","reproducible-science","research","spectroscopy","streamlit","time-series"],"latest_commit_sha":null,"homepage":"https://interstellar-ml-3i-atlas.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodeByPinar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-22T11:24:30.000Z","updated_at":"2025-12-22T11:45:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CodeByPinar/interstellar-ml-3I-ATLAS","commit_stats":null,"previous_names":["codebypinar/interstellar-ml-3i-atlas"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CodeByPinar/interstellar-ml-3I-ATLAS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeByPinar%2Finterstellar-ml-3I-ATLAS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeByPinar%2Finterstellar-ml-3I-ATLAS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeByPinar%2Finterstellar-ml-3I-ATLAS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeByPinar%2Finterstellar-ml-3I-ATLAS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeByPinar","download_url":"https://codeload.github.com/CodeByPinar/interstellar-ml-3I-ATLAS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeByPinar%2Finterstellar-ml-3I-ATLAS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27992996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3i-atlas","astronomy","astrophysics","interstellar-object","lomb-scargle","machine-learning","photometry","physics-informed","plotly","python","reflectance-spectra","reproducible-science","research","spectroscopy","streamlit","time-series"],"created_at":"2025-12-24T02:01:06.841Z","updated_at":"2025-12-24T02:01:46.906Z","avatar_url":"https://github.com/CodeByPinar.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# interstellar-ml-3I-ATLAS\n\n![Python](https://img.shields.io/badge/Python-%3E%3D3.8-3776AB?logo=python\u0026logoColor=white)\n![Streamlit](https://img.shields.io/badge/Streamlit-1.29.0-FF4B4B?logo=streamlit\u0026logoColor=white)\n![Plotly](https://img.shields.io/badge/Plotly-5.18.0-3F4F75?logo=plotly\u0026logoColor=white)\n![Astropy](https://img.shields.io/badge/Astropy-5.2.2-6B4C9A)\n![Research](https://img.shields.io/badge/Project-Research%20Software-0B1320)\n![Data](https://img.shields.io/badge/Data-Immutable%20Raw%20%2B%20Hashed%20Cache-111827)\n\nPhysics-aware multi-modal analysis of **3I/ATLAS** using:\n\n- ATLAS light curve photometry (`data_raw/ATLAS_light_curve.npy`)\n- Reflectance spectrum (`data_raw/ATLAS_reflectivity_spectrum.csv`)\n\nThis repo is organized as *research software*:\n\n- **Reusable core package** under `src/interstellar_ml/`\n- **Config-driven CLI** via `main.py` (Typer)\n- **Streamlit UI** in `ui/app.py` calling the same core modules (no duplicated logic)\n\n---\n\n## What you can do\n\n- Validate raw datasets and view warnings\n- Deterministic preprocessing with content-addressed caching (`data_processed/`)\n- Light curve analysis:\n\t- Lomb–Scargle periodogram\n\t- Phase folding\n\t- Scientific diagnostics (magnitude histogram, cadence Δt histogram, binned phase curve, residuals)\n- Spectrum analysis:\n\t- Continuum removal\n\t- Global spectral slope estimate\n\t- Scientific diagnostics (smoothing, derivative, linear-fit overlay)\n- Run experiments and browse artifacts under `runs/`\n\n---\n\n## Quickstart (Windows / PowerShell)\n\nCreate an environment and install dependencies:\n\n```powershell\npython -m venv .venv\n\\.venv\\Scripts\\Activate.ps1\npython -m pip install --upgrade pip\npip install -r requirements.txt\npip install -e .\n```\n\nRun a minimal analysis from the CLI:\n\n```powershell\npython main.py validate-data --config configs/datasets/atlas_3i.yaml\npython main.py preprocess --config configs/datasets/atlas_3i.yaml\npython main.py analyze-lightcurve --config configs/datasets/atlas_3i.yaml\npython main.py analyze-spectrum --config configs/datasets/atlas_3i.yaml\n```\n\nLaunch the UI:\n\n```powershell\npython -m streamlit run ui/app.py\n```\n\n---\n\n## Configuration\n\nDefault dataset config:\n\n- `configs/datasets/atlas_3i.yaml`\n- Outputs:\n\t- processed cache: `data_processed/`\n\t- run artifacts: `runs/`\n\n---\n\n## Project layout\n\n```text\n.\n├─ src/interstellar_ml/            # Core package (shared by CLI + UI)\n│  ├─ analysis/                    # Light curve / spectrum analysis utilities\n│  ├─ data/                        # Dataset loaders + types\n│  ├─ preprocessing/               # Cache + preprocessing pipeline\n│  ├─ experiments/                 # Experiment runner stub\n│  └─ viz/                         # Plotly helpers\n├─ configs/                        # YAML configs (dataset + experiments)\n├─ data_raw/                       # Immutable source datasets\n├─ data_processed/                 # Hashed, deterministic derived products\n├─ runs/                           # Reproducible run directories (metrics/logs/figures)\n└─ ui/app.py                       # Streamlit UI\n```\n\n---\n\n## Reproducibility rules\n\n- **Raw data is immutable**: keep source files under `data_raw/` unchanged.\n- **Derived products are cached**: preprocessing outputs are stored under `data_processed/` with a content hash.\n- **Runs are logged**: experiment outputs are written under `runs/`.\n\n---\n\n## Troubleshooting\n\n### `ModuleNotFoundError: interstellar_ml` / import errors in Streamlit\n\nMost commonly, Streamlit is running with the wrong interpreter.\n\nUse the project virtual environment and run Streamlit via Python:\n\n```powershell\n\\.venv\\Scripts\\Activate.ps1\npip install -r requirements.txt\npip install -e .\npython -m streamlit run ui/app.py\n```\n\n### `streamlit run app.py` fails\n\nThe UI entrypoint is `ui/app.py`:\n\n```powershell\npython -m streamlit run ui/app.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebypinar%2Finterstellar-ml-3i-atlas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodebypinar%2Finterstellar-ml-3i-atlas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebypinar%2Finterstellar-ml-3i-atlas/lists"}