@@ -116,16 +116,16 @@ Based on [workflow.yml file for](https://github.com/nptscot/nptscot.github.io/bl
116116
117117Checked 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
126126Example: [ ` 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
151151Example: [ ` qgisprocess ` R package] ( https://github.com/r-spatial/qgisprocess/blob/702358e5849b38a9ce8550ee0f8b465c902d59d4/R/qgis-run.R#L26-L53 )
152152
153- ``` r
153+ ``` r
154154qgis_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
186186Source: [ ` 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
219219Source: [ ` geoarrow-rs ` ] ( https://github.com/geoarrow/geoarrow-rs/blob/db06a8bf4b591b38fc164c29be86c630108751f6/python/pyo3-geoarrow/src/data_type.rs#L1-L29 )
220220
221- ``` rust
221+ ``` rust
222222use crate :: error :: {PyGeoArrowError , PyGeoArrowResult };
223223use crate :: {PyCoordType , PyDimension };
224224
@@ -259,7 +259,7 @@ impl PyGeometryType {
259259
260260Source: [ ` RcppExports.R ` in ` sf ` ] ( https://github.com/r-spatial/sf/blob/35f5f8be44e1923d242a489b51d7c58b8397a2a9/R/RcppExports.R#L212-L218 )
261261
262- ``` r
262+ ``` r
263263CPL_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
277277Source: [ ` 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
282282geos_unary_union <- function (geom ) {
@@ -303,7 +303,7 @@ geos_unary_union_prec <- function(geom, grid_size) {
303303
304304Source: [ ` 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
307307function 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
328328pixi init test-project --format pyproject
329329```
330330
331- ```
331+ ```
332332✔ Initialized project in ~/test-project
333333```
334334
335- ``` bash
335+ ``` bash
336336cd test-project
337337pixi add geopandas
338338pixi add --pypi --feature test pytest
339339pixi install
340340```
341341
342- ```
342+ ```
343343✔ Added pytest
344344Added these as pypi-dependencies.
345345Added these only for feature: test
346346```
347347
348348Cross-language support (source: [ pixi.sh] ( https://pixi.sh/latest/ide_integration/r_studio/ ) )
349349
350- ``` bash
350+ ``` bash
351351pixi add r-ggplot2
352352```
353+
353354Although 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