mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 23:03:40 +01:00
pythonPackages.diagrams: init at 0.19.1
Add python diagrams library. Generate nice architecture diagrams with python code, allowing for rapid iteration. The images are rendered using dot from graphviz. This PR is based on the upstream GitHub repo for diagrams, which differs significantly from the tarball published to pypi. Closes #101532
This commit is contained in:
parent
e2d7984d8c
commit
5e5a40b1ee
3 changed files with 63 additions and 0 deletions
12
pkgs/development/python-modules/diagrams/build_poetry.patch
Normal file
12
pkgs/development/python-modules/diagrams/build_poetry.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 2c93a39..6c800e2 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -24,3 +24,7 @@ isort = "^4.3"
|
||||
|
||||
[tool.black]
|
||||
line-length = 120
|
||||
+
|
||||
+[build-system]
|
||||
+requires = ["poetry_core>=1.0.0"]
|
||||
+build-backend = "poetry.core.masonry.api"
|
49
pkgs/development/python-modules/diagrams/default.nix
Normal file
49
pkgs/development/python-modules/diagrams/default.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, black
|
||||
, jinja2
|
||||
, poetry-core
|
||||
, round
|
||||
, graphviz
|
||||
, inkscape
|
||||
, imagemagick
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "diagrams";
|
||||
version = "0.19.1";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mingrammer";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0qvk0cp3026n5jmwp9z7m70b6pws0h6a7slxr23glg18baxr44d4";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs autogen.sh
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
patches = [ ./build_poetry.patch ];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
# Despite living in 'tool.poetry.dependencies',
|
||||
# these are only used at build time to process the image resource files
|
||||
nativeBuildInputs = [ black inkscape imagemagick jinja2 poetry-core round ];
|
||||
|
||||
propagatedBuildInputs = [ graphviz ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Diagram as Code";
|
||||
homepage = "https://diagrams.mingrammer.com/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ addict3d ];
|
||||
};
|
||||
}
|
|
@ -1553,6 +1553,8 @@ in {
|
|||
|
||||
dftfit = callPackage ../development/python-modules/dftfit { };
|
||||
|
||||
diagrams = callPackage ../development/python-modules/diagrams { };
|
||||
|
||||
diceware = callPackage ../development/python-modules/diceware { };
|
||||
|
||||
dicom2nifti = callPackage ../development/python-modules/dicom2nifti { };
|
||||
|
|
Loading…
Reference in a new issue