Compare commits
11 commits
master
...
perception
Author | SHA1 | Date | |
---|---|---|---|
1c43879f4f | |||
d6abd32dea | |||
c876f7be7b | |||
7a2e4f9144 | |||
07c6463fc0 | |||
123e07d33f | |||
e9a1e2ab0d | |||
324bf87f89 | |||
9dee4e9ff1 | |||
c3b5cf1a22 | |||
c49eb43d01 |
18 changed files with 797 additions and 38 deletions
29
flake.lock
generated
29
flake.lock
generated
|
@ -20,11 +20,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -95,27 +95,26 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1712307699,
|
||||
"narHash": "sha256-/PzHcPvBvJeZTY9JCEtbNljYLecwggveHQ2oHPlTycA=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1737552376,
|
||||
"narHash": "sha256-Dh3mcaPiZr/1Bd3+LXDO0Izxku3w1mXKEkCr3hVs8Jg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3541c7628de9414f999ced044c95a284584f4ec1",
|
||||
"rev": "a910ca0ea5b9ae5079d689e641a368d819f2b710",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1707268954,
|
||||
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
|
||||
"lastModified": 1733581040,
|
||||
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||
"owner": "lopsided98",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
|
||||
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -146,11 +145,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715462692,
|
||||
"narHash": "sha256-ClDP5aXC46y4wyHhEETWHitqIoNLDrt6uRX2HpZtmd0=",
|
||||
"lastModified": 1736986092,
|
||||
"narHash": "sha256-HdVJ5cCIORyy7m57VnunC8kBd6r5B680M8sUhAr7mzo=",
|
||||
"owner": "lopsided98",
|
||||
"repo": "nix-ros-overlay",
|
||||
"rev": "f1c32375c27e59a2e8107d52357a5ee44b3c4413",
|
||||
"rev": "503be406769b14b7907c52000d41a3e6a3531f08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
65
flake.nix
65
flake.nix
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
description = "Robossembler Development Environments on Nix";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs?ref=master";
|
||||
nixpkgs.url = "github:nixos/nixpkgs";
|
||||
flake-utils.follows = "ros-overlay/flake-utils";
|
||||
ros-overlay.url = "github:lopsided98/nix-ros-overlay?ref=develop";
|
||||
ros-nixpkgs.follows = "ros-overlay/nixpkgs";
|
||||
|
@ -24,6 +24,7 @@
|
|||
(import ./overlay.nix)
|
||||
gazebo-overlay.overlays.default
|
||||
];
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
ros = import ros-nixpkgs { inherit system; overlays = [
|
||||
ros-overlay.overlays.default
|
||||
|
@ -34,41 +35,51 @@
|
|||
|
||||
rlib = import ./. {
|
||||
inherit pkgs;
|
||||
inherit (pkgs) lib mayo rbs-workbench cad-gen cg-gen;
|
||||
inherit (pkgs) lib rbs-workbench cad-gen cg-gen;
|
||||
inherit (pkgs.stdenv) mkDerivation;
|
||||
inherit (pkgs.libsForQt5) wrapQtAppsHook;
|
||||
};
|
||||
|
||||
packages = {
|
||||
inherit (pkgs) cad-gen cg-gen blender;
|
||||
inherit (pkgs) cad-gen cg-gen blender cad-gen-docker;
|
||||
};
|
||||
|
||||
inherit ros pkgs;
|
||||
|
||||
devShells = {
|
||||
default =
|
||||
let
|
||||
my-python-packages = p: with p; [
|
||||
unified-planning
|
||||
pybullet
|
||||
scipy
|
||||
spatialmath
|
||||
rcg-pipeline
|
||||
rbs-workbench
|
||||
];
|
||||
in
|
||||
pkgs.mkShell {
|
||||
packages = (with pkgs; [ freecad mayo ]) ++ [ (pkgs.python3.withPackages my-python-packages) ];
|
||||
};
|
||||
let
|
||||
my-python-packages = p: with p; [
|
||||
unified-planning
|
||||
scipy
|
||||
spatialmath
|
||||
rcg-pipeline
|
||||
rbs-workbench
|
||||
];
|
||||
in
|
||||
pkgs.mkShell {
|
||||
packages = (with pkgs; [ freecad ]) ++ [ (pkgs.python3.withPackages my-python-packages) ];
|
||||
};
|
||||
|
||||
test =
|
||||
let
|
||||
my-python-packages = p: with p; [ scenario ];
|
||||
in
|
||||
pkgs.mkShell {
|
||||
packages = [ (pkgs.python3.withPackages my-python-packages) ];
|
||||
};
|
||||
|
||||
ros = pkgs.mkShell {
|
||||
name = "ROS environment";
|
||||
packages = [
|
||||
pkgs.vcstool
|
||||
ros.colcon
|
||||
pkgs.scenario
|
||||
(with ros.rosPackages.humble; buildEnv {
|
||||
paths = [
|
||||
ros-core
|
||||
rmw-fastrtps-dynamic-cpp
|
||||
rviz2
|
||||
];
|
||||
})
|
||||
];
|
||||
|
@ -76,7 +87,7 @@
|
|||
RMW_IMPLEMENTATION = "rmw_fastrtps_dynamic_cpp";
|
||||
};
|
||||
|
||||
all = pkgs.mkShell { packages = with pkgs; [ fstl mayo cad-gen cg-gen ]; };
|
||||
all = pkgs.mkShell { packages = with pkgs; [ fstl cad-gen cg-gen ]; };
|
||||
|
||||
ci = pkgs.mkShell { buildInputs = [ pkgs.jq ]; };
|
||||
|
||||
|
@ -85,24 +96,36 @@
|
|||
perception =
|
||||
let
|
||||
perception-packages = p: with p; [
|
||||
torch
|
||||
pytorchWithCuda
|
||||
torchvision
|
||||
torchaudio
|
||||
detectron2
|
||||
scipy
|
||||
pyrr
|
||||
pillow
|
||||
numpy
|
||||
opencv4
|
||||
boto3
|
||||
tensorboardx
|
||||
albumentations
|
||||
simplejson
|
||||
|
||||
ultralytics
|
||||
];
|
||||
in
|
||||
pkgs.mkShell {
|
||||
packages = [ (pkgs.python3.withPackages perception-packages) ];
|
||||
packages = [ pkgs.s3cmd pkgs.libGL ] ++ [ (pkgs.python3.withPackages perception-packages) ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
nixConfig = {
|
||||
extra-substituters = [ "https://ros.cachix.org" "https://robossembler.cachix.org" ];
|
||||
extra-substituters = [ "https://ros.cachix.org" "https://robossembler.cachix.org" "https://cuda-maintainers.cachix.org" ];
|
||||
extra-trusted-public-keys = [
|
||||
"ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo="
|
||||
"robossembler.cachix.org-1:56jBJHroRQSGpZFkW8XMquuzQTjAF/XTo6MogmBM7SQ="
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
50
pkgs/cmake-build-extension/default.nix
Normal file
50
pkgs/cmake-build-extension/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
wheel,
|
||||
gitpython,
|
||||
cmake,
|
||||
ninja,
|
||||
pkg-config
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cmake-build-extension";
|
||||
version = "0.6.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "diegoferigo";
|
||||
repo = "cmake-build-extension";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-taAwxa7Sv+xc8xJRnNM6V7WPcL+TWZOkngwuqjAslzc=";
|
||||
};
|
||||
|
||||
# nativeBuildInputs = [ cmake ];
|
||||
# buildInputs = [ cmake ninja ];
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
propagatedBuildInputs = [ gitpython ];
|
||||
|
||||
build-system = [
|
||||
cmake
|
||||
ninja
|
||||
setuptools
|
||||
setuptools-scm
|
||||
wheel
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"cmake_build_extension"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Setuptools extension to build and package CMake projects";
|
||||
homepage = "https://github.com/diegoferigo/cmake-build-extension";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
36
pkgs/coremltools/default.nix
Normal file
36
pkgs/coremltools/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
wheel,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "coremltools";
|
||||
version = "8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "apple";
|
||||
repo = "coremltools";
|
||||
rev = version;
|
||||
hash = "sha256-nMrOtG8kAvz7DxYcf2Dh5f65zbTPSuUfoU7XL2Cx1Aw=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"coremltools"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Core ML tools contain supporting tools for Core ML model conversion, editing, and validation";
|
||||
homepage = "https://github.com/apple/coremltools";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
|
@ -12,7 +12,7 @@ self: super: with self.lib; let
|
|||
pname = "bpy";
|
||||
src = self.fetchurl {
|
||||
url = "https://download.blender.org/source/${old.pname}-${old.version}.tar.xz";
|
||||
hash = "sha256-3AAtguPDQMk4VcZoRzDQGAG2aaKbHMa3XuuZC6aecj8=";
|
||||
hash = "sha256-4LfgcP9wbSNma6kOuZqFutuN+oC4SNro0zUb8l1Hr/k=";
|
||||
};
|
||||
cmakeFlags = old.cmakeFlags ++ [
|
||||
"-DWITH_PYTHON_INSTALL=OFF"
|
||||
|
@ -44,6 +44,21 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
# Docker Images
|
||||
|
||||
cad-gen-docker = self.dockerTools.buildImage {
|
||||
name = "cad-gen-docker";
|
||||
tag = "latest";
|
||||
copyToRoot = self.buildEnv {
|
||||
name = "image-root";
|
||||
paths = with self; [ cad-gen ];
|
||||
pathsToLink = [ "/bin" ];
|
||||
};
|
||||
};
|
||||
|
||||
tiny-process-library = self.callPackage ./scenario/tiny-process-library.nix { };
|
||||
ycm = self.callPackage ./scenario/ycm-cmake-modules.nix { };
|
||||
|
||||
# Python packages
|
||||
|
||||
|
||||
|
@ -60,6 +75,39 @@ in {
|
|||
hash = "sha256-X1LTOfbIAMy6gToNYS0JpeJpHi0jHPsEjrnCq2c9U0E=";
|
||||
};
|
||||
});
|
||||
# torchWithCuda = python-prev.torchWithCuda.overridePythonAttrs (oldAttrs: {
|
||||
# extraRunpaths = [ "${super.lib.getLib self.cudaPackages.cuda_nvrtc}/lib" ];
|
||||
# postPhases = super.lib.optionals self.stdenv.hostPlatform.isUnix ["postPatchelfPhase" ];
|
||||
# postPatchelfPhase = ''
|
||||
# while IFS= read -r -d $'\0' elf ; do
|
||||
# for extra in $extraRunpaths ; do
|
||||
# echo patchelf "$elf" --add-rpath "$extra" >&2
|
||||
# patchelf "$elf" --add-rpath "$extra"
|
||||
# done
|
||||
# done < <(
|
||||
# find "''${!outputLib}" "$out" -type f -iname '*.so' -print0
|
||||
# )
|
||||
# '';
|
||||
# });
|
||||
torchvision = python-prev.torchvision.override {
|
||||
torch = python-final.pytorchWithCuda;
|
||||
};
|
||||
torchaudio = python-prev.torchaudio.override {
|
||||
torch = python-final.pytorchWithCuda;
|
||||
};
|
||||
detectron2 = python-prev.detectron2.override {
|
||||
torch = python-final.pytorchWithCuda;
|
||||
torchvision = python-final.torchvision;
|
||||
};
|
||||
ultralytics-thop = self.python3Packages.callPackage ./ultralytics-thop { torch = python-final.pytorchWithCuda; };
|
||||
coremltools = self.python3Packages.callPackage ./coremltools { };
|
||||
lap = self.python3Packages.callPackage ./lap { };
|
||||
pybboxes = self.python3Packages.callPackage ./pybboxes { };
|
||||
sahi = self.python3Packages.callPackage ./sahi { inherit (python-final) pybboxes; };
|
||||
ultralytics = self.python3Packages.callPackage ./ultralytics {
|
||||
inherit (python-final) coremltools lap ultralytics-thop;
|
||||
torch = python-final.pytorchWithCuda;
|
||||
};
|
||||
unified-planning = self.python3Packages.callPackage ./unified-planning { };
|
||||
bpy-wheel = self.python3Packages.callPackage ./bpy-wheel { };
|
||||
pysdf = self.python3Packages.callPackage ./pysdf { };
|
||||
|
@ -74,6 +122,9 @@ in {
|
|||
rbs-workbench = self.python3Packages.callPackage ./freecad.robossembler { inherit (python-final) freecad-lib; inherit rbsFrameworkSrc; };
|
||||
freecad-lib = self.python3Packages.toPythonModule (self.callPackage ./freecad-lib { });
|
||||
bpy-lib = self.python3Packages.toPythonModule bpy;
|
||||
cmake-build-extension = self.python3Packages.callPackage ./cmake-build-extension { };
|
||||
scenario = self.python3Packages.callPackage ./scenario { inherit (python-final) cmake-build-extension; };
|
||||
idyntree = self.python3Packages.callPackage ./idyntree { inherit (python-final) cmake-build-extension; };
|
||||
}
|
||||
)
|
||||
];
|
||||
|
|
|
@ -32,7 +32,7 @@ buildPythonPackage rec {
|
|||
freecad-lib
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "freecad.robossembler" ];
|
||||
# pythonImportsCheck = [ "freecad.robossembler" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
13
pkgs/idyntree/cmake-fix-libxml2-find-package.patch
Normal file
13
pkgs/idyntree/cmake-fix-libxml2-find-package.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --color -ur a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt 2021-05-30 13:46:22.256040282 +0200
|
||||
+++ b/CMakeLists.txt 2021-05-30 14:15:42.530181216 +0200
|
||||
@@ -333,7 +333,7 @@
|
||||
# So, try first to find the CMake module provided by libxml2 package, then fallback
|
||||
# on the CMake's FindLibXml2.cmake module (which can lack some definition, especially
|
||||
# in static build case).
|
||||
-find_package(LibXml2 QUIET NO_MODULE)
|
||||
+find_package(LibXml2 QUIET MODULE)
|
||||
if(DEFINED LIBXML2_VERSION_STRING)
|
||||
set(LIBXML2_FOUND ON)
|
||||
set(LIBXML2_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS})
|
||||
Seulement dans b: good.patch
|
62
pkgs/idyntree/default.nix
Normal file
62
pkgs/idyntree/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
ninja,
|
||||
cmake-build-extension,
|
||||
numpy,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
wheel,
|
||||
eigen,
|
||||
libxml2,
|
||||
assimp,
|
||||
swig,
|
||||
pybind11,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "idyntree";
|
||||
version = "13.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robotology";
|
||||
repo = "idyntree";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-OD00X5xjcti7GthAkluM7GxUHZ9tl0ne4HhflHsW2qk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ swig pybind11 ];
|
||||
|
||||
buildInputs = [ assimp eigen libxml2.dev ];
|
||||
|
||||
build-system = [
|
||||
cmake
|
||||
ninja
|
||||
cmake-build-extension
|
||||
numpy
|
||||
setuptools
|
||||
setuptools-scm
|
||||
wheel
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DIDYNTREE_USES_PYTHON_PYBIND11='ON'"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"idyntree"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Multibody Dynamics Library designed for Free Floating Robots";
|
||||
homepage = "https://github.com/robotology/idyntree";
|
||||
changelog = "https://github.com/robotology/idyntree/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
38
pkgs/lap/default.nix
Normal file
38
pkgs/lap/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
cython,
|
||||
numpy,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lap";
|
||||
version = "0.5.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gatagat";
|
||||
repo = "lap";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ktLwdeb7UWhdihOhdeYIi6Geyp7aJsVPPec22MtI9Jo=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
cython
|
||||
numpy
|
||||
setuptools
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"lap"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Linear Assignment Problem solver (LAPJV/LAPMOD";
|
||||
homepage = "https://github.com/gatagat/lap";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
47
pkgs/pybboxes/default.nix
Normal file
47
pkgs/pybboxes/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
wheel,
|
||||
numpy,
|
||||
pycocotools,
|
||||
pyyaml,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pybboxes";
|
||||
version = "0.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "devrimcavusoglu";
|
||||
repo = "pybboxes";
|
||||
rev = version;
|
||||
hash = "sha256-3JP6gLm62Atq8RJYb4AMPUcGyzyrXMG/ayqvMCNk9g8=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
pycocotools
|
||||
pyyaml
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pybboxes"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Light weight toolkit for bounding boxes providing conversion between bounding box types and simple computations";
|
||||
homepage = "https://github.com/devrimcavusoglu/pybboxes";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
61
pkgs/sahi/default.nix
Normal file
61
pkgs/sahi/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
wheel,
|
||||
click,
|
||||
fire,
|
||||
numpy,
|
||||
opencv-python,
|
||||
pillow,
|
||||
pybboxes,
|
||||
pyyaml,
|
||||
requests,
|
||||
shapely,
|
||||
terminaltables,
|
||||
tqdm,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sahi";
|
||||
version = "0.11.20";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "obss";
|
||||
repo = "sahi";
|
||||
rev = version;
|
||||
hash = "sha256-TFphsF55El32siGdE1WJLnyVXGfaE32Nttvdcy/oqk0=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
click
|
||||
fire
|
||||
numpy
|
||||
opencv-python
|
||||
pillow
|
||||
pybboxes
|
||||
pyyaml
|
||||
requests
|
||||
shapely
|
||||
terminaltables
|
||||
tqdm
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"sahi"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Framework agnostic sliced/tiled inference + interactive ui + error analysis plots";
|
||||
homepage = "https://github.com/obss/sahi";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
70
pkgs/scenario/default.nix
Normal file
70
pkgs/scenario/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
ninja,
|
||||
cmake-build-extension,
|
||||
#idyntree,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
wheel,
|
||||
tiny-process-library,
|
||||
ycm,
|
||||
pkg-config,
|
||||
fetchgit
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scenario";
|
||||
version = "1.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "movefasta";
|
||||
repo = "scenario";
|
||||
rev = "6bf8f7227778a55aef335599e8d127c061af5bf6";
|
||||
hash = "sha256-QWBVIr4WaPHLzoRNm8p781k3obvywP+s0YbqP1+Tzd0=";
|
||||
};
|
||||
|
||||
patches = [ ./ignition.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace deps/CMakeLists.txt \
|
||||
--replace "GIT_REPOSITORY https://github.com/robotology/ycm.git" "SOURCE_DIR ${ycm.src}" \
|
||||
--replace "GIT_REPOSITORY https://gitlab.com/eidheim/tiny-process-library.git" "SOURCE_DIR ${tiny-process-library.src}" \
|
||||
--replace "SCENARIO_CALL_FROM_SETUP_PY AND NOT USE_IGNITION" "FALSE"
|
||||
substituteInPlace pyproject.toml --replace-fail '"idyntree>=3.1",' ""
|
||||
substituteInPlace setup.py --replace-fail 'cmake_depends_on=["idyntree"],' ""
|
||||
'';
|
||||
|
||||
# nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
build-system = [
|
||||
cmake
|
||||
ninja
|
||||
cmake-build-extension
|
||||
#idyntree
|
||||
setuptools
|
||||
setuptools-scm
|
||||
wheel
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSCENARIO_USE_IGNITION=FALSE"
|
||||
"-DSCENARIO_BUILD_SHARED_LIBRARY=ON"
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"scenario"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "";
|
||||
homepage = "https://github.com/movefasta/scenario";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
12
pkgs/scenario/ignition.patch
Normal file
12
pkgs/scenario/ignition.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/setup.py b/setup.py
|
||||
index 9352f44..e204b0d 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -16,6 +16,7 @@ setuptools.setup(
|
||||
cmake_configure_options=[
|
||||
"-DSCENARIO_CALL_FROM_SETUP_PY:BOOL=ON",
|
||||
"-DSCENARIO_BUILD_SHARED_LIBRARY:BOOL=OFF",
|
||||
+ '-DIGNITION_DISTRIBUTION="ignition-gazebo"',
|
||||
f"-DPython3_EXECUTABLE:PATH={sys.executable}",
|
||||
],
|
||||
disable_editable=True,
|
31
pkgs/scenario/mkder.nix
Normal file
31
pkgs/scenario/mkder.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "scenario";
|
||||
version = "unstable-2024-10-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "movefasta";
|
||||
repo = "scenario";
|
||||
rev = "6bf8f7227778a55aef335599e8d127c061af5bf6";
|
||||
hash = "sha256-QWBVIr4WaPHLzoRNm8p781k3obvywP+s0YbqP1+Tzd0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "";
|
||||
homepage = "https://github.com/movefasta/scenario";
|
||||
license = lib.licenses.unfree; # FIXME: nix-init did not find a license
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "scenario";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
31
pkgs/scenario/tiny-process-library.nix
Normal file
31
pkgs/scenario/tiny-process-library.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tiny-process-library";
|
||||
version = "2.0.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "eidheim";
|
||||
repo = "tiny-process-library";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ntg0e3Ox5swCoimZG6gwpD2eKKFQx5+vXq77cK+wT1Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A small platform independent library making it simple to create and stop new processes in C++, as well as writing to stdin and reading from stdout and stderr of a new process";
|
||||
homepage = "https://gitlab.com/eidheim/tiny-process-library";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "tiny-process-library";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
32
pkgs/scenario/ycm-cmake-modules.nix
Normal file
32
pkgs/scenario/ycm-cmake-modules.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ycm-cmake-modules";
|
||||
version = "0.18.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robotology";
|
||||
repo = "ycm-cmake-modules";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7kmXvFrb4HFZyie5FurYeChCEivfkxBe+X5bYXirQqc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "YCM (YCM CMake modules) is a collection of various useful CMake modules";
|
||||
homepage = "https://github.com/robotology/ycm-cmake-modules";
|
||||
changelog = "https://github.com/robotology/ycm-cmake-modules/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.unfree; # FIXME: nix-init did not find a license
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "ycm-cmake-modules";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
44
pkgs/ultralytics-thop/default.nix
Normal file
44
pkgs/ultralytics-thop/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
wheel,
|
||||
numpy,
|
||||
torch,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "thop";
|
||||
version = "2.0.13";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ultralytics";
|
||||
repo = "thop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VgHRDXKRZjCE8RR+77GgTGiXeq5e1Bo4l4N72DMRc+s=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
setuptools
|
||||
torch
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"thop"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Profile PyTorch models for FLOPs and parameters, helping to evaluate computational efficiency and memory usage";
|
||||
homepage = "https://github.com/ultralytics/thop";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
159
pkgs/ultralytics/default.nix
Normal file
159
pkgs/ultralytics/default.nix
Normal file
|
@ -0,0 +1,159 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
wheel,
|
||||
beautifulsoup4,
|
||||
onnxruntime,
|
||||
# sahi,
|
||||
lap,
|
||||
matplotlib,
|
||||
numpy,
|
||||
opencv-python,
|
||||
pandas,
|
||||
pillow,
|
||||
psutil,
|
||||
py-cpuinfo,
|
||||
pyyaml,
|
||||
requests,
|
||||
scipy,
|
||||
seaborn,
|
||||
torch,
|
||||
torchvision,
|
||||
tqdm,
|
||||
ultralytics-thop,
|
||||
coverage,
|
||||
ipython,
|
||||
mkdocs,
|
||||
mkdocs-jupyter,
|
||||
#mkdocs-macros-plugin,
|
||||
mkdocs-material,
|
||||
mkdocs-redirects,
|
||||
#mkdocs-ultralytics-plugin,
|
||||
mkdocstrings,
|
||||
pytest,
|
||||
pytest-cov,
|
||||
coremltools,
|
||||
flatbuffers,
|
||||
h5py,
|
||||
keras,
|
||||
onnx,
|
||||
openvino,
|
||||
scikit-learn,
|
||||
tensorflow,
|
||||
#tensorflowjs,
|
||||
tensorstore,
|
||||
albumentations,
|
||||
#hub-sdk,
|
||||
pycocotools,
|
||||
#comet,
|
||||
dvclive,
|
||||
tensorboard,
|
||||
shapely,
|
||||
streamlit,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ultralytics";
|
||||
version = "8.3.61";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ultralytics";
|
||||
repo = "ultralytics";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0BMOFjVSYDFj3vfDccMCHnM1FqHesXYMWR4yCSs4oac=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
lap
|
||||
matplotlib
|
||||
numpy
|
||||
opencv-python
|
||||
pandas
|
||||
pillow
|
||||
psutil
|
||||
py-cpuinfo
|
||||
pyyaml
|
||||
requests
|
||||
scipy
|
||||
seaborn
|
||||
torch
|
||||
torchvision
|
||||
tqdm
|
||||
ultralytics-thop
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
dev = [
|
||||
coverage
|
||||
ipython
|
||||
mkdocs
|
||||
mkdocs-jupyter
|
||||
#mkdocs-macros-plugin
|
||||
mkdocs-material
|
||||
mkdocs-redirects
|
||||
#mkdocs-ultralytics-plugin
|
||||
mkdocstrings
|
||||
pytest
|
||||
pytest-cov
|
||||
];
|
||||
export = [
|
||||
coremltools
|
||||
flatbuffers
|
||||
h5py
|
||||
keras
|
||||
numpy
|
||||
onnx
|
||||
openvino
|
||||
scikit-learn
|
||||
tensorflow
|
||||
#tensorflowjs
|
||||
tensorstore
|
||||
];
|
||||
extra = [
|
||||
albumentations
|
||||
#hub-sdk
|
||||
ipython
|
||||
pycocotools
|
||||
];
|
||||
logging = [
|
||||
# comet
|
||||
dvclive
|
||||
tensorboard
|
||||
];
|
||||
solutions = [
|
||||
shapely
|
||||
streamlit
|
||||
];
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
sed -i '/torchvision>=0.9.0/d' pyproject.toml
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [
|
||||
beautifulsoup4
|
||||
onnxruntime
|
||||
shapely
|
||||
# sahi
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ultralytics"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Ultralytics YOLO11";
|
||||
homepage = "https://github.com/ultralytics/ultralytics";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue