diff --git a/pkgs/development/python-modules/assay/default.nix b/pkgs/development/python-modules/assay/default.nix new file mode 100644 index 000000000000..b019e24579ce --- /dev/null +++ b/pkgs/development/python-modules/assay/default.nix @@ -0,0 +1,22 @@ +{ lib, buildPythonPackage, fetchFromGitHub }: + +buildPythonPackage rec { + pname = "assay"; + version = "unstable-2022-01-19"; + + src = fetchFromGitHub { + owner = "brandon-rhodes"; + repo = pname; + rev = "bb62d1f7d51d798b05a88045fff3a2ff92c299c3"; + sha256 = "sha256-FuAD74mFJ9F9AMgB3vPmODAlZKgPR7FQ4yn7HEBS5Rw="; + }; + + pythonImportsCheck = [ "assay" ]; + + meta = with lib; { + homepage = "https://github.com/brandon-rhodes/assay"; + description = "Attempt to write a Python testing framework I can actually stand"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/jplephem/default.nix b/pkgs/development/python-modules/jplephem/default.nix new file mode 100644 index 000000000000..a55c1ed15ee5 --- /dev/null +++ b/pkgs/development/python-modules/jplephem/default.nix @@ -0,0 +1,28 @@ +{ lib, buildPythonPackage, fetchPypi, numpy, pytestCheckHook }: + +buildPythonPackage rec { + pname = "jplephem"; + version = "2.17"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-4cblVlxNAEhfEGMkG00e/wRFhcIrjpf60P8vbvuKqic="; + }; + + propagatedBuildInputs = [ numpy ]; + + # Weird import error, only happens in testing: + # File "/build/jplephem-2.17/jplephem/daf.py", line 10, in + # from numpy import array as numpy_array, ndarray + # ImportError: cannot import name 'array' from 'sys' (unknown location) + doCheck = false; + + pythonImportsCheck = [ "jplephem" ]; + + meta = with lib; { + homepage = "https://github.com/brandon-rhodes/python-jplephem/"; + description = "Python version of NASA DE4xx ephemerides, the basis for the Astronomical Alamanac"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/sgp4/default.nix b/pkgs/development/python-modules/sgp4/default.nix new file mode 100644 index 000000000000..1b8ecc0b46ba --- /dev/null +++ b/pkgs/development/python-modules/sgp4/default.nix @@ -0,0 +1,22 @@ +{ lib, buildPythonPackage, fetchPypi, tox, numpy }: + +buildPythonPackage rec { + pname = "sgp4"; + version = "2.21"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-YXm4dQRId+lBYzwgr3ci/SMaiNiomvAb8wvWTzPN7O8="; + }; + + checkInputs = [ tox numpy ]; + + pythonImportsCheck = [ "sgp4" ]; + + meta = with lib; { + homepage = "https://github.com/brandon-rhodes/python-sgp4"; + description = "Python version of the SGP4 satellite position library"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/development/python-modules/skyfield/default.nix b/pkgs/development/python-modules/skyfield/default.nix new file mode 100644 index 000000000000..c6b3c69fc3e9 --- /dev/null +++ b/pkgs/development/python-modules/skyfield/default.nix @@ -0,0 +1,37 @@ +{ lib, buildPythonPackage, fetchFromGitHub, certifi, numpy, sgp4, jplephem +, pandas, ipython, matplotlib, assay +}: + +buildPythonPackage rec { + pname = "skyfield"; + version = "1.42"; + + src = fetchFromGitHub { + owner = "skyfielders"; + repo = "python-skyfield"; + rev = version; + sha256 = "sha256-aoSkuLhZcEy+13EJQOBHV2/rgmN6aZQHqfj4OOirOG0="; + }; + + propagatedBuildInputs = [ certifi numpy sgp4 jplephem ]; + + checkInputs = [ pandas ipython matplotlib assay ]; + + checkPhase = '' + runHook preCheck + + cd ci + assay --batch skyfield.tests + + runHook postCheck + ''; + + pythonImportsCheck = [ "skyfield" ]; + + meta = with lib; { + homepage = "https://github.com/skyfielders/python-skyfield"; + description = "Elegant astronomy for Python"; + license = licenses.mit; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e88b141da54..3ee9593b70fd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -754,6 +754,8 @@ in { aspy-yaml = callPackage ../development/python-modules/aspy.yaml { }; + assay = callPackage ../development/python-modules/assay { }; + assertpy = callPackage ../development/python-modules/assertpy { }; asterisk-mbox = callPackage ../development/python-modules/asterisk-mbox { }; @@ -4722,6 +4724,8 @@ in { inherit (self) systemd pytest; }; + jplephem = callPackage ../development/python-modules/jplephem { }; + jproperties = callPackage ../development/python-modules/jproperties { }; jpylyzer = callPackage ../development/python-modules/jpylyzer { }; @@ -9956,6 +9960,8 @@ in { sgmllib3k = callPackage ../development/python-modules/sgmllib3k { }; + sgp4 = callPackage ../development/python-modules/sgp4 { }; + shamir-mnemonic = callPackage ../development/python-modules/shamir-mnemonic { }; shap = callPackage ../development/python-modules/shap { }; @@ -10066,6 +10072,8 @@ in { skybellpy = callPackage ../development/python-modules/skybellpy { }; + skyfield = callPackage ../development/python-modules/skyfield { }; + skytemple-dtef = callPackage ../development/python-modules/skytemple-dtef { }; skytemple-eventserver = callPackage ../development/python-modules/skytemple-eventserver { };