Files
opencv-python-related/flake.nix
T

110 lines
3.6 KiB
Nix

{
description = "Pre-built CPU-only OpenCV packages for Python. ";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
pythonPackages = pkgs.python312Packages;
ultralytics-thop = pkgs.python3Packages.buildPythonPackage rec {
version = "2.0.9";
pname = "ultralytics-htop";
pyproject = true;
src = pkgs.fetchFromGitHub {
owner = "ultralytics";
repo = "thop";
rev = "d304cebcc81f65a7b0d4304290f2abb100407ec0";
hash = "sha256-FzjxEk6yiG+IWwQEzsHcEAB4iVQT1QsyoGlG4I9lSwU=";
fetchSubmodules = true;
};
propagatedBuildInputs = [ pythonPackages.numpy pythonPackages.torch ];
nativeBuildInputs =
[ pythonPackages.setuptools pythonPackages.setuptools-scm ];
meta = with pkgs.lib; {
description = ''
THOP offers an intuitive API to profile PyTorch models
by calculating the number of MACs and parameters. This
functionality is crucial for assessing the computational
efficiency and memory footprint of deep learning models.
'';
homepage = "https://github.com/ultralytics/thop";
license = pkgs.lib.licenses.mit;
maintainers = with maintainers; [ ];
};
};
python-path = pkgs.python3Packages.buildPythonPackage rec {
# pname = "opencv-python";
# version = "4.10.0.84";
version = "8.3.13";
pname = "ultralytics";
pyproject = true;
src = pkgs.fetchFromGitHub {
owner = "ultralytics";
repo = "ultralytics";
rev = "15e6133534d82ec6845308f1e258d77c1b9bab36";
hash = "sha256-Wq2pCD0l0AbdQ2IPfEfxPffSxgv/5qFadB4BHAExEbU=";
fetchSubmodules = true;
};
propagatedBuildInputs = [
pythonPackages.requests
pythonPackages.pyyaml
pythonPackages.torch
pythonPackages.tqdm
pythonPackages.psutil
pythonPackages.torchvision
pythonPackages.pandas
pythonPackages.matplotlib
];
nativeBuildInputs = [
pythonPackages.setuptools
pythonPackages.setuptools-scm
pythonPackages.pip
# pythonPackages.scikit-build
# pythonPackages.numpy_2
# pythonPackages.cmake
];
nativeCheckInputs =
[ pythonPackages.more-itertools pythonPackages.pytestCheckHook ];
# disabledTests = [
# # creates a file, checks when it was last accessed/modified
# # AssertionError: assert 1650036414.0 == 1650036414.960688
# # "test_utime"
# ];
# pythonImportsCheck = [ "cv2" ];
meta = with pkgs.lib; {
description = "Object-oriented file system path manipulation";
homepage = "https://github.com/jaraco/path";
changelog =
"https://github.com/jaraco/path/blob/v${version}/NEWS.rst";
license = pkgs.lib.licenses.mit;
maintainers = with maintainers; [ ];
};
};
env = pkgs.python312.withPackages (ps: [ ultralytics-thop ]);
in {
packages = {
default = pkgs.python312Packages.path;
env = env;
};
devShells.default = pkgs.mkShell { buildInputs = [ env ]; };
});
}