From 4ba4736a560e7122b106269b05f73e1b486279c0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:02:38 +0000 Subject: [PATCH 1/3] Initial plan From e209158e0177f05a73dfd7df09383841dae15ab5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:06:30 +0000 Subject: [PATCH 2/3] Add PyTorch safe globals for NeuralProphet checkpoint loading Co-authored-by: springfall2008 <48591903+springfall2008@users.noreply.github.com> --- .../rootfs/__pycache__/predai.cpython-312.pyc | Bin 0 -> 24416 bytes predai/rootfs/predai.py | 31 ++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 predai/rootfs/__pycache__/predai.cpython-312.pyc diff --git a/predai/rootfs/__pycache__/predai.cpython-312.pyc b/predai/rootfs/__pycache__/predai.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..652863bc893f7d3b813b1e3d2d9a6f70babc5e57 GIT binary patch literal 24416 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 aX#H12!hA=wtJ6$ Date: Tue, 30 Dec 2025 15:07:04 +0000 Subject: [PATCH 3/3] Add .gitignore and remove __pycache__ Co-authored-by: springfall2008 <48591903+springfall2008@users.noreply.github.com> --- .gitignore | 36 ++++++++++++++++++ .../rootfs/__pycache__/predai.cpython-312.pyc | Bin 24416 -> 0 bytes 2 files changed, 36 insertions(+) create mode 100644 .gitignore delete mode 100644 predai/rootfs/__pycache__/predai.cpython-312.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9582ed3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Virtual environments +venv/ +ENV/ +env/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db diff --git a/predai/rootfs/__pycache__/predai.cpython-312.pyc b/predai/rootfs/__pycache__/predai.cpython-312.pyc deleted file mode 100644 index 652863bc893f7d3b813b1e3d2d9a6f70babc5e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24416 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 aX#H12!hA=wtJ6$