about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/laspy/default.nix35
-rw-r--r--pkgs/development/python-modules/laszip/default.nix58
-rw-r--r--pkgs/top-level/python-packages.nix4
3 files changed, 97 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/laspy/default.nix b/pkgs/development/python-modules/laspy/default.nix
new file mode 100644
index 0000000000000..2907e61b9d8c4
--- /dev/null
+++ b/pkgs/development/python-modules/laspy/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, laszip
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "laspy";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-Wdbp6kjuZkJh+pp9OVczdsRNgn41/Tdt7nGFvewcQ1w=";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    laszip
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "laspy" "laszip" ];
+
+  meta = with lib; {
+    description = "Interface for reading/modifying/creating .LAS LIDAR files";
+    homepage = "https://github.com/laspy/laspy";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ matthewcroughan ];
+  };
+}
diff --git a/pkgs/development/python-modules/laszip/default.nix b/pkgs/development/python-modules/laszip/default.nix
new file mode 100644
index 0000000000000..cefd2d5f6e1a9
--- /dev/null
+++ b/pkgs/development/python-modules/laszip/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, scikit-build-core
+, distlib
+, pytestCheckHook
+, pyproject-metadata
+, pathspec
+, pybind11
+, cmake
+, LASzip
+}:
+
+buildPythonPackage rec {
+  pname = "laszip-python";
+  version = "0.2.1";
+
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tmontaigu";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-ujKoUm2Btu25T7ZrSGqjRc3NR1qqsQU8OwHQDSx8grY=";
+  };
+
+  nativeBuildInputs = [
+    scikit-build-core
+    scikit-build-core.optional-dependencies.pyproject
+    cmake
+  ];
+
+  buildInputs = [
+    pybind11
+    LASzip
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preBuild = ''
+    cd ..
+  '';
+
+  # There are no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "laszip" ];
+
+  meta = with lib; {
+    description = "Unofficial bindings between Python and LASzip made using pybind11";
+    homepage = "https://github.com/tmontaigu/laszip-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthewcroughan ];
+  };
+}
+
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 7ed831a95adfb..1085080f0cb6e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5309,6 +5309,10 @@ self: super: with self; {
 
   larynx-train = callPackage ../development/python-modules/larynx-train { };
 
+  laspy = callPackage ../development/python-modules/laspy { };
+
+  laszip = callPackage ../development/python-modules/laszip { };
+
   latexcodec = callPackage ../development/python-modules/latexcodec { };
 
   latexify-py = callPackage ../development/python-modules/latexify-py { };