depot/third_party/nixpkgs/pkgs/development/python-modules/monty/default.nix
Default email 8ac5e011d6 Project import generated by Copybara.
GitOrigin-RevId: 2c3273caa153ee8eb5786bc8141b85b859e7efd7
2020-04-24 19:36:52 -04:00

55 lines
1.5 KiB
Nix

{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
, nose
, numpy
, six
, ruamel_yaml
, msgpack
, coverage
, coveralls
, pymongo
, lsof
}:
buildPythonPackage rec {
pname = "monty";
version = "3.0.2";
disabled = isPy27; # uses type annotations
# No tests in Pypi
src = fetchFromGitHub {
owner = "materialsvirtuallab";
repo = pname;
rev = "v${version}";
sha256 = "1wxqxp0j7i6czdpr2r1imgmy3qbgn2l7d4za2h1lg3hllvx6jra1";
};
checkInputs = [ lsof nose numpy msgpack coverage coveralls pymongo];
propagatedBuildInputs = [ six ruamel_yaml ];
# test suite tries to decode bytes, but msgpack now returns a str
# https://github.com/materialsvirtuallab/monty/pull/121
postPatch = ''
substituteInPlace tests/test_serialization.py \
--replace ".decode('utf-8')" ""
'';
preCheck = ''
substituteInPlace tests/test_os.py \
--replace 'self.assertEqual("/usr/bin/find", which("/usr/bin/find"))' '#'
'';
meta = with lib; {
description = "Serves as a complement to the Python standard library by providing a suite of tools to solve many common problems";
longDescription = "
Monty implements supplementary useful functions for Python that are not part of the
standard library. Examples include useful utilities like transparent support for zipped files, useful design
patterns such as singleton and cached_class, and many more.
";
homepage = "https://github.com/materialsvirtuallab/monty";
license = licenses.mit;
maintainers = with maintainers; [ psyanticy ];
};
}