depot/third_party/nixpkgs/pkgs/development/python-modules/ipython-sql/default.nix
Default email b5f92a349c Project import generated by Copybara.
GitOrigin-RevId: 7c9cc5a6e5d38010801741ac830a3f8fd667a7a0
2023-10-19 15:55:26 +02:00

58 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
];
nativeCheckInputs = [ 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 ];
};
}