paddle 1.1.6__tar.gz → 1.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {paddle-1.1.6 → paddle-1.1.7}/.bumpversion.cfg +1 -1
- {paddle-1.1.6 → paddle-1.1.7}/.github/workflows/ci.yml +2 -1
- {paddle-1.1.6 → paddle-1.1.7}/.gitignore +3 -0
- {paddle-1.1.6 → paddle-1.1.7}/PKG-INFO +13 -1
- {paddle-1.1.6 → paddle-1.1.7}/README.md +11 -0
- paddle-1.1.7/docker/Dockerfile +131 -0
- paddle-1.1.7/docker/requirements.txt +2 -0
- paddle-1.1.7/docker-compose.override.yaml.tmp +17 -0
- paddle-1.1.7/docker-compose.yaml +20 -0
- {paddle-1.1.6 → paddle-1.1.7}/pyproject.toml +2 -1
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/__init__.py +1 -1
- paddle-1.1.6/docker-compose.override.yaml +0 -0
- paddle-1.1.6/docker-compose.yaml +0 -29
- {paddle-1.1.6 → paddle-1.1.7}/.github/workflows/bump-and-tag.yaml +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/.github/workflows/cd.yml +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/.pre-commit-config.yaml +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/LICENSE +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/Makefile +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/docker/.dockerignore +0 -0
- /paddle-1.1.6/docker/Dockerfile → /paddle-1.1.7/docker/Dockerfile.cuda +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/docker/entrypoint.sh +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/docker/nvim/init.lua +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/docker/nvim/lua/plugins.lua +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/docker/scripts/git-done +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/docker/scripts/git-send +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/crm.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/evolve_kinetics.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/find_init_params.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/nc2pt.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/pt2nc.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/setup_profile.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/src/paddle/write_profile.py +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/tests/.gitignore +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/tests/data/saturn1d.yaml +0 -0
- {paddle-1.1.6 → paddle-1.1.7}/tests/test_saturn_adiabat.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: paddle
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.7
|
|
4
4
|
Summary: Python Atmospheric Dynamics: Discovery and Learning about Exoplanets. An open-source, user-friendly python frontend of canoe
|
|
5
5
|
Project-URL: Homepage, https://github.com/elijah-mullens/paddle
|
|
6
6
|
Project-URL: Repository, https://github.com/elijah-mullens/paddle
|
|
@@ -23,6 +23,7 @@ Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
|
23
23
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
24
24
|
Requires-Python: >=3.9
|
|
25
25
|
Requires-Dist: kintera>=1.1.5
|
|
26
|
+
Requires-Dist: scipy
|
|
26
27
|
Requires-Dist: snapy>=0.8.1
|
|
27
28
|
Requires-Dist: torch<=2.7.1,>=2.7.0
|
|
28
29
|
Provides-Extra: dev
|
|
@@ -33,6 +34,13 @@ Description-Content-Type: text/markdown
|
|
|
33
34
|
Python Atmospheric Dynamics: Discovering and Learning about Exoplanets. An open-source, user-friendly python version of canoe.
|
|
34
35
|
|
|
35
36
|
## Install docker and docker-compose plugin
|
|
37
|
+
1. install docker with compose
|
|
38
|
+
```bash
|
|
39
|
+
curl -fsSL https://get.docker.com | sudo sh
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
1. start docker
|
|
43
|
+
sudo systemctl start docker
|
|
36
44
|
|
|
37
45
|
## Test package
|
|
38
46
|
1. Create a python virtual environment
|
|
@@ -96,3 +104,7 @@ pip install pre-commit
|
|
|
96
104
|
```bash
|
|
97
105
|
pre-commit install
|
|
98
106
|
```
|
|
107
|
+
|
|
108
|
+
## Troubleshooting
|
|
109
|
+
1. If you do not have docker compose
|
|
110
|
+
Remove your current docker installation, it could be docker or docker.io
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
Python Atmospheric Dynamics: Discovering and Learning about Exoplanets. An open-source, user-friendly python version of canoe.
|
|
3
3
|
|
|
4
4
|
## Install docker and docker-compose plugin
|
|
5
|
+
1. install docker with compose
|
|
6
|
+
```bash
|
|
7
|
+
curl -fsSL https://get.docker.com | sudo sh
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
1. start docker
|
|
11
|
+
sudo systemctl start docker
|
|
5
12
|
|
|
6
13
|
## Test package
|
|
7
14
|
1. Create a python virtual environment
|
|
@@ -65,3 +72,7 @@ pip install pre-commit
|
|
|
65
72
|
```bash
|
|
66
73
|
pre-commit install
|
|
67
74
|
```
|
|
75
|
+
|
|
76
|
+
## Troubleshooting
|
|
77
|
+
1. If you do not have docker compose
|
|
78
|
+
Remove your current docker installation, it could be docker or docker.io
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# syntax=docker/dockerfile:1.7
|
|
2
|
+
ARG CUDA_VER=12.9.1
|
|
3
|
+
ARG UBUNTU_VER=22.04
|
|
4
|
+
|
|
5
|
+
############################
|
|
6
|
+
# Base CUDA toolchain
|
|
7
|
+
############################
|
|
8
|
+
FROM ubuntu:${UBUNTU_VER} AS base
|
|
9
|
+
|
|
10
|
+
ENV DEBIAN_FRONTEND=noninteractive \
|
|
11
|
+
TZ=UTC
|
|
12
|
+
|
|
13
|
+
# System deps (C++ toolchain, Python, venv, git, neovim, etc.)
|
|
14
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
15
|
+
gosu tini \
|
|
16
|
+
build-essential \
|
|
17
|
+
gcc g++ gfortran \
|
|
18
|
+
ninja-build \
|
|
19
|
+
cmake \
|
|
20
|
+
git curl ca-certificates \
|
|
21
|
+
python3 python3-pip python3-venv python3-dev \
|
|
22
|
+
pkg-config \
|
|
23
|
+
libssl-dev \
|
|
24
|
+
ripgrep fd-find unzip neovim \
|
|
25
|
+
clangd \
|
|
26
|
+
nodejs npm \
|
|
27
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
28
|
+
|
|
29
|
+
# Make fd available as `fd` (Ubuntu calls it fdfind)
|
|
30
|
+
RUN update-alternatives --install /usr/bin/fd fd /usr/bin/fdfind 50
|
|
31
|
+
|
|
32
|
+
# Default editor env
|
|
33
|
+
ENV EDITOR=nvim VISUAL=nvim
|
|
34
|
+
|
|
35
|
+
# System-wide git editor default (users can override)
|
|
36
|
+
RUN git config --system core.editor "nvim"
|
|
37
|
+
|
|
38
|
+
# Pre-warm plugins (optional, speeds first start)
|
|
39
|
+
# This runs Neovim headless to install plugins via lazy.nvim.
|
|
40
|
+
RUN nvim --headless "+Lazy! sync" +qa || true
|
|
41
|
+
|
|
42
|
+
############################
|
|
43
|
+
# Convenient command-line tools
|
|
44
|
+
############################
|
|
45
|
+
|
|
46
|
+
# ---- after base tooling is installed, before switching USER ----
|
|
47
|
+
# Create a tools dir and put it on PATH
|
|
48
|
+
RUN mkdir -p /opt/tools
|
|
49
|
+
ENV PATH="/opt/tools:${PATH}"
|
|
50
|
+
|
|
51
|
+
# Copy all helper scripts
|
|
52
|
+
COPY docker/scripts/ /opt/tools/
|
|
53
|
+
# Ensure executables
|
|
54
|
+
RUN find /opt/tools -type f -name "*.sh" -exec chmod +x {} \; \
|
|
55
|
+
&& for f in /opt/tools/*.sh; do ln -sf "$f" "/usr/local/bin/$(basename "${f%.sh}")"; done
|
|
56
|
+
# The symlink makes command-line tools available (no .sh needed)
|
|
57
|
+
|
|
58
|
+
############################
|
|
59
|
+
# Configure non-root user and Python venv
|
|
60
|
+
############################
|
|
61
|
+
|
|
62
|
+
# Python venv in /opt/venv (global, fast, easy)
|
|
63
|
+
RUN python3 -m venv /opt/venv
|
|
64
|
+
ENV VIRTUAL_ENV=/opt/venv
|
|
65
|
+
ENV PATH="/opt/venv/bin:${PATH}"
|
|
66
|
+
|
|
67
|
+
# Upgrade pip/setuptools/wheel early
|
|
68
|
+
RUN pip install --upgrade pip setuptools wheel build
|
|
69
|
+
|
|
70
|
+
# Optional: pin pip resolver behavior and set default index/extra-index if needed
|
|
71
|
+
# COPY docker/pip.conf /etc/pip.conf
|
|
72
|
+
|
|
73
|
+
# Put a base Neovim config in /etc/skel so future users get it,
|
|
74
|
+
# and also install for the existing dev user.
|
|
75
|
+
#RUN mkdir -p /etc/skel/.config/nvim
|
|
76
|
+
#COPY docker/nvim/ /etc/skel/.config/nvim/
|
|
77
|
+
#RUN mkdir -p /home/${USERNAME}/.config/nvim && \
|
|
78
|
+
# cp -r /etc/skel/.config/nvim/* /home/${USERNAME}/.config/nvim/ && \
|
|
79
|
+
# chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.config/nvim
|
|
80
|
+
|
|
81
|
+
############################
|
|
82
|
+
# Cache Python wheels separately (optional but recommended)
|
|
83
|
+
############################
|
|
84
|
+
FROM base AS wheels
|
|
85
|
+
WORKDIR /tmp/wheels
|
|
86
|
+
# If you use requirements.txt:
|
|
87
|
+
COPY docker/requirements.txt .
|
|
88
|
+
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
89
|
+
pip wheel -r requirements.txt -w /tmp/wheelhouse
|
|
90
|
+
|
|
91
|
+
# If you use Poetry/pyproject, replace the above with:
|
|
92
|
+
# COPY pyproject.toml poetry.lock ./
|
|
93
|
+
# RUN pip install "poetry>=1.8.0"
|
|
94
|
+
# RUN --mount=type=cache,target=/root/.cache/pip poetry export -f requirements.txt --without-hashes | tee req.txt
|
|
95
|
+
# RUN --mount=type=cache,target=/root/.cache/pip pip wheel -r req.txt -w /tmp/wheelhouse
|
|
96
|
+
|
|
97
|
+
############################
|
|
98
|
+
# Dev image
|
|
99
|
+
############################
|
|
100
|
+
FROM base AS dev
|
|
101
|
+
WORKDIR /workspace
|
|
102
|
+
|
|
103
|
+
# Load for login shells
|
|
104
|
+
#RUN printf 'alias vi=nvim\nalias vim=nvim\nexport TERM=xterm-256color\n' >> /home/${USERNAME}/.bashrc
|
|
105
|
+
|
|
106
|
+
# Bring in prebuilt wheels (fast installs)
|
|
107
|
+
COPY --from=wheels /tmp/wheelhouse /tmp/wheelhouse
|
|
108
|
+
COPY docker/requirements.txt /workspace/docker/requirements.txt
|
|
109
|
+
|
|
110
|
+
# Install Python deps from wheels first, then fall back to index
|
|
111
|
+
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
112
|
+
pip install --no-index --find-links=/tmp/wheelhouse -r /workspace/docker/requirements.txt \
|
|
113
|
+
|| pip install -r /workspace/docker/requirements.txt
|
|
114
|
+
|
|
115
|
+
# (Optional) CUDA env defaults for many toolchains
|
|
116
|
+
ENV TORCH_CUDA_ARCH_LIST="8.6;8.9;9.0+PTX" \
|
|
117
|
+
CUDA_CACHE_MAXSIZE=2147483647
|
|
118
|
+
|
|
119
|
+
# Put your entrypoint in place
|
|
120
|
+
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
121
|
+
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
122
|
+
|
|
123
|
+
# Keep the workspace owned by the non-root user
|
|
124
|
+
#RUN chown -R ${USERNAME}:${USERNAME} /workspace
|
|
125
|
+
#USER ${USERNAME}
|
|
126
|
+
|
|
127
|
+
#ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
|
128
|
+
#CMD ["/bin/bash"]
|
|
129
|
+
|
|
130
|
+
ENTRYPOINT ["/usr/bin/tini","--","/usr/local/bin/entrypoint.sh"]
|
|
131
|
+
CMD ["/bin/bash"]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
services:
|
|
2
|
+
dev:
|
|
3
|
+
build:
|
|
4
|
+
dockerfile: docker/Dockerfile.cuda
|
|
5
|
+
args:
|
|
6
|
+
CUDA_VER: "12.9.1"
|
|
7
|
+
deploy:
|
|
8
|
+
resources:
|
|
9
|
+
reservations:
|
|
10
|
+
devices:
|
|
11
|
+
# Activate this if your system supports GPU
|
|
12
|
+
- capabilities: [gpu]
|
|
13
|
+
volumes:
|
|
14
|
+
# This is your main working directory
|
|
15
|
+
- ${HOME}/work:/work
|
|
16
|
+
# This is where you put your large simulation data
|
|
17
|
+
- ${HOME}/data/:/data
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
services:
|
|
2
|
+
dev:
|
|
3
|
+
image: paddle
|
|
4
|
+
build:
|
|
5
|
+
context: .
|
|
6
|
+
dockerfile: docker/Dockerfile
|
|
7
|
+
args:
|
|
8
|
+
CUDA_VER: "12.9.1"
|
|
9
|
+
UBUNTU_VER: "22.04"
|
|
10
|
+
environment:
|
|
11
|
+
- USERNAME=${USER}
|
|
12
|
+
- USER_UID=${USER_UID}
|
|
13
|
+
- USER_GID=${USER_GID}
|
|
14
|
+
# This is volatile
|
|
15
|
+
# Make sure that you use override.yaml for permanent changes
|
|
16
|
+
working_dir: /work
|
|
17
|
+
tty: true
|
|
18
|
+
stdin_open: true
|
|
19
|
+
ports:
|
|
20
|
+
- "8888:8888"
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "paddle"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.7"
|
|
8
8
|
description = "Python Atmospheric Dynamics: Discovery and Learning about Exoplanets. An open-source, user-friendly python frontend of canoe"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -34,6 +34,7 @@ dependencies = [
|
|
|
34
34
|
"torch>=2.7.0,<=2.7.1",
|
|
35
35
|
"kintera>=1.1.5",
|
|
36
36
|
"snapy>=0.8.1",
|
|
37
|
+
"scipy"
|
|
37
38
|
]
|
|
38
39
|
|
|
39
40
|
[project.optional-dependencies]
|
|
File without changes
|
paddle-1.1.6/docker-compose.yaml
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
dev:
|
|
3
|
-
image: paddle
|
|
4
|
-
build:
|
|
5
|
-
context: .
|
|
6
|
-
dockerfile: docker/Dockerfile
|
|
7
|
-
args:
|
|
8
|
-
CUDA_VER: "12.9.1"
|
|
9
|
-
UBUNTU_VER: "22.04"
|
|
10
|
-
environment:
|
|
11
|
-
- USERNAME=${USER}
|
|
12
|
-
- USER_UID=${USER_UID}
|
|
13
|
-
- USER_GID=${USER_GID}
|
|
14
|
-
deploy:
|
|
15
|
-
resources:
|
|
16
|
-
reservations:
|
|
17
|
-
devices:
|
|
18
|
-
# If your system does not have gpu, remove it from the []
|
|
19
|
-
- capabilities: [gpu]
|
|
20
|
-
volumes:
|
|
21
|
-
# This is your main working directory
|
|
22
|
-
- ${HOME}/projects:/projects
|
|
23
|
-
# This is where you put your large simulation data
|
|
24
|
-
- ${HOME}/data/:/data
|
|
25
|
-
working_dir: /projects
|
|
26
|
-
tty: true
|
|
27
|
-
stdin_open: true
|
|
28
|
-
ports:
|
|
29
|
-
- "8888:8888"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|