diff --git a/pkgs/development/python-modules/svgdigitizer/default.nix b/pkgs/development/python-modules/svgdigitizer/default.nix new file mode 100644 index 000000000000..e94e7e0e7a96 --- /dev/null +++ b/pkgs/development/python-modules/svgdigitizer/default.nix @@ -0,0 +1,81 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + astropy, + click, + frictionless, + matplotlib, + mergedeep, + pandas, + pillow, + pybtex, + pymupdf, + pyyaml, + scipy, + svg-path, + svgpathtools, + svgwrite, + + # tests + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "svgdigitizer"; + version = "0.12.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "echemdb"; + repo = "svgdigitizer"; + tag = version; + hash = "sha256-aodPjms92+/6bbheIs/8w+M4T+mfw5PWf1dsxFuojwA="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + astropy + click + frictionless + matplotlib + mergedeep + pandas + pillow + pybtex + pymupdf + pyyaml + scipy + svg-path + svgpathtools + svgwrite + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + pytestFlags = [ + "--doctest-modules" + "svgdigitizer" + ]; + + pythonImportsCheck = [ + "svgdigitizer" + ]; + + meta = { + description = "(x,y) Data Points from SVG files"; + homepage = "https://github.com/echemdb/svgdigitizer"; + changelog = "https://github.com/echemdb/svgdigitizer/blob/${src.rev}/ChangeLog"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bbd73abf9545..53831ece72e4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17354,6 +17354,8 @@ self: super: with self; { svg2tikz = callPackage ../development/python-modules/svg2tikz { }; + svgdigitizer = callPackage ../development/python-modules/svgdigitizer { }; + svgelements = callPackage ../development/python-modules/svgelements { }; svglib = callPackage ../development/python-modules/svglib { };