59 lines
1.2 KiB
Nix
59 lines
1.2 KiB
Nix
|
{ lib
|
||
|
, buildPythonPackage
|
||
|
, fetchFromGitHub
|
||
|
, pythonOlder
|
||
|
, ipython
|
||
|
, ipython_genutils
|
||
|
, pandas
|
||
|
, prettytable
|
||
|
, pytest
|
||
|
, sqlalchemy
|
||
|
, sqlparse
|
||
|
}:
|
||
|
buildPythonPackage rec {
|
||
|
pname = "ipython-sql";
|
||
|
version = "0.4.0";
|
||
|
|
||
|
disabled = pythonOlder "3.7";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "catherinedevlin";
|
||
|
repo = "ipython-sql";
|
||
|
rev = "117764caf099d80100ed4b09fc004b55eed6f121";
|
||
|
hash = "sha256-ScQihsvRSnC7VIgy8Tzi1z4x6KIZo0SAeLPvHAVdrfA=";
|
||
|
};
|
||
|
|
||
|
postPatch = ''
|
||
|
substituteInPlace setup.py --replace 'prettytable<1' prettytable
|
||
|
'';
|
||
|
|
||
|
propagatedBuildInputs = [
|
||
|
ipython
|
||
|
ipython_genutils
|
||
|
prettytable
|
||
|
sqlalchemy
|
||
|
sqlparse
|
||
|
];
|
||
|
|
||
|
checkInputs = [ ipython pandas pytest ];
|
||
|
|
||
|
checkPhase = ''
|
||
|
runHook preCheck
|
||
|
|
||
|
# running with ipython is required because the tests use objects available
|
||
|
# only inside of ipython, for example the global `get_ipython()` function
|
||
|
ipython -c 'import pytest; pytest.main()'
|
||
|
|
||
|
runHook postCheck
|
||
|
'';
|
||
|
|
||
|
pythonImportsCheck = [ "sql" ];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Introduces a %sql (or %%sql) magic.";
|
||
|
homepage = "https://github.com/catherinedevlin/ipython-sql";
|
||
|
license = licenses.mit;
|
||
|
maintainers = with maintainers; [ cpcloud ];
|
||
|
};
|
||
|
}
|