Skip to content

Commit 854c111

Browse files
committed
Add more docker info
1 parent 64b48a2 commit 854c111

File tree

4 files changed

+55
-16
lines changed

4 files changed

+55
-16
lines changed

images/paste-10.png

123 KB
Loading

images/paste-11.png

177 KB
Loading

images/paste-9.png

182 KB
Loading

slides.qmd

Lines changed: 55 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,16 @@ Based on [workflow.yml file for](https://github.com/nptscot/nptscot.github.io/bl
116116

117117
Checked boxes indicate approaches used in the NPT project.
118118

119-
- [x] "Loose coupling" (system calls)
120-
- [x] "Tight coupling" with low-level code embedded in R/Python/other packages (e.g. `sf`, `rsgeo`, `shapely`)
121-
- [ ] Project environments (e.g. `pixi`, `mamba` [`rix`](https://docs.ropensci.org/rix/))
122-
- [x] Containerisation
119+
- [x] "Loose coupling" (system calls)
120+
- [x] "Tight coupling" with low-level code embedded in R/Python/other packages (e.g. `sf`, `rsgeo`, `shapely`)
121+
- [ ] Project environments (e.g. `pixi`, `mamba` [`rix`](https://docs.ropensci.org/rix/))
122+
- [x] Containerisation
123123

124124
## Loose coupling
125125

126126
Example: [`odjitter`](https://github.com/dabreegster/odjitter/blob/98a7a6e03bc54bc79d3b3abbde91b6f79173ff1a/r/R/jitter.R#L163C1-L180C33) R package
127127

128-
```r
128+
``` r
129129
msg = glue::glue("{odjitter_location} jitter --od-csv-path {od_csv_path} \\
130130
--zones-path {zones_path} \\
131131
--zone-name-key {zone_name_key} \\
@@ -150,7 +150,7 @@ Example: [`odjitter`](https://github.com/dabreegster/odjitter/blob/98a7a6e03bc54
150150

151151
Example: [`qgisprocess` R package](https://github.com/r-spatial/qgisprocess/blob/702358e5849b38a9ce8550ee0f8b465c902d59d4/R/qgis-run.R#L26-L53)
152152

153-
```r
153+
``` r
154154
qgis_run <- function(args = character(), ..., env = qgis_env(), path = qgis_path()) {
155155
if (is.null(path)) {
156156
message(
@@ -185,7 +185,7 @@ qgis_run <- function(args = character(), ..., env = qgis_env(), path = qgis_path
185185

186186
Source: [`geoarrow-c`](https://github.com/geoarrow/geoarrow-c/blob/main/python/geoarrow-c/src/geoarrow/c/_lib.pyx#L1-L22)
187187

188-
```py
188+
``` py
189189

190190

191191
# cython: language_level = 3
@@ -218,7 +218,7 @@ cdef extern from "geoarrow_type.h":
218218

219219
Source: [`geoarrow-rs`](https://github.com/geoarrow/geoarrow-rs/blob/db06a8bf4b591b38fc164c29be86c630108751f6/python/pyo3-geoarrow/src/data_type.rs#L1-L29)
220220

221-
```rust
221+
``` rust
222222
use crate::error::{PyGeoArrowError, PyGeoArrowResult};
223223
use crate::{PyCoordType, PyDimension};
224224

@@ -259,7 +259,7 @@ impl PyGeometryType {
259259

260260
Source: [`RcppExports.R` in `sf`](https://github.com/r-spatial/sf/blob/35f5f8be44e1923d242a489b51d7c58b8397a2a9/R/RcppExports.R#L212-L218)
261261

262-
```r
262+
``` r
263263
CPL_geos_union <- function(sfc, by_feature = FALSE, is_coverage = FALSE) {
264264
.Call(`_sf_CPL_geos_union`, sfc, by_feature, is_coverage)
265265
}
@@ -276,7 +276,7 @@ CPL_geos_snap <- function(sfc0, sfc1, tolerance) {
276276

277277
Source: [`geos-unary-geometry.R` in `geos`](https://github.com/paleolimbot/geos/blob/HEAD/R/geos-unary-geometry.R#L153-L169)
278278

279-
```r
279+
``` r
280280
#' @rdname geos_centroid
281281
#' @export
282282
geos_unary_union <- function(geom) {
@@ -303,7 +303,7 @@ geos_unary_union_prec <- function(geom, grid_size) {
303303

304304
Source: [`geos_functions.jl` in `LibGEOS.jl`](https://github.com/JuliaGeo/LibGEOS.jl/blob/91f69c04843f02a995c5df54b0186891534a2ef4/src/geos_functions.jl#L712-L726)
305305

306-
```julia
306+
``` julia
307307
function union(obj1::Geometry, obj2::Geometry, context::GEOSContext = get_context(obj1))
308308
result = GEOSUnion_r(context, obj1, obj2)
309309
if result == C_NULL
@@ -324,38 +324,77 @@ end
324324

325325
## Project environments
326326

327-
```bash
327+
``` bash
328328
pixi init test-project --format pyproject
329329
```
330330

331-
```
331+
```
332332
✔ Initialized project in ~/test-project
333333
```
334334

335-
```bash
335+
``` bash
336336
cd test-project
337337
pixi add geopandas
338338
pixi add --pypi --feature test pytest
339339
pixi install
340340
```
341341

342-
```
342+
```
343343
✔ Added pytest
344344
Added these as pypi-dependencies.
345345
Added these only for feature: test
346346
```
347347

348348
Cross-language support (source: [pixi.sh](https://pixi.sh/latest/ide_integration/r_studio/))
349349

350-
```bash
350+
``` bash
351351
pixi add r-ggplot2
352352
```
353+
353354
Although some issues according to my tests (see [prefix-dev/pixi#2066](https://github.com/prefix-dev/pixi/issues/2066))
354355

356+
## Pixi disk space usage
357+
358+
```
359+
114M ┌── bin │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████ │ 6%
360+
101M │ ┌── locale-archive.tmpl│▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████ │ 6%
361+
101M │ ┌─┴ locale │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████ │ 6%
362+
116M │ ┌─┴ lib64 │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████ │ 7%
363+
142M │ ┌─┴ usr │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████ │ 8%
364+
148M │ ┌─┴ sysroot │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████████ │ 8%
365+
174M ├─┴ x86_64-conda-linux-gnu │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████████ │ 10%
366+
245M │ ┌── 14.1.0 │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████████████ │ 14%
367+
245M │ ┌─┴ x86_64-conda-linux-gnu │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████████████ │ 14%
368+
246M │ ┌─┴ gcc │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████████████ │ 14%
369+
246M ├─┴ libexec │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████████████ │ 14%
370+
108M │ ┌── 14.1.0 │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████ │ 6%
371+
108M │ ┌─┴ x86_64-conda-linux-gnu │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████ │ 6%
372+
108M │ ┌─┴ gcc │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████ │ 6%
373+
341M │ │ ┌── site-packages │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████████████████████ │ 19%
374+
391M │ ├─┴ python3.12 │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████████████████████████ │ 22%
375+
1.0G ├─┴ lib │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████████████████████████████████████████████████████████████████████ │ 58%
376+
1.7G ┌─┴ default │████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ │ 100%
377+
1.7G ┌─┴ envs │████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ │ 100%
378+
1.7G ┌─┴ .pixi
379+
```
380+
355381
## Containerisation
356382

383+
Source: [github.com/geocompx/docker](https://github.com/geocompx/docker)
384+
385+
![](images/paste-9.png)
386+
387+
## Containerisation 2
388+
389+
Source: [pangeo-data/pangeo-docker-images](https://github.com/pangeo-data/pangeo-docker-images)
390+
391+
![](images/paste-10.png)
392+
393+
## Containerisation 3
357394

395+
Source: <https://github.com/b-data>
358396

397+
![](images/paste-11.png)
359398

360399
# Publishing
361400

0 commit comments

Comments
 (0)