diff --git a/pkgs/development/python-modules/arelle/default.nix b/pkgs/development/python-modules/arelle/default.nix new file mode 100644 index 000000000000..32c020961f21 --- /dev/null +++ b/pkgs/development/python-modules/arelle/default.nix @@ -0,0 +1,55 @@ +{ gui ? true, + buildPythonPackage, fetchFromGitHub, lib, + sphinx_1_2, lxml, isodate, numpy, pytest, + tkinter ? null, + ... }: + +let + # Releases are published at http://arelle.org/download/ but sadly no + # tags are published on github. + version = "2017-06-01"; + + src = fetchFromGitHub { + owner = "Arelle"; + repo = "Arelle"; + rev = "c883f843d55bb48f03a15afceb4cc823cd4601bd"; + sha256 = "1h48qdj0anv541rd3kna8bmcwfrl1l3yw76wsx8p6hx5prbmzg4v"; + }; + +in + +buildPythonPackage { + name = "arelle-${version}${lib.optionalString (!gui) "-headless"}"; + inherit src; + outputs = ["out" "doc"]; + postPatch = "rm testParser2.py"; + buildInputs = [ + sphinx_1_2 + pytest + ]; + propagatedBuildInputs = [ + lxml + isodate + numpy + ] ++ lib.optional gui [ + tkinter + ]; + + # arelle-gui is useless without gui dependencies, so delete it when !gui. + postInstall = lib.optionalString (!gui) '' + find $out/bin -name "*arelle-gui*" -delete + ''; + + # Documentation + postBuild = '' + (cd apidocs && make html && cp -r _build $doc) + ''; + + meta = { + description = "An open source facility for XBRL, the eXtensible Business Reporting Language supporting various standards, exposed through a python or REST API" + lib.optionalString gui " and a graphical user interface"; + homepage = http://arelle.org/; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ roberth ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2973e2d9b0f9..989562420fd6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13136,6 +13136,8 @@ with pkgs; inherit (vamp) vampSDK; }; + inherit (python34Packages) arelle; + ario = callPackage ../applications/audio/ario { }; arora = callPackage ../applications/networking/browsers/arora { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 80bfad3c29ce..9f054e7bc995 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1184,6 +1184,15 @@ in { }; }; + arelle = callPackage ../development/python-modules/arelle { + gui = true; + }; + + arelle-headless = callPackage ../development/python-modules/arelle { + gui = false; + }; + + arrow = buildPythonPackage rec { name = "arrow-${version}"; version = "0.7.0";