Merge pull request #25609 from jluttine/add-nbstripout
nbstripout: init at 0.3.0
This commit is contained in:
commit
9468764b15
5 changed files with 110 additions and 0 deletions
32
pkgs/applications/version-management/nbstripout/default.nix
Normal file
32
pkgs/applications/version-management/nbstripout/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{lib, python2Packages, git, mercurial}:
|
||||
|
||||
with python2Packages;
|
||||
buildPythonApplication rec {
|
||||
name = "${pname}-${version}";
|
||||
version = "0.3.0";
|
||||
pname = "nbstripout";
|
||||
|
||||
# Mercurial should be added as a build input but because it's a Python
|
||||
# application, it would mess up the Python environment. Thus, don't add it
|
||||
# here, instead add it to PATH when running unit tests
|
||||
buildInputs = [ pytest pytest-flake8 pytest-cram git pytestrunner ];
|
||||
propagatedBuildInputs = [ ipython nbformat ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "126xhjma4a0k7gq58hbqglhb3rai0a576azz7g8gmqjr3kl0264v";
|
||||
};
|
||||
|
||||
# ignore flake8 tests for the nix wrapped setup.py
|
||||
checkPhase = ''
|
||||
PATH=$PATH:$out/bin:${mercurial}/bin pytest --ignore=nix_run_setup.py .
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit version;
|
||||
description = "Strip output from Jupyter and IPython notebooks";
|
||||
homepage = https://github.com/kynan/nbstripout;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ jluttine ];
|
||||
};
|
||||
}
|
38
pkgs/development/python-modules/cram/default.nix
Normal file
38
pkgs/development/python-modules/cram/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
version = "0.7";
|
||||
pname = "cram";
|
||||
|
||||
buildInputs = [ coverage which ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace tests/test.t \
|
||||
--replace "/bin/bash" "${bash}/bin/bash"
|
||||
'';
|
||||
|
||||
# This testing is copied from Makefile. Simply using `make test` doesn't work
|
||||
# because it uses the unpatched `scripts/cram` executable which has a bad
|
||||
# shebang. Also, for some reason, coverage fails on one file so let's just
|
||||
# ignore that one.
|
||||
checkPhase = ''
|
||||
# scripts/cram tests
|
||||
#COVERAGE=${coverage}/bin/coverage $out/bin/cram tests
|
||||
#${coverage}/bin/coverage report --fail-under=100
|
||||
COVERAGE=coverage $out/bin/cram tests
|
||||
coverage report --fail-under=100 --omit="*/_encoding.py"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A simple testing framework for command line applications";
|
||||
homepage = https://bitheap.org/cram/;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ jluttine ];
|
||||
};
|
||||
}
|
34
pkgs/development/python-modules/pytest-cram/default.nix
Normal file
34
pkgs/development/python-modules/pytest-cram/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{lib, buildPythonPackage, fetchPypi, pytest, cram, bash, writeText}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
version = "0.1.1";
|
||||
pname = "pytest-cram";
|
||||
|
||||
buildInputs = [ pytest ];
|
||||
propagatedBuildInputs = [ cram ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0ad05999iqzyjay9y5lc0cnd3jv8qxqlzsvxzp76shslmhrv0c4f";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pytest_cram/tests/test_options.py \
|
||||
--replace "/bin/bash" "${bash}/bin/bash"
|
||||
'';
|
||||
|
||||
# Remove __init__.py from tests folder, otherwise pytest raises an error that
|
||||
# the imported and collected modules are different.
|
||||
checkPhase = ''
|
||||
rm pytest_cram/tests/__init__.py
|
||||
pytest pytest_cram
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Test command-line applications with pytest and cram";
|
||||
homepage = https://github.com/tbekolay/pytest-cram;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ jluttine ];
|
||||
};
|
||||
}
|
|
@ -14873,6 +14873,8 @@ with pkgs;
|
|||
|
||||
clerk = callPackage ../applications/audio/clerk { };
|
||||
|
||||
nbstripout = callPackage ../applications/version-management/nbstripout { };
|
||||
|
||||
ncmpc = callPackage ../applications/audio/ncmpc { };
|
||||
|
||||
ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
|
||||
|
|
|
@ -2433,6 +2433,8 @@ in {
|
|||
doCheck = false; # lazy packager
|
||||
};
|
||||
|
||||
cram = callPackage ../development/python-modules/cram { };
|
||||
|
||||
csscompressor = callPackage ../development/python-modules/csscompressor.nix {};
|
||||
|
||||
csvkit = callPackage ../development/python-modules/csvkit { };
|
||||
|
@ -5006,6 +5008,8 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
pytest-cram = callPackage ../development/python-modules/pytest-cram { };
|
||||
|
||||
pytest-datafiles = callPackage ../development/python-modules/pytest-datafiles { };
|
||||
|
||||
pytest-django = callPackage ../development/python-modules/pytest-django { };
|
||||
|
|
Loading…
Reference in a new issue