{"id":31799817,"url":"https://github.com/pierregode/mmm-deepspacesignals","last_synced_at":"2025-10-10T22:50:10.819Z","repository":{"id":301806328,"uuid":"1010359616","full_name":"PierreGode/MMM-DeepSpaceSignals","owner":"PierreGode","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-28T23:07:12.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-29T00:19:07.196Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PierreGode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-06-28T22:44:37.000Z","updated_at":"2025-06-28T23:07:16.000Z","dependencies_parsed_at":"2025-06-29T00:29:29.699Z","dependency_job_id":null,"html_url":"https://github.com/PierreGode/MMM-DeepSpaceSignals","commit_stats":null,"previous_names":["pierregode/mmm-deepspacesignals"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PierreGode/MMM-DeepSpaceSignals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FMMM-DeepSpaceSignals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FMMM-DeepSpaceSignals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FMMM-DeepSpaceSignals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FMMM-DeepSpaceSignals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PierreGode","download_url":"https://codeload.github.com/PierreGode/MMM-DeepSpaceSignals/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FMMM-DeepSpaceSignals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005458,"owners_count":26083902,"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-10-10T02:00:06.843Z","response_time":62,"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":[],"created_at":"2025-10-10T22:50:08.898Z","updated_at":"2025-10-10T22:50:10.804Z","avatar_url":"https://github.com/PierreGode.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛰️ MMM-DeepSpaceSignals\n\nA MagicMirror² module that polls various astronomy data sources for new and unusual signals.  \nIt can show recent **Fast Radio Bursts**, **gravitational wave alerts**, and **pulsar observations**.  \nIt can also display the latest **NASA Astronomy Picture of the Day (APOD)**.\n\n---\n\n## 🛠️ Installation\n\n```bash\ncd ~/MagicMirror/modules\ngit clone https://github.com/PierreGode/MMM-DeepSpaceSignals\ncd MMM-DeepSpaceSignals\nnpm install\n```\n\nThe module uses a Node helper to fetch data server-side. Your configuration is sent to the helper when the module starts, and it handles periodic updates.\n\n---\n\n## 🔄 Update\n\n```bash\ncd ~/MagicMirror/modules/MMM-DeepSpaceSignals\ngit pull\nnpm install\n```\n\n---\n\n## 🐍 Optional: Python Pulsar Support (ATNF Fetcher)\n\nIf the optional Python dependencies are installed, the Node helper will run\n`pulsar_fetcher.py` automatically the first time it needs a local\n`pulsars.json` file. The script now writes this file to the module directory so\nthe helper can load it without needing a specific working directory. You can\nalso point `apiUrls.pulsar` directly to a Python script (e.g. `fetch_pulsars.py`).\nIf the URL ends with `.py`, the helper executes the script and expects JSON on\nstdout. Install the required packages, for example on Raspberry Pi:\n\n```bash\npip install psrqpy astropy --break-system-packages\n```\n\nThe example scripts query the ATNF catalogue and either write the results to\n`pulsars.json` or output JSON directly.\n\nIf your Python script emits runtime warnings to stdout, earlier versions of the\nhelper could fail with a **\"Pulsar unrecognized content\"** message. The helper\nnow trims non‑JSON lines before parsing so such warnings no longer break the\nparsing step.\n\n---\n\n## ⚙️ Configuration\n\nAdd the module to the `modules` array in `config.js`:\n\n```javascript\n{\n  module: \"MMM-DeepSpaceSignals\",\n  position: \"top_right\",\n  config: {\n    updateInterval: 10 * 60 * 1000,\n    maxWidth: \"340px\",\n    sources: {\n      frb: true,\n      gravitational: true,\n      pulsar: false,\n      apod: true\n    },\n    apiUrls: {\n      frb: \"data/frb_sample.json\",\n      frbBackup: null,\n      gravitational: \"https://gwosc.org/eventapi/jsonfull/allevents/\",\n      pulsar: \"fetch_pulsars.py\",\n      apod: \"https://api.nasa.gov/planetary/apod?api_key=*****\"\n    },\n    minStrength: {\n      frb: null,\n      gravitational: null,\n      pulsar: null,\n      apod: null\n    }\n  }\n}\n```\n\n`intensity` values depend on the data source:\n- FRB events use **fluence (Jy·ms)**\n- Gravitational waves show **significance**\n- Pulsars may report **signal-to-noise ratio (SNR)**\n\n### Intensity Levels\n\nThe value in the **Intensity** column is color‑coded to make reading the table easier:\n\n| Fluence (Jy·ms) | Interpretation | Notes |\n|-------------------|---------------|-------|\n| \u003cspan style=\"color:#4d4dff;\"\u003e\u0026lt; 1\u003c/span\u003e | Very weak | Hard to detect, may be near background noise |\n| \u003cspan style=\"color:#00cc00;\"\u003e1 – 5\u003c/span\u003e | Weak to moderate | Common range for many typical FRBs |\n| \u003cspan style=\"color:#cccc00;\"\u003e5 – 20\u003c/span\u003e | Moderate to strong | Likely detectable with medium-sized radio arrays |\n| \u003cspan style=\"color:#ff8800;\"\u003e\u0026gt; 20\u003c/span\u003e | Strong or rare | May indicate nearby or unusually energetic source |\n| \u003cspan style=\"color:#ff4040;\"\u003e\u0026gt; 100\u003c/span\u003e | Extremely strong (rare) | Often referred to as \"giant bursts\" or hyperflares |\n\n---\n\n## 🧠 Signal Types Explained\n\nThis module detects and displays multiple types of deep space signals. Here's what each one means:\n\n### 💥 FRB – Fast Radio Burst\nFast Radio Bursts are extremely brief but powerful pulses of radio waves from deep space.  \n- Duration: milliseconds  \n- Possible sources: magnetars, neutron stars, or unknown phenomena  \n- Measured in **fluence** (Jy·ms)  \n- Often mysterious and still under research\n\n### 🌊 GE – Gravitational Events (Gravitational Waves)\nGravitational waves are ripples in the fabric of spacetime, typically caused by:  \n- Colliding black holes  \n- Merging neutron stars  \n- Detected by observatories like **LIGO** and **Virgo**  \n- Strength is indicated by a **significance score** or **FAP** (False Alarm Probability)\n\n### 🌟 Pulsar\nPulsars are fast-rotating neutron stars that emit beams of electromagnetic radiation.  \n- Often observed as regular pulses (like a cosmic lighthouse)  \n- Identified by **SNR** (Signal-to-Noise Ratio), rotation speed, or pulse period  \n- Useful for studying extreme physics like gravity and magnetism\n\n---\n\n## 🌐 Data Sources\n\nThe helper polls the following public APIs:\n\n| Source          | Description                         | API Key Required |\n|-----------------|-------------------------------------|------------------|\n| **CHIME/FRB**   | Recent Fast Radio Burst detections  | ❌ No            |\n| **CHIME/FRB (backup)** | Mirror of FRB events             | ❌ No            |\n| **LIGO/Virgo**  | Gravitational wave alerts           | ❌ No            |\n| **ATNF Pulsars**| Pulsar observations (JSON or script)| ❌ / Optional    |\n| **NASA APOD**   | Daily astronomy image + caption     | ✅ Yes (free)    |\n\n\u003e When enabled, the module displays the APOD image and its explanation directly in the table if the media type is an image. The image is constrained to a maximum width of 200 px to fit nicely inside the module. If the caption is longer than 10 lines it appears in a scrollable box that scrolls over 40\u0026nbsp;seconds and then pauses for 10\u0026nbsp;seconds before restarting.\n\nIf the primary FRB endpoint is unreachable (e.g., 404 error), the module\ntries the `frbBackup` URL. If that also fails, it loads the local file\n`data/frb_sample.json`.\n\nTo get your own NASA API key, visit: [https://api.nasa.gov/](https://api.nasa.gov/)\n\n---\n\n## 📃 License\n\nMIT © [Pierre Gode](https://github.com/PierreGode)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierregode%2Fmmm-deepspacesignals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpierregode%2Fmmm-deepspacesignals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierregode%2Fmmm-deepspacesignals/lists"}