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.
Files changed (35) hide show
  1. {paddle-1.1.6 → paddle-1.1.7}/.bumpversion.cfg +1 -1
  2. {paddle-1.1.6 → paddle-1.1.7}/.github/workflows/ci.yml +2 -1
  3. {paddle-1.1.6 → paddle-1.1.7}/.gitignore +3 -0
  4. {paddle-1.1.6 → paddle-1.1.7}/PKG-INFO +13 -1
  5. {paddle-1.1.6 → paddle-1.1.7}/README.md +11 -0
  6. paddle-1.1.7/docker/Dockerfile +131 -0
  7. paddle-1.1.7/docker/requirements.txt +2 -0
  8. paddle-1.1.7/docker-compose.override.yaml.tmp +17 -0
  9. paddle-1.1.7/docker-compose.yaml +20 -0
  10. {paddle-1.1.6 → paddle-1.1.7}/pyproject.toml +2 -1
  11. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/__init__.py +1 -1
  12. paddle-1.1.6/docker-compose.override.yaml +0 -0
  13. paddle-1.1.6/docker-compose.yaml +0 -29
  14. {paddle-1.1.6 → paddle-1.1.7}/.github/workflows/bump-and-tag.yaml +0 -0
  15. {paddle-1.1.6 → paddle-1.1.7}/.github/workflows/cd.yml +0 -0
  16. {paddle-1.1.6 → paddle-1.1.7}/.pre-commit-config.yaml +0 -0
  17. {paddle-1.1.6 → paddle-1.1.7}/LICENSE +0 -0
  18. {paddle-1.1.6 → paddle-1.1.7}/Makefile +0 -0
  19. {paddle-1.1.6 → paddle-1.1.7}/docker/.dockerignore +0 -0
  20. /paddle-1.1.6/docker/Dockerfile → /paddle-1.1.7/docker/Dockerfile.cuda +0 -0
  21. {paddle-1.1.6 → paddle-1.1.7}/docker/entrypoint.sh +0 -0
  22. {paddle-1.1.6 → paddle-1.1.7}/docker/nvim/init.lua +0 -0
  23. {paddle-1.1.6 → paddle-1.1.7}/docker/nvim/lua/plugins.lua +0 -0
  24. {paddle-1.1.6 → paddle-1.1.7}/docker/scripts/git-done +0 -0
  25. {paddle-1.1.6 → paddle-1.1.7}/docker/scripts/git-send +0 -0
  26. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/crm.py +0 -0
  27. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/evolve_kinetics.py +0 -0
  28. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/find_init_params.py +0 -0
  29. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/nc2pt.py +0 -0
  30. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/pt2nc.py +0 -0
  31. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/setup_profile.py +0 -0
  32. {paddle-1.1.6 → paddle-1.1.7}/src/paddle/write_profile.py +0 -0
  33. {paddle-1.1.6 → paddle-1.1.7}/tests/.gitignore +0 -0
  34. {paddle-1.1.6 → paddle-1.1.7}/tests/data/saturn1d.yaml +0 -0
  35. {paddle-1.1.6 → paddle-1.1.7}/tests/test_saturn_adiabat.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 1.1.6
2
+ current_version = 1.1.7
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -44,7 +44,8 @@ jobs:
44
44
  strategy:
45
45
  fail-fast: true
46
46
  matrix:
47
- os: [ubuntu-latest, macOS-latest]
47
+ #os: [ubuntu-latest, macOS-latest]
48
+ os: [ubuntu-latest]
48
49
  steps:
49
50
  - name: Check out code
50
51
  uses: actions/checkout@v4
@@ -205,3 +205,6 @@ cython_debug/
205
205
  marimo/_static/
206
206
  marimo/_lsp/
207
207
  __marimo__/
208
+
209
+ # docker
210
+ docker-compose.override.yaml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paddle
3
- Version: 1.1.6
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,2 @@
1
+ numpy
2
+ scipy
@@ -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.6"
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]
@@ -4,4 +4,4 @@ from .find_init_params import find_init_params
4
4
  from .evolve_kinetics import evolve_kinetics
5
5
 
6
6
  __all__ = ["setup_profile", "write_profile", "find_init_params", "evolve_kinetics"]
7
- __version__ = "1.1.6"
7
+ __version__ = "1.1.7"
File without changes
@@ -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