drawspec 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. drawspec/__init__.py +57 -0
  2. drawspec/brand.py +1184 -0
  3. drawspec/charts.py +1790 -0
  4. drawspec/clearance.py +330 -0
  5. drawspec/cli.py +466 -0
  6. drawspec/emit.py +666 -0
  7. drawspec/errors.py +97 -0
  8. drawspec/examples.py +339 -0
  9. drawspec/export.py +177 -0
  10. drawspec/filetree.py +294 -0
  11. drawspec/fonts/LICENSE +57 -0
  12. drawspec/fonts/mono-bold.ttf +0 -0
  13. drawspec/fonts/mono.ttf +0 -0
  14. drawspec/fonts/sans-bold.ttf +0 -0
  15. drawspec/fonts/sans.ttf +0 -0
  16. drawspec/fonts/serif-bold.ttf +0 -0
  17. drawspec/fonts/serif.ttf +0 -0
  18. drawspec/geometry.py +657 -0
  19. drawspec/kinds/__init__.py +143 -0
  20. drawspec/kinds/board.py +351 -0
  21. drawspec/kinds/common.py +441 -0
  22. drawspec/kinds/containers.py +551 -0
  23. drawspec/kinds/cycle.py +760 -0
  24. drawspec/kinds/entities.py +990 -0
  25. drawspec/kinds/files.py +492 -0
  26. drawspec/kinds/fishbone.py +524 -0
  27. drawspec/kinds/gantt.py +635 -0
  28. drawspec/kinds/graph.py +1244 -0
  29. drawspec/kinds/grid.py +830 -0
  30. drawspec/kinds/journey.py +352 -0
  31. drawspec/kinds/lanes.py +614 -0
  32. drawspec/kinds/sankey.py +664 -0
  33. drawspec/kinds/sequence.py +772 -0
  34. drawspec/kinds/shape.py +771 -0
  35. drawspec/kinds/treemap.py +714 -0
  36. drawspec/kinds/venn.py +467 -0
  37. drawspec/layout/__init__.py +44 -0
  38. drawspec/layout/base.py +542 -0
  39. drawspec/layout/grandalf_engine.py +271 -0
  40. drawspec/layout/layered.py +363 -0
  41. drawspec/legend.py +226 -0
  42. drawspec/mcp.py +344 -0
  43. drawspec/py.typed +0 -0
  44. drawspec/render.py +289 -0
  45. drawspec/routing.py +2782 -0
  46. drawspec/scene.py +390 -0
  47. drawspec/schema.py +6991 -0
  48. drawspec/schemas/drawspec-v1.schema.json +3489 -0
  49. drawspec/text/__init__.py +25 -0
  50. drawspec/text/fontlib.py +494 -0
  51. drawspec/text/measure.py +210 -0
  52. drawspec/text/wrap.py +383 -0
  53. drawspec/theme.py +1796 -0
  54. drawspec/themes/accent.toml +95 -0
  55. drawspec/themes/compartment.toml +26 -0
  56. drawspec/themes/default.toml +356 -0
  57. drawspec/themes/wheel.toml +23 -0
  58. drawspec-0.1.0.dist-info/METADATA +368 -0
  59. drawspec-0.1.0.dist-info/RECORD +62 -0
  60. drawspec-0.1.0.dist-info/WHEEL +4 -0
  61. drawspec-0.1.0.dist-info/entry_points.txt +3 -0
  62. drawspec-0.1.0.dist-info/licenses/LICENSE +21 -0
drawspec/__init__.py ADDED
@@ -0,0 +1,57 @@
1
+ """drawspec — declarative diagram spec to clean, themeable SVG."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from drawspec.emit import check_embedding_safety, emit
6
+ from drawspec.errors import (
7
+ DocumentError,
8
+ DrawspecError,
9
+ EmitError,
10
+ ExportError,
11
+ FitError,
12
+ FontSubstitutionWarning,
13
+ ThemeError,
14
+ )
15
+ from drawspec.export import render_png
16
+ from drawspec.geometry import Box, Fitted, fit, normalise, size_box
17
+ from drawspec.render import render, render_document, render_file, render_text
18
+ from drawspec.scene import Ellipse, Path, Polygon, Rect, Scene, TextRun
19
+ from drawspec.schema import Document, load_document, parse_document, validate_document
20
+ from drawspec.theme import Theme, load_theme
21
+
22
+ __version__ = "0.1.0"
23
+
24
+ __all__ = [
25
+ "Box",
26
+ "Document",
27
+ "DocumentError",
28
+ "DrawspecError",
29
+ "Ellipse",
30
+ "EmitError",
31
+ "ExportError",
32
+ "FitError",
33
+ "Fitted",
34
+ "FontSubstitutionWarning",
35
+ "Path",
36
+ "Polygon",
37
+ "Rect",
38
+ "Scene",
39
+ "TextRun",
40
+ "Theme",
41
+ "ThemeError",
42
+ "__version__",
43
+ "check_embedding_safety",
44
+ "emit",
45
+ "fit",
46
+ "load_document",
47
+ "load_theme",
48
+ "normalise",
49
+ "parse_document",
50
+ "render",
51
+ "render_document",
52
+ "render_file",
53
+ "render_png",
54
+ "render_text",
55
+ "size_box",
56
+ "validate_document",
57
+ ]