Unverified Commit 5ecb91a8 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

python312Packages.fastexcel: init at 0.12.1 (#373419)

parents 8042f961 9bfe9c98
Loading
Loading
Loading
Loading
+84 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  rustPlatform,

  # nativeBuildInputs
  cargo,
  rustc,

  # dependencies
  pyarrow,
  pythonOlder,
  typing-extensions,

  # optional-dependencies
  pandas,
  polars,

  # tests
  pytest-mock,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "fastexcel";
  version = "0.12.1";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "ToucanToco";
    repo = "fastexcel";
    tag = "v${version}";
    hash = "sha256-1BcArjhdbsYZ8VIz1FJYOLKSKQXOjLUXFonIXB+TfiY=";
  };

  cargoDeps = rustPlatform.fetchCargoVendor {
    inherit pname version src;
    hash = "sha256-JGDNqRF264hNAjQ9bwJnBsQgAcqJjreEbgRZAA58JnY=";
  };

  nativeBuildInputs = [
    cargo
    rustPlatform.cargoSetupHook
    rustPlatform.maturinBuildHook
    rustc
  ];

  dependencies =
    [
      pyarrow
    ]
    ++ lib.optionals (pythonOlder "3.9") [
      typing-extensions
    ];

  optional-dependencies = {
    pandas = [
      pandas
    ];
    polars = [
      polars
    ];
  };

  pythonImportsCheck = [
    "fastexcel"
  ];

  nativeCheckInputs = [
    pandas
    polars
    pytest-mock
    pytestCheckHook
  ];

  meta = {
    description = "Fast excel file reader for Python, written in Rust";
    homepage = "https://github.com/ToucanToco/fastexcel/";
    changelog = "https://github.com/ToucanToco/fastexcel/releases/tag/v${version}";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ GaetanLepage ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -4484,6 +4484,8 @@ self: super: with self; {
  faster-whisper = callPackage ../development/python-modules/faster-whisper { };
  fastexcel = callPackage ../development/python-modules/fastexcel { };
  fastimport = callPackage ../development/python-modules/fastimport { };
  fastjet = callPackage ../development/python-modules/fastjet { };