From a6877d6d32c0e866e1ee9ce717b391d2aea82446 Mon Sep 17 00:00:00 2001 From: paugier Date: Thu, 15 Feb 2024 10:16:05 +0100 Subject: [PATCH] Gitlab CI, Docker, src layout --- .gitlab-ci.yml | 126 +++++++++++++++++- docker/Dockerfile | 44 ++++++ docker/Makefile | 49 +++++++ docker/hgrc | 34 +++++ docker/pythranrc | 7 + meson.build | 2 +- pyproject.toml | 11 +- {fluidimage => src/fluidimage}/__init__.py | 0 {fluidimage => src/fluidimage}/_opencv.py | 0 {fluidimage => src/fluidimage}/_version.py | 0 .../fluidimage}/calcul/__init__.py | 0 .../fluidimage}/calcul/_evaluate_subpix.py | 0 .../calcul/_try_correl_images_diff_sizes.py | 0 .../calcul/_try_correl_images_same_size.py | 0 .../fluidimage}/calcul/correl.cu | 0 .../fluidimage}/calcul/correl.py | 0 .../fluidimage}/calcul/correl_pycuda.py | 0 .../fluidimage}/calcul/errors.py | 0 {fluidimage => src/fluidimage}/calcul/fft.py | 0 .../calcul/interpolate/__init__.py | 0 .../calcul/interpolate/_bench_tps.py | 0 .../calcul/interpolate/_bench_tps_matrix.py | 0 .../calcul/interpolate/_try_cusolve.py | 0 .../calcul/interpolate/_try_griddata.py | 0 .../calcul/interpolate/_try_interpolation.py | 0 .../calcul/interpolate/_try_tps.py | 0 .../calcul/interpolate/_try_tps_2.py | 0 .../calcul/interpolate/_try_tps_class.py | 0 .../calcul/interpolate/_try_tps_subdom.py | 0 .../calcul/interpolate/griddata.py | 0 .../calcul/interpolate/meson.build | 0 .../interpolate/test_thin_plate_spline.py | 0 .../calcul/interpolate/thin_plate_spline.py | 0 .../interpolate/thin_plate_spline_subdom.py | 0 .../fluidimage}/calcul/meson.build | 0 ...gaussian _part_size=1.0 _nx_ny = 64_64.png | Bin ...gaussian _part_size=2.0 _nx_ny = 64_64.png | Bin ...gaussian _part_size=3.0 _nx_ny = 64_64.png | Bin ...gaussian _part_size=4.0 _nx_ny = 64_64.png | Bin ...centroid _part_size=1.0 _nx_ny = 64_64.png | Bin ...centroid _part_size=2.0 _nx_ny = 64_64.png | Bin ...centroid _part_size=3.0 _nx_ny = 64_64.png | Bin ...centroid _part_size=4.0 _nx_ny = 64_64.png | Bin .../calcul/plot_evaluate_subpix/meson.build | 0 .../fluidimage}/calcul/reduction_kernel.cu | 0 .../fluidimage}/calcul/smooth_clean.py | 0 .../fluidimage}/calcul/subpix.py | 0 .../fluidimage}/calcul/test_correl.py | 0 .../fluidimage}/calcul/test_fft.py | 0 .../fluidimage}/calibration/__init__.py | 0 .../fluidimage}/calibration/calib2d_simple.py | 0 .../fluidimage}/calibration/calib_cv.py | 0 .../fluidimage}/calibration/calib_direct.py | 0 .../fluidimage}/calibration/calib_tsai.py | 0 .../fluidimage}/calibration/meson.build | 0 .../fluidimage}/calibration/test_calib_cv.py | 0 .../test_direct_stereo_reconstruction.py | 0 .../calibration/test_tsai_calibration.py | 0 .../fluidimage}/calibration/util.py | 0 {fluidimage => src/fluidimage}/config.py | 0 .../fluidimage}/data_objects/__init__.py | 0 .../fluidimage}/data_objects/display_piv.py | 0 .../fluidimage}/data_objects/display_pre.py | 0 .../fluidimage}/data_objects/meson.build | 0 .../fluidimage}/data_objects/piv.py | 0 .../fluidimage}/data_objects/preproc.py | 0 .../fluidimage}/data_objects/tomo.py | 0 .../fluidimage}/executors/__init__.py | 0 .../fluidimage}/executors/base.py | 0 .../fluidimage}/executors/exec_async.py | 0 .../executors/exec_async_multiproc.py | 0 .../executors/exec_async_sequential.py | 0 .../executors/exec_async_servers.py | 0 .../fluidimage}/executors/exec_sequential.py | 0 .../fluidimage}/executors/meson.build | 0 .../fluidimage}/executors/multi_exec_async.py | 0 .../fluidimage}/executors/servers.py | 0 .../fluidimage}/gui/__init__.py | 0 .../fluidimage}/gui/imviewer.py | 0 .../fluidimage}/gui/launcher/Makefile | 0 .../fluidimage}/gui/launcher/__init__.py | 0 .../fluidimage}/gui/launcher/main.py | 0 .../fluidimage}/gui/launcher/mainwindow.py | 0 .../fluidimage}/gui/launcher/mainwindow.ui | 0 .../fluidimage}/gui/launcher/meson.build | 0 .../fluidimage}/gui/launcher/test_launcher.py | 0 .../fluidimage}/gui/meson.build | 0 {fluidimage => src/fluidimage}/gui/pg_main.py | 0 .../fluidimage}/gui/pg_wrapper.py | 0 .../fluidimage}/gui/test_imviewer.py | 0 .../fluidimage}/gui/test_imviewer_pg.py | 0 {fluidimage => src/fluidimage}/meson.build | 1 - .../fluidimage}/postproc/__init__.py | 0 .../fluidimage}/postproc/_try_postproc.py | 0 .../fluidimage}/postproc/meson.build | 0 .../fluidimage}/postproc/piv.py | 0 .../fluidimage}/postproc/postproc.py | 0 .../fluidimage}/postproc/test_piv.py | 0 .../fluidimage}/postproc/test_util.py | 0 .../fluidimage}/postproc/util.py | 0 .../fluidimage}/postproc/vector_field.py | 0 .../fluidimage}/preproc/__init__.py | 0 .../fluidimage}/preproc/_toolbox_cv.py | 0 .../fluidimage}/preproc/_toolbox_py.py | 0 .../fluidimage}/preproc/base.py | 0 .../fluidimage}/preproc/image2image.py | 0 {fluidimage => src/fluidimage}/preproc/io.py | 0 .../fluidimage}/preproc/meson.build | 0 .../fluidimage}/preproc/test_base.py | 0 .../fluidimage}/preproc/test_image2image.py | 0 .../fluidimage}/preproc/toolbox.py | 0 .../fluidimage}/reconstruct/__init__.py | 0 .../fluidimage}/reconstruct/meson.build | 0 .../fluidimage}/reconstruct/tomo/__init__.py | 0 .../fluidimage}/reconstruct/tomo/meson.build | 0 .../fluidimage}/reconstruct/tomo/mlos.py | 0 .../fluidimage}/reconstruct/tomo/test_mlos.py | 0 .../fluidimage}/run_from_xml.py | 0 {fluidimage => src/fluidimage}/synthetic.py | 0 .../fluidimage}/test_run_from_xml.py | 0 .../fluidimage}/topologies/__init__.py | 0 .../fluidimage}/topologies/base.py | 0 .../fluidimage}/topologies/bos.py | 0 .../fluidimage}/topologies/example.py | 0 .../fluidimage}/topologies/image2image.py | 0 .../fluidimage}/topologies/launcher.py | 0 .../fluidimage}/topologies/log.py | 0 .../fluidimage}/topologies/meson.build | 0 .../fluidimage}/topologies/nb_cpu_cores.py | 0 .../fluidimage}/topologies/optical_flow.py | 0 .../fluidimage}/topologies/piv.py | 0 .../fluidimage}/topologies/preproc.py | 0 .../topologies/surface_tracking.py | 0 .../fluidimage}/topologies/test_bos.py | 0 .../fluidimage}/topologies/test_example.py | 0 .../topologies/test_image2image.py | 0 .../topologies/test_optical_flow.py | 0 .../fluidimage}/topologies/test_piv.py | 0 .../fluidimage}/topologies/test_preproc.py | 0 .../topologies/test_surftracking.py | 0 .../fluidimage}/util/__init__.py | 0 {fluidimage => src/fluidimage}/util/log.py | 0 .../fluidimage}/util/meson.build | 0 .../fluidimage}/util/test_util.py | 0 {fluidimage => src/fluidimage}/util/util.py | 0 .../fluidimage}/works/__init__.py | 0 .../fluidimage}/works/meson.build | 0 .../fluidimage}/works/optical_flow.py | 0 .../fluidimage}/works/piv/__init__.py | 0 .../fluidimage}/works/piv/_try_piv.py | 0 .../fluidimage}/works/piv/fix.py | 0 .../fluidimage}/works/piv/meson.build | 0 .../fluidimage}/works/piv/multipass.py | 0 .../fluidimage}/works/piv/singlepass.py | 0 .../fluidimage}/works/piv/test_piv.py | 0 .../fluidimage}/works/preproc.py | 0 .../fluidimage}/works/surface_tracking.py | 0 .../fluidimage}/works/with_mask.py | 0 158 files changed, 261 insertions(+), 13 deletions(-) create mode 100644 docker/Dockerfile create mode 100644 docker/Makefile create mode 100644 docker/hgrc create mode 100644 docker/pythranrc rename {fluidimage => src/fluidimage}/__init__.py (100%) rename {fluidimage => src/fluidimage}/_opencv.py (100%) rename {fluidimage => src/fluidimage}/_version.py (100%) rename {fluidimage => src/fluidimage}/calcul/__init__.py (100%) rename {fluidimage => src/fluidimage}/calcul/_evaluate_subpix.py (100%) rename {fluidimage => src/fluidimage}/calcul/_try_correl_images_diff_sizes.py (100%) rename {fluidimage => src/fluidimage}/calcul/_try_correl_images_same_size.py (100%) rename {fluidimage => src/fluidimage}/calcul/correl.cu (100%) rename {fluidimage => src/fluidimage}/calcul/correl.py (100%) rename {fluidimage => src/fluidimage}/calcul/correl_pycuda.py (100%) rename {fluidimage => src/fluidimage}/calcul/errors.py (100%) rename {fluidimage => src/fluidimage}/calcul/fft.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/__init__.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_bench_tps.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_bench_tps_matrix.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_cusolve.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_griddata.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_interpolation.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_tps.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_tps_2.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_tps_class.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/_try_tps_subdom.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/griddata.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/meson.build (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/test_thin_plate_spline.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/thin_plate_spline.py (100%) rename {fluidimage => src/fluidimage}/calcul/interpolate/thin_plate_spline_subdom.py (100%) rename {fluidimage => src/fluidimage}/calcul/meson.build (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/2d_gaussian _part_size=1.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/2d_gaussian _part_size=2.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/2d_gaussian _part_size=3.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/2d_gaussian _part_size=4.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/centroid _part_size=1.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/centroid _part_size=2.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/centroid _part_size=3.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/centroid _part_size=4.0 _nx_ny = 64_64.png (100%) rename {fluidimage => src/fluidimage}/calcul/plot_evaluate_subpix/meson.build (100%) rename {fluidimage => src/fluidimage}/calcul/reduction_kernel.cu (100%) rename {fluidimage => src/fluidimage}/calcul/smooth_clean.py (100%) rename {fluidimage => src/fluidimage}/calcul/subpix.py (100%) rename {fluidimage => src/fluidimage}/calcul/test_correl.py (100%) rename {fluidimage => src/fluidimage}/calcul/test_fft.py (100%) rename {fluidimage => src/fluidimage}/calibration/__init__.py (100%) rename {fluidimage => src/fluidimage}/calibration/calib2d_simple.py (100%) rename {fluidimage => src/fluidimage}/calibration/calib_cv.py (100%) rename {fluidimage => src/fluidimage}/calibration/calib_direct.py (100%) rename {fluidimage => src/fluidimage}/calibration/calib_tsai.py (100%) rename {fluidimage => src/fluidimage}/calibration/meson.build (100%) rename {fluidimage => src/fluidimage}/calibration/test_calib_cv.py (100%) rename {fluidimage => src/fluidimage}/calibration/test_direct_stereo_reconstruction.py (100%) rename {fluidimage => src/fluidimage}/calibration/test_tsai_calibration.py (100%) rename {fluidimage => src/fluidimage}/calibration/util.py (100%) rename {fluidimage => src/fluidimage}/config.py (100%) rename {fluidimage => src/fluidimage}/data_objects/__init__.py (100%) rename {fluidimage => src/fluidimage}/data_objects/display_piv.py (100%) rename {fluidimage => src/fluidimage}/data_objects/display_pre.py (100%) rename {fluidimage => src/fluidimage}/data_objects/meson.build (100%) rename {fluidimage => src/fluidimage}/data_objects/piv.py (100%) rename {fluidimage => src/fluidimage}/data_objects/preproc.py (100%) rename {fluidimage => src/fluidimage}/data_objects/tomo.py (100%) rename {fluidimage => src/fluidimage}/executors/__init__.py (100%) rename {fluidimage => src/fluidimage}/executors/base.py (100%) rename {fluidimage => src/fluidimage}/executors/exec_async.py (100%) rename {fluidimage => src/fluidimage}/executors/exec_async_multiproc.py (100%) rename {fluidimage => src/fluidimage}/executors/exec_async_sequential.py (100%) rename {fluidimage => src/fluidimage}/executors/exec_async_servers.py (100%) rename {fluidimage => src/fluidimage}/executors/exec_sequential.py (100%) rename {fluidimage => src/fluidimage}/executors/meson.build (100%) rename {fluidimage => src/fluidimage}/executors/multi_exec_async.py (100%) rename {fluidimage => src/fluidimage}/executors/servers.py (100%) rename {fluidimage => src/fluidimage}/gui/__init__.py (100%) rename {fluidimage => src/fluidimage}/gui/imviewer.py (100%) rename {fluidimage => src/fluidimage}/gui/launcher/Makefile (100%) rename {fluidimage => src/fluidimage}/gui/launcher/__init__.py (100%) rename {fluidimage => src/fluidimage}/gui/launcher/main.py (100%) rename {fluidimage => src/fluidimage}/gui/launcher/mainwindow.py (100%) rename {fluidimage => src/fluidimage}/gui/launcher/mainwindow.ui (100%) rename {fluidimage => src/fluidimage}/gui/launcher/meson.build (100%) rename {fluidimage => src/fluidimage}/gui/launcher/test_launcher.py (100%) rename {fluidimage => src/fluidimage}/gui/meson.build (100%) rename {fluidimage => src/fluidimage}/gui/pg_main.py (100%) rename {fluidimage => src/fluidimage}/gui/pg_wrapper.py (100%) rename {fluidimage => src/fluidimage}/gui/test_imviewer.py (100%) rename {fluidimage => src/fluidimage}/gui/test_imviewer_pg.py (100%) rename {fluidimage => src/fluidimage}/meson.build (93%) rename {fluidimage => src/fluidimage}/postproc/__init__.py (100%) rename {fluidimage => src/fluidimage}/postproc/_try_postproc.py (100%) rename {fluidimage => src/fluidimage}/postproc/meson.build (100%) rename {fluidimage => src/fluidimage}/postproc/piv.py (100%) rename {fluidimage => src/fluidimage}/postproc/postproc.py (100%) rename {fluidimage => src/fluidimage}/postproc/test_piv.py (100%) rename {fluidimage => src/fluidimage}/postproc/test_util.py (100%) rename {fluidimage => src/fluidimage}/postproc/util.py (100%) rename {fluidimage => src/fluidimage}/postproc/vector_field.py (100%) rename {fluidimage => src/fluidimage}/preproc/__init__.py (100%) rename {fluidimage => src/fluidimage}/preproc/_toolbox_cv.py (100%) rename {fluidimage => src/fluidimage}/preproc/_toolbox_py.py (100%) rename {fluidimage => src/fluidimage}/preproc/base.py (100%) rename {fluidimage => src/fluidimage}/preproc/image2image.py (100%) rename {fluidimage => src/fluidimage}/preproc/io.py (100%) rename {fluidimage => src/fluidimage}/preproc/meson.build (100%) rename {fluidimage => src/fluidimage}/preproc/test_base.py (100%) rename {fluidimage => src/fluidimage}/preproc/test_image2image.py (100%) rename {fluidimage => src/fluidimage}/preproc/toolbox.py (100%) rename {fluidimage => src/fluidimage}/reconstruct/__init__.py (100%) rename {fluidimage => src/fluidimage}/reconstruct/meson.build (100%) rename {fluidimage => src/fluidimage}/reconstruct/tomo/__init__.py (100%) rename {fluidimage => src/fluidimage}/reconstruct/tomo/meson.build (100%) rename {fluidimage => src/fluidimage}/reconstruct/tomo/mlos.py (100%) rename {fluidimage => src/fluidimage}/reconstruct/tomo/test_mlos.py (100%) rename {fluidimage => src/fluidimage}/run_from_xml.py (100%) rename {fluidimage => src/fluidimage}/synthetic.py (100%) rename {fluidimage => src/fluidimage}/test_run_from_xml.py (100%) rename {fluidimage => src/fluidimage}/topologies/__init__.py (100%) rename {fluidimage => src/fluidimage}/topologies/base.py (100%) rename {fluidimage => src/fluidimage}/topologies/bos.py (100%) rename {fluidimage => src/fluidimage}/topologies/example.py (100%) rename {fluidimage => src/fluidimage}/topologies/image2image.py (100%) rename {fluidimage => src/fluidimage}/topologies/launcher.py (100%) rename {fluidimage => src/fluidimage}/topologies/log.py (100%) rename {fluidimage => src/fluidimage}/topologies/meson.build (100%) rename {fluidimage => src/fluidimage}/topologies/nb_cpu_cores.py (100%) rename {fluidimage => src/fluidimage}/topologies/optical_flow.py (100%) rename {fluidimage => src/fluidimage}/topologies/piv.py (100%) rename {fluidimage => src/fluidimage}/topologies/preproc.py (100%) rename {fluidimage => src/fluidimage}/topologies/surface_tracking.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_bos.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_example.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_image2image.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_optical_flow.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_piv.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_preproc.py (100%) rename {fluidimage => src/fluidimage}/topologies/test_surftracking.py (100%) rename {fluidimage => src/fluidimage}/util/__init__.py (100%) rename {fluidimage => src/fluidimage}/util/log.py (100%) rename {fluidimage => src/fluidimage}/util/meson.build (100%) rename {fluidimage => src/fluidimage}/util/test_util.py (100%) rename {fluidimage => src/fluidimage}/util/util.py (100%) rename {fluidimage => src/fluidimage}/works/__init__.py (100%) rename {fluidimage => src/fluidimage}/works/meson.build (100%) rename {fluidimage => src/fluidimage}/works/optical_flow.py (100%) rename {fluidimage => src/fluidimage}/works/piv/__init__.py (100%) rename {fluidimage => src/fluidimage}/works/piv/_try_piv.py (100%) rename {fluidimage => src/fluidimage}/works/piv/fix.py (100%) rename {fluidimage => src/fluidimage}/works/piv/meson.build (100%) rename {fluidimage => src/fluidimage}/works/piv/multipass.py (100%) rename {fluidimage => src/fluidimage}/works/piv/singlepass.py (100%) rename {fluidimage => src/fluidimage}/works/piv/test_piv.py (100%) rename {fluidimage => src/fluidimage}/works/preproc.py (100%) rename {fluidimage => src/fluidimage}/works/surface_tracking.py (100%) rename {fluidimage => src/fluidimage}/works/with_mask.py (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1acd0fa6..f5522989 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,124 @@ +stages: + # - image-pixi + # - pixi + - image + - lint + - test + - doc + - build + variables: - CODECOV_TOKEN: 0ac60028-17ba-4383-b4ad-b5ba5ca35f3d + COVERAGE_DIR: .coverage_$CI_COMMIT_SHA + DOCKER_IMAGE_PATH: registry.heptapod.net:443/fluiddyn/fluidimage/ci/default + +image: $DOCKER_IMAGE_PATH:stable + +# ugly workaround https://gitlab.com/gitlab-org/gitlab/-/issues/370052#note_1207556577 +workflow: + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS + when: never + - if: $CI_COMMIT_BRANCH + - if: $CI_COMMIT_TAG + + +# Build an image for the other tasks; this should be a scheduled job, as +# it is quite unnecessary to run on every invocation. +image:build: + stage: image + needs: [] + tags: + - container-registry-push + rules: + - if: '$CI_PIPELINE_SOURCE == "schedule"' + - if: '$CI_BUILD_IMAGES == "1"' + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [ "" ] + before_script: + - "" + script: + - | + cat > /kaniko/.docker/config.json < + /kaniko/executor --context $CI_PROJECT_DIR + --dockerfile $CI_PROJECT_DIR/docker/Dockerfile + --single-snapshot + --cleanup + --destination $DOCKER_IMAGE_PATH:stable + + +validate_code: + stage: lint + needs: + - job: "image:build" + optional: true + script: + - nox -s validate_code + tests: - image: fluiddyn/python3-stable:testing + stage: test + needs: + - job: "image:build" + optional: true + script: + - xvfb-run nox -s test-cov + + +pages: + stage: doc + needs: + - job: "image:build" + optional: true + variables: + FLUIDFFT_TRANSONIC_BACKEND: "python" + script: + - python -m venv .venv + - . .venv/bin/activate + - pip install fluidfft --no-deps + - pdm sync -G doc -G fft -G test --no-self + - pip install . --config-settings=setup-args=-Dtransonic-backend=python --no-deps + - pdm run xvfb-run --auto-servernum sphinx-build -W -b html -d doc/_build/doctrees doc doc/_build/html + - mkdir -p public/$CI_COMMIT_REF_NAME + - rsync -rvc --delete doc/_build/html/* public/$CI_COMMIT_REF_NAME/ + # This directory can become too large leading to error. + # It can be purged with the botton "Clear runner caches" + # in https://foss.heptapod.net/fluiddyn/fluidsim/-/pipelines + - ls public + - echo "CI_COMMIT_REF_NAME="$CI_COMMIT_REF_NAME + - echo See https://fluiddyn.pages.heptapod.net/fluidsim/$CI_COMMIT_REF_NAME + artifacts: + name: "$CI_COMMIT_REF_NAME" + paths: + - public + expire_in: 5 days + when: always + + +build:package: + stage: build + before_script: + - pip install build twine script: - - python -m venv venv - - source venv/bin/activate - - pip install -U pip nox - - xvfb-run nox -s tests-cov + - cd lib + - rm -rf dist + - python -m build + - ls dist + - twine check --strict dist/* + needs: [] + artifacts: + when: always + paths: + - lib/dist + expire_in: 24 hrs diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..7448f230 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,44 @@ +FROM python:3.9 +LABEL Pierre Augier + +RUN apt-get update + +# also include utilities for debugging +RUN apt-get install -y --no-install-recommends \ + clang \ + emacs vim \ + meld less \ + # python3-pip is for Mercurial (hg-git, hg-evolve) + mercurial python3-pip git +RUN apt-get install -y --no-install-recommends \ + rsync \ + libgl1 xvfb xauth libgl1-mesa-dev \ + libxkbcommon-x11-0 \ + sudo graphviz + +RUN rm -rf /var/lib/apt/lists/* + +RUN groupadd -g 1000 appuser && useradd -m -r -u 1000 -g appuser -s /bin/bash appuser -s /bin/bash && usermod -a -G sudo appuser +RUN echo appuser:appuser | chpasswd +USER appuser +ARG HOME=/home/appuser +RUN mkdir -p $HOME/opt +WORKDIR $HOME/opt +RUN echo $USER $HOME $PWD && whoami + +ENV PIP_BREAK_SYSTEM_PACKAGES=1 + +RUN $(hg debuginstall -T '{pythonexe}') -m pip install hg-evolve hg-git --no-cache-dir --user + +COPY --chown=appuser:appuser docker/hgrc $HOME/.hgrc +COPY --chown=appuser:appuser docker/pythranrc $HOME/.pythranrc + +RUN mkdir -p $HOME/.local/include +RUN mkdir -p $HOME/.local/lib + +ENV PATH=$HOME/.local/bin:$PATH + +RUN mkdir -p $HOME/.config/matplotlib +RUN echo 'backend : agg' > $HOME/.config/matplotlib/matplotlibrc + +RUN python -m pip install -U pip pdm nox --user diff --git a/docker/Makefile b/docker/Makefile new file mode 100644 index 00000000..3674aaa8 --- /dev/null +++ b/docker/Makefile @@ -0,0 +1,49 @@ +image := image-fluidsim +tag := $(shell date -I'date'| tr -d "[:punct:]") + +define STR_HELP +This makefile can be used to build images and start containers. + +Examples +-------- +$ make start # starts Docker service +$ make pull # pulls a Docker image fron Docker hub +$ make build # by default builds python3-stable image +$ make run +$ make build image=python3-stable +$ make cleanall # clean (unnecessary, not all) containers and images + +endef + +export STR_HELP + +.PHONY: help + +help: + @echo "$$STR_HELP" + +start: + systemctl start docker + +build: + docker build -f Dockerfile -t fluiddyn/$(image) .. + docker tag fluiddyn/$(image) fluiddyn/$(image):$(tag) + +list: + @printf "\nImages: " + docker images + @printf "\nContainers: " + docker ps + +cleancontainers: + @echo "Clean exited containers." + for cont in $$(docker ps -a | awk 'NR>1{print $$1}'); do docker stop $$cont; docker rm $$cont; done + +cleanimages: + @echo "Clean dangling images with no tag." + for img in $$(docker images -qf "dangling=true"); do docker rmi -f $$img; done + +cleanall: cleancontainers cleanimages cleanmako + +run: + docker run --name $(image) --restart always -it fluiddyn/$(image) bash diff --git a/docker/hgrc b/docker/hgrc new file mode 100644 index 00000000..31f4fdfc --- /dev/null +++ b/docker/hgrc @@ -0,0 +1,34 @@ +# example user config (see 'hg help config' for more info) +[ui] +# name and email, e.g. +# username = Jane Doe +username = appuser +editor = emacs -nw -Q + +# We recommend enabling tweakdefaults to get slight improvements to +# the UI over time. Make sure to set HGPLAIN in the environment when +# writing scripts! +tweakdefaults = True + +[extensions] +# uncomment these lines to enable some popular extensions +# (see 'hg help extensions' for more info) +# +churn = +shelve = +hgext.extdiff = +rebase = +absorb = +evolve = +topic = +hggit = + +[extdiff] +cmd.meld = + +[trusted] +users = root + +[alias] +lg = log -G +up = up -v diff --git a/docker/pythranrc b/docker/pythranrc new file mode 100644 index 00000000..71e26e0b --- /dev/null +++ b/docker/pythranrc @@ -0,0 +1,7 @@ +[pythran] +complex_hook = True + +[compiler] +CXX=clang++ +CC=clang +blas=openblas diff --git a/meson.build b/meson.build index cc754469..4ebe2cdf 100644 --- a/meson.build +++ b/meson.build @@ -65,4 +65,4 @@ if use_pythran endif -subdir('fluidimage') +subdir('src/fluidimage') diff --git a/pyproject.toml b/pyproject.toml index 9ff61cb4..4b5ef124 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,6 +65,7 @@ setup = ['-Doptimization=3'] [tool.pdm] distribution = true +package-dir = "src" ignore_package_warnings = ["ipython"] [tool.pdm.dev-dependencies] @@ -99,9 +100,9 @@ dev = [ ] [tool.pdm.scripts] -black = 'black fluidsim doc' -black_check = 'black --check fluidsim doc' -lint = {shell="pylint -rn --rcfile=pylintrc --jobs=$(nproc) src doc tests plugins --exit-zero"} +black = 'black src doc' +black_check = 'black --check src doc' +lint = {shell="pylint -rn --rcfile=pylintrc --jobs=$(nproc) src doc --exit-zero"} validate_code = {composite = ["black_check", "lint"]} [tool.pdm.options] @@ -111,7 +112,7 @@ install = ["--no-isolation"] [tool.coverage.run] -source = ["./fluidimage"] +source = ["./src"] data_file = ".coverage/coverage" omit = [ "**/__pythran__/*.py", @@ -148,4 +149,4 @@ extend-exclude = "/(__pythran__|__python__|__numba__|build|doc/_build|\\.ipynb_c [tool.isort] profile = "black" line_length = 82 -src_paths = ["fluidsim", "doc"] +src_paths = ["src", "doc"] diff --git a/fluidimage/__init__.py b/src/fluidimage/__init__.py similarity index 100% rename from fluidimage/__init__.py rename to src/fluidimage/__init__.py diff --git a/fluidimage/_opencv.py b/src/fluidimage/_opencv.py similarity index 100% rename from fluidimage/_opencv.py rename to src/fluidimage/_opencv.py diff --git a/fluidimage/_version.py b/src/fluidimage/_version.py similarity index 100% rename from fluidimage/_version.py rename to src/fluidimage/_version.py diff --git a/fluidimage/calcul/__init__.py b/src/fluidimage/calcul/__init__.py similarity index 100% rename from fluidimage/calcul/__init__.py rename to src/fluidimage/calcul/__init__.py diff --git a/fluidimage/calcul/_evaluate_subpix.py b/src/fluidimage/calcul/_evaluate_subpix.py similarity index 100% rename from fluidimage/calcul/_evaluate_subpix.py rename to src/fluidimage/calcul/_evaluate_subpix.py diff --git a/fluidimage/calcul/_try_correl_images_diff_sizes.py b/src/fluidimage/calcul/_try_correl_images_diff_sizes.py similarity index 100% rename from fluidimage/calcul/_try_correl_images_diff_sizes.py rename to src/fluidimage/calcul/_try_correl_images_diff_sizes.py diff --git a/fluidimage/calcul/_try_correl_images_same_size.py b/src/fluidimage/calcul/_try_correl_images_same_size.py similarity index 100% rename from fluidimage/calcul/_try_correl_images_same_size.py rename to src/fluidimage/calcul/_try_correl_images_same_size.py diff --git a/fluidimage/calcul/correl.cu b/src/fluidimage/calcul/correl.cu similarity index 100% rename from fluidimage/calcul/correl.cu rename to src/fluidimage/calcul/correl.cu diff --git a/fluidimage/calcul/correl.py b/src/fluidimage/calcul/correl.py similarity index 100% rename from fluidimage/calcul/correl.py rename to src/fluidimage/calcul/correl.py diff --git a/fluidimage/calcul/correl_pycuda.py b/src/fluidimage/calcul/correl_pycuda.py similarity index 100% rename from fluidimage/calcul/correl_pycuda.py rename to src/fluidimage/calcul/correl_pycuda.py diff --git a/fluidimage/calcul/errors.py b/src/fluidimage/calcul/errors.py similarity index 100% rename from fluidimage/calcul/errors.py rename to src/fluidimage/calcul/errors.py diff --git a/fluidimage/calcul/fft.py b/src/fluidimage/calcul/fft.py similarity index 100% rename from fluidimage/calcul/fft.py rename to src/fluidimage/calcul/fft.py diff --git a/fluidimage/calcul/interpolate/__init__.py b/src/fluidimage/calcul/interpolate/__init__.py similarity index 100% rename from fluidimage/calcul/interpolate/__init__.py rename to src/fluidimage/calcul/interpolate/__init__.py diff --git a/fluidimage/calcul/interpolate/_bench_tps.py b/src/fluidimage/calcul/interpolate/_bench_tps.py similarity index 100% rename from fluidimage/calcul/interpolate/_bench_tps.py rename to src/fluidimage/calcul/interpolate/_bench_tps.py diff --git a/fluidimage/calcul/interpolate/_bench_tps_matrix.py b/src/fluidimage/calcul/interpolate/_bench_tps_matrix.py similarity index 100% rename from fluidimage/calcul/interpolate/_bench_tps_matrix.py rename to src/fluidimage/calcul/interpolate/_bench_tps_matrix.py diff --git a/fluidimage/calcul/interpolate/_try_cusolve.py b/src/fluidimage/calcul/interpolate/_try_cusolve.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_cusolve.py rename to src/fluidimage/calcul/interpolate/_try_cusolve.py diff --git a/fluidimage/calcul/interpolate/_try_griddata.py b/src/fluidimage/calcul/interpolate/_try_griddata.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_griddata.py rename to src/fluidimage/calcul/interpolate/_try_griddata.py diff --git a/fluidimage/calcul/interpolate/_try_interpolation.py b/src/fluidimage/calcul/interpolate/_try_interpolation.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_interpolation.py rename to src/fluidimage/calcul/interpolate/_try_interpolation.py diff --git a/fluidimage/calcul/interpolate/_try_tps.py b/src/fluidimage/calcul/interpolate/_try_tps.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_tps.py rename to src/fluidimage/calcul/interpolate/_try_tps.py diff --git a/fluidimage/calcul/interpolate/_try_tps_2.py b/src/fluidimage/calcul/interpolate/_try_tps_2.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_tps_2.py rename to src/fluidimage/calcul/interpolate/_try_tps_2.py diff --git a/fluidimage/calcul/interpolate/_try_tps_class.py b/src/fluidimage/calcul/interpolate/_try_tps_class.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_tps_class.py rename to src/fluidimage/calcul/interpolate/_try_tps_class.py diff --git a/fluidimage/calcul/interpolate/_try_tps_subdom.py b/src/fluidimage/calcul/interpolate/_try_tps_subdom.py similarity index 100% rename from fluidimage/calcul/interpolate/_try_tps_subdom.py rename to src/fluidimage/calcul/interpolate/_try_tps_subdom.py diff --git a/fluidimage/calcul/interpolate/griddata.py b/src/fluidimage/calcul/interpolate/griddata.py similarity index 100% rename from fluidimage/calcul/interpolate/griddata.py rename to src/fluidimage/calcul/interpolate/griddata.py diff --git a/fluidimage/calcul/interpolate/meson.build b/src/fluidimage/calcul/interpolate/meson.build similarity index 100% rename from fluidimage/calcul/interpolate/meson.build rename to src/fluidimage/calcul/interpolate/meson.build diff --git a/fluidimage/calcul/interpolate/test_thin_plate_spline.py b/src/fluidimage/calcul/interpolate/test_thin_plate_spline.py similarity index 100% rename from fluidimage/calcul/interpolate/test_thin_plate_spline.py rename to src/fluidimage/calcul/interpolate/test_thin_plate_spline.py diff --git a/fluidimage/calcul/interpolate/thin_plate_spline.py b/src/fluidimage/calcul/interpolate/thin_plate_spline.py similarity index 100% rename from fluidimage/calcul/interpolate/thin_plate_spline.py rename to src/fluidimage/calcul/interpolate/thin_plate_spline.py diff --git a/fluidimage/calcul/interpolate/thin_plate_spline_subdom.py b/src/fluidimage/calcul/interpolate/thin_plate_spline_subdom.py similarity index 100% rename from fluidimage/calcul/interpolate/thin_plate_spline_subdom.py rename to src/fluidimage/calcul/interpolate/thin_plate_spline_subdom.py diff --git a/fluidimage/calcul/meson.build b/src/fluidimage/calcul/meson.build similarity index 100% rename from fluidimage/calcul/meson.build rename to src/fluidimage/calcul/meson.build diff --git a/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=1.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=1.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=1.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=1.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=2.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=2.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=2.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=2.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=3.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=3.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=3.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=3.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=4.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=4.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=4.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/2d_gaussian _part_size=4.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=1.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=1.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=1.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=1.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=2.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=2.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=2.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=2.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=3.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=3.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=3.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=3.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=4.0 _nx_ny = 64_64.png b/src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=4.0 _nx_ny = 64_64.png similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=4.0 _nx_ny = 64_64.png rename to src/fluidimage/calcul/plot_evaluate_subpix/centroid _part_size=4.0 _nx_ny = 64_64.png diff --git a/fluidimage/calcul/plot_evaluate_subpix/meson.build b/src/fluidimage/calcul/plot_evaluate_subpix/meson.build similarity index 100% rename from fluidimage/calcul/plot_evaluate_subpix/meson.build rename to src/fluidimage/calcul/plot_evaluate_subpix/meson.build diff --git a/fluidimage/calcul/reduction_kernel.cu b/src/fluidimage/calcul/reduction_kernel.cu similarity index 100% rename from fluidimage/calcul/reduction_kernel.cu rename to src/fluidimage/calcul/reduction_kernel.cu diff --git a/fluidimage/calcul/smooth_clean.py b/src/fluidimage/calcul/smooth_clean.py similarity index 100% rename from fluidimage/calcul/smooth_clean.py rename to src/fluidimage/calcul/smooth_clean.py diff --git a/fluidimage/calcul/subpix.py b/src/fluidimage/calcul/subpix.py similarity index 100% rename from fluidimage/calcul/subpix.py rename to src/fluidimage/calcul/subpix.py diff --git a/fluidimage/calcul/test_correl.py b/src/fluidimage/calcul/test_correl.py similarity index 100% rename from fluidimage/calcul/test_correl.py rename to src/fluidimage/calcul/test_correl.py diff --git a/fluidimage/calcul/test_fft.py b/src/fluidimage/calcul/test_fft.py similarity index 100% rename from fluidimage/calcul/test_fft.py rename to src/fluidimage/calcul/test_fft.py diff --git a/fluidimage/calibration/__init__.py b/src/fluidimage/calibration/__init__.py similarity index 100% rename from fluidimage/calibration/__init__.py rename to src/fluidimage/calibration/__init__.py diff --git a/fluidimage/calibration/calib2d_simple.py b/src/fluidimage/calibration/calib2d_simple.py similarity index 100% rename from fluidimage/calibration/calib2d_simple.py rename to src/fluidimage/calibration/calib2d_simple.py diff --git a/fluidimage/calibration/calib_cv.py b/src/fluidimage/calibration/calib_cv.py similarity index 100% rename from fluidimage/calibration/calib_cv.py rename to src/fluidimage/calibration/calib_cv.py diff --git a/fluidimage/calibration/calib_direct.py b/src/fluidimage/calibration/calib_direct.py similarity index 100% rename from fluidimage/calibration/calib_direct.py rename to src/fluidimage/calibration/calib_direct.py diff --git a/fluidimage/calibration/calib_tsai.py b/src/fluidimage/calibration/calib_tsai.py similarity index 100% rename from fluidimage/calibration/calib_tsai.py rename to src/fluidimage/calibration/calib_tsai.py diff --git a/fluidimage/calibration/meson.build b/src/fluidimage/calibration/meson.build similarity index 100% rename from fluidimage/calibration/meson.build rename to src/fluidimage/calibration/meson.build diff --git a/fluidimage/calibration/test_calib_cv.py b/src/fluidimage/calibration/test_calib_cv.py similarity index 100% rename from fluidimage/calibration/test_calib_cv.py rename to src/fluidimage/calibration/test_calib_cv.py diff --git a/fluidimage/calibration/test_direct_stereo_reconstruction.py b/src/fluidimage/calibration/test_direct_stereo_reconstruction.py similarity index 100% rename from fluidimage/calibration/test_direct_stereo_reconstruction.py rename to src/fluidimage/calibration/test_direct_stereo_reconstruction.py diff --git a/fluidimage/calibration/test_tsai_calibration.py b/src/fluidimage/calibration/test_tsai_calibration.py similarity index 100% rename from fluidimage/calibration/test_tsai_calibration.py rename to src/fluidimage/calibration/test_tsai_calibration.py diff --git a/fluidimage/calibration/util.py b/src/fluidimage/calibration/util.py similarity index 100% rename from fluidimage/calibration/util.py rename to src/fluidimage/calibration/util.py diff --git a/fluidimage/config.py b/src/fluidimage/config.py similarity index 100% rename from fluidimage/config.py rename to src/fluidimage/config.py diff --git a/fluidimage/data_objects/__init__.py b/src/fluidimage/data_objects/__init__.py similarity index 100% rename from fluidimage/data_objects/__init__.py rename to src/fluidimage/data_objects/__init__.py diff --git a/fluidimage/data_objects/display_piv.py b/src/fluidimage/data_objects/display_piv.py similarity index 100% rename from fluidimage/data_objects/display_piv.py rename to src/fluidimage/data_objects/display_piv.py diff --git a/fluidimage/data_objects/display_pre.py b/src/fluidimage/data_objects/display_pre.py similarity index 100% rename from fluidimage/data_objects/display_pre.py rename to src/fluidimage/data_objects/display_pre.py diff --git a/fluidimage/data_objects/meson.build b/src/fluidimage/data_objects/meson.build similarity index 100% rename from fluidimage/data_objects/meson.build rename to src/fluidimage/data_objects/meson.build diff --git a/fluidimage/data_objects/piv.py b/src/fluidimage/data_objects/piv.py similarity index 100% rename from fluidimage/data_objects/piv.py rename to src/fluidimage/data_objects/piv.py diff --git a/fluidimage/data_objects/preproc.py b/src/fluidimage/data_objects/preproc.py similarity index 100% rename from fluidimage/data_objects/preproc.py rename to src/fluidimage/data_objects/preproc.py diff --git a/fluidimage/data_objects/tomo.py b/src/fluidimage/data_objects/tomo.py similarity index 100% rename from fluidimage/data_objects/tomo.py rename to src/fluidimage/data_objects/tomo.py diff --git a/fluidimage/executors/__init__.py b/src/fluidimage/executors/__init__.py similarity index 100% rename from fluidimage/executors/__init__.py rename to src/fluidimage/executors/__init__.py diff --git a/fluidimage/executors/base.py b/src/fluidimage/executors/base.py similarity index 100% rename from fluidimage/executors/base.py rename to src/fluidimage/executors/base.py diff --git a/fluidimage/executors/exec_async.py b/src/fluidimage/executors/exec_async.py similarity index 100% rename from fluidimage/executors/exec_async.py rename to src/fluidimage/executors/exec_async.py diff --git a/fluidimage/executors/exec_async_multiproc.py b/src/fluidimage/executors/exec_async_multiproc.py similarity index 100% rename from fluidimage/executors/exec_async_multiproc.py rename to src/fluidimage/executors/exec_async_multiproc.py diff --git a/fluidimage/executors/exec_async_sequential.py b/src/fluidimage/executors/exec_async_sequential.py similarity index 100% rename from fluidimage/executors/exec_async_sequential.py rename to src/fluidimage/executors/exec_async_sequential.py diff --git a/fluidimage/executors/exec_async_servers.py b/src/fluidimage/executors/exec_async_servers.py similarity index 100% rename from fluidimage/executors/exec_async_servers.py rename to src/fluidimage/executors/exec_async_servers.py diff --git a/fluidimage/executors/exec_sequential.py b/src/fluidimage/executors/exec_sequential.py similarity index 100% rename from fluidimage/executors/exec_sequential.py rename to src/fluidimage/executors/exec_sequential.py diff --git a/fluidimage/executors/meson.build b/src/fluidimage/executors/meson.build similarity index 100% rename from fluidimage/executors/meson.build rename to src/fluidimage/executors/meson.build diff --git a/fluidimage/executors/multi_exec_async.py b/src/fluidimage/executors/multi_exec_async.py similarity index 100% rename from fluidimage/executors/multi_exec_async.py rename to src/fluidimage/executors/multi_exec_async.py diff --git a/fluidimage/executors/servers.py b/src/fluidimage/executors/servers.py similarity index 100% rename from fluidimage/executors/servers.py rename to src/fluidimage/executors/servers.py diff --git a/fluidimage/gui/__init__.py b/src/fluidimage/gui/__init__.py similarity index 100% rename from fluidimage/gui/__init__.py rename to src/fluidimage/gui/__init__.py diff --git a/fluidimage/gui/imviewer.py b/src/fluidimage/gui/imviewer.py similarity index 100% rename from fluidimage/gui/imviewer.py rename to src/fluidimage/gui/imviewer.py diff --git a/fluidimage/gui/launcher/Makefile b/src/fluidimage/gui/launcher/Makefile similarity index 100% rename from fluidimage/gui/launcher/Makefile rename to src/fluidimage/gui/launcher/Makefile diff --git a/fluidimage/gui/launcher/__init__.py b/src/fluidimage/gui/launcher/__init__.py similarity index 100% rename from fluidimage/gui/launcher/__init__.py rename to src/fluidimage/gui/launcher/__init__.py diff --git a/fluidimage/gui/launcher/main.py b/src/fluidimage/gui/launcher/main.py similarity index 100% rename from fluidimage/gui/launcher/main.py rename to src/fluidimage/gui/launcher/main.py diff --git a/fluidimage/gui/launcher/mainwindow.py b/src/fluidimage/gui/launcher/mainwindow.py similarity index 100% rename from fluidimage/gui/launcher/mainwindow.py rename to src/fluidimage/gui/launcher/mainwindow.py diff --git a/fluidimage/gui/launcher/mainwindow.ui b/src/fluidimage/gui/launcher/mainwindow.ui similarity index 100% rename from fluidimage/gui/launcher/mainwindow.ui rename to src/fluidimage/gui/launcher/mainwindow.ui diff --git a/fluidimage/gui/launcher/meson.build b/src/fluidimage/gui/launcher/meson.build similarity index 100% rename from fluidimage/gui/launcher/meson.build rename to src/fluidimage/gui/launcher/meson.build diff --git a/fluidimage/gui/launcher/test_launcher.py b/src/fluidimage/gui/launcher/test_launcher.py similarity index 100% rename from fluidimage/gui/launcher/test_launcher.py rename to src/fluidimage/gui/launcher/test_launcher.py diff --git a/fluidimage/gui/meson.build b/src/fluidimage/gui/meson.build similarity index 100% rename from fluidimage/gui/meson.build rename to src/fluidimage/gui/meson.build diff --git a/fluidimage/gui/pg_main.py b/src/fluidimage/gui/pg_main.py similarity index 100% rename from fluidimage/gui/pg_main.py rename to src/fluidimage/gui/pg_main.py diff --git a/fluidimage/gui/pg_wrapper.py b/src/fluidimage/gui/pg_wrapper.py similarity index 100% rename from fluidimage/gui/pg_wrapper.py rename to src/fluidimage/gui/pg_wrapper.py diff --git a/fluidimage/gui/test_imviewer.py b/src/fluidimage/gui/test_imviewer.py similarity index 100% rename from fluidimage/gui/test_imviewer.py rename to src/fluidimage/gui/test_imviewer.py diff --git a/fluidimage/gui/test_imviewer_pg.py b/src/fluidimage/gui/test_imviewer_pg.py similarity index 100% rename from fluidimage/gui/test_imviewer_pg.py rename to src/fluidimage/gui/test_imviewer_pg.py diff --git a/fluidimage/meson.build b/src/fluidimage/meson.build similarity index 93% rename from fluidimage/meson.build rename to src/fluidimage/meson.build index 5d42a548..2767d738 100644 --- a/fluidimage/meson.build +++ b/src/fluidimage/meson.build @@ -2,7 +2,6 @@ python_sources = [ '__init__.py', '_opencv.py', - '_path_image_samples.py', '_version.py', 'config.py', 'run_from_xml.py', diff --git a/fluidimage/postproc/__init__.py b/src/fluidimage/postproc/__init__.py similarity index 100% rename from fluidimage/postproc/__init__.py rename to src/fluidimage/postproc/__init__.py diff --git a/fluidimage/postproc/_try_postproc.py b/src/fluidimage/postproc/_try_postproc.py similarity index 100% rename from fluidimage/postproc/_try_postproc.py rename to src/fluidimage/postproc/_try_postproc.py diff --git a/fluidimage/postproc/meson.build b/src/fluidimage/postproc/meson.build similarity index 100% rename from fluidimage/postproc/meson.build rename to src/fluidimage/postproc/meson.build diff --git a/fluidimage/postproc/piv.py b/src/fluidimage/postproc/piv.py similarity index 100% rename from fluidimage/postproc/piv.py rename to src/fluidimage/postproc/piv.py diff --git a/fluidimage/postproc/postproc.py b/src/fluidimage/postproc/postproc.py similarity index 100% rename from fluidimage/postproc/postproc.py rename to src/fluidimage/postproc/postproc.py diff --git a/fluidimage/postproc/test_piv.py b/src/fluidimage/postproc/test_piv.py similarity index 100% rename from fluidimage/postproc/test_piv.py rename to src/fluidimage/postproc/test_piv.py diff --git a/fluidimage/postproc/test_util.py b/src/fluidimage/postproc/test_util.py similarity index 100% rename from fluidimage/postproc/test_util.py rename to src/fluidimage/postproc/test_util.py diff --git a/fluidimage/postproc/util.py b/src/fluidimage/postproc/util.py similarity index 100% rename from fluidimage/postproc/util.py rename to src/fluidimage/postproc/util.py diff --git a/fluidimage/postproc/vector_field.py b/src/fluidimage/postproc/vector_field.py similarity index 100% rename from fluidimage/postproc/vector_field.py rename to src/fluidimage/postproc/vector_field.py diff --git a/fluidimage/preproc/__init__.py b/src/fluidimage/preproc/__init__.py similarity index 100% rename from fluidimage/preproc/__init__.py rename to src/fluidimage/preproc/__init__.py diff --git a/fluidimage/preproc/_toolbox_cv.py b/src/fluidimage/preproc/_toolbox_cv.py similarity index 100% rename from fluidimage/preproc/_toolbox_cv.py rename to src/fluidimage/preproc/_toolbox_cv.py diff --git a/fluidimage/preproc/_toolbox_py.py b/src/fluidimage/preproc/_toolbox_py.py similarity index 100% rename from fluidimage/preproc/_toolbox_py.py rename to src/fluidimage/preproc/_toolbox_py.py diff --git a/fluidimage/preproc/base.py b/src/fluidimage/preproc/base.py similarity index 100% rename from fluidimage/preproc/base.py rename to src/fluidimage/preproc/base.py diff --git a/fluidimage/preproc/image2image.py b/src/fluidimage/preproc/image2image.py similarity index 100% rename from fluidimage/preproc/image2image.py rename to src/fluidimage/preproc/image2image.py diff --git a/fluidimage/preproc/io.py b/src/fluidimage/preproc/io.py similarity index 100% rename from fluidimage/preproc/io.py rename to src/fluidimage/preproc/io.py diff --git a/fluidimage/preproc/meson.build b/src/fluidimage/preproc/meson.build similarity index 100% rename from fluidimage/preproc/meson.build rename to src/fluidimage/preproc/meson.build diff --git a/fluidimage/preproc/test_base.py b/src/fluidimage/preproc/test_base.py similarity index 100% rename from fluidimage/preproc/test_base.py rename to src/fluidimage/preproc/test_base.py diff --git a/fluidimage/preproc/test_image2image.py b/src/fluidimage/preproc/test_image2image.py similarity index 100% rename from fluidimage/preproc/test_image2image.py rename to src/fluidimage/preproc/test_image2image.py diff --git a/fluidimage/preproc/toolbox.py b/src/fluidimage/preproc/toolbox.py similarity index 100% rename from fluidimage/preproc/toolbox.py rename to src/fluidimage/preproc/toolbox.py diff --git a/fluidimage/reconstruct/__init__.py b/src/fluidimage/reconstruct/__init__.py similarity index 100% rename from fluidimage/reconstruct/__init__.py rename to src/fluidimage/reconstruct/__init__.py diff --git a/fluidimage/reconstruct/meson.build b/src/fluidimage/reconstruct/meson.build similarity index 100% rename from fluidimage/reconstruct/meson.build rename to src/fluidimage/reconstruct/meson.build diff --git a/fluidimage/reconstruct/tomo/__init__.py b/src/fluidimage/reconstruct/tomo/__init__.py similarity index 100% rename from fluidimage/reconstruct/tomo/__init__.py rename to src/fluidimage/reconstruct/tomo/__init__.py diff --git a/fluidimage/reconstruct/tomo/meson.build b/src/fluidimage/reconstruct/tomo/meson.build similarity index 100% rename from fluidimage/reconstruct/tomo/meson.build rename to src/fluidimage/reconstruct/tomo/meson.build diff --git a/fluidimage/reconstruct/tomo/mlos.py b/src/fluidimage/reconstruct/tomo/mlos.py similarity index 100% rename from fluidimage/reconstruct/tomo/mlos.py rename to src/fluidimage/reconstruct/tomo/mlos.py diff --git a/fluidimage/reconstruct/tomo/test_mlos.py b/src/fluidimage/reconstruct/tomo/test_mlos.py similarity index 100% rename from fluidimage/reconstruct/tomo/test_mlos.py rename to src/fluidimage/reconstruct/tomo/test_mlos.py diff --git a/fluidimage/run_from_xml.py b/src/fluidimage/run_from_xml.py similarity index 100% rename from fluidimage/run_from_xml.py rename to src/fluidimage/run_from_xml.py diff --git a/fluidimage/synthetic.py b/src/fluidimage/synthetic.py similarity index 100% rename from fluidimage/synthetic.py rename to src/fluidimage/synthetic.py diff --git a/fluidimage/test_run_from_xml.py b/src/fluidimage/test_run_from_xml.py similarity index 100% rename from fluidimage/test_run_from_xml.py rename to src/fluidimage/test_run_from_xml.py diff --git a/fluidimage/topologies/__init__.py b/src/fluidimage/topologies/__init__.py similarity index 100% rename from fluidimage/topologies/__init__.py rename to src/fluidimage/topologies/__init__.py diff --git a/fluidimage/topologies/base.py b/src/fluidimage/topologies/base.py similarity index 100% rename from fluidimage/topologies/base.py rename to src/fluidimage/topologies/base.py diff --git a/fluidimage/topologies/bos.py b/src/fluidimage/topologies/bos.py similarity index 100% rename from fluidimage/topologies/bos.py rename to src/fluidimage/topologies/bos.py diff --git a/fluidimage/topologies/example.py b/src/fluidimage/topologies/example.py similarity index 100% rename from fluidimage/topologies/example.py rename to src/fluidimage/topologies/example.py diff --git a/fluidimage/topologies/image2image.py b/src/fluidimage/topologies/image2image.py similarity index 100% rename from fluidimage/topologies/image2image.py rename to src/fluidimage/topologies/image2image.py diff --git a/fluidimage/topologies/launcher.py b/src/fluidimage/topologies/launcher.py similarity index 100% rename from fluidimage/topologies/launcher.py rename to src/fluidimage/topologies/launcher.py diff --git a/fluidimage/topologies/log.py b/src/fluidimage/topologies/log.py similarity index 100% rename from fluidimage/topologies/log.py rename to src/fluidimage/topologies/log.py diff --git a/fluidimage/topologies/meson.build b/src/fluidimage/topologies/meson.build similarity index 100% rename from fluidimage/topologies/meson.build rename to src/fluidimage/topologies/meson.build diff --git a/fluidimage/topologies/nb_cpu_cores.py b/src/fluidimage/topologies/nb_cpu_cores.py similarity index 100% rename from fluidimage/topologies/nb_cpu_cores.py rename to src/fluidimage/topologies/nb_cpu_cores.py diff --git a/fluidimage/topologies/optical_flow.py b/src/fluidimage/topologies/optical_flow.py similarity index 100% rename from fluidimage/topologies/optical_flow.py rename to src/fluidimage/topologies/optical_flow.py diff --git a/fluidimage/topologies/piv.py b/src/fluidimage/topologies/piv.py similarity index 100% rename from fluidimage/topologies/piv.py rename to src/fluidimage/topologies/piv.py diff --git a/fluidimage/topologies/preproc.py b/src/fluidimage/topologies/preproc.py similarity index 100% rename from fluidimage/topologies/preproc.py rename to src/fluidimage/topologies/preproc.py diff --git a/fluidimage/topologies/surface_tracking.py b/src/fluidimage/topologies/surface_tracking.py similarity index 100% rename from fluidimage/topologies/surface_tracking.py rename to src/fluidimage/topologies/surface_tracking.py diff --git a/fluidimage/topologies/test_bos.py b/src/fluidimage/topologies/test_bos.py similarity index 100% rename from fluidimage/topologies/test_bos.py rename to src/fluidimage/topologies/test_bos.py diff --git a/fluidimage/topologies/test_example.py b/src/fluidimage/topologies/test_example.py similarity index 100% rename from fluidimage/topologies/test_example.py rename to src/fluidimage/topologies/test_example.py diff --git a/fluidimage/topologies/test_image2image.py b/src/fluidimage/topologies/test_image2image.py similarity index 100% rename from fluidimage/topologies/test_image2image.py rename to src/fluidimage/topologies/test_image2image.py diff --git a/fluidimage/topologies/test_optical_flow.py b/src/fluidimage/topologies/test_optical_flow.py similarity index 100% rename from fluidimage/topologies/test_optical_flow.py rename to src/fluidimage/topologies/test_optical_flow.py diff --git a/fluidimage/topologies/test_piv.py b/src/fluidimage/topologies/test_piv.py similarity index 100% rename from fluidimage/topologies/test_piv.py rename to src/fluidimage/topologies/test_piv.py diff --git a/fluidimage/topologies/test_preproc.py b/src/fluidimage/topologies/test_preproc.py similarity index 100% rename from fluidimage/topologies/test_preproc.py rename to src/fluidimage/topologies/test_preproc.py diff --git a/fluidimage/topologies/test_surftracking.py b/src/fluidimage/topologies/test_surftracking.py similarity index 100% rename from fluidimage/topologies/test_surftracking.py rename to src/fluidimage/topologies/test_surftracking.py diff --git a/fluidimage/util/__init__.py b/src/fluidimage/util/__init__.py similarity index 100% rename from fluidimage/util/__init__.py rename to src/fluidimage/util/__init__.py diff --git a/fluidimage/util/log.py b/src/fluidimage/util/log.py similarity index 100% rename from fluidimage/util/log.py rename to src/fluidimage/util/log.py diff --git a/fluidimage/util/meson.build b/src/fluidimage/util/meson.build similarity index 100% rename from fluidimage/util/meson.build rename to src/fluidimage/util/meson.build diff --git a/fluidimage/util/test_util.py b/src/fluidimage/util/test_util.py similarity index 100% rename from fluidimage/util/test_util.py rename to src/fluidimage/util/test_util.py diff --git a/fluidimage/util/util.py b/src/fluidimage/util/util.py similarity index 100% rename from fluidimage/util/util.py rename to src/fluidimage/util/util.py diff --git a/fluidimage/works/__init__.py b/src/fluidimage/works/__init__.py similarity index 100% rename from fluidimage/works/__init__.py rename to src/fluidimage/works/__init__.py diff --git a/fluidimage/works/meson.build b/src/fluidimage/works/meson.build similarity index 100% rename from fluidimage/works/meson.build rename to src/fluidimage/works/meson.build diff --git a/fluidimage/works/optical_flow.py b/src/fluidimage/works/optical_flow.py similarity index 100% rename from fluidimage/works/optical_flow.py rename to src/fluidimage/works/optical_flow.py diff --git a/fluidimage/works/piv/__init__.py b/src/fluidimage/works/piv/__init__.py similarity index 100% rename from fluidimage/works/piv/__init__.py rename to src/fluidimage/works/piv/__init__.py diff --git a/fluidimage/works/piv/_try_piv.py b/src/fluidimage/works/piv/_try_piv.py similarity index 100% rename from fluidimage/works/piv/_try_piv.py rename to src/fluidimage/works/piv/_try_piv.py diff --git a/fluidimage/works/piv/fix.py b/src/fluidimage/works/piv/fix.py similarity index 100% rename from fluidimage/works/piv/fix.py rename to src/fluidimage/works/piv/fix.py diff --git a/fluidimage/works/piv/meson.build b/src/fluidimage/works/piv/meson.build similarity index 100% rename from fluidimage/works/piv/meson.build rename to src/fluidimage/works/piv/meson.build diff --git a/fluidimage/works/piv/multipass.py b/src/fluidimage/works/piv/multipass.py similarity index 100% rename from fluidimage/works/piv/multipass.py rename to src/fluidimage/works/piv/multipass.py diff --git a/fluidimage/works/piv/singlepass.py b/src/fluidimage/works/piv/singlepass.py similarity index 100% rename from fluidimage/works/piv/singlepass.py rename to src/fluidimage/works/piv/singlepass.py diff --git a/fluidimage/works/piv/test_piv.py b/src/fluidimage/works/piv/test_piv.py similarity index 100% rename from fluidimage/works/piv/test_piv.py rename to src/fluidimage/works/piv/test_piv.py diff --git a/fluidimage/works/preproc.py b/src/fluidimage/works/preproc.py similarity index 100% rename from fluidimage/works/preproc.py rename to src/fluidimage/works/preproc.py diff --git a/fluidimage/works/surface_tracking.py b/src/fluidimage/works/surface_tracking.py similarity index 100% rename from fluidimage/works/surface_tracking.py rename to src/fluidimage/works/surface_tracking.py diff --git a/fluidimage/works/with_mask.py b/src/fluidimage/works/with_mask.py similarity index 100% rename from fluidimage/works/with_mask.py rename to src/fluidimage/works/with_mask.py