tools known working env

This commit is contained in:
Jan Kowalczyk
2025-06-25 12:36:25 +02:00
parent 207eed14ef
commit 0bf11407d9
4 changed files with 3121 additions and 1352 deletions

17
tools/flake.lock generated
View File

@@ -73,6 +73,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-newest": {
"locked": {
"lastModified": 1745391562,
"narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"poetry2nix": { "poetry2nix": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
@@ -101,6 +117,7 @@
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-newest": "nixpkgs-newest",
"poetry2nix": "poetry2nix" "poetry2nix": "poetry2nix"
} }
}, },

View File

@@ -4,22 +4,44 @@
inputs = { inputs = {
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
# Added newest nixpkgs for an updated poetry package.
nixpkgs-newest.url = "github:NixOS/nixpkgs/nixos-unstable";
poetry2nix = { poetry2nix = {
url = "github:nix-community/poetry2nix"; url = "github:nix-community/poetry2nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = { self, nixpkgs, flake-utils, poetry2nix }: outputs =
flake-utils.lib.eachDefaultSystem (system: {
self,
nixpkgs,
flake-utils,
poetry2nix,
nixpkgs-newest,
}:
flake-utils.lib.eachDefaultSystem (
system:
let let
# see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples.
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
inherit (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication; # Use the newest nixpkgs exclusively for the poetry package.
pkgsNew = nixpkgs-newest.legacyPackages.${system};
inherit (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication defaultPoetryOverrides;
inherit poetry2nix;
in in
{ {
packages = { packages = {
myapp = mkPoetryApplication { projectDir = self; preferWheels = true; }; myapp = mkPoetryApplication {
projectDir = self;
preferWheels = true;
overrides = defaultPoetryOverrides.extend (
self: super: {
umap = super.umap.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ super.setuptools ];
});
}
);
};
default = self.packages.${system}.myapp; default = self.packages.${system}.myapp;
}; };
@@ -29,16 +51,20 @@
# #
# Use this shell for developing your app. # Use this shell for developing your app.
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
inputsFrom = [ self.packages.${system}.myapp ]; inputsFrom = [
self.packages.${system}.myapp
];
}; };
# Shell for poetry. # Shell for poetry.
# #
# nix develop .#poetry # nix develop .#poetry
# #
# Use this shell for changes to pyproject.toml and poetry.lock. # Here we use the poetry package from the newest nixpkgs input while keeping
# all other dependencies locked.
devShells.poetry = pkgs.mkShell { devShells.poetry = pkgs.mkShell {
packages = [ pkgs.poetry ]; packages = [ pkgsNew.poetry ];
}; };
}); }
);
} }

4404
tools/poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,9 +7,9 @@ readme = "README.md"
package-mode = false package-mode = false
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.11" python = ">=3.11,<3.12"
pointcloudset = "^0.9.0" pointcloudset = "^0.9.0"
open3d = {extras = ["all"], version = "^0.18.0"} open3d = "^0.19.0"
scikit-learn = "^1.4.2" scikit-learn = "^1.4.2"
dash = "^2.16.1" dash = "^2.16.1"
addict = "^2.4.0" addict = "^2.4.0"
@@ -21,6 +21,10 @@ dask-expr = "^1.1.3"
pandas = "^2.2.2" pandas = "^2.2.2"
pathvalidate = "^3.2.0" pathvalidate = "^3.2.0"
tabulate = "^0.9.0" tabulate = "^0.9.0"
tensorflow-datasets = "^4.9.8"
tensorflow = "^2.19.0"
setuptools = "^79.0.1"
umap-learn = "^0.5.7"
[build-system] [build-system]
requires = ["poetry-core"] requires = ["poetry-core"]