prefig 0.2.15.dev20250514053750__py3-none-any.whl → 0.5.6.dev20260130060411__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 (43) hide show
  1. prefig/cli.py +46 -26
  2. prefig/core/CTM.py +18 -3
  3. prefig/core/__init__.py +2 -0
  4. prefig/core/annotations.py +115 -2
  5. prefig/core/area.py +20 -4
  6. prefig/core/arrow.py +9 -3
  7. prefig/core/axes.py +909 -0
  8. prefig/core/circle.py +13 -4
  9. prefig/core/clip.py +1 -1
  10. prefig/core/coordinates.py +31 -4
  11. prefig/core/diagram.py +129 -6
  12. prefig/core/graph.py +236 -23
  13. prefig/core/grid_axes.py +181 -495
  14. prefig/core/image.py +127 -0
  15. prefig/core/label.py +14 -4
  16. prefig/core/legend.py +4 -4
  17. prefig/core/line.py +92 -1
  18. prefig/core/math_utilities.py +155 -0
  19. prefig/core/network.py +2 -2
  20. prefig/core/parametric_curve.py +15 -3
  21. prefig/core/path.py +25 -0
  22. prefig/core/point.py +18 -2
  23. prefig/core/polygon.py +7 -1
  24. prefig/core/read.py +6 -3
  25. prefig/core/rectangle.py +10 -4
  26. prefig/core/repeat.py +37 -3
  27. prefig/core/shape.py +12 -1
  28. prefig/core/slope_field.py +142 -0
  29. prefig/core/tags.py +8 -2
  30. prefig/core/tangent_line.py +36 -12
  31. prefig/core/user_namespace.py +8 -0
  32. prefig/core/utilities.py +9 -1
  33. prefig/engine.py +73 -28
  34. prefig/resources/diagcess/diagcess.js +7 -1
  35. prefig/resources/schema/pf_schema.rnc +89 -6
  36. prefig/resources/schema/pf_schema.rng +321 -5
  37. prefig/scripts/install_mj.py +10 -11
  38. {prefig-0.2.15.dev20250514053750.dist-info → prefig-0.5.6.dev20260130060411.dist-info}/METADATA +12 -16
  39. prefig-0.5.6.dev20260130060411.dist-info/RECORD +68 -0
  40. prefig-0.2.15.dev20250514053750.dist-info/RECORD +0 -66
  41. {prefig-0.2.15.dev20250514053750.dist-info → prefig-0.5.6.dev20260130060411.dist-info}/LICENSE +0 -0
  42. {prefig-0.2.15.dev20250514053750.dist-info → prefig-0.5.6.dev20260130060411.dist-info}/WHEEL +0 -0
  43. {prefig-0.2.15.dev20250514053750.dist-info → prefig-0.5.6.dev20260130060411.dist-info}/entry_points.txt +0 -0
@@ -107,7 +107,9 @@
107
107
  <optional>
108
108
  <ref name="Define-Shapes"/>
109
109
  </optional>
110
- <ref name="Read"/>
110
+ <optional>
111
+ <ref name="Read"/>
112
+ </optional>
111
113
  </define>
112
114
  <define name="Definition">
113
115
  <element name="definition">
@@ -388,6 +390,12 @@
388
390
  <optional>
389
391
  <attribute name="color"/>
390
392
  </optional>
393
+ <optional>
394
+ <attribute name="font"/>
395
+ </optional>
396
+ <optional>
397
+ <attribute name="font-size"/>
398
+ </optional>
391
399
  </define>
392
400
  <define name="Math">
393
401
  <element name="m">
@@ -762,6 +770,9 @@
762
770
  <zeroOrMore>
763
771
  <ref name="Circle"/>
764
772
  </zeroOrMore>
773
+ <zeroOrMore>
774
+ <ref name="Contour"/>
775
+ </zeroOrMore>
765
776
  <zeroOrMore>
766
777
  <ref name="Ellipse"/>
767
778
  </zeroOrMore>
@@ -777,6 +788,9 @@
777
788
  <zeroOrMore>
778
789
  <ref name="Histogram"/>
779
790
  </zeroOrMore>
791
+ <zeroOrMore>
792
+ <ref name="Image"/>
793
+ </zeroOrMore>
780
794
  <zeroOrMore>
781
795
  <ref name="Implicit-Curve"/>
782
796
  </zeroOrMore>
@@ -825,6 +839,9 @@
825
839
  <zeroOrMore>
826
840
  <ref name="Spline"/>
827
841
  </zeroOrMore>
842
+ <zeroOrMore>
843
+ <ref name="Tick-Mark"/>
844
+ </zeroOrMore>
828
845
  <zeroOrMore>
829
846
  <ref name="Tangent-line"/>
830
847
  </zeroOrMore>
@@ -834,6 +851,9 @@
834
851
  <zeroOrMore>
835
852
  <ref name="Vector"/>
836
853
  </zeroOrMore>
854
+ <zeroOrMore>
855
+ <ref name="Vector-Field"/>
856
+ </zeroOrMore>
837
857
  </interleave>
838
858
  </define>
839
859
  <define name="Angle-Marker">
@@ -942,6 +962,22 @@
942
962
  <optional>
943
963
  <attribute name="N"/>
944
964
  </optional>
965
+ <optional>
966
+ <attribute name="coordinates">
967
+ <choice>
968
+ <value>polar</value>
969
+ <value>cartesian</value>
970
+ </choice>
971
+ </attribute>
972
+ </optional>
973
+ <optional>
974
+ <attribute name="domain-degrees">
975
+ <choice>
976
+ <value>yes</value>
977
+ <value>no</value>
978
+ </choice>
979
+ </attribute>
980
+ </optional>
945
981
  <ref name="FillAttributes"/>
946
982
  <ref name="CommonAttributes"/>
947
983
  </element>
@@ -958,6 +994,22 @@
958
994
  <optional>
959
995
  <attribute name="N"/>
960
996
  </optional>
997
+ <optional>
998
+ <attribute name="coordinates">
999
+ <choice>
1000
+ <value>polar</value>
1001
+ <value>cartesian</value>
1002
+ </choice>
1003
+ </attribute>
1004
+ </optional>
1005
+ <optional>
1006
+ <attribute name="domain-degrees">
1007
+ <choice>
1008
+ <value>yes</value>
1009
+ <value>no</value>
1010
+ </choice>
1011
+ </attribute>
1012
+ </optional>
961
1013
  <ref name="FillAttributes"/>
962
1014
  <ref name="CommonAttributes"/>
963
1015
  </element>
@@ -1024,7 +1076,24 @@
1024
1076
  </attribute>
1025
1077
  </optional>
1026
1078
  <optional>
1027
- <attribute name="labels">
1079
+ <attribute name="stroke"/>
1080
+ </optional>
1081
+ <optional>
1082
+ <attribute name="thickness"/>
1083
+ </optional>
1084
+ <optional>
1085
+ <attribute name="tick-size"/>
1086
+ </optional>
1087
+ <optional>
1088
+ <attribute name="axes">
1089
+ <choice>
1090
+ <value>horizontal</value>
1091
+ <value>vertical</value>
1092
+ </choice>
1093
+ </attribute>
1094
+ </optional>
1095
+ <optional>
1096
+ <attribute name="bounding-box">
1028
1097
  <choice>
1029
1098
  <value>yes</value>
1030
1099
  <value>no</value>
@@ -1032,10 +1101,28 @@
1032
1101
  </attribute>
1033
1102
  </optional>
1034
1103
  <optional>
1035
- <attribute name="stroke"/>
1104
+ <attribute name="h-zero-label">
1105
+ <choice>
1106
+ <value>yes</value>
1107
+ <value>no</value>
1108
+ </choice>
1109
+ </attribute>
1036
1110
  </optional>
1037
1111
  <optional>
1038
- <attribute name="thickness"/>
1112
+ <attribute name="v-zero-label">
1113
+ <choice>
1114
+ <value>yes</value>
1115
+ <value>no</value>
1116
+ </choice>
1117
+ </attribute>
1118
+ </optional>
1119
+ <optional>
1120
+ <attribute name="label-commas">
1121
+ <choice>
1122
+ <value>yes</value>
1123
+ <value>no</value>
1124
+ </choice>
1125
+ </attribute>
1039
1126
  </optional>
1040
1127
  <ref name="CommonAttributes"/>
1041
1128
  <optional>
@@ -1085,6 +1172,28 @@
1085
1172
  <optional>
1086
1173
  <attribute name="thickness"/>
1087
1174
  </optional>
1175
+ <optional>
1176
+ <attribute name="coordinates"/>
1177
+ </optional>
1178
+ <optional>
1179
+ <attribute name="spacing-degrees">
1180
+ <choice>
1181
+ <value>yes</value>
1182
+ <value>no</value>
1183
+ </choice>
1184
+ </attribute>
1185
+ </optional>
1186
+ <optional>
1187
+ <attribute name="scales">
1188
+ <choice>
1189
+ <value>linear</value>
1190
+ <value>semilogx</value>
1191
+ <value>semilogy</value>
1192
+ <value>loglog</value>
1193
+ </choice>
1194
+ </attribute>
1195
+ </optional>
1196
+ <ref name="Stroke-Attributes"/>
1088
1197
  <ref name="CommonAttributes"/>
1089
1198
  </element>
1090
1199
  </define>
@@ -1158,13 +1267,49 @@
1158
1267
  </attribute>
1159
1268
  </optional>
1160
1269
  <optional>
1161
- <attribute name="labels">
1270
+ <attribute name="tick-size"/>
1271
+ </optional>
1272
+ <optional>
1273
+ <attribute name="axes">
1274
+ <choice>
1275
+ <value>horizontal</value>
1276
+ <value>vertical</value>
1277
+ </choice>
1278
+ </attribute>
1279
+ </optional>
1280
+ <optional>
1281
+ <attribute name="bounding-box">
1162
1282
  <choice>
1163
1283
  <value>yes</value>
1164
1284
  <value>no</value>
1165
1285
  </choice>
1166
1286
  </attribute>
1167
1287
  </optional>
1288
+ <optional>
1289
+ <attribute name="h-zero-label">
1290
+ <choice>
1291
+ <value>yes</value>
1292
+ <value>no</value>
1293
+ </choice>
1294
+ </attribute>
1295
+ </optional>
1296
+ <optional>
1297
+ <attribute name="v-zero-label">
1298
+ <choice>
1299
+ <value>yes</value>
1300
+ <value>no</value>
1301
+ </choice>
1302
+ </attribute>
1303
+ </optional>
1304
+ <optional>
1305
+ <attribute name="label-commas">
1306
+ <choice>
1307
+ <value>yes</value>
1308
+ <value>no</value>
1309
+ </choice>
1310
+ </attribute>
1311
+ </optional>
1312
+ <ref name="StrokeAttributes"/>
1168
1313
  <ref name="CommonAttributes"/>
1169
1314
  <optional>
1170
1315
  <ref name="XLabel"/>
@@ -1174,6 +1319,50 @@
1174
1319
  </optional>
1175
1320
  </element>
1176
1321
  </define>
1322
+ <define name="Tick-Mark">
1323
+ <element name="tick-mark">
1324
+ <optional>
1325
+ <attribute name="at"/>
1326
+ </optional>
1327
+ <attribute name="location"/>
1328
+ <optional>
1329
+ <attribute name="axis"/>
1330
+ </optional>
1331
+ <optional>
1332
+ <attribute name="stroke"/>
1333
+ </optional>
1334
+ <optional>
1335
+ <attribute name="size"/>
1336
+ </optional>
1337
+ <optional>
1338
+ <attribute name="thickness"/>
1339
+ </optional>
1340
+ <ref name="StrokeAttributes"/>
1341
+ <ref name="LabelAttributes"/>
1342
+ <optional>
1343
+ <ref name="LabelText"/>
1344
+ </optional>
1345
+ </element>
1346
+ </define>
1347
+ <define name="Contour">
1348
+ <element name="contour">
1349
+ <optional>
1350
+ <attribute name="at"/>
1351
+ </optional>
1352
+ <attribute name="function"/>
1353
+ <optional>
1354
+ <attribute name="k"/>
1355
+ </optional>
1356
+ <optional>
1357
+ <attribute name="depth"/>
1358
+ </optional>
1359
+ <optional>
1360
+ <attribute name="initial-depth"/>
1361
+ </optional>
1362
+ <ref name="StrokeAttributes"/>
1363
+ <ref name="CommonAttributes"/>
1364
+ </element>
1365
+ </define>
1177
1366
  <define name="Circle">
1178
1367
  <element name="circle">
1179
1368
  <optional>
@@ -1221,10 +1410,74 @@
1221
1410
  <optional>
1222
1411
  <attribute name="domain"/>
1223
1412
  </optional>
1413
+ <optional>
1414
+ <attribute name="coordinates">
1415
+ <choice>
1416
+ <value>polar</value>
1417
+ <value>coordinates</value>
1418
+ </choice>
1419
+ </attribute>
1420
+ </optional>
1421
+ <optional>
1422
+ <attribute name="domain-degress">
1423
+ <choice>
1424
+ <value>yes</value>
1425
+ <value>no</value>
1426
+ </choice>
1427
+ </attribute>
1428
+ </optional>
1429
+ <optional>
1430
+ <attribute name="closed">
1431
+ <choice>
1432
+ <value>yes</value>
1433
+ <value>no</value>
1434
+ </choice>
1435
+ </attribute>
1436
+ </optional>
1437
+ <optional>
1438
+ <attribute name="fill"/>
1439
+ </optional>
1224
1440
  <ref name="StrokeAttributes"/>
1225
1441
  <ref name="CommonAttributes"/>
1226
1442
  </element>
1227
1443
  </define>
1444
+ <define name="Image">
1445
+ <element name="image">
1446
+ <optional>
1447
+ <attribute name="at"/>
1448
+ </optional>
1449
+ <attribute name="source"/>
1450
+ <optional>
1451
+ <attribute name="lower-left"/>
1452
+ </optional>
1453
+ <optional>
1454
+ <attribute name="center"/>
1455
+ </optional>
1456
+ <optional>
1457
+ <attribute name="dimensions"/>
1458
+ </optional>
1459
+ <optional>
1460
+ <attribute name="opacity"/>
1461
+ </optional>
1462
+ <optional>
1463
+ <attribute name="filetype">
1464
+ <choice>
1465
+ <value>svg</value>
1466
+ <value>png</value>
1467
+ <value>gif</value>
1468
+ <value>jpeg</value>
1469
+ <value>jpg</value>
1470
+ </choice>
1471
+ </attribute>
1472
+ </optional>
1473
+ <optional>
1474
+ <attribute name="rotate"/>
1475
+ </optional>
1476
+ <optional>
1477
+ <attribute name="scale"/>
1478
+ </optional>
1479
+ </element>
1480
+ </define>
1228
1481
  <define name="Histogram">
1229
1482
  <element name="histogram">
1230
1483
  <optional>
@@ -1360,6 +1613,10 @@
1360
1613
  </optional>
1361
1614
  <ref name="StrokeAttributes"/>
1362
1615
  <ref name="CommonAttributes"/>
1616
+ <ref name="LabelAttributes"/>
1617
+ <optional>
1618
+ <ref name="LabelText"/>
1619
+ </optional>
1363
1620
  </element>
1364
1621
  </define>
1365
1622
  <define name="Network">
@@ -1522,6 +1779,9 @@
1522
1779
  <optional>
1523
1780
  <attribute name="arrows"/>
1524
1781
  </optional>
1782
+ <optional>
1783
+ <attribute name="arrow-location"/>
1784
+ </optional>
1525
1785
  <optional>
1526
1786
  <attribute name="arrow-width"/>
1527
1787
  </optional>
@@ -1641,6 +1901,22 @@
1641
1901
  <optional>
1642
1902
  <attribute name="size"/>
1643
1903
  </optional>
1904
+ <optional>
1905
+ <attribute name="coordinates">
1906
+ <choice>
1907
+ <value>cartesian</value>
1908
+ <value>polar</value>
1909
+ </choice>
1910
+ </attribute>
1911
+ </optional>
1912
+ <optional>
1913
+ <attribute name="degrees">
1914
+ <choice>
1915
+ <value>yes</value>
1916
+ <value>no</value>
1917
+ </choice>
1918
+ </attribute>
1919
+ </optional>
1644
1920
  <ref name="LabelAttributes"/>
1645
1921
  <ref name="FillAttributes"/>
1646
1922
  <ref name="CommonAttributes"/>
@@ -1852,6 +2128,9 @@
1852
2128
  <optional>
1853
2129
  <attribute name="arrow-angles"/>
1854
2130
  </optional>
2131
+ <optional>
2132
+ <attribute name="name"/>
2133
+ </optional>
1855
2134
  <ref name="FillAttributes"/>
1856
2135
  <ref name="CommonAttributes"/>
1857
2136
  </element>
@@ -1935,4 +2214,41 @@
1935
2214
  <ref name="CommonAttributes"/>
1936
2215
  </element>
1937
2216
  </define>
2217
+ <define name="Vector-Field">
2218
+ <element name="vector-field">
2219
+ <optional>
2220
+ <attribute name="at"/>
2221
+ </optional>
2222
+ <optional>
2223
+ <attribute name="function"/>
2224
+ </optional>
2225
+ <optional>
2226
+ <attribute name="spacings"/>
2227
+ </optional>
2228
+ <optional>
2229
+ <attribute name="scale"/>
2230
+ </optional>
2231
+ <optional>
2232
+ <attribute name="curve"/>
2233
+ </optional>
2234
+ <optional>
2235
+ <attribute name="domain"/>
2236
+ </optional>
2237
+ <optional>
2238
+ <attribute name="N"/>
2239
+ </optional>
2240
+ <optional>
2241
+ <attribute name="arrow-width"/>
2242
+ </optional>
2243
+ <optional>
2244
+ <attribute name="arrow-angles">
2245
+ <optional>
2246
+ <text/>
2247
+ </optional>
2248
+ </attribute>
2249
+ </optional>
2250
+ <ref name="StrokeAttributes"/>
2251
+ <ref name="CommonAttributes"/>
2252
+ </element>
2253
+ </define>
1938
2254
  </grammar>
@@ -23,21 +23,20 @@ def main():
23
23
  # on Windows and linux
24
24
  wd = os.getcwd()
25
25
  os.chdir(destination)
26
- log.info(f"Installing MathJax libraries in {destination}")
27
26
 
28
27
  # we'll try to find the path to npm, which is needed for windows testing
29
28
  npm_cmd = shutil.which("npm")
30
29
  if npm_cmd is None:
31
- npm_cmd = "npm"
32
-
33
- try:
34
- subprocess.run([npm_cmd, "install"])
35
- except Exception as e:
36
- log.error("MathJax installation failed. Is npm installed on your system?")
37
- # windows debug
38
- log.info(f"npm_cmd is at {npm_cmd}")
39
- # log.exception("Stack trace")
40
- return False
30
+ log.error("Cannot find npm to install MathJax for PreFigure")
31
+ else:
32
+ log.info(f"Installing MathJax libraries in {destination}")
33
+ try:
34
+ subprocess.run([npm_cmd, "install"])
35
+ except Exception as e:
36
+ log.error("MathJax installation failed. Is npm installed on your system?")
37
+ # windows debug
38
+ log.info(f"npm_cmd is at {npm_cmd}")
39
+ return False
41
40
 
42
41
  os.chdir(wd)
43
42
  return True
@@ -1,31 +1,27 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefig
3
- Version: 0.2.15.dev20250514053750
3
+ Version: 0.5.6.dev20260130060411
4
4
  Summary: An authoring system for mathematical diagrams
5
5
  Home-page: https://prefigure.org
6
6
  License: GPL-3.0-or-later
7
7
  Author: David Austin
8
8
  Author-email: david.austin.m@gmail.com
9
- Requires-Python: >=3.8.5,<4.0.0
9
+ Requires-Python: >=3.10,<4.0
10
10
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.9
13
12
  Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.11
15
14
  Classifier: Programming Language :: Python :: 3.12
16
15
  Provides-Extra: text
17
16
  Requires-Dist: click (>=8.1.7,<9.0.0)
18
17
  Requires-Dist: click-log (>=0.4.0,<0.5.0)
19
- Requires-Dist: lxml (>=5.3.0,<6.0.0)
18
+ Requires-Dist: lxml (>=6,<7)
20
19
  Requires-Dist: networkx (>=2.5,<3.0)
21
- Requires-Dist: numpy (>=1.19,<=1.25) ; python_version == "3.8"
22
- Requires-Dist: numpy (>=1.26,<2.0) ; python_version >= "3.9" and python_version < "3.13"
23
- Requires-Dist: numpy (>=2.1.0,<3.0.0) ; python_version == "3.13"
24
- Requires-Dist: pycairo (>=1.20,<2.0) ; (python_version >= "3.9") and (extra == "text")
25
- Requires-Dist: pycairo (>=1.20,<=1.26) ; (python_version == "3.8") and (extra == "text")
26
- Requires-Dist: scipy (>=1.14.1,<2.0.0) ; python_version == "3.13"
27
- Requires-Dist: scipy (>=1.5,<=1.7) ; python_version == "3.8"
28
- Requires-Dist: scipy (>=1.8,<2.0) ; python_version >= "3.9" and python_version < "3.13"
20
+ Requires-Dist: numpy (>=1.26,<2.0) ; python_version < "3.13"
21
+ Requires-Dist: numpy (>=2.1.0,<3.0.0) ; python_version >= "3.13"
22
+ Requires-Dist: pycairo (>=1.20,<2.0) ; extra == "text"
23
+ Requires-Dist: scipy (>=1.14.1,<2.0.0) ; python_version >= "3.13"
24
+ Requires-Dist: scipy (>=1.8,<2.0) ; python_version < "3.13"
29
25
  Requires-Dist: shapely (>=2.0.6,<3.0.0)
30
26
  Project-URL: Repository, https://github.com/davidaustinm/prefigure
31
27
  Description-Content-Type: text/markdown
@@ -40,8 +36,9 @@ PreFigure diagrams can now be authored inside a PreTeXt document. More informat
40
36
 
41
37
  You may author and compile PreFigure diagrams in either of two environments:
42
38
 
43
- 1. PreFigure is available in a [GitHub Codespace](https://github.com/davidaustinm/prefigure-codespace). This is a free, cloud-based platform that takes care of all the installation details and creates a fully configured working environment. Follow the instructions on that page to create your codespace and then get started authoring diagrams.
44
- 2. PreFigure may be installed locally as a Python package following the instructions in the **Local Installation** section below.
39
+ 1. You may use the [Prefigure Playground](https://davidaustinm.github.io/prefigure/) and download SVG files directly from the playground.
40
+ 2. PreFigure is available in a [GitHub Codespace](https://github.com/davidaustinm/prefigure-codespace). This is a free, cloud-based platform that takes care of all the installation details and creates a fully configured working environment. Follow the instructions on that page to create your codespace and then get started authoring diagrams.
41
+ 3. PreFigure may be installed locally as a Python package following the instructions in the **Local Installation** section below.
45
42
 
46
43
  ## Local Installation
47
44
 
@@ -95,7 +92,7 @@ PreFigure may be installed locally as a Python package in the usual way using `p
95
92
  apt install nodejs
96
93
  ```
97
94
 
98
- 6. For creating tactile graphics to be embossed, you are encouraged to install `rsvg-convert`, which PreFigure uses to convert SVGs into PDFs. On Ubuntu, you can say
95
+ 6. For building PDF versions of diagrams, you will need to install `rsvg-convert`, which PreFigure uses to convert SVGs into PDFs. On Ubuntu, you can say
99
96
 
100
97
  ```
101
98
  apt install librsvg2-bin
@@ -130,7 +127,6 @@ prefig -vv build foo.xml
130
127
  will print debugging information to the terminal.
131
128
 
132
129
  Here is a summary of PreFigure commands.
133
- ```
134
130
 
135
131
  1. PreFigure source files can be compiled into SVG images using one of the following two commands, with the first command creating a regular SVG file while the second produces a tactile version of the diagram.
136
132
 
@@ -0,0 +1,68 @@
1
+ prefig/__init__.py,sha256=tAf78JkO5kBvFM23RmchK8TEDYO6v8AXqzOv-kq7TR0,53
2
+ prefig/cli.py,sha256=-jbXTVb2Vao4uefq3ia69DDh7ZQivIO-H1grzCVPg0I,12495
3
+ prefig/core/CTM.py,sha256=P32b5rfJD_8QwMNCHRAS6lIB5ellBi1gaSdhxTV4a00,5781
4
+ prefig/core/__init__.py,sha256=roT0a8-iBrp8WXTbPN5RzMWFiCXfpKrEXa2xE-F-yBo,728
5
+ prefig/core/annotations.py,sha256=0vNxWkSAIDIs2L6pTJT0vGgL7qn0yBRw0to6kUeWcTw,7869
6
+ prefig/core/area.py,sha256=U-AxXvaZJWgVccpLlh-aaRfM_QtTa09NR2TqAd8Yk0o,3710
7
+ prefig/core/arrow.py,sha256=NJIh6E1W7NDfyw0BK9mhIrdF1s0Z8iKI0Ut8cM0qvDA,11510
8
+ prefig/core/axes.py,sha256=gOP77KjCnKNQ3ovdcjnTvmQ9zDClSzgB9zCfKFrgvTQ,32494
9
+ prefig/core/calculus.py,sha256=Q4kSGTTTeQYEEVKgmYWpFP0JLHmCsBchB5OF9qSclQk,498
10
+ prefig/core/circle.py,sha256=zWm0emJ2YzH4EcaOqgxMgg-_t4Qcrd2Itfo6_s_61uo,16054
11
+ prefig/core/clip.py,sha256=G4bg7jTGWCd284yzhCwOBbXdxgKvokYbEr2ITA4febI,808
12
+ prefig/core/compat.py,sha256=_dI4aGtDrfhcw33r1SQS6kMwwgJj8dJ2A2GcLmtwX7o,729
13
+ prefig/core/coordinates.py,sha256=vEAJ8kL9S1VylxWysqY5qW2WyCMyHj42yFkuAzjfqFs,3518
14
+ prefig/core/definition.py,sha256=7LiaCxQwwEPdcnMpcMgrkZEfAoTc5ng8LO6Nf50Htwg,1033
15
+ prefig/core/diagram.py,sha256=PwUoJ0s3sIdTgFxGir_scQvAI5E_uGnLbRONBXIxofs,26514
16
+ prefig/core/diffeqs.py,sha256=aLXcmTsnfTG6L2-RiNfSaijzwmJF6xJcQpNQdDAWTQo,7127
17
+ prefig/core/graph.py,sha256=q81dyJy3CxMWvMNhm74SZ9yjfltatdckmajxegA0z0A,10064
18
+ prefig/core/grid_axes.py,sha256=ASzFksHN317l0S0DcJvrA8io7i9Gl_s8lh5az9t8BJM,12357
19
+ prefig/core/group.py,sha256=KByOibuslP9TqSygNfPSaN4zU5oSRYaH2CPnR21ogTg,5825
20
+ prefig/core/image.py,sha256=eQKy0mNvCE6J8EA1S5Y08YF3lrb7kCeGG4wrjBQ_-pI,4373
21
+ prefig/core/implicit.py,sha256=JyFKpKj6Xi1PF-3BeZpd7t0aNe8jH9Wf_E2rghvt-Ug,6179
22
+ prefig/core/label.py,sha256=iIL0QXyNOGbWSA8xLoPgkkxghTcyHRmdDQw07mvBGjY,25100
23
+ prefig/core/label_tools.py,sha256=jOawiyrKC5iQs0vq7133xNXqrkJbMqDZVHflT-hOruo,9167
24
+ prefig/core/legend.py,sha256=S8r0M-nfoQL6tMpeq79xTgDQen9c13NAzMX5au1x47Q,13356
25
+ prefig/core/line.py,sha256=3Q0bIYoKkKlTfdM-wMh9xXSQgEpMAwyWPAmJZgzDFzc,9038
26
+ prefig/core/math_utilities.py,sha256=ZRmki4KoyQA8NZ_ofG_RdREPeVR0O-bCNGyS57floSU,6089
27
+ prefig/core/network.py,sha256=BQLK6t65-_w8KcpFEG4OfCCi8zVntOn8nw1bLmPIuIA,27221
28
+ prefig/core/parametric_curve.py,sha256=WIg6BC4AIx6Hs_1Bl18BJYPY7vaCn80qyDn6OixK3Z0,3431
29
+ prefig/core/parse.py,sha256=plLmR0KKrUjYx0PmHHo5HZonaaT3tW4qjiDOtzuhSkQ,4542
30
+ prefig/core/path.py,sha256=8BbWAUzZqe1YD0gO4QtDENaINavAAC1mlU-y3UV-vu0,20312
31
+ prefig/core/point.py,sha256=n95dHgEjynMauBzfSXbQPnZqyUEWRm4HA9fUTh-e_8M,8912
32
+ prefig/core/polygon.py,sha256=BJ-n9XnxSHb3UFu7lCqOEb48uyGvGGwsA_65dR8_6X4,11429
33
+ prefig/core/read.py,sha256=Q1Nsluwysg3M5wtUmwIirfNo-Rw9-dFJPEeM4pDCpyo,1988
34
+ prefig/core/rectangle.py,sha256=TzdVckcPfNV8fI1xs8FgHadx06wn2P6A504oyDO3xGY,3567
35
+ prefig/core/repeat.py,sha256=iQHJWhhx6hih1SPFBTk-BSyWSyxDvlOikuKb2F6iHSY,3800
36
+ prefig/core/riemann_sum.py,sha256=T2dQgJIY17QuuPDOB8XWIP8HYmg5jOQ-LroFH7tiGAU,3012
37
+ prefig/core/shape.py,sha256=JUy6etGGYzlx5d_CzKpIcK4vmx9BTpJixbCQ3-q87QE,9072
38
+ prefig/core/slope_field.py,sha256=KThnVBuO_3QK7k6xxCWnsbiv-X9P8oS1SgFPLoynA-E,8797
39
+ prefig/core/statistics.py,sha256=5qN_-ABN0EFVG12ZP95uSPk82INbWRqI3w2fUdR3wsw,3458
40
+ prefig/core/tags.py,sha256=7w6E3960o_ZgZl4xYJLVJ1eLttt0vVlB4IgMZGTMyyE,4134
41
+ prefig/core/tangent_line.py,sha256=I9wf9VAqhnmmsh8Lzynwi7_Z1DonHXqHf8ym7eO40tk,3400
42
+ prefig/core/user_namespace.py,sha256=8TG3sN5j2zYoLTK8qNmsUQLETUe0fzoHOpWbofMfkqI,7082
43
+ prefig/core/utilities.py,sha256=ndbB43tDDMj-RFUCCJAFgfdVb1gxYyr9WuHZoHEPC6c,2967
44
+ prefig/core/vector.py,sha256=lTw-y9mt6jqmbFxdPwQB4PYBQ9y4pGrQRcpRp9lBIbY,2917
45
+ prefig/engine.py,sha256=Zz7j2sFxeMwPN1f3GFTpaBihqguzMNJD5iBONOVL7eQ,11972
46
+ prefig/resources/diagcess/diagcess.html,sha256=_JOwYjDRftpXN50J5na2Ck3TRffF4qUEcjCicjHF2Vw,6067
47
+ prefig/resources/diagcess/diagcess.js,sha256=E_S0OtyBvyNjTMO_GIYVt-VzPFYsRFeZw7zrbOcZD-g,74742
48
+ prefig/resources/examples/de-system.xml,sha256=jUd3XoHL-lf3vPd5BmGLXJDiXacK0yfK9qb2gWKiXz4,754
49
+ prefig/resources/examples/derivatives.xml,sha256=UOntiHX18qFv_Lv6oWKa19jFA6A5tPp91lCOiGfZh4E,1606
50
+ prefig/resources/examples/diffeqs.xml,sha256=AXX4SjMbfJZE1bCsn7PRNLHuK-eEt44ZhyIQAaIM5vY,1750
51
+ prefig/resources/examples/implicit.xml,sha256=iPOd70q5UNY9RWfNWquLJu3q7KPLr2yM2DAlgskLZEg,2280
52
+ prefig/resources/examples/projection.xml,sha256=TIeI_E89c0OPQIjvB_TUZM4kwUJb8mQ07-vMN9fXekU,2264
53
+ prefig/resources/examples/riemann.xml,sha256=wXVqhxv0K_3KFvkgVRlyWy8P28Cz-1VsCUgNN4RxBjM,2145
54
+ prefig/resources/examples/roots_of_unity.xml,sha256=qz21tlP0uNRE2awd3nmntbuHMxncORdhKpPGoIiQJug,1872
55
+ prefig/resources/examples/tangent.xml,sha256=FLZaNz0iFoTLX6gB4pfLZFtu_TWeCug4DdaoGBr6bO8,984
56
+ prefig/resources/fonts/Braille29.ttf,sha256=T4hosDvaUGMVK0Wh0BmBgWeT7sQQmLXyA3gRUR-a0oE,55880
57
+ prefig/resources/js/mj-sre-page.js,sha256=LHVeI4dCH13bTv56nz3SKNo3JGRXa6joPM3D3wpKV40,9251
58
+ prefig/resources/js/package.json,sha256=hwKDg76_GzkhX72T7DRiF3FoMLokCv9PSLQvnW5Ovok,116
59
+ prefig/resources/schema/pf_schema.rnc,sha256=cViGiAsiHqiLBqrVNGR06b_7yqQ_XNCiJ9Gz72jfyKo,20386
60
+ prefig/resources/schema/pf_schema.rng,sha256=6U72-HDhdS9drcKoTBVyBxo1XLXxMnPJvrQPMeOqxbc,55192
61
+ prefig/resources/template/pf_publication.xml,sha256=eEv8HACv610Apw5DSVNy0reLfELYqHlNy9Oq0GH7C_c,200
62
+ prefig/scripts/__init__.py,sha256=qJcPi1WRh9UAwu4zIFJbmxWalAMilMYqgi6LxRkF7bI,25
63
+ prefig/scripts/install_mj.py,sha256=5A6-oc1xbIXka5mkFE70vlp9-Rh_QoxOxGMrQi9Hkio,1219
64
+ prefig-0.5.6.dev20260130060411.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
65
+ prefig-0.5.6.dev20260130060411.dist-info/METADATA,sha256=B8e4L4Ro31Vnnqi78J2HLhAP783AK1v5YrIsNVH_3n4,8708
66
+ prefig-0.5.6.dev20260130060411.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
67
+ prefig-0.5.6.dev20260130060411.dist-info/entry_points.txt,sha256=OP4ZQT71q2b0Zfbie-oM2Z1HlxpkuX7qaxJnzwsBOVQ,42
68
+ prefig-0.5.6.dev20260130060411.dist-info/RECORD,,