diff --git a/.gitignore b/.gitignore index d40ae39..16474dd 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,8 @@ MANIFEST # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec +!md2gost.spec +!md2gost.fast.spec # Installer logs pip-log.txt @@ -130,6 +132,7 @@ venv.bak/ # md2gost diagram PNG cache .md2gost-cache/ +md2gost/vendor/*.jar # LaTeX build artefacts *_latex/ @@ -172,3 +175,9 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. .idea/ + +# md2gost runtime (created next to app / cwd on first run) +md2gost.schemes.json +md2gost.include-cache.json +include-cache/ +.md2gost-cache/ diff --git a/ReadMe.docx b/ReadMe.docx new file mode 100644 index 0000000..0bc0b6e Binary files /dev/null and b/ReadMe.docx differ diff --git a/_bpmn_preview.png b/_bpmn_preview.png new file mode 100644 index 0000000..05cf39e Binary files /dev/null and b/_bpmn_preview.png differ diff --git a/_bpmn_sprites.puml b/_bpmn_sprites.puml new file mode 100644 index 0000000..541241d --- /dev/null +++ b/_bpmn_sprites.puml @@ -0,0 +1,3468 @@ +' auto-generated geometric sprites (BPMN 2.0 notation) +sprite $evStart [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000000000000000000000001B70000000 +000002C500000000000000000000000000000005C2000000 +000005C200000000000000000000000000000002C5000000 +000009900000000000000000000000000000000099000000 +00001B50000000000000000000000000000000005B100000 +00002C30000000000000000000000000000000003C200000 +00003C20000000000000000000000000000000002C300000 +00004C20000000000000000000000000000000002C400000 +00005C10000000000000000000000000000000001C500000 +00004C20000000000000000000000000000000002C400000 +00003C20000000000000000000000000000000002C300000 +00002C30000000000000000000000000000000003C200000 +00001B50000000000000000000000000000000005B100000 +000009900000000000000000000000000000000099000000 +000005C200000000000000000000000000000002C5000000 +000002C500000000000000000000000000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartMsg [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000000000000000000000001B70000000 +000002C500000000000000000000000000000005C2000000 +000005C200000008888888888888888800000002C5000000 +000009900000008FFFFFFFFFFFFFFFFF8000000099000000 +00001B500000008FDA88888888888ADF800000005B100000 +00002C300000008F854000000000458F800000003C200000 +00003C200000008F815510000015518F800000002C300000 +00004C200000008F800451000154008F800000002C400000 +00005C100000008F800036202630008F800000001C500000 +00004C200000008F800002646200008F800000002C400000 +00003C200000008F800000252000008F800000002C300000 +00002C300000008F800000000000008F800000003C200000 +00001B500000008FB8888888888888BF800000005B100000 +000009900000008FFFFFFFFFFFFFFFFF8000000099000000 +000005C200000008888888888888888800000002C5000000 +000002C500000000000000000000000000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartTimer [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000000133310000000000001B70000000 +000002C50000000000039BBBBB93000000000005C2000000 +000005C200000000006C8312138C600000000002C5000000 +000009900000000006B400151004B6000000000099000000 +00001B50000000003C40001510004C30000000005B100000 +00002C30000000009800001510000890000000003C200000 +00003C2000000001B3000015100003B1000000002C300000 +00004C2000000003B1000015111001B3000000002C400000 +00005C1000000003B0000015555300B3000000001C500000 +00004C2000000003B1000001111001B3000000002C400000 +00003C2000000001B3000000000003B1000000002C300000 +00002C30000000009800000000000890000000003C200000 +00001B50000000003C40000000004C30000000005B100000 +000009900000000006B400000004B6000000000099000000 +000005C200000000006C8310138C600000000002C5000000 +000002C50000000000039BBBBB93000000000005C2000000 +0000007B1000000000000133310000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartSignal [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000000003000000000000001B70000000 +000002C500000000000000373000000000000005C2000000 +000005C200000000000001646100000000000002C5000000 +000009900000000000000351530000000000000099000000 +00001B50000000000000162026100000000000005B100000 +00002C30000000000000450005400000000000003C200000 +00003C20000000000001620002610000000000002C300000 +00004C20000000000004500000540000000000002C400000 +00005C10000000000026200000262000000000001C500000 +00004C20000000000054000000045000000000002C400000 +00003C20000000000261000000016200000000002C300000 +00002C30000000000540000000004500000000003C200000 +00001B50000000002610000000001620000000005B100000 +000009900000000054111111111114500000000099000000 +000005C200000002666666666666666200000002C5000000 +000002C500000000111111111111111000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartCond [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000004888888888884000000006C20000000 +0000007B100000004BFFFFFFFFFFFB400000001B70000000 +000002C5000000008FB888888888BF8000000005C2000000 +000005C2000000008F80000000008F8000000002C5000000 +00000990000000008F80000000008F800000000099000000 +00001B50000000008F80000000008F80000000005B100000 +00002C30000000008F82555555528F80000000003C200000 +00003C20000000008F80000000008F80000000002C300000 +00004C20000000008F80000000008F80000000002C400000 +00005C10000000008F82555555528F80000000001C500000 +00004C20000000008F80000000008F80000000002C400000 +00003C20000000008F80000000008F80000000002C300000 +00002C30000000008F82555555528F80000000003C200000 +00001B50000000008F80000000008F80000000005B100000 +00000990000000008F80000000008F800000000099000000 +000005C2000000008F80000000008F8000000002C5000000 +000002C5000000008FB888888888BF8000000005C2000000 +0000007B100000004BFFFFFFFFFFFB400000001B70000000 +0000002C6000000004888888888884000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartError [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000100000000000006C20000000 +0000007B1000000000000001510000000000001B70000000 +000002C500000000000000045000000000000005C2000000 +000005C200000000000000162000000000000002C5000000 +000009900000000000000045000000000000000099000000 +00001B50000000000000016300000000000000005B100000 +00002C30000000000000036100000000000000003C200000 +00003C20000000000000164111100000000000002C300000 +00004C20000000000000366666610000000000002C400000 +00005C10000000000000621114400000000000001C500000 +00004C20000000000002644426200000000000002C400000 +00003C20000000000002444555000000000000002C300000 +00002C30000000000000000662000000000000003C200000 +00001B50000000000000001660000000000000005B100000 +000009900000000000000027300000000000000099000000 +000005C200000000000000461000000000000002C5000000 +000002C500000000000000640000000000000005C2000000 +0000007B1000000000000151000000000000001B70000000 +0000002C6000000000000010000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartEsc [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000000000000000000000001B70000000 +000002C500000000000000000000000000000005C2000000 +000005C200000000000000000000000000000002C5000000 +000009900000000000000000000000000000000099000000 +00001B50000000000000000000000000000000005B100000 +00002C30000000000000000100000000000000003C200000 +00003C20000000000000002620000000000000002C300000 +00004C20000000000000026662000000000000002C400000 +00005C10000000000000263636200000000000001C500000 +00004C20000000000002621612620000000000002C400000 +00003C20000000000026201610262000000000002C300000 +00002C30000000000263112621136200000000003C200000 +00001B50000000001666666666666610000000005B100000 +000009900000000001111126211111000000000099000000 +000005C200000000000000161000000000000002C5000000 +000002C500000000000000151000000000000005C2000000 +0000007B1000000000000001000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartMulti [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000000013100000000000001B70000000 +000002C500000000000001565100000000000005C2000000 +000005C200000000000036313630000000000002C5000000 +000009900000000000146200026410000000000099000000 +00001B50000000000255100000155200000000005B100000 +00002C30000000003630000000003630000000003C200000 +00003C20000000016200000000000261000000002C300000 +00004C20000000005300000000000350000000002C400000 +00005C10000000002500000000000520000000001C500000 +00004C20000000001610000000001610000000002C400000 +00003C20000000000530000000003500000000002C300000 +00002C30000000000350000000005300000000003C200000 +00001B50000000000161000000016100000000005B100000 +000009900000000000531111111350000000000099000000 +000005C200000000003666666666300000000002C5000000 +000002C500000000000111111111000000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartPar [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000012345432100000000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +0000000000000027CC95322122359CC72000000000000000 +00000000000016CB520000000000025BC610000000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000003B810000000000000000000000018B3000000000 +00000001AA100000000000000000000000001AA100000000 +00000006C30000000000000000000000000003C600000000 +0000002C6000000000000000000000000000006C20000000 +0000007B1000000000001356531000000000001B70000000 +000002C5000000000015BBA9ABB5100000000005C2000000 +000005C200000000019B5101015B910000000002C5000000 +000009900000000019A200151002A9100000000099000000 +00001B50000000005B20001610002B50000000005B100000 +00002C3000000001B5000016100005B1000000003C200000 +00003C2000000003B1000016100001B3000000002C300000 +00004C2000000005A0111126211110A5000000002C400000 +00005C10000000069156666666665196000000001C500000 +00004C2000000005A0111126211110A5000000002C400000 +00003C2000000003B1000016100001B3000000002C300000 +00002C3000000001B5000016100005B1000000003C200000 +00001B50000000005B20001610002B50000000005B100000 +000009900000000019A200151002A9100000000099000000 +000005C200000000019B5101015B910000000002C5000000 +000002C5000000000015BBA9ABB5100000000005C2000000 +0000007B1000000000001356531000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA100000000000000000000000001AA100000000 +000000003B810000000000000000000000018B3000000000 +0000000004B8100000000000000000000018B40000000000 +00000000004BA300000000000000000003AB400000000000 +000000000003AC6100000000000000016CA3000000000000 +00000000000016CB520000000000025BC610000000000000 +0000000000000027CC95322122359CC72000000000000000 +0000000000000000259BCCCCCCCB95200000000000000000 +000000000000000000012345432100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000002345432000000000000000000000 +000000000000000000116CCCCC6110000000000000000000 +000000000000000111101221221011110000000000000000 +000000000000164100000000000000014610000000000000 +000000000003AC4000000000000000004CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000000881000000000000000000000001880000000000 +000000001110000000000000000000000000111000000000 +000000011000000000000000000000000000001100000000 +000000010000000000000000000000000000000100000000 +000000110000000000000000000000000000000110000000 +000000100000000000000000000000000000000010000000 +000005910000000000000000000000000000000195000000 +000009900000000000000000000000000000000099000000 +00001B50000000000000000000000000000000005B100000 +00002C30000000000000000000000000000000003C200000 +00003C20000000000000000000000000000000002C300000 +00004C20000000000000000000000000000000002C400000 +000026100000000000000000000000000000000016200000 +000001000000000000000000000000000000000001000000 +000001000000000000000000000000000000000001000000 +000001000000000000000000000000000000000001000000 +000001000000000000000000000000000000000001000000 +000001100000000000000000000000000000000011000000 +000000310000000000000000000000000000000130000000 +000002C500000000000000000000000000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA000000000000000000000000000AA100000000 +000000003410000000000000000000000000143000000000 +000000000011000000000000000000000001100000000000 +000000000001100000000000000000000011000000000000 +000000000000112100000000000000012110000000000000 +000000000000018B520000000000025B8100000000000000 +0000000000000027CC95200000259CC72000000000000000 +0000000000000000259B6111116B95200000000000000000 +000000000000000000010000000100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartMsgNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000002345432000000000000000000000 +000000000000000000116CCCCC6110000000000000000000 +000000000000000111101221221011110000000000000000 +000000000000164100000000000000014610000000000000 +000000000003AC4000000000000000004CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000000881000000000000000000000001880000000000 +000000001110000000000000000000000000111000000000 +000000011000000000000000000000000000001100000000 +000000010000000000000000000000000000000100000000 +000000110000000000000000000000000000000110000000 +000000100000000000000000000000000000000010000000 +000005910000000888888888888888880000000195000000 +000009900000008FFFFFFFFFFFFFFFFF8000000099000000 +00001B500000008FDA88888888888ADF800000005B100000 +00002C300000008F854000000000458F800000003C200000 +00003C200000008F815510000015518F800000002C300000 +00004C200000008F800451000154008F800000002C400000 +000026100000008F800036202630008F8000000016200000 +000001000000008F800002646200008F8000000001000000 +000001000000008F800000252000008F8000000001000000 +000001000000008F800000000000008F8000000001000000 +000001000000008FB8888888888888BF8000000001000000 +000001100000008FFFFFFFFFFFFFFFFF8000000011000000 +000000310000000888888888888888880000000130000000 +000002C500000000000000000000000000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA000000000000000000000000000AA100000000 +000000003410000000000000000000000000143000000000 +000000000011000000000000000000000001100000000000 +000000000001100000000000000000000011000000000000 +000000000000112100000000000000012110000000000000 +000000000000018B520000000000025B8100000000000000 +0000000000000027CC95200000259CC72000000000000000 +0000000000000000259B6111116B95200000000000000000 +000000000000000000010000000100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartTimerNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000002345432000000000000000000000 +000000000000000000116CCCCC6110000000000000000000 +000000000000000111101221221011110000000000000000 +000000000000164100000000000000014610000000000000 +000000000003AC4000000000000000004CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000000881000000000000000000000001880000000000 +000000001110000000000000000000000000111000000000 +000000011000000000000000000000000000001100000000 +000000010000000000000000000000000000000100000000 +000000110000000000000133310000000000000110000000 +000000100000000000039BBBBB9300000000000010000000 +0000059100000000006C8312138C60000000000195000000 +000009900000000006B400151004B6000000000099000000 +00001B50000000003C40001510004C30000000005B100000 +00002C30000000009800001510000890000000003C200000 +00003C2000000001B3000015100003B1000000002C300000 +00004C2000000003B1000015111001B3000000002C400000 +0000261000000003B0000015555300B30000000016200000 +0000010000000003B1000001111001B30000000001000000 +0000010000000001B3000000000003B10000000001000000 +000001000000000098000000000008900000000001000000 +00000100000000003C40000000004C300000000001000000 +000001100000000006B400000004B6000000000011000000 +0000003100000000006C8310138C60000000000130000000 +000002C50000000000039BBBBB93000000000005C2000000 +0000007B1000000000000133310000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA000000000000000000000000000AA100000000 +000000003410000000000000000000000000143000000000 +000000000011000000000000000000000001100000000000 +000000000001100000000000000000000011000000000000 +000000000000112100000000000000012110000000000000 +000000000000018B520000000000025B8100000000000000 +0000000000000027CC95200000259CC72000000000000000 +0000000000000000259B6111116B95200000000000000000 +000000000000000000010000000100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evStartSignalNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000002345432000000000000000000000 +000000000000000000116CCCCC6110000000000000000000 +000000000000000111101221221011110000000000000000 +000000000000164100000000000000014610000000000000 +000000000003AC4000000000000000004CA3000000000000 +00000000004BA300000000000000000003AB400000000000 +0000000004B8100000000000000000000018B40000000000 +000000000881000000000000000000000001880000000000 +000000001110000000000000000000000000111000000000 +000000011000000000000000000000000000001100000000 +000000010000000000000000000000000000000100000000 +000000110000000000000003000000000000000110000000 +000000100000000000000037300000000000000010000000 +000005910000000000000164610000000000000195000000 +000009900000000000000351530000000000000099000000 +00001B50000000000000162026100000000000005B100000 +00002C30000000000000450005400000000000003C200000 +00003C20000000000001620002610000000000002C300000 +00004C20000000000004500000540000000000002C400000 +000026100000000000262000002620000000000016200000 +000001000000000000540000000450000000000001000000 +000001000000000002610000000162000000000001000000 +000001000000000005400000000045000000000001000000 +000001000000000026100000000016200000000001000000 +000001100000000054111111111114500000000011000000 +000000310000000266666666666666620000000130000000 +000002C500000000111111111111111000000005C2000000 +0000007B1000000000000000000000000000001B70000000 +0000002C6000000000000000000000000000006C20000000 +00000006C30000000000000000000000000003C600000000 +00000001AA000000000000000000000000000AA100000000 +000000003410000000000000000000000000143000000000 +000000000011000000000000000000000001100000000000 +000000000001100000000000000000000011000000000000 +000000000000112100000000000000012110000000000000 +000000000000018B520000000000025B8100000000000000 +0000000000000027CC95200000259CC72000000000000000 +0000000000000000259B6111116B95200000000000000000 +000000000000000000010000000100000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evInter [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000000000000000000000001B600A7000000 +00000B501B500000000000000000000000005B105B000000 +00002C303C200000000000000000000000002C303C200000 +00003B105B000000000000000000000000000B501B300000 +00005B00780000000000000000000000000008700B500000 +00006A00970000000000000000000000000007900A600000 +000069009600000000000000000000000000069009600000 +00006A00970000000000000000000000000007900A600000 +00005B00780000000000000000000000000008700B500000 +00003B105B000000000000000000000000000B501B300000 +00002C303C200000000000000000000000002C303C200000 +00000B501B500000000000000000000000005B105B000000 +000007A006B1000000000000000000000001B600A7000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchMsg [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000888888888888888880001B600A7000000 +00000B501B50008FFFFFFFFFFFFFFFFF80005B105B000000 +00002C303C20008FDA88888888888ADF80002C303C200000 +00003B105B00008F854000000000458F80000B501B300000 +00005B007800008F815510000015518F800008700B500000 +00006A009700008F800451000154008F800007900A600000 +000069009600008F800036202630008F8000069009600000 +00006A009700008F800002646200008F800007900A600000 +00005B007800008F800000252000008F800008700B500000 +00003B105B00008F800000000000008F80000B501B300000 +00002C303C20008FB8888888888888BF80002C303C200000 +00000B501B50008FFFFFFFFFFFFFFFFF80005B105B000000 +000007A006B1000888888888888888880001B600A7000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchTimer [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000013331000000002B500890000000 +000003C202B5000000039BBBBB9300000005B202C3000000 +000007A006B10000006C8312138C60000001B600A7000000 +00000B501B50000006B400151004B60000005B105B000000 +00002C303C2000003C40001510004C3000002C303C200000 +00003B105B000000980000151000089000000B501B300000 +00005B0078000001B3000015100003B1000008700B500000 +00006A0097000003B1000015111001B3000007900A600000 +0000690096000003B0000015555300B30000069009600000 +00006A0097000003B1000001111001B3000007900A600000 +00005B0078000001B3000000000003B1000008700B500000 +00003B105B000000980000000000089000000B501B300000 +00002C303C2000003C40000000004C3000002C303C200000 +00000B501B50000006B400000004B60000005B105B000000 +000007A006B10000006C8310138C60000001B600A7000000 +000003C202B5000000039BBBBB9300000005B202C3000000 +00000098005B20000000013331000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchSignal [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000300000000002B500890000000 +000003C202B5000000000037300000000005B202C3000000 +000007A006B1000000000164610000000001B600A7000000 +00000B501B500000000003515300000000005B105B000000 +00002C303C200000000016202610000000002C303C200000 +00003B105B000000000045000540000000000B501B300000 +00005B00780000000001620002610000000008700B500000 +00006A00970000000004500000540000000007900A600000 +000069009600000000262000002620000000069009600000 +00006A00970000000054000000045000000007900A600000 +00005B00780000000261000000016200000008700B500000 +00003B105B000000054000000000450000000B501B300000 +00002C303C200000261000000000162000002C303C200000 +00000B501B500000541111111111145000005B105B000000 +000007A006B1000266666666666666620001B600A7000000 +000003C202B5000011111111111111100005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchError [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000100000000199103C30000000 +00000098005B20000000000151000000002B500890000000 +000003C202B5000000000004500000000005B202C3000000 +000007A006B1000000000016200000000001B600A7000000 +00000B501B500000000000450000000000005B105B000000 +00002C303C200000000001630000000000002C303C200000 +00003B105B000000000003610000000000000B501B300000 +00005B00780000000000164111100000000008700B500000 +00006A00970000000000366666610000000007900A600000 +000069009600000000006211144000000000069009600000 +00006A00970000000002644426200000000007900A600000 +00005B00780000000002444555000000000008700B500000 +00003B105B000000000000066200000000000B501B300000 +00002C303C200000000000166000000000002C303C200000 +00000B501B500000000000273000000000005B105B000000 +000007A006B1000000000046100000000001B600A7000000 +000003C202B5000000000064000000000005B202C3000000 +00000098005B20000000015100000000002B500890000000 +0000003C3019910000000010000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchEsc [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000000000000000000000001B600A7000000 +00000B501B500000000000000000000000005B105B000000 +00002C303C200000000000000000000000002C303C200000 +00003B105B000000000000010000000000000B501B300000 +00005B00780000000000002620000000000008700B500000 +00006A00970000000000026662000000000007900A600000 +000069009600000000002636362000000000069009600000 +00006A00970000000002621612620000000007900A600000 +00005B00780000000026201610262000000008700B500000 +00003B105B000000026311262113620000000B501B300000 +00002C303C200000166666666666661000002C303C200000 +00000B501B500000011111262111110000005B105B000000 +000007A006B1000000000016100000000001B600A7000000 +000003C202B5000000000015100000000005B202C3000000 +00000098005B20000000000100000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchCond [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910004888888888884000199103C30000000 +00000098005B20004BFFFFFFFFFFFB40002B500890000000 +000003C202B500008FB888888888BF800005B202C3000000 +000007A006B100008F80000000008F800001B600A7000000 +00000B501B5000008F80000000008F8000005B105B000000 +00002C303C2000008F80000000008F8000002C303C200000 +00003B105B0000008F82555555528F8000000B501B300000 +00005B00780000008F80000000008F80000008700B500000 +00006A00970000008F80000000008F80000007900A600000 +00006900960000008F82555555528F800000069009600000 +00006A00970000008F80000000008F80000007900A600000 +00005B00780000008F80000000008F80000008700B500000 +00003B105B0000008F82555555528F8000000B501B300000 +00002C303C2000008F80000000008F8000002C303C200000 +00000B501B5000008F80000000008F8000005B105B000000 +000007A006B100008F80000000008F800001B600A7000000 +000003C202B500008FB888888888BF800005B202C3000000 +00000098005B20004BFFFFFFFFFFFB40002B500890000000 +0000003C3019910004888888888884000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchLink [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000000000000000000000001B600A7000000 +00000B501B500000000000001000000000005B105B000000 +00002C303C200000000000016200000000002C303C200000 +00003B105B000000000000002620000000000B501B300000 +00005B00780000000000000002620000000008700B500000 +00006A00970000011111111111362000000007900A600000 +000069009600001566666666666661000000069009600000 +00006A00970000011111111111362000000007900A600000 +00005B00780000000000000002620000000008700B500000 +00003B105B000000000000002620000000000B501B300000 +00002C303C200000000000016200000000002C303C200000 +00000B501B500000000000001000000000005B105B000000 +000007A006B1000000000000000000000001B600A7000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchComp [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000100000001000000000005B202C3000000 +000007A006B1000541000026200000000001B600A7000000 +00000B501B500005551000266300000000005B105B000000 +00002C303C200005346200252640000000002C303C200000 +00003B105B000005203630250155100000000B501B300000 +00005B00780000052002543500145200000008700B500000 +00006A00970000052000155500003630000007900A600000 +000069009600000520000155000003610000069009600000 +00006A00970000052000155500003630000007900A600000 +00005B00780000052002543500145200000008700B500000 +00003B105B000005203630250155100000000B501B300000 +00002C303C200005346200252640000000002C303C200000 +00000B501B500005551000266300000000005B105B000000 +000007A006B1000541000026200000000001B600A7000000 +000003C202B5000100000001000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchCancel [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000001000000000001000005B202C3000000 +000007A006B1000016300000000036100001B600A7000000 +00000B501B500000036300000003630000005B105B000000 +00002C303C200000003630000036300000002C303C200000 +00003B105B000000000363000363000000000B501B300000 +00005B00780000000000363036300000000008700B500000 +00006A00970000000000036463000000000007900A600000 +000069009600000000000048400000000000069009600000 +00006A00970000000000036463000000000007900A600000 +00005B00780000000000363036300000000008700B500000 +00003B105B000000000363000363000000000B501B300000 +00002C303C200000003630000036300000002C303C200000 +00000B501B500000036300000003630000005B105B000000 +000007A006B1000016300000000036100001B600A7000000 +000003C202B5000001000000000001000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchMulti [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000001310000000002B500890000000 +000003C202B5000000000156510000000005B202C3000000 +000007A006B1000000003631363000000001B600A7000000 +00000B501B500000001462000264100000005B105B000000 +00002C303C200000025510000015520000002C303C200000 +00003B105B000000363000000000363000000B501B300000 +00005B00780000016200000000000261000008700B500000 +00006A00970000005300000000000350000007900A600000 +000069009600000025000000000005200000069009600000 +00006A00970000001610000000001610000007900A600000 +00005B00780000000530000000003500000008700B500000 +00003B105B000000035000000000530000000B501B300000 +00002C303C200000016100000001610000002C303C200000 +00000B501B500000005311111113500000005B105B000000 +000007A006B1000000366666666630000001B600A7000000 +000003C202B5000000011111111100000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evCatchPar [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000135653100000002B500890000000 +000003C202B500000015BBA9ABB510000005B202C3000000 +000007A006B10000019B5101015B91000001B600A7000000 +00000B501B50000019A200151002A91000005B105B000000 +00002C303C2000005B20001610002B5000002C303C200000 +00003B105B000001B5000016100005B100000B501B300000 +00005B0078000003B1000016100001B3000008700B500000 +00006A0097000005A0111126211110A5000007900A600000 +000069009600000691566666666651960000069009600000 +00006A0097000005A0111126211110A5000007900A600000 +00005B0078000003B1000016100001B3000008700B500000 +00003B105B000001B5000016100005B100000B501B300000 +00002C303C2000005B20001610002B5000002C303C200000 +00000B501B50000019A200151002A91000005B105B000000 +000007A006B10000019B5101015B91000001B600A7000000 +000003C202B500000015BBA9ABB510000005B202C3000000 +00000098005B20000000135653100000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evThrowMsg [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000888888888888888880001B600A7000000 +00000B501B50008FFFFFFFFFFFFFFFFF80005B105B000000 +00002C303C20008FFFFFFFFFFFFFFFFF80002C303C200000 +00003B105B00008FFFFFFFFFFFFFFFFF80000B501B300000 +00005B007800008FFFFFFFFFFFFFFFFF800008700B500000 +00006A009700008FFFFFFFFFFFFFFFFF800007900A600000 +000069009600008FFFFFFFFFFFFFFFFF8000069009600000 +00006A009700008FFFFFFFFFFFFFFFFF800007900A600000 +00005B007800008FFFFFFFFFFFFFFFFF800008700B500000 +00003B105B00008FFFFFFFFFFFFFFFFF80000B501B300000 +00002C303C20008FFFFFFFFFFFFFFFFF80002C303C200000 +00000B501B50008FFFFFFFFFFFFFFFFF80005B105B000000 +000007A006B1000888888888888888880001B600A7000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evThrowSignal [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000300000000002B500890000000 +000003C202B500000000003F300000000005B202C3000000 +000007A006B10000000001AFA10000000001B600A7000000 +00000B501B500000000006FFF600000000005B105B000000 +00002C303C20000000001CFFFC10000000002C303C200000 +00003B105B00000000006FFFFF60000000000B501B300000 +00005B00780000000001CFFFFFC10000000008700B500000 +00006A00970000000006FFFFFFF60000000007900A600000 +0000690096000000002DFFFFFFFD20000000069009600000 +00006A0097000000007FFFFFFFFF7000000007900A600000 +00005B007800000002DFFFFFFFFFD200000008700B500000 +00003B105B00000009FFFFFFFFFFF90000000B501B300000 +00002C303C2000002FFFFFFFFFFFFF2000002C303C200000 +00000B501B5000009FFFFFFFFFFFFF9000005B105B000000 +000007A006B10002FFFFFFFFFFFFFFF20001B600A7000000 +000003C202B5000011111111111111100005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evThrowEsc [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000000000000000000000001B600A7000000 +00000B501B500000000000000000000000005B105B000000 +00002C303C200000000000000000000000002C303C200000 +00003B105B000000000000010000000000000B501B300000 +00005B00780000000000002620000000000008700B500000 +00006A00970000000000026662000000000007900A600000 +000069009600000000002636362000000000069009600000 +00006A00970000000002621612620000000007900A600000 +00005B00780000000026201610262000000008700B500000 +00003B105B000000026311262113620000000B501B300000 +00002C303C200000166666666666661000002C303C200000 +00000B501B500000011111262111110000005B105B000000 +000007A006B1000000000016100000000001B600A7000000 +000003C202B5000000000015100000000005B202C3000000 +00000098005B20000000000100000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evThrowLink [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000000000000000000000001B600A7000000 +00000B501B500000000000001000000000005B105B000000 +00002C303C200000000000016200000000002C303C200000 +00003B105B000000000000002620000000000B501B300000 +00005B00780000000000000002620000000008700B500000 +00006A00970000011111111111362000000007900A600000 +000069009600001566666666666661000000069009600000 +00006A00970000011111111111362000000007900A600000 +00005B00780000000000000002620000000008700B500000 +00003B105B000000000000002620000000000B501B300000 +00002C303C200000000000016200000000002C303C200000 +00000B501B500000000000001000000000005B105B000000 +000007A006B1000000000000000000000001B600A7000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evThrowComp [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000100000001000000000005B202C3000000 +000007A006B1000541000026200000000001B600A7000000 +00000B501B500005551000266300000000005B105B000000 +00002C303C200005346200252640000000002C303C200000 +00003B105B000005203630250155100000000B501B300000 +00005B00780000052002543500145200000008700B500000 +00006A00970000052000155500003630000007900A600000 +000069009600000520000155000003610000069009600000 +00006A00970000052000155500003630000007900A600000 +00005B00780000052002543500145200000008700B500000 +00003B105B000005203630250155100000000B501B300000 +00002C303C200005346200252640000000002C303C200000 +00000B501B500005551000266300000000005B105B000000 +000007A006B1000541000026200000000001B600A7000000 +000003C202B5000100000001000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evThrowMulti [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000001310000000002B500890000000 +000003C202B5000000000156510000000005B202C3000000 +000007A006B1000000003631363000000001B600A7000000 +00000B501B500000001462000264100000005B105B000000 +00002C303C200000025510000015520000002C303C200000 +00003B105B000000363000000000363000000B501B300000 +00005B00780000016200000000000261000008700B500000 +00006A00970000005300000000000350000007900A600000 +000069009600000025000000000005200000069009600000 +00006A00970000001610000000001610000007900A600000 +00005B00780000000530000000003500000008700B500000 +00003B105B000000035000000000530000000B501B300000 +00002C303C200000016100000001610000002C303C200000 +00000B501B500000005311111113500000005B105B000000 +000007A006B1000000366666666630000001B600A7000000 +000003C202B5000000011111111100000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEnd [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000000000000000016BD83000000 +000005AE9400000000000000000000000000049EA5000000 +000017CC7100000000000000000000000000017CC7100000 +000039EA4000000000000000000000000000004AE9300000 +00004AE830000000000000000000000000000038EA400000 +00015BD720000000000000000000000000000027DB510000 +00016CC610000000000000000000000000000016CC610000 +00017CC610000000000000000000000000000016CC710000 +00017DB610000000000000000000000000000016BD710000 +00017CC610000000000000000000000000000016CC710000 +00016CC610000000000000000000000000000016CC610000 +00015BD720000000000000000000000000000027DB510000 +00004AE830000000000000000000000000000038EA400000 +000039EA4000000000000000000000000000004AE9300000 +000017CC7100000000000000000000000000017CC7100000 +000005AE9400000000000000000000000000049EA5000000 +0000038DB61000000000000000000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndMsg [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000000000000000016BD83000000 +000005AE9400000000000000000000000000049EA5000000 +000017CC7100000888888888888888880000017CC7100000 +000039EA4000008FFFFFFFFFFFFFFFFF8000004AE9300000 +00004AE83000008FFFFFFFFFFFFFFFFF80000038EA400000 +00015BD72000008FFFFFFFFFFFFFFFFF80000027DB510000 +00016CC61000008FFFFFFFFFFFFFFFFF80000016CC610000 +00017CC61000008FFFFFFFFFFFFFFFFF80000016CC710000 +00017DB61000008FFFFFFFFFFFFFFFFF80000016BD710000 +00017CC61000008FFFFFFFFFFFFFFFFF80000016CC710000 +00016CC61000008FFFFFFFFFFFFFFFFF80000016CC610000 +00015BD72000008FFFFFFFFFFFFFFFFF80000027DB510000 +00004AE83000008FFFFFFFFFFFFFFFFF80000038EA400000 +000039EA4000008FFFFFFFFFFFFFFFFF8000004AE9300000 +000017CC7100000888888888888888880000017CC7100000 +000005AE9400000000000000000000000000049EA5000000 +0000038DB61000000000000000000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndError [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000010000000000049EB51000000 +0000038DB61000000000000151000000000016BD83000000 +000005AE9400000000000004500000000000049EA5000000 +000017CC7100000000000016200000000000017CC7100000 +000039EA4000000000000045000000000000004AE9300000 +00004AE830000000000001630000000000000038EA400000 +00015BD720000000000003610000000000000027DB510000 +00016CC610000000000016411110000000000016CC610000 +00017CC610000000000036666661000000000016CC710000 +00017DB610000000000062111440000000000016BD710000 +00017CC610000000000264442620000000000016CC710000 +00016CC610000000000244455500000000000016CC610000 +00015BD720000000000000066200000000000027DB510000 +00004AE830000000000000166000000000000038EA400000 +000039EA4000000000000027300000000000004AE9300000 +000017CC7100000000000046100000000000017CC7100000 +000005AE9400000000000064000000000000049EA5000000 +0000038DB61000000000015100000000000016BD83000000 +0000015BE94000000000001000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndEsc [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000000000000000016BD83000000 +000005AE9400000000000000000000000000049EA5000000 +000017CC7100000000000000000000000000017CC7100000 +000039EA4000000000000000000000000000004AE9300000 +00004AE830000000000000000000000000000038EA400000 +00015BD720000000000000010000000000000027DB510000 +00016CC610000000000000262000000000000016CC610000 +00017CC610000000000002666200000000000016CC710000 +00017DB610000000000026363620000000000016BD710000 +00017CC610000000000262161262000000000016CC710000 +00016CC610000000002620161026200000000016CC610000 +00015BD720000000026311262113620000000027DB510000 +00004AE830000000166666666666661000000038EA400000 +000039EA4000000001111126211111000000004AE9300000 +000017CC7100000000000016100000000000017CC7100000 +000005AE9400000000000015100000000000049EA5000000 +0000038DB61000000000000100000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndCancel [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000000000000000016BD83000000 +000005AE9400000001000000000001000000049EA5000000 +000017CC7100000016300000000036100000017CC7100000 +000039EA4000000003630000000363000000004AE9300000 +00004AE830000000003630000036300000000038EA400000 +00015BD720000000000363000363000000000027DB510000 +00016CC610000000000036303630000000000016CC610000 +00017CC610000000000003646300000000000016CC710000 +00017DB610000000000000484000000000000016BD710000 +00017CC610000000000003646300000000000016CC710000 +00016CC610000000000036303630000000000016CC610000 +00015BD720000000000363000363000000000027DB510000 +00004AE830000000003630000036300000000038EA400000 +000039EA4000000003630000000363000000004AE9300000 +000017CC7100000016300000000036100000017CC7100000 +000005AE9400000001000000000001000000049EA5000000 +0000038DB61000000000000000000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndComp [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000000000000000016BD83000000 +000005AE9400000100000001000000000000049EA5000000 +000017CC7100000541000026200000000000017CC7100000 +000039EA4000000555100026630000000000004AE9300000 +00004AE830000005346200252640000000000038EA400000 +00015BD720000005203630250155100000000027DB510000 +00016CC610000005200254350014520000000016CC610000 +00017CC610000005200015550000363000000016CC710000 +00017DB610000005200001550000036100000016BD710000 +00017CC610000005200015550000363000000016CC710000 +00016CC610000005200254350014520000000016CC610000 +00015BD720000005203630250155100000000027DB510000 +00004AE830000005346200252640000000000038EA400000 +000039EA4000000555100026630000000000004AE9300000 +000017CC7100000541000026200000000000017CC7100000 +000005AE9400000100000001000000000000049EA5000000 +0000038DB61000000000000000000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndSignal [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000300000000000016BD83000000 +000005AE940000000000003F300000000000049EA5000000 +000017CC71000000000001AFA10000000000017CC7100000 +000039EA40000000000006FFF60000000000004AE9300000 +00004AE83000000000001CFFFC10000000000038EA400000 +00015BD72000000000006FFFFF60000000000027DB510000 +00016CC6100000000001CFFFFFC1000000000016CC610000 +00017CC6100000000006FFFFFFF6000000000016CC710000 +00017DB610000000002DFFFFFFFD200000000016BD710000 +00017CC610000000007FFFFFFFFF700000000016CC710000 +00016CC61000000002DFFFFFFFFFD20000000016CC610000 +00015BD72000000009FFFFFFFFFFF90000000027DB510000 +00004AE8300000002FFFFFFFFFFFFF2000000038EA400000 +000039EA400000009FFFFFFFFFFFFF900000004AE9300000 +000017CC71000002FFFFFFFFFFFFFFF20000017CC7100000 +000005AE9400000011111111111111100000049EA5000000 +0000038DB61000000000000000000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evEndMulti [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000001310000000000016BD83000000 +000005AE9400000000000156510000000000049EA5000000 +000017CC7100000000003631363000000000017CC7100000 +000039EA4000000000146200026410000000004AE9300000 +00004AE830000000025510000015520000000038EA400000 +00015BD720000000363000000000363000000027DB510000 +00016CC610000001620000000000026100000016CC610000 +00017CC610000000530000000000035000000016CC710000 +00017DB610000000250000000000052000000016BD710000 +00017CC610000000161000000000161000000016CC710000 +00016CC610000000053000000000350000000016CC610000 +00015BD720000000035000000000530000000027DB510000 +00004AE830000000016100000001610000000038EA400000 +000039EA4000000000531111111350000000004AE9300000 +000017CC7100000000366666666630000000017CC7100000 +000005AE9400000000011111111100000000049EA5000000 +0000038DB61000000000000000000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evTerminate [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000001345677765431000000000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000026AEC841000000000000000148CEA62000000000 +000000016AEB73000000000000000000037BEA6100000000 +000000049DC7300000000000000000000037CD9400000000 +00000038CD830000000000000000000000038DC830000000 +0000015BE94000000000000000000000000049EB51000000 +0000038DB61000000000000100000000000016BD83000000 +000005AE940000000000379A973000000000049EA5000000 +000017CC710000000027CFFFFFC720000000017CC7100000 +000039EA40000000029EFFFFFFFE92000000004AE9300000 +00004AE83000000007EFFFFFFFFFE70000000038EA400000 +00015BD7200000003CFFFFFFFFFFFC3000000027DB510000 +00016CC6100000007FFFFFFFFFFFFF7000000016CC610000 +00017CC6100000009FFFFFFFFFFFFF9000000016CC710000 +00017DB610000001AFFFFFFFFFFFFFA100000016BD710000 +00017CC6100000009FFFFFFFFFFFFF9000000016CC710000 +00016CC6100000007FFFFFFFFFFFFF7000000016CC610000 +00015BD7200000003CFFFFFFFFFFFC3000000027DB510000 +00004AE83000000007EFFFFFFFFFE70000000038EA400000 +000039EA40000000029EFFFFFFFE92000000004AE9300000 +000017CC710000000027CFFFFFC720000000017CC7100000 +000005AE940000000000379A973000000000049EA5000000 +0000038DB61000000000000100000000000016BD83000000 +0000015BE94000000000000000000000000049EB51000000 +00000038CD830000000000000000000000038DC830000000 +000000049DC7300000000000000000000037CD9400000000 +000000016AEB73000000000000000000037BEA6100000000 +0000000026AEC841000000000000000148CEA62000000000 +00000000026ADD9641000000000001469DDA620000000000 +0000000000269CEB974321111123479BEC96200000000000 +00000000000148BDECA876666678ACEDB841000000000000 +0000000000000358ACEEDCCBCCDEECA85300000000000000 +0000000000000013579ABCCDCCBA97531000000000000000 +000000000000000001345677765431000000000000000000 +000000000000000000001111111000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundMsg [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000888888888888888880001B600A7000000 +00000B501B50008FFFFFFFFFFFFFFFFF80005B105B000000 +00002C303C20008FDA88888888888ADF80002C303C200000 +00003B105B00008F854000000000458F80000B501B300000 +00005B007800008F815510000015518F800008700B500000 +00006A009700008F800451000154008F800007900A600000 +000069009600008F800036202630008F8000069009600000 +00006A009700008F800002646200008F800007900A600000 +00005B007800008F800000252000008F800008700B500000 +00003B105B00008F800000000000008F80000B501B300000 +00002C303C20008FB8888888888888BF80002C303C200000 +00000B501B50008FFFFFFFFFFFFFFFFF80005B105B000000 +000007A006B1000888888888888888880001B600A7000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundTimer [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000013331000000002B500890000000 +000003C202B5000000039BBBBB9300000005B202C3000000 +000007A006B10000006C8312138C60000001B600A7000000 +00000B501B50000006B400151004B60000005B105B000000 +00002C303C2000003C40001510004C3000002C303C200000 +00003B105B000000980000151000089000000B501B300000 +00005B0078000001B3000015100003B1000008700B500000 +00006A0097000003B1000015111001B3000007900A600000 +0000690096000003B0000015555300B30000069009600000 +00006A0097000003B1000001111001B3000007900A600000 +00005B0078000001B3000000000003B1000008700B500000 +00003B105B000000980000000000089000000B501B300000 +00002C303C2000003C40000000004C3000002C303C200000 +00000B501B50000006B400000004B60000005B105B000000 +000007A006B10000006C8310138C60000001B600A7000000 +000003C202B5000000039BBBBB9300000005B202C3000000 +00000098005B20000000013331000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundError [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000100000000199103C30000000 +00000098005B20000000000151000000002B500890000000 +000003C202B5000000000004500000000005B202C3000000 +000007A006B1000000000016200000000001B600A7000000 +00000B501B500000000000450000000000005B105B000000 +00002C303C200000000001630000000000002C303C200000 +00003B105B000000000003610000000000000B501B300000 +00005B00780000000000164111100000000008700B500000 +00006A00970000000000366666610000000007900A600000 +000069009600000000006211144000000000069009600000 +00006A00970000000002644426200000000007900A600000 +00005B00780000000002444555000000000008700B500000 +00003B105B000000000000066200000000000B501B300000 +00002C303C200000000000166000000000002C303C200000 +00000B501B500000000000273000000000005B105B000000 +000007A006B1000000000046100000000001B600A7000000 +000003C202B5000000000064000000000005B202C3000000 +00000098005B20000000015100000000002B500890000000 +0000003C3019910000000010000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundEsc [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000000000000000000000005B202C3000000 +000007A006B1000000000000000000000001B600A7000000 +00000B501B500000000000000000000000005B105B000000 +00002C303C200000000000000000000000002C303C200000 +00003B105B000000000000010000000000000B501B300000 +00005B00780000000000002620000000000008700B500000 +00006A00970000000000026662000000000007900A600000 +000069009600000000002636362000000000069009600000 +00006A00970000000002621612620000000007900A600000 +00005B00780000000026201610262000000008700B500000 +00003B105B000000026311262113620000000B501B300000 +00002C303C200000166666666666661000002C303C200000 +00000B501B500000011111262111110000005B105B000000 +000007A006B1000000000016100000000001B600A7000000 +000003C202B5000000000015100000000005B202C3000000 +00000098005B20000000000100000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundSignal [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000300000000002B500890000000 +000003C202B5000000000037300000000005B202C3000000 +000007A006B1000000000164610000000001B600A7000000 +00000B501B500000000003515300000000005B105B000000 +00002C303C200000000016202610000000002C303C200000 +00003B105B000000000045000540000000000B501B300000 +00005B00780000000001620002610000000008700B500000 +00006A00970000000004500000540000000007900A600000 +000069009600000000262000002620000000069009600000 +00006A00970000000054000000045000000007900A600000 +00005B00780000000261000000016200000008700B500000 +00003B105B000000054000000000450000000B501B300000 +00002C303C200000261000000000162000002C303C200000 +00000B501B500000541111111111145000005B105B000000 +000007A006B1000266666666666666620001B600A7000000 +000003C202B5000011111111111111100005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundCancel [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000001000000000001000005B202C3000000 +000007A006B1000016300000000036100001B600A7000000 +00000B501B500000036300000003630000005B105B000000 +00002C303C200000003630000036300000002C303C200000 +00003B105B000000000363000363000000000B501B300000 +00005B00780000000000363036300000000008700B500000 +00006A00970000000000036463000000000007900A600000 +000069009600000000000048400000000000069009600000 +00006A00970000000000036463000000000007900A600000 +00005B00780000000000363036300000000008700B500000 +00003B105B000000000363000363000000000B501B300000 +00002C303C200000003630000036300000002C303C200000 +00000B501B500000036300000003630000005B105B000000 +000007A006B1000016300000000036100001B600A7000000 +000003C202B5000001000000000001000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundComp [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910000000000000000000199103C30000000 +00000098005B20000000000000000000002B500890000000 +000003C202B5000100000001000000000005B202C3000000 +000007A006B1000541000026200000000001B600A7000000 +00000B501B500005551000266300000000005B105B000000 +00002C303C200005346200252640000000002C303C200000 +00003B105B000005203630250155100000000B501B300000 +00005B00780000052002543500145200000008700B500000 +00006A00970000052000155500003630000007900A600000 +000069009600000520000155000003610000069009600000 +00006A00970000052000155500003630000007900A600000 +00005B00780000052002543500145200000008700B500000 +00003B105B000005203630250155100000000B501B300000 +00002C303C200005346200252640000000002C303C200000 +00000B501B500005551000266300000000005B105B000000 +000007A006B1000541000026200000000001B600A7000000 +000003C202B5000100000001000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019910000000000000000000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundCond [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +0000000000000039CA53100000135AC93000000000000000 +00000000000028C82000000000000028C820000000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000005C710026BCB87678BCB620017C500000000000 +0000000005C50015BB52000000025BB51005C50000000000 +000000004C50029B510000000000015B92005C4000000000 +00000002B7002B9200000000000000029B2007B200000000 +00000008A102B810000000000000000018B201A800000000 +0000003C3019910004888888888884000199103C30000000 +00000098005B20004BFFFFFFFFFFFB40002B500890000000 +000003C202B500008FB888888888BF800005B202C3000000 +000007A006B100008F80000000008F800001B600A7000000 +00000B501B5000008F80000000008F8000005B105B000000 +00002C303C2000008F80000000008F8000002C303C200000 +00003B105B0000008F82555555528F8000000B501B300000 +00005B00780000008F80000000008F80000008700B500000 +00006A00970000008F80000000008F80000007900A600000 +00006900960000008F82555555528F800000069009600000 +00006A00970000008F80000000008F80000007900A600000 +00005B00780000008F80000000008F80000008700B500000 +00003B105B0000008F82555555528F8000000B501B300000 +00002C303C2000008F80000000008F8000002C303C200000 +00000B501B5000008F80000000008F8000005B105B000000 +000007A006B100008F80000000008F800001B600A7000000 +000003C202B500008FB888888888BF800005B202C3000000 +00000098005B20004BFFFFFFFFFFFB40002B500890000000 +0000003C3019910004888888888884000199103C30000000 +00000008A102B810000000000000000018B201A800000000 +00000002B7002B9200000000000000029B2007B200000000 +000000004C50029B510000000000015B92005C4000000000 +0000000005C50015BB52000000025BB51005C50000000000 +00000000005C710026BCB87678BCB620017C500000000000 +000000000004BA3000135799975310003AB4000000000000 +00000000000028C82000000000000028C820000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BCBBA9ABBCB7300000000000000000 +000000000000000000023566653200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundMsgNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000003566653000000000000000000000 +000000000000000001116BA9AB6111000000000000000000 +000000000000000111000000000001110000000000000000 +000000000000284100000000000000014820000000000000 +000000000004BA2000000799970000002AB4000000000000 +00000000005C71000011187678111000017C500000000000 +0000000005C5001511000000000001151005C50000000000 +000000000950029B300000000000003B9200590000000000 +0000000011002B9200000000000000029B20011000000000 +000000011000B810000000000000000018B0001100000000 +000000010001310000000000000000000131000100000000 +000000110001000000000000000000000001000110000000 +000000100010000000000000000000000000100010000000 +000007800010000888888888888888880000100087000000 +00000B501620008FFFFFFFFFFFFFFFFF800026105B000000 +00002C303C20008FDA88888888888ADF80002C303C200000 +00003B105B00008F854000000000458F80000B501B300000 +00005B007800008F815510000015518F800008700B500000 +00006A009700008F800451000154008F800007900A600000 +000035005300008F800036202630008F8000035005300000 +000001001100008F800002646200008F8000011001000000 +000001001100008F800000252000008F8000011001000000 +000001000100008F800000000000008F8000010001000000 +000001000100008FB8888888888888BF8000010001000000 +000001000540008FFFFFFFFFFFFFFFFF8000450001000000 +0000013006B1000888888888888888880001B60031000000 +000003C202B5000000000000000000000005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019700000000000000000000079103C30000000 +00000008A10111000000000000000000011101A800000000 +00000002B70001100000000000000000110007B200000000 +000000004400001121000000000001211000044000000000 +0000000000100000BB52000000025BB00000100000000000 +000000000001100026BCB11111BCB6200011000000000000 +000000000000111000135111115310001110000000000000 +000000000000019820000000000000289100000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BC6111116CB7300000000000000000 +000000000000000000020001000200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundTimerNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000003566653000000000000000000000 +000000000000000001116BA9AB6111000000000000000000 +000000000000000111000000000001110000000000000000 +000000000000284100000000000000014820000000000000 +000000000004BA2000000799970000002AB4000000000000 +00000000005C71000011187678111000017C500000000000 +0000000005C5001511000000000001151005C50000000000 +000000000950029B300000000000003B9200590000000000 +0000000011002B9200000000000000029B20011000000000 +000000011000B810000000000000000018B0001100000000 +000000010001310000000000000000000131000100000000 +000000110001000000000133310000000001000110000000 +000000100010000000039BBBBB9300000000100010000000 +0000078000100000006C8312138C60000000100087000000 +00000B501620000006B400151004B600000026105B000000 +00002C303C2000003C40001510004C3000002C303C200000 +00003B105B000000980000151000089000000B501B300000 +00005B0078000001B3000015100003B1000008700B500000 +00006A0097000003B1000015111001B3000007900A600000 +0000350053000003B0000015555300B30000035005300000 +0000010011000003B1000001111001B30000011001000000 +0000010011000001B3000000000003B10000011001000000 +000001000100000098000000000008900000010001000000 +00000100010000003C40000000004C300000010001000000 +000001000540000006B400000004B6000000450001000000 +0000013006B10000006C8310138C60000001B60031000000 +000003C202B5000000039BBBBB9300000005B202C3000000 +00000098005B20000000013331000000002B500890000000 +0000003C3019700000000000000000000079103C30000000 +00000008A10111000000000000000000011101A800000000 +00000002B70001100000000000000000110007B200000000 +000000004400001121000000000001211000044000000000 +0000000000100000BB52000000025BB00000100000000000 +000000000001100026BCB11111BCB6200011000000000000 +000000000000111000135111115310001110000000000000 +000000000000019820000000000000289100000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BC6111116CB7300000000000000000 +000000000000000000020001000200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundEscNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000003566653000000000000000000000 +000000000000000001116BA9AB6111000000000000000000 +000000000000000111000000000001110000000000000000 +000000000000284100000000000000014820000000000000 +000000000004BA2000000799970000002AB4000000000000 +00000000005C71000011187678111000017C500000000000 +0000000005C5001511000000000001151005C50000000000 +000000000950029B300000000000003B9200590000000000 +0000000011002B9200000000000000029B20011000000000 +000000011000B810000000000000000018B0001100000000 +000000010001310000000000000000000131000100000000 +000000110001000000000000000000000001000110000000 +000000100010000000000000000000000000100010000000 +000007800010000000000000000000000000100087000000 +00000B50162000000000000000000000000026105B000000 +00002C303C200000000000000000000000002C303C200000 +00003B105B000000000000010000000000000B501B300000 +00005B00780000000000002620000000000008700B500000 +00006A00970000000000026662000000000007900A600000 +000035005300000000002636362000000000035005300000 +000001001100000000026216126200000000011001000000 +000001001100000000262016102620000000011001000000 +000001000100000002631126211362000000010001000000 +000001000100000016666666666666100000010001000000 +000001000540000001111126211111000000450001000000 +0000013006B1000000000016100000000001B60031000000 +000003C202B5000000000015100000000005B202C3000000 +00000098005B20000000000100000000002B500890000000 +0000003C3019700000000000000000000079103C30000000 +00000008A10111000000000000000000011101A800000000 +00000002B70001100000000000000000110007B200000000 +000000004400001121000000000001211000044000000000 +0000000000100000BB52000000025BB00000100000000000 +000000000001100026BCB11111BCB6200011000000000000 +000000000000111000135111115310001110000000000000 +000000000000019820000000000000289100000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BC6111116CB7300000000000000000 +000000000000000000020001000200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundSignalNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000003566653000000000000000000000 +000000000000000001116BA9AB6111000000000000000000 +000000000000000111000000000001110000000000000000 +000000000000284100000000000000014820000000000000 +000000000004BA2000000799970000002AB4000000000000 +00000000005C71000011187678111000017C500000000000 +0000000005C5001511000000000001151005C50000000000 +000000000950029B300000000000003B9200590000000000 +0000000011002B9200000000000000029B20011000000000 +000000011000B810000000000000000018B0001100000000 +000000010001310000000000000000000131000100000000 +000000110001000000000003000000000001000110000000 +000000100010000000000037300000000000100010000000 +000007800010000000000164610000000000100087000000 +00000B50162000000000035153000000000026105B000000 +00002C303C200000000016202610000000002C303C200000 +00003B105B000000000045000540000000000B501B300000 +00005B00780000000001620002610000000008700B500000 +00006A00970000000004500000540000000007900A600000 +000035005300000000262000002620000000035005300000 +000001001100000000540000000450000000011001000000 +000001001100000002610000000162000000011001000000 +000001000100000005400000000045000000010001000000 +000001000100000026100000000016200000010001000000 +000001000540000054111111111114500000450001000000 +0000013006B1000266666666666666620001B60031000000 +000003C202B5000011111111111111100005B202C3000000 +00000098005B20000000000000000000002B500890000000 +0000003C3019700000000000000000000079103C30000000 +00000008A10111000000000000000000011101A800000000 +00000002B70001100000000000000000110007B200000000 +000000004400001121000000000001211000044000000000 +0000000000100000BB52000000025BB00000100000000000 +000000000001100026BCB11111BCB6200011000000000000 +000000000000111000135111115310001110000000000000 +000000000000019820000000000000289100000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BC6111116CB7300000000000000000 +000000000000000000020001000200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $evBoundCondNI [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000003566653000000000000000000000 +000000000000000001116BA9AB6111000000000000000000 +000000000000000111000000000001110000000000000000 +000000000000284100000000000000014820000000000000 +000000000004BA2000000799970000002AB4000000000000 +00000000005C71000011187678111000017C500000000000 +0000000005C5001511000000000001151005C50000000000 +000000000950029B300000000000003B9200590000000000 +0000000011002B9200000000000000029B20011000000000 +000000011000B810000000000000000018B0001100000000 +000000010001310004888888888884000131000100000000 +00000011000100004BFFFFFFFFFFFB400001000110000000 +00000010001000008FB888888888BF800000100010000000 +00000780001000008F80000000008F800000100087000000 +00000B50162000008F80000000008F80000026105B000000 +00002C303C2000008F80000000008F8000002C303C200000 +00003B105B0000008F82555555528F8000000B501B300000 +00005B00780000008F80000000008F80000008700B500000 +00006A00970000008F80000000008F80000007900A600000 +00003500530000008F82555555528F800000035005300000 +00000100110000008F80000000008F800000011001000000 +00000100110000008F80000000008F800000011001000000 +00000100010000008F82555555528F800000010001000000 +00000100010000008F80000000008F800000010001000000 +00000100054000008F80000000008F800000450001000000 +0000013006B100008F80000000008F800001B60031000000 +000003C202B500008FB888888888BF800005B202C3000000 +00000098005B20004BFFFFFFFFFFFB40002B500890000000 +0000003C3019700004888888888884000079103C30000000 +00000008A10111000000000000000000011101A800000000 +00000002B70001100000000000000000110007B200000000 +000000004400001121000000000001211000044000000000 +0000000000100000BB52000000025BB00000100000000000 +000000000001100026BCB11111BCB6200011000000000000 +000000000000111000135111115310001110000000000000 +000000000000019820000000000000289100000000000000 +0000000000000039CA53100000135AC93000000000000000 +000000000000000037BC6111116CB7300000000000000000 +000000000000000000020001000200000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $gwXor [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000001000000000000000000000000 +00000000000000000000004C400000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +000000000000000000004C404C4000000000000000000000 +00000000000000000004C40004C400000000000000000000 +0000000000000000004C4000004C40000000000000000000 +000000000000000004C400000004C4000000000000000000 +00000000000000004C40000000004C400000000000000000 +0000000000000004C4000000000004C40000000000000000 +000000000000004C400000000000004C4000000000000000 +00000000000004C40000000000000004C400000000000000 +0000000000004C4000000000000000004C40000000000000 +000000000004C400000000000000000004C4000000000000 +00000000004C40010000000000000001004C400000000000 +0000000004C4001630000000000000361004C40000000000 +000000004C400003630000000000036300004C4000000000 +00000004C40000003630000000003630000004C400000000 +0000004C4000000003630000000363000000004C40000000 +000004C400000000003630000036300000000004C4000000 +00004C40000000000003630003630000000000004C400000 +0004C4000000000000003631363000000000000004C40000 +004C400000000000000003646300000000000000004C4000 +01C60000000000000000014841000000000000000006C100 +004C400000000000000003646300000000000000004C4000 +0004C4000000000000003631363000000000000004C40000 +00004C40000000000003630003630000000000004C400000 +000004C400000000003630000036300000000004C4000000 +0000004C4000000003630000000363000000004C40000000 +00000004C40000003630000000003630000004C400000000 +000000004C400003630000000000036300004C4000000000 +0000000004C4001630000000000000361004C40000000000 +00000000004C40010000000000000001004C400000000000 +000000000004C400000000000000000004C4000000000000 +0000000000004C4000000000000000004C40000000000000 +00000000000004C40000000000000004C400000000000000 +000000000000004C400000000000004C4000000000000000 +0000000000000004C4000000000004C40000000000000000 +00000000000000004C40000000004C400000000000000000 +000000000000000004C400000004C4000000000000000000 +0000000000000000004C4000004C40000000000000000000 +00000000000000000004C40004C400000000000000000000 +000000000000000000004C404C4000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +00000000000000000000004C400000000000000000000000 +000000000000000000000001000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $gwAnd [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000001000000000000000000000000 +00000000000000000000004C400000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +000000000000000000004C404C4000000000000000000000 +00000000000000000004C40004C400000000000000000000 +0000000000000000004C4000004C40000000000000000000 +000000000000000004C400000004C4000000000000000000 +00000000000000004C40000000004C400000000000000000 +0000000000000004C4000000000004C40000000000000000 +000000000000004C400000000000004C4000000000000000 +00000000000004C40000000000000004C400000000000000 +0000000000004C4000000000000000004C40000000000000 +000000000004C400000000020000000004C4000000000000 +00000000004C40000000002620000000004C400000000000 +0000000004C4000000000026200000000004C40000000000 +000000004C400000000000262000000000004C4000000000 +00000004C40000000000002620000000000004C400000000 +0000004C4000000000000026200000000000004C40000000 +000004C400000000000000262000000000000004C4000000 +00004C40000000000000002620000000000000004C400000 +0004C4000000000000000026200000000000000004C40000 +004C400000000022222222262222222220000000004C4000 +01C60000000002666666666666666666620000000006C100 +004C400000000022222222262222222220000000004C4000 +0004C4000000000000000026200000000000000004C40000 +00004C40000000000000002620000000000000004C400000 +000004C400000000000000262000000000000004C4000000 +0000004C4000000000000026200000000000004C40000000 +00000004C40000000000002620000000000004C400000000 +000000004C400000000000262000000000004C4000000000 +0000000004C4000000000026200000000004C40000000000 +00000000004C40000000002620000000004C400000000000 +000000000004C400000000020000000004C4000000000000 +0000000000004C4000000000000000004C40000000000000 +00000000000004C40000000000000004C400000000000000 +000000000000004C400000000000004C4000000000000000 +0000000000000004C4000000000004C40000000000000000 +00000000000000004C40000000004C400000000000000000 +000000000000000004C400000004C4000000000000000000 +0000000000000000004C4000004C40000000000000000000 +00000000000000000004C40004C400000000000000000000 +000000000000000000004C404C4000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +00000000000000000000004C400000000000000000000000 +000000000000000000000001000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $gwOr [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000001000000000000000000000000 +00000000000000000000004C400000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +000000000000000000004C404C4000000000000000000000 +00000000000000000004C40004C400000000000000000000 +0000000000000000004C4000004C40000000000000000000 +000000000000000004C400000004C4000000000000000000 +00000000000000004C40000000004C400000000000000000 +0000000000000004C4000000000004C40000000000000000 +000000000000004C400000000000004C4000000000000000 +00000000000004C40000000000000004C400000000000000 +0000000000004C4000000000000000004C40000000000000 +000000000004C400000000000000000004C4000000000000 +00000000004C40000000000000000000004C400000000000 +0000000004C4000000000123210000000004C40000000000 +000000004C40000000027BCCCB72000000004C4000000000 +00000004C4000000004BB63336BB4000000004C400000000 +0000004C4000000004C710000017C4000000004C40000000 +000004C4000000002B71000000017B2000000004C4000000 +00004C40000000007B10000000001B70000000004C400000 +0004C40000000001B6000000000006B10000000004C40000 +004C400000000002C3000000000003C200000000004C4000 +01C6000000000003C3000000000003C3000000000006C100 +004C400000000002C3000000000003C200000000004C4000 +0004C40000000001B6000000000006B10000000004C40000 +00004C40000000007B10000000001B70000000004C400000 +000004C4000000002B71000000017B2000000004C4000000 +0000004C4000000004C710000017C4000000004C40000000 +00000004C4000000004BB63336BB4000000004C400000000 +000000004C40000000027BCCCB72000000004C4000000000 +0000000004C4000000000123210000000004C40000000000 +00000000004C40000000000000000000004C400000000000 +000000000004C400000000000000000004C4000000000000 +0000000000004C4000000000000000004C40000000000000 +00000000000004C40000000000000004C400000000000000 +000000000000004C400000000000004C4000000000000000 +0000000000000004C4000000000004C40000000000000000 +00000000000000004C40000000004C400000000000000000 +000000000000000004C400000004C4000000000000000000 +0000000000000000004C4000004C40000000000000000000 +00000000000000000004C40004C400000000000000000000 +000000000000000000004C404C4000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +00000000000000000000004C400000000000000000000000 +000000000000000000000001000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $gwComplex [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000001000000000000000000000000 +00000000000000000000004C400000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +000000000000000000004C404C4000000000000000000000 +00000000000000000004C40004C400000000000000000000 +0000000000000000004C4000004C40000000000000000000 +000000000000000004C400000004C4000000000000000000 +00000000000000004C40000000004C400000000000000000 +0000000000000004C4000000000004C40000000000000000 +000000000000004C400000000000004C4000000000000000 +00000000000004C40000000000000004C400000000000000 +0000000000004C4000000000000000004C40000000000000 +000000000004C400000000000000000004C4000000000000 +00000000004C40000000000000000000004C400000000000 +0000000004C4000000000001000000000004C40000000000 +000000004C400000000000151000000000004C4000000000 +00000004C40000000010001610001000000004C400000000 +0000004C4000000001520016100251000000004C40000000 +000004C400000000002620161026200000000004C4000000 +00004C40000000000002621612620000000000004C400000 +0004C4000000000000002636362000000000000004C40000 +004C400000000000111113666311111000000000004C4000 +01C60000000000015666666866666651000000000006C100 +004C400000000000111113666311111000000000004C4000 +0004C4000000000000002636362000000000000004C40000 +00004C40000000000002621612620000000000004C400000 +000004C400000000002620161026200000000004C4000000 +0000004C4000000001520016100251000000004C40000000 +00000004C40000000010001610001000000004C400000000 +000000004C400000000000151000000000004C4000000000 +0000000004C4000000000001000000000004C40000000000 +00000000004C40000000000000000000004C400000000000 +000000000004C400000000000000000004C4000000000000 +0000000000004C4000000000000000004C40000000000000 +00000000000004C40000000000000004C400000000000000 +000000000000004C400000000000004C4000000000000000 +0000000000000004C4000000000004C40000000000000000 +00000000000000004C40000000004C400000000000000000 +000000000000000004C400000004C4000000000000000000 +0000000000000000004C4000004C40000000000000000000 +00000000000000000004C40004C400000000000000000000 +000000000000000000004C404C4000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +00000000000000000000004C400000000000000000000000 +000000000000000000000001000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $gwEvent [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000001000000000000000000000000 +00000000000000000000004C400000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +000000000000000000004C404C4000000000000000000000 +00000000000000000004C40004C400000000000000000000 +0000000000000000004C4000004C40000000000000000000 +000000000000000004C400000004C4000000000000000000 +00000000000000004C40000000004C400000000000000000 +0000000000000004C4000000000004C40000000000000000 +000000000000004C400000000000004C4000000000000000 +00000000000004C40000000000000004C400000000000000 +0000000000004C4000002467642000004C40000000000000 +000000000004C400014ABA878ABA410004C4000000000000 +00000000004C40002AB510000015BA20004C400000000000 +0000000004C40003B7100013100017B30004C40000000000 +000000004C40002B600001565100006B20004C4000000000 +00000004C40001A70000363136300007A10004C400000000 +0000004C400004B10014620002641001B400004C40000000 +000004C400000A5002551000001552005A000004C4000000 +00004C4000002B1036300000000036301B2000004C400000 +0004C40000004A0162000000000002610A40000004C40000 +004C400000006800530000000000035008600000004C4000 +01C60000000077002500000000000520077000000006C100 +004C400000006800161000000000161008600000004C4000 +0004C40000004A0005300000000035000A40000004C40000 +00004C4000002B1003500000000053001B2000004C400000 +000004C400000A5001610000000161005A000004C4000000 +0000004C400004B10053111111135001B400004C40000000 +00000004C40001A70036666666663007A10004C400000000 +000000004C40002B600111111111006B20004C4000000000 +0000000004C40003B7100000000017B30004C40000000000 +00000000004C40002AB510000015BA20004C400000000000 +000000000004C400014ABA878ABA410004C4000000000000 +0000000000004C4000002467642000004C40000000000000 +00000000000004C40000000000000004C400000000000000 +000000000000004C400000000000004C4000000000000000 +0000000000000004C4000000000004C40000000000000000 +00000000000000004C40000000004C400000000000000000 +000000000000000004C400000004C4000000000000000000 +0000000000000000004C4000004C40000000000000000000 +00000000000000000004C40004C400000000000000000000 +000000000000000000004C404C4000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +00000000000000000000004C400000000000000000000000 +000000000000000000000001000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $gwParEvent [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000001000000000000000000000000 +00000000000000000000004C400000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +000000000000000000004C404C4000000000000000000000 +00000000000000000004C40004C400000000000000000000 +0000000000000000004C4000004C40000000000000000000 +000000000000000004C400000004C4000000000000000000 +00000000000000004C40000000004C400000000000000000 +0000000000000004C4000000000004C40000000000000000 +000000000000004C400000000000004C4000000000000000 +00000000000004C40000000000000004C400000000000000 +0000000000004C4000000000000000004C40000000000000 +000000000004C400000000000000000004C4000000000000 +00000000004C40000000000000000000004C400000000000 +0000000004C4000000001356531000000004C40000000000 +000000004C4000000015BBA9ABB5100000004C4000000000 +00000004C4000000019B5101015B9100000004C400000000 +0000004C4000000019A200151002A9100000004C40000000 +000004C4000000005B20001610002B5000000004C4000000 +00004C4000000001B5000016100005B1000000004C400000 +0004C40000000003B1000016100001B30000000004C40000 +004C400000000005A0111126211110A500000000004C4000 +01C60000000000069156666666665196000000000006C100 +004C400000000005A0111126211110A500000000004C4000 +0004C40000000003B1000016100001B30000000004C40000 +00004C4000000001B5000016100005B1000000004C400000 +000004C4000000005B20001610002B5000000004C4000000 +0000004C4000000019A200151002A9100000004C40000000 +00000004C4000000019B5101015B9100000004C400000000 +000000004C4000000015BBA9ABB5100000004C4000000000 +0000000004C4000000001356531000000004C40000000000 +00000000004C40000000000000000000004C400000000000 +000000000004C400000000000000000004C4000000000000 +0000000000004C4000000000000000004C40000000000000 +00000000000004C40000000000000004C400000000000000 +000000000000004C400000000000004C4000000000000000 +0000000000000004C4000000000004C40000000000000000 +00000000000000004C40000000004C400000000000000000 +000000000000000004C400000004C4000000000000000000 +0000000000000000004C4000004C40000000000000000000 +00000000000000000004C40004C400000000000000000000 +000000000000000000004C404C4000000000000000000000 +0000000000000000000004C6C40000000000000000000000 +00000000000000000000004C400000000000000000000000 +000000000000000000000001000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icUser [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000034300000000000000000000000 +0000000000000000000019CEC91000000000000000000000 +000000000000000000008DFFFD8000000000000000000000 +00000000000000000001BFFFFFB100000000000000000000 +00000000000000000002CFFFFFC200000000000000000000 +00000000000000000001BEFFFEB100000000000000000000 +000000000000000000005DEFED5000000000000000000000 +0000000000000000000004ABA40000000000000000000000 +000000000000000000030000000300000000000000000000 +000000000000000000260000000620000000000000000000 +000000000000000000440000000440000000000000000000 +000000000000000001610000000161000000000000000000 +000000000000000002500000000052000000000000000000 +000000000000000005311111111135000000000000000000 +000000000000000016666666666666100000000000000000 +000000000000000001111111111111000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icService [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000003000000000000000000000000 +000000000000000000000016100000000000000000000000 +000000000000000001200016100021000000000000000000 +000000000000000002620147410262000000000000000000 +000000000000000000265BCCCB5620000000000000000000 +00000000000000000005C73537C500000000000000000000 +0000000000000000001B7400047B10000000000000000000 +0000000000000000114C3000003C41100000000000000000 +0000000000000003667C5000005C76630000000000000000 +0000000000000000114C3000003C41100000000000000000 +0000000000000000001B7400047B10000000000000000000 +00000000000000000005C73537C500000000000000000000 +000000000000000000265BCCCB5620000000000000000000 +000000000000000002620147410262000000000000000000 +000000000000000001200016100021000000000000000000 +000000000000000000000016100000000000000000000000 +000000000000000000000003000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icScript [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000004888888888884000000000000000000 +00000000000000004BFFFFFFFFFFFB400000000000000000 +00000000000000008FB888888888BF800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F82555555528F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F82555555528F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F82555555528F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008F80000000008F800000000000000000 +00000000000000008FB888888888BF800000000000000000 +00000000000000004BFFFFFFFFFFFB400000000000000000 +000000000000000004888888888884000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icManual [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000010000000000000000000000000 +000000000000000000000151003000000000000000000000 +000000000000000000100160016100000000000000000000 +000000000000000001510260026000100000000000000000 +000000000000000003500350035001510000000000000000 +000000000000000005300440044002600000000000000000 +000000000000000016100530053003500000000000000000 +000000000000000035000620052005300000000000000000 +000000000000000053112621262116200000000000000000 +000000000000000166666666666666610000000000000000 +000000000000000011111111111111100000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icRule [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000011111111111111100000000000000000 +000000000000000156666666666666510000000000000000 +000000000000000161111116111111610000000000000000 +000000000000000161000016100001610000000000000000 +000000000000000161000016100001610000000000000000 +000000000000000161000016100001610000000000000000 +000000000000000161111116111111610000000000000000 +000000000000000166666666666666610000000000000000 +000000000000000161111116111111610000000000000000 +000000000000000161000016100001610000000000000000 +000000000000000161000016100001610000000000000000 +000000000000000161000016100001610000000000000000 +000000000000000161111116111111610000000000000000 +000000000000000156666666666666510000000000000000 +000000000000000011111111111111100000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icPlusbox [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000048888888888888400000000000000000 +0000000000000004BFFFFFFFFFFFFFB40000000000000000 +0000000000000008FB88888888888BF80000000000000000 +0000000000000008F8000003000008F80000000000000000 +0000000000000008F8000016100008F80000000000000000 +0000000000000008F8000016100008F80000000000000000 +0000000000000008F8000016100008F80000000000000000 +0000000000000008F8011126211108F80000000000000000 +0000000000000008F8366666666638F80000000000000000 +0000000000000008F8011126211108F80000000000000000 +0000000000000008F8000016100008F80000000000000000 +0000000000000008F8000016100008F80000000000000000 +0000000000000008F8000016100008F80000000000000000 +0000000000000008F8000003000008F80000000000000000 +0000000000000008FB88888888888BF80000000000000000 +0000000000000004BFFFFFFFFFFFFFB40000000000000000 +000000000000000048888888888888400000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icMsg [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000888888888888888880000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FDA88888888888ADF8000000000000000 +000000000000008F854000000000458F8000000000000000 +000000000000008F815510000015518F8000000000000000 +000000000000008F800451000154008F8000000000000000 +000000000000008F800036202630008F8000000000000000 +000000000000008F800002646200008F8000000000000000 +000000000000008F800000252000008F8000000000000000 +000000000000008F800000000000008F8000000000000000 +000000000000008FB8888888888888BF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000000888888888888888880000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icMsgf [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000888888888888888880000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000008FFFFFFFFFFFFFFFFF8000000000000000 +000000000000000888888888888888880000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} + +sprite $icLoop [48x48/16] { +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000002578752000000000000000000000 +00000000000000000039CB989BC930000000000000000000 +000000000000000005C931000139C5000000000000000000 +00000000000000005D61000000016D500000000000000000 +0000000000000003C6000000000006C30000000000000000 +000000000000000991000000000001990000000000000000 +000000000000002C300000000000003C2000000000000000 +000000000000005B100000000000001B5000000000000000 +000000000000007900000000000000097000000000000000 +000000000000008800000000000000088000000000000000 +000000000000007900000000000000097000000000000000 +000000000000005B100000000000011B5000000000000000 +000000000000002C300000000000265C2000000000000000 +000000000000000991000000000264A90000000000000000 +0000000000000003C6000000002636C62000000000000000 +00000000000000005D61000002636D526200000000000000 +000000000000000005C931001659C5002610000000000000 +00000000000000000039CB989BC930000100000000000000 +000000000000000000002578752000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000 +} diff --git a/build-exe-fast.bat b/build-exe-fast.bat new file mode 100644 index 0000000..0b26dd0 --- /dev/null +++ b/build-exe-fast.bat @@ -0,0 +1,85 @@ +@echo off +setlocal EnableExtensions +chcp 65001 >nul +cd /d "%~dp0" + +set "DO_PAUSE=1" +set "PYI_CLEAN=" +for %%A in (%*) do ( + if /i "%%~A"=="nopause" set "DO_PAUSE=0" + if /i "%%~A"=="clean" set "PYI_CLEAN=--clean" +) + +echo === md2gost: быстрая сборка exe (onefile, шрифты + plantuml.jar) === +echo Каталог: %CD% +echo Spec: md2gost.fast.spec +echo Кэш: build-fast\ (без --clean, пока не передадите clean) +echo. + +where python >nul 2>&1 +if errorlevel 1 ( + echo Python не найден в PATH. Установите Python 3.10+ и отметьте "Add python.exe to PATH". + goto :fail +) + +python -c "import sys; raise SystemExit(0 if sys.version_info >= (3, 10) else 1)" +if errorlevel 1 ( + echo Нужен Python 3.10 или новее. + python --version + goto :fail +) + +echo [1/4] Зависимости ... +python -c "import PyInstaller, matplotlib, docx, marko, lxml, pygments, PIL, freetype, latex2mathml, requests, docxcompose" 1>nul 2>nul +if errorlevel 1 ( + echo Ставлю проект + PyInstaller + matplotlib ... + python -m pip install -q -e . "pyinstaller>=6.0" "matplotlib>=3.7" + if errorlevel 1 ( + echo Не удалось поставить зависимости. + goto :fail + ) +) else ( + echo Уже стоят, pip пропускаю. +) + +if not exist "md2gost\Template.docx" ( + echo Нет md2gost\Template.docx — сборка бессмысленна. + goto :fail +) + +echo [2/4] PlantUML jar (обязателен, вшивается в exe) ... +python scripts\fetch_plantuml.py +if not exist "md2gost\vendor\plantuml.jar" ( + echo Нет md2gost\vendor\plantuml.jar — portable exe без jar не собираем. + goto :fail +) + +echo [3/4] PyInstaller onefile, кэш build-fast ... +python -m PyInstaller --noconfirm %PYI_CLEAN% --workpath build-fast --distpath dist md2gost.fast.spec +if errorlevel 1 ( + echo PyInstaller завершился с ошибкой. + goto :fail +) + +if not exist "dist\md2gost.exe" ( + echo dist\md2gost.exe не появился. + goto :fail +) + +echo. +echo [4/4] Готово: +echo %CD%\dist\md2gost.exe +echo. +echo Двойной клик — GUI. Из консоли: md2gost.exe report.md -o report.docx +echo Повторно без clean — быстрее за счёт кэша Analysis. +echo Полный пересбор: build-exe-fast.bat clean +echo. + +if "%DO_PAUSE%"=="1" pause +exit /b 0 + +:fail +echo. +echo Сборка не удалась. +if "%DO_PAUSE%"=="1" pause +exit /b 1 diff --git a/build-exe.bat b/build-exe.bat new file mode 100644 index 0000000..8fc11cf --- /dev/null +++ b/build-exe.bat @@ -0,0 +1,68 @@ +@echo off +setlocal EnableExtensions +chcp 65001 >nul +cd /d "%~dp0" + +echo === md2gost: сборка exe === +echo Каталог: %CD% +echo. + +where python >nul 2>&1 +if errorlevel 1 ( + echo Python не найден в PATH. Установите Python 3.10+ и отметьте "Add python.exe to PATH". + goto :fail +) + +python -c "import sys; raise SystemExit(0 if sys.version_info >= (3, 10) else 1)" +if errorlevel 1 ( + echo Нужен Python 3.10 или новее. + python --version + goto :fail +) + +echo [1/4] Зависимости проекта + PyInstaller + matplotlib ... +python -m pip install -q -e . "pyinstaller>=6.0" "matplotlib>=3.7" +if errorlevel 1 ( + echo Не удалось поставить зависимости. + goto :fail +) + +if not exist "md2gost\Template.docx" ( + echo Нет md2gost\Template.docx — сборка бессмысленна. + goto :fail +) + +echo [2/4] PlantUML jar (вшивается в exe, если скачается^) ... +python scripts\fetch_plantuml.py +if not exist "md2gost\vendor\plantuml.jar" ( + echo Предупреждение: plantuml.jar нет — в exe диаграммы пойдут через kroki.io. +) + +echo [3/4] PyInstaller (один файл, без консоли; CLI подцепит консоль сам^) ... +python -m PyInstaller --noconfirm --clean md2gost.spec +if errorlevel 1 ( + echo PyInstaller завершился с ошибкой. + goto :fail +) + +if not exist "dist\md2gost.exe" ( + echo dist\md2gost.exe не появился. + goto :fail +) + +echo. +echo [4/4] Готово: +echo %CD%\dist\md2gost.exe +echo. +echo Двойной клик — GUI. Из консоли: md2gost.exe report.md -o report.docx +echo. + +if /i "%~1"=="nopause" goto :eof +pause +exit /b 0 + +:fail +echo. +echo Сборка не удалась. +if /i not "%~1"=="nopause" pause +exit /b 1 diff --git a/build-fast/md2gost.fast/PYZ-00.pyz b/build-fast/md2gost.fast/PYZ-00.pyz new file mode 100644 index 0000000..dc72f82 Binary files /dev/null and b/build-fast/md2gost.fast/PYZ-00.pyz differ diff --git a/build-fast/md2gost.fast/base_library.zip b/build-fast/md2gost.fast/base_library.zip new file mode 100644 index 0000000..66b48d6 Binary files /dev/null and b/build-fast/md2gost.fast/base_library.zip differ diff --git a/build-fast/md2gost.fast/md2gost.pkg b/build-fast/md2gost.fast/md2gost.pkg new file mode 100644 index 0000000..efb989f Binary files /dev/null and b/build-fast/md2gost.fast/md2gost.pkg differ diff --git a/build-fast/md2gost.fast/warn-md2gost.fast.txt b/build-fast/md2gost.fast/warn-md2gost.fast.txt new file mode 100644 index 0000000..8b3e5f6 --- /dev/null +++ b/build-fast/md2gost.fast/warn-md2gost.fast.txt @@ -0,0 +1,221 @@ + +This file lists modules PyInstaller was not able to find. This does not +necessarily mean this module is required for running your program. Python and +Python 3rd-party packages include a lot of conditional or optional modules. For +example the module 'ntpath' only exists on Windows, whereas the module +'posixpath' only exists on Posix systems. + +Types if import: +* top-level: imported at the top-level - look at these first +* conditional: imported within an if-statement +* delayed: imported within a function +* optional: imported within a try-except-statement + +IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for + tracking down the missing module yourself. Thanks! + +missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional) +missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional), backports.tarfile (optional), distutils.archive_util (optional), setuptools._distutils.archive_util (optional) +missing module named pwd - imported by posixpath (delayed, conditional), shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional), getpass (delayed), distutils.util (delayed, conditional, optional), netrc (delayed, conditional), backports.tarfile (optional), distutils.archive_util (optional), http.server (delayed, optional), webbrowser (delayed), psutil (optional), setuptools._distutils.util (delayed, conditional, optional), setuptools._distutils.archive_util (optional) +missing module named urllib.urlopen - imported by urllib (delayed, optional), lxml.html (delayed, optional) +missing module named urllib.urlencode - imported by urllib (delayed, optional), lxml.html (delayed, optional) +missing module named pep517 - imported by importlib.metadata (delayed) +missing module named posix - imported by shutil (conditional), importlib._bootstrap_external (conditional), os (conditional, optional) +missing module named resource - imported by posix (top-level) +missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level) +excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level) +missing module named org - imported by pickle (optional) +missing module named pyimod02_importers - imported by C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed), C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (delayed) +missing module named _posixsubprocess - imported by subprocess (optional), multiprocessing.util (delayed) +missing module named fcntl - imported by subprocess (optional), psutil._compat (delayed, optional), xmlrpc.server (optional) +missing module named _manylinux - imported by packaging._manylinux (delayed, optional), setuptools._vendor.packaging._manylinux (delayed, optional) +missing module named _posixshmem - imported by multiprocessing.resource_tracker (conditional), multiprocessing.shared_memory (conditional) +missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) +missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) +missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level) +missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level) +missing module named termios - imported by getpass (optional), tty (top-level), psutil._compat (delayed, optional) +missing module named _scproxy - imported by urllib.request (conditional) +missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional) +missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level) +missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level) +missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional) +missing module named annotationlib - imported by typing_extensions (conditional) +missing module named '_typeshed.importlib' - imported by pkg_resources (conditional) +missing module named _typeshed - imported by pkg_resources (conditional), setuptools.glob (conditional), wheel.wheelfile (conditional), setuptools.compat.py311 (conditional), requests.cookies (conditional), setuptools._distutils.dist (conditional) +missing module named jnius - imported by platformdirs.android (delayed, conditional, optional) +missing module named android - imported by platformdirs.android (delayed, conditional, optional) +missing module named 'distutils._modified' - imported by setuptools._distutils.file_util (delayed) +missing module named 'distutils._log' - imported by setuptools._distutils.command.bdist_dumb (top-level), setuptools._distutils.command.bdist_rpm (top-level), setuptools._distutils.command.build_clib (top-level), setuptools._distutils.command.build_ext (top-level), setuptools._distutils.command.build_py (top-level), setuptools._distutils.command.build_scripts (top-level), setuptools._distutils.command.clean (top-level), setuptools._distutils.command.config (top-level), setuptools._distutils.command.install (top-level), setuptools._distutils.command.install_scripts (top-level), setuptools._distutils.command.sdist (top-level) +missing module named usercustomize - imported by site (delayed, optional) +missing module named sitecustomize - imported by site (delayed, optional) +missing module named startup - imported by pyreadline3.keysyms.common (conditional), pyreadline3.keysyms.keysyms (conditional) +missing module named sets - imported by pyreadline3.keysyms.common (optional), pytz.tzinfo (optional) +missing module named System - imported by pyreadline3.clipboard.ironpython_clipboard (top-level), pyreadline3.keysyms.ironpython_keysyms (top-level), pyreadline3.console.ironpython_console (top-level), pyreadline3.rlmain (conditional) +missing module named console - imported by pyreadline3.console.ansi (conditional) +missing module named collections.Callable - imported by collections (optional), cffi.api (optional), socks (optional), bs4.element (optional), bs4.builder._lxml (optional) +missing module named _dummy_thread - imported by cffi.lock (conditional, optional), numpy.core.arrayprint (optional) +missing module named dummy_thread - imported by cffi.lock (conditional, optional) +missing module named thread - imported by cffi.lock (conditional, optional), cffi.cparser (conditional, optional) +missing module named cStringIO - imported by cffi.ffiplatform (optional) +missing module named cPickle - imported by pycparser.ply.yacc (delayed, optional) +missing module named cffi._pycparser - imported by cffi (optional), cffi.cparser (optional) +missing module named IronPythonConsole - imported by pyreadline3.console.ironpython_console (top-level) +missing module named tomllib - imported by setuptools.compat.py310 (conditional) +missing module named 'typing.io' - imported by importlib.resources (top-level) +missing module named vms_lib - imported by platform (delayed, optional) +missing module named java - imported by platform (delayed) +missing module named _winreg - imported by platform (delayed, optional), pygments.formatters.img (optional) +missing module named pickle5 - imported by numpy.compat.py3k (optional) +missing module named numpy.eye - imported by numpy (delayed), numpy.core.numeric (delayed) +missing module named numpy.core.integer - imported by numpy.core (top-level), numpy.fft.helper (top-level) +missing module named numpy.core.conjugate - imported by numpy.core (top-level), numpy.fft._pocketfft (top-level) +missing module named numpy.core.ufunc - imported by numpy.core (top-level), numpy.lib.utils (top-level) +missing module named numpy.core.ones - imported by numpy.core (top-level), numpy.lib.polynomial (top-level) +missing module named numpy.core.hstack - imported by numpy.core (top-level), numpy.lib.polynomial (top-level) +missing module named numpy.core.atleast_1d - imported by numpy.core (top-level), numpy.lib.polynomial (top-level) +missing module named numpy.core.atleast_3d - imported by numpy.core (top-level), numpy.lib.shape_base (top-level) +missing module named numpy.core.vstack - imported by numpy.core (top-level), numpy.lib.shape_base (top-level) +missing module named numpy.core.linspace - imported by numpy.core (top-level), numpy.lib.index_tricks (top-level) +missing module named numpy.core.transpose - imported by numpy.core (top-level), numpy.lib.function_base (top-level) +missing module named numpy.core.result_type - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.float_ - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.number - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.max - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.bool_ - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.inf - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.array2string - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.signbit - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.core.isscalar - imported by numpy.core (delayed), numpy.testing._private.utils (delayed), numpy.lib.polynomial (top-level) +missing module named numpy.core.isnat - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.core.ndarray - imported by numpy.core (top-level), numpy.testing._private.utils (top-level), numpy.lib.utils (top-level) +missing module named numpy.core.array_repr - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.core.arange - imported by numpy.core (top-level), numpy.testing._private.utils (top-level), numpy.fft.helper (top-level) +missing module named numpy.core.float32 - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.core.iinfo - imported by numpy.core (top-level), numpy.lib.twodim_base (top-level) +missing module named numpy.core.reciprocal - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.sort - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.argsort - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.sign - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.isnan - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) +missing module named numpy.core.count_nonzero - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.divide - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.swapaxes - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) +missing module named numpy.core.matmul - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.object_ - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) +missing module named numpy.core.asanyarray - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.intp - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.core.atleast_2d - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.prod - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.amax - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.amin - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.moveaxis - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.geterrobj - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.errstate - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) +missing module named numpy.core.finfo - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.lib.polynomial (top-level) +missing module named numpy.core.isfinite - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.sum - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.sqrt - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) +missing module named numpy.core.multiply - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.add - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.dot - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.lib.polynomial (top-level) +missing module named numpy.core.Inf - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.all - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) +missing module named numpy.core.newaxis - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.complexfloating - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.inexact - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.cdouble - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.csingle - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.double - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.single - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.intc - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.empty_like - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) +missing module named numpy.core.empty - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (top-level), numpy.fft.helper (top-level) +missing module named numpy.core.zeros - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) +missing module named numpy.core.asarray - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.lib.utils (top-level), numpy.fft._pocketfft (top-level), numpy.fft.helper (top-level) +missing module named numpy.core.array - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (top-level), numpy.lib.polynomial (top-level) +missing module named numpy.array - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level) +missing module named numpy.dtype - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.array_api._typing (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level) +missing module named numpy.bool_ - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.ma.core (top-level), numpy.ma.mrecords (top-level) +missing module named numpy.recarray - imported by numpy (top-level), numpy.lib.recfunctions (top-level), numpy.ma.mrecords (top-level) +missing module named numpy.ndarray - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.lib.recfunctions (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level) +missing module named pyodide_js - imported by threadpoolctl (delayed, optional) +missing module named numpy._typing._ufunc - imported by numpy._typing (conditional) +missing module named numpy.bytes_ - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.str_ - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.void - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.object_ - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.datetime64 - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.timedelta64 - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.number - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.complexfloating - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.floating - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.integer - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.ctypeslib (top-level) +missing module named numpy.unsignedinteger - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.generic - imported by numpy (top-level), numpy._typing._array_like (top-level) +missing module named numpy.histogramdd - imported by numpy (delayed), numpy.lib.twodim_base (delayed) +missing module named numpy.lib.imag - imported by numpy.lib (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.lib.real - imported by numpy.lib (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.lib.iscomplexobj - imported by numpy.lib (delayed), numpy.testing._private.utils (delayed) +missing module named numpy.ufunc - imported by numpy (top-level), numpy._typing (top-level), numpy.testing.overrides (top-level) +missing module named dummy_threading - imported by psutil._compat (optional) +missing module named numpy.isinf - imported by numpy (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.isnan - imported by numpy (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.isfinite - imported by numpy (top-level), numpy.testing._private.utils (top-level) +missing module named numpy.float64 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.float32 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.uint64 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.uint32 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.uint16 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.uint8 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.int64 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.int32 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.int16 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.int8 - imported by numpy (top-level), numpy.array_api._typing (top-level) +missing module named numpy.expand_dims - imported by numpy (top-level), numpy.ma.core (top-level) +missing module named numpy.iscomplexobj - imported by numpy (top-level), numpy.ma.core (top-level) +missing module named numpy.amin - imported by numpy (top-level), numpy.ma.core (top-level) +missing module named numpy.amax - imported by numpy (top-level), numpy.ma.core (top-level) +missing module named six.moves.range - imported by six.moves (top-level), dateutil.rrule (top-level) +runtime module named six.moves - imported by dateutil.tz.tz (top-level), dateutil.tz._factories (top-level), dateutil.tz.win (top-level), dateutil.rrule (top-level) +missing module named StringIO - imported by docx.compat (conditional), six (conditional), urllib3.packages.six (conditional) +missing module named dateutil.tz.tzfile - imported by dateutil.tz (top-level), dateutil.zoneinfo (top-level) +excluded module named matplotlib.backends.backend_webagg - imported by matplotlib.backends (delayed, conditional), matplotlib.figure (delayed, conditional) +missing module named railroad - imported by pyparsing.diagram (top-level) +missing module named pyparsing.Word - imported by pyparsing (delayed), pyparsing.unicode (delayed) +missing module named matplotlib.axes.Axes - imported by matplotlib.axes (delayed), matplotlib.legend (delayed), matplotlib.projections.geo (top-level), matplotlib.projections.polar (top-level), mpl_toolkits.mplot3d.axes3d (top-level), matplotlib.figure (top-level), matplotlib.pyplot (top-level) +missing module named numpy._distributor_init_local - imported by numpy (optional), numpy._distributor_init (optional) +missing module named gi - imported by matplotlib.cbook (delayed, conditional) +missing module named setuptools_scm - imported by matplotlib (delayed, conditional) +missing module named simplejson - imported by requests.compat (conditional, optional) +missing module named brotlicffi - imported by urllib3.util.request (optional), urllib3.response (optional) +missing module named Queue - imported by urllib3.util.queue (conditional) +missing module named 'urllib3.packages.six.moves.urllib.parse' - imported by urllib3.request (top-level), urllib3.poolmanager (top-level) +runtime module named urllib3.packages.six.moves - imported by http.client (top-level), urllib3.util.response (top-level), urllib3.connectionpool (top-level), urllib3.packages.six.moves.urllib (top-level), urllib3.util.queue (top-level) +missing module named collections.MutableMapping - imported by collections (optional), urllib3._collections (optional) +missing module named collections.Mapping - imported by collections (optional), urllib3._collections (optional), pytz.lazy (optional) +missing module named win_inet_pton - imported by socks (conditional, optional) +missing module named cryptography.x509.UnsupportedExtension - imported by cryptography.x509 (optional), urllib3.contrib.pyopenssl (optional) +missing module named chardet - imported by requests (optional), pygments.lexer (delayed, conditional, optional), bs4.dammit (optional) +missing module named urllib3_secure_extra - imported by urllib3 (optional) +missing module named objprint - imported by marko.element (delayed, optional) +missing module named collections.Sequence - imported by collections (conditional), docx.compat (conditional) +missing module named UserDict - imported by pytz.lazy (optional) +missing module named pygments.lexers.PrologLexer - imported by pygments.lexers (top-level), pygments.lexers.cplint (top-level) +missing module named ctags - imported by pygments.formatters.html (optional) +missing module named olefile - imported by PIL.FpxImagePlugin (top-level), PIL.MicImagePlugin (top-level) +excluded module named PIL.ImageQt - imported by PIL (delayed), PIL.Image (delayed) +missing module named xmlrpclib - imported by defusedxml.xmlrpc (conditional) +missing module named htmlentitydefs - imported by lxml.html.soupparser (optional) +missing module named BeautifulSoup - imported by lxml.html.soupparser (optional) +missing module named cchardet - imported by bs4.dammit (optional) +missing module named bs4.builder.HTMLParserTreeBuilder - imported by bs4.builder (top-level), bs4 (top-level) +missing module named 'html5lib.treebuilders' - imported by bs4.builder._html5lib (optional), lxml.html._html5builder (top-level), lxml.html.html5parser (top-level) +missing module named 'html5lib.constants' - imported by bs4.builder._html5lib (top-level) +missing module named html5lib - imported by bs4.builder._html5lib (top-level), lxml.html.html5parser (top-level) +missing module named urlparse - imported by lxml.ElementInclude (optional), lxml.html.html5parser (optional) +missing module named urllib2 - imported by lxml.ElementInclude (optional), lxml.html.html5parser (optional) +missing module named lxml_html_clean - imported by lxml.html.clean (optional) +missing module named cssselect - imported by lxml.cssselect (optional) +missing module named 'win32com.gen_py' - imported by win32com (conditional, optional) +missing module named tkinterdnd2 - imported by md2gost.dnd (delayed, optional), md2gost.gui (delayed, optional) diff --git a/build-fast/md2gost.fast/xref-md2gost.fast.html b/build-fast/md2gost.fast/xref-md2gost.fast.html new file mode 100644 index 0000000..070803b --- /dev/null +++ b/build-fast/md2gost.fast/xref-md2gost.fast.html @@ -0,0 +1,57478 @@ + + + + + modulegraph cross reference for md2gost_exe.py, pyi_rth__tkinter.py, pyi_rth_cryptography_openssl.py, pyi_rth_inspect.py, pyi_rth_mplbackend.py, pyi_rth_mplconfig.py, pyi_rth_multiprocessing.py, pyi_rth_pkgres.py, pyi_rth_pkgutil.py, pyi_rth_pythoncom.py, pyi_rth_pywintypes.py, pyi_rth_setuptools.py + + + +

modulegraph cross reference for md2gost_exe.py, pyi_rth__tkinter.py, pyi_rth_cryptography_openssl.py, pyi_rth_inspect.py, pyi_rth_mplbackend.py, pyi_rth_mplconfig.py, pyi_rth_multiprocessing.py, pyi_rth_pkgres.py, pyi_rth_pkgutil.py, pyi_rth_pythoncom.py, pyi_rth_pywintypes.py, pyi_rth_setuptools.py

+ +
+ + md2gost_exe.py +Script
+imports: + PIL + • PIL.Image + • PIL.PngImagePlugin + • _collections_abc + • _weakrefset + • abc + • certifi + • codecs + • collections + • collections.abc + • copyreg + • docx + • docxcompose + • docxcompose.composer + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1125 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp273 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_t + • encodings.koi8_u + • encodings.kz1048 + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.oem + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • enum + • freetype + • functools + • genericpath + • heapq + • io + • keyword + • latex2mathml + • latex2mathml.converter + • linecache + • locale + • lxml + • lxml._elementpath + • lxml.etree + • marko + • marko.ext.gfm + • matplotlib + • matplotlib.font_manager + • matplotlib.ft2font + • md2gost + • md2gost.__main__ + • md2gost.biblio_processor + • md2gost.bibliography + • md2gost.bibliography_renderable + • md2gost.checker + • md2gost.converter + • md2gost.debugger + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.dnd + • md2gost.docx_elements + • md2gost.docx_svg + • md2gost.extended_markdown + • md2gost.extended_markdown.caption + • md2gost.extended_markdown.equation + • md2gost.extended_markdown.heading + • md2gost.extended_markdown.image + • md2gost.extended_markdown.inline_formula + • md2gost.extended_markdown.reference + • md2gost.extended_markdown.table + • md2gost.extended_markdown.toc + • md2gost.gui + • md2gost.help_content + • md2gost.label_pass + • md2gost.latex_math + • md2gost.layout_tracker + • md2gost.numberer + • md2gost.page_fill_check + • md2gost.page_geometry + • md2gost.parser_ + • md2gost.pipeline + • md2gost.profiles + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.find_font + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.paragraph_sizer + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderable_factory + • md2gost.rendered_info + • md2gost.renderer + • md2gost.styles + • md2gost.sub_renderable + • md2gost.toc_processor + • md2gost.util + • md2gost.word_fix + • ntpath + • operator + • os + • posixpath + • pygments + • pygments.formatters + • pygments.lexers + • pyi_rth__tkinter.py + • pyi_rth_cryptography_openssl.py + • pyi_rth_inspect.py + • pyi_rth_mplbackend.py + • pyi_rth_mplconfig.py + • pyi_rth_multiprocessing.py + • pyi_rth_pkgres.py + • pyi_rth_pkgutil.py + • pyi_rth_pythoncom.py + • pyi_rth_pywintypes.py + • pyi_rth_setuptools.py + • re + • reprlib + • requests + • sre_compile + • sre_constants + • sre_parse + • stat + • tkinter + • tkinter.filedialog + • tkinter.messagebox + • tkinter.ttk + • traceback + • types + • warnings + • weakref + +
+ +
+ +
+ + pyi_rth__tkinter.py +Script
+imports: + os + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_cryptography_openssl.py +Script
+imports: + os + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_inspect.py +Script
+imports: + inspect + • os + • sys + • zipfile + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_mplbackend.py +Script
+imports: + os + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_mplconfig.py +Script
+imports: + _pyi_rth_utils.tempfile + • atexit + • os + • shutil + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_multiprocessing.py +Script
+imports: + multiprocessing + • multiprocessing.spawn + • subprocess + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_pkgres.py +Script
+imports: + os + • pathlib + • pkg_resources + • pyimod02_importers + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_pkgutil.py +Script
+imports: + pkgutil + • pyimod02_importers + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_pythoncom.py +Script
+imports: + os + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_pywintypes.py +Script
+imports: + os + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + pyi_rth_setuptools.py +Script
+imports: + _distutils_hack + • os + • setuptools + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + '_typeshed.importlib' +MissingModule
+imported by: + pkg_resources + +
+ +
+ +
+ + 'distutils._log' +MissingModule
+imported by: + setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.clean + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_scripts + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + 'distutils._modified' +MissingModule
+imported by: + setuptools._distutils.file_util + +
+ +
+ +
+ + 'html5lib.constants' +MissingModule
+imported by: + bs4.builder._html5lib + +
+ +
+ +
+ + 'html5lib.treebuilders' +MissingModule
+imported by: + bs4.builder._html5lib + • lxml.html._html5builder + • lxml.html.html5parser + +
+ +
+ +
+ + 'java.lang' +MissingModule
+imported by: + platform + • xml.sax._exceptions + +
+ +
+ +
+ + 'org.python' +MissingModule
+imported by: + copy + • xml.sax + +
+ +
+ +
+ + 'typing.io' +MissingModule
+imported by: + importlib.resources + +
+ +
+ +
+ + 'urllib3.packages.six.moves.urllib.parse' +MissingModule
+imported by: + urllib3.poolmanager + • urllib3.request + +
+ +
+ +
+ + 'win32com.gen_py' +MissingModule
+imported by: + win32com + +
+ +
+ +
+ + BeautifulSoup +MissingModule
+imported by: + lxml.html.soupparser + +
+ +
+ +
+ + IronPythonConsole +MissingModule
+imported by: + pyreadline3.console.ironpython_console + +
+ +
+ +
+ + OpenSSL +Package
+imports: + OpenSSL + • OpenSSL.SSL + • OpenSSL.crypto + • OpenSSL.version + +
+
+imported by: + OpenSSL + • OpenSSL.SSL + • OpenSSL._util + • OpenSSL.crypto + • OpenSSL.version + +
+ +
+ +
+ + OpenSSL.SSL +SourceModule
+imports: + OpenSSL + • OpenSSL._util + • OpenSSL.crypto + • __future__ + • collections.abc + • cryptography + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.x509 + • errno + • functools + • itertools + • os + • socket + • sys + • typing + • warnings + • weakref + +
+
+imported by: + OpenSSL + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + OpenSSL._util +SourceModule
+imports: + OpenSSL + • __future__ + • cryptography.hazmat.bindings.openssl.binding + • os + • sys + • typing + • warnings + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + +
+ +
+ +
+ + OpenSSL.crypto +SourceModule
+imports: + OpenSSL + • OpenSSL._util + • __future__ + • base64 + • calendar + • collections.abc + • cryptography + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.serialization + • cryptography.utils + • cryptography.x509 + • datetime + • functools + • sys + • typing + • typing_extensions + • warnings + +
+
+imported by: + OpenSSL + • OpenSSL.SSL + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + OpenSSL.version +SourceModule
+imports: + OpenSSL + +
+
+imported by: + OpenSSL + +
+ +
+ +
+ + PIL +Package
+imports: + PIL + • PIL.BmpImagePlugin + • PIL.ExifTags + • PIL.GifImagePlugin + • PIL.GimpGradientFile + • PIL.GimpPaletteFile + • PIL.Image + • PIL.ImageChops + • PIL.ImageCms + • PIL.ImageColor + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageFont + • PIL.ImageMath + • PIL.ImageMode + • PIL.ImageOps + • PIL.ImagePalette + • PIL.ImagePath + • PIL.ImageQt + • PIL.ImageSequence + • PIL.ImageShow + • PIL.ImageTk + • PIL.ImageWin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.PaletteFile + • PIL.PdfParser + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PyAccess + • PIL.TiffImagePlugin + • PIL.TiffTags + • PIL._imaging + • PIL._imagingcms + • PIL._imagingmath + • PIL._imagingtk + • PIL._version + • PIL._webp + • PIL.features + • __future__ + +
+
+imported by: + PIL + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.BufrStubImagePlugin + • PIL.CurImagePlugin + • PIL.DcxImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.ExifTags + • PIL.FitsImagePlugin + • PIL.FliImagePlugin + • PIL.FpxImagePlugin + • PIL.FtexImagePlugin + • PIL.GbrImagePlugin + • PIL.GifImagePlugin + • PIL.GimpGradientFile + • PIL.GimpPaletteFile + • PIL.GribStubImagePlugin + • PIL.Hdf5StubImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageChops + • PIL.ImageCms + • PIL.ImageColor + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageFont + • PIL.ImageMath + • PIL.ImageMode + • PIL.ImageOps + • PIL.ImagePalette + • PIL.ImagePath + • PIL.ImageSequence + • PIL.ImageShow + • PIL.ImageTk + • PIL.ImageWin + • PIL.ImtImagePlugin + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.JpegPresets + • PIL.McIdasImagePlugin + • PIL.MicImagePlugin + • PIL.MpegImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PaletteFile + • PIL.PalmImagePlugin + • PIL.PcdImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PdfParser + • PIL.PixarImagePlugin + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PsdImagePlugin + • PIL.PyAccess + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.TiffTags + • PIL.WebPImagePlugin + • PIL.WmfImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XbmImagePlugin + • PIL.XpmImagePlugin + • PIL._binary + • PIL._deprecate + • PIL._imaging + • PIL._imagingcms + • PIL._imagingft + • PIL._imagingmath + • PIL._imagingtk + • PIL._typing + • PIL._util + • PIL._version + • PIL._webp + • PIL.features + • matplotlib.colors + • md2gost.debugger + • md2gost.renderable.paragraph_sizer + • md2gost_exe.py + • pygments.formatters.img + +
+ +
+ +
+ + PIL.BlpImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.JpegImagePlugin + • __future__ + • abc + • enum + • io + • os + • struct + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.BmpImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • os + • typing + +
+
+imported by: + PIL + • PIL.CurImagePlugin + • PIL.IcoImagePlugin + • PIL.Image + +
+ +
+ +
+ + PIL.BufrStubImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.CurImagePlugin +SourceModule
+imports: + PIL + • PIL.BmpImagePlugin + • PIL.Image + • PIL._binary + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.DcxImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.PcxImagePlugin + • PIL._binary + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.DdsImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • enum + • io + • struct + • sys + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.EpsImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • PIL._deprecate + • __future__ + • io + • os + • re + • shutil + • subprocess + • sys + • tempfile + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.ExifTags +SourceModule
+imports: + PIL + • __future__ + • enum + +
+
+imported by: + PIL + • PIL.Image + • PIL.ImageOps + • PIL.TiffImagePlugin + +
+ +
+ +
+ + PIL.FitsImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • gzip + • math + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.FliImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • os + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.FpxImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • olefile + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.FtexImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • enum + • io + • struct + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.GbrImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.GifImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageChops + • PIL.ImageFile + • PIL.ImageMath + • PIL.ImageOps + • PIL.ImagePalette + • PIL.ImageSequence + • PIL._binary + • PIL._imaging + • __future__ + • collections.abc + • copy + • enum + • functools + • io + • itertools + • math + • os + • subprocess + • sys + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.GimpGradientFile +SourceModule
+imports: + PIL + • PIL._binary + • __future__ + • math + • typing + +
+
+imported by: + PIL + • PIL.ImagePalette + +
+ +
+ +
+ + PIL.GimpPaletteFile +SourceModule
+imports: + PIL + • PIL._binary + • __future__ + • re + • typing + +
+
+imported by: + PIL + • PIL.ImagePalette + +
+ +
+ +
+ + PIL.GribStubImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.Hdf5StubImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.IcnsImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.Jpeg2KImagePlugin + • PIL.PngImagePlugin + • PIL.features + • __future__ + • io + • os + • struct + • sys + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.IcoImagePlugin +SourceModule
+imports: + PIL + • PIL.BmpImagePlugin + • PIL.Image + • PIL.ImageFile + • PIL.PngImagePlugin + • PIL._binary + • __future__ + • io + • math + • typing + • warnings + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.ImImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • __future__ + • os + • re + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.Image +SourceModule
+imports: + PIL + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.BufrStubImagePlugin + • PIL.CurImagePlugin + • PIL.DcxImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.ExifTags + • PIL.FitsImagePlugin + • PIL.FliImagePlugin + • PIL.FpxImagePlugin + • PIL.FtexImagePlugin + • PIL.GbrImagePlugin + • PIL.GifImagePlugin + • PIL.GribStubImagePlugin + • PIL.Hdf5StubImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.ImImagePlugin + • PIL.ImageCms + • PIL.ImageColor + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageMode + • PIL.ImagePalette + • PIL.ImageQt + • PIL.ImageShow + • PIL.ImtImagePlugin + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.McIdasImagePlugin + • PIL.MicImagePlugin + • PIL.MpegImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PalmImagePlugin + • PIL.PcdImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PixarImagePlugin + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PsdImagePlugin + • PIL.PyAccess + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.TiffTags + • PIL.WebPImagePlugin + • PIL.WmfImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XbmImagePlugin + • PIL.XpmImagePlugin + • PIL._binary + • PIL._deprecate + • PIL._imaging + • PIL._typing + • PIL._util + • __future__ + • abc + • atexit + • builtins + • cffi + • collections.abc + • defusedxml + • defusedxml.ElementTree + • enum + • io + • logging + • math + • numpy + • os + • packaging.version + • re + • struct + • sys + • tempfile + • types + • typing + • warnings + +
+
+imported by: + PIL + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.BufrStubImagePlugin + • PIL.CurImagePlugin + • PIL.DcxImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.FitsImagePlugin + • PIL.FliImagePlugin + • PIL.FpxImagePlugin + • PIL.FtexImagePlugin + • PIL.GbrImagePlugin + • PIL.GifImagePlugin + • PIL.GribStubImagePlugin + • PIL.Hdf5StubImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.ImImagePlugin + • PIL.ImageChops + • PIL.ImageCms + • PIL.ImageColor + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageFont + • PIL.ImageMath + • PIL.ImageOps + • PIL.ImagePalette + • PIL.ImagePath + • PIL.ImageSequence + • PIL.ImageShow + • PIL.ImageTk + • PIL.ImageWin + • PIL.ImtImagePlugin + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.McIdasImagePlugin + • PIL.MicImagePlugin + • PIL.MpegImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PalmImagePlugin + • PIL.PcdImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PixarImagePlugin + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PsdImagePlugin + • PIL.PyAccess + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.WebPImagePlugin + • PIL.WmfImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XbmImagePlugin + • PIL.XpmImagePlugin + • PIL.features + • matplotlib.colors + • matplotlib.image + • matplotlib.pyplot + • md2gost.debugger + • md2gost.renderable.paragraph_sizer + • md2gost_exe.py + • pygments.formatters.img + +
+ +
+ +
+ + PIL.ImageChops +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + +
+
+imported by: + PIL + • PIL.GifImagePlugin + • PIL.PngImagePlugin + +
+ +
+ +
+ + PIL.ImageCms +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageWin + • PIL._deprecate + • PIL._imagingcms + • PIL._typing + • PIL._util + • __future__ + • enum + • functools + • operator + • sys + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.ImageColor +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + • colorsys + • functools + • re + +
+
+imported by: + PIL + • PIL.Image + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageOps + • PIL.ImagePalette + +
+ +
+ +
+ + PIL.ImageDraw +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageColor + • PIL.ImageDraw2 + • PIL.ImageFont + • PIL._deprecate + • PIL._typing + • __future__ + • math + • numbers + • struct + • types + • typing + +
+
+imported by: + PIL + • PIL.ImageDraw2 + • md2gost.debugger + • md2gost.renderable.paragraph_sizer + • pygments.formatters.img + +
+ +
+ +
+ + PIL.ImageDraw2 +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageColor + • PIL.ImageDraw + • PIL.ImageFont + • PIL.ImagePath + • PIL._typing + • __future__ + • typing + +
+
+imported by: + PIL + • PIL.ImageDraw + +
+ +
+ +
+ + PIL.ImageFile +SourceModule
+imports: + PIL + • PIL.Image + • PIL._deprecate + • PIL._util + • __future__ + • abc + • io + • itertools + • mmap + • struct + • sys + • typing + +
+
+imported by: + PIL + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.BufrStubImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.FitsImagePlugin + • PIL.FliImagePlugin + • PIL.FpxImagePlugin + • PIL.FtexImagePlugin + • PIL.GbrImagePlugin + • PIL.GifImagePlugin + • PIL.GribStubImagePlugin + • PIL.Hdf5StubImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageFont + • PIL.ImtImagePlugin + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.McIdasImagePlugin + • PIL.MpegImagePlugin + • PIL.MspImagePlugin + • PIL.PalmImagePlugin + • PIL.PcdImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PixarImagePlugin + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PsdImagePlugin + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.WebPImagePlugin + • PIL.WmfImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XbmImagePlugin + • PIL.XpmImagePlugin + +
+ +
+ +
+ + PIL.ImageFilter +SourceModule
+imports: + PIL + • PIL.Image + • PIL._imaging + • PIL._typing + • __future__ + • abc + • functools + • types + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.ImageFont +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._imaging + • PIL._imagingft + • PIL._typing + • PIL._util + • __future__ + • base64 + • enum + • io + • os + • sys + • types + • typing + • warnings + +
+
+imported by: + PIL + • PIL.ImageDraw + • PIL.ImageDraw2 + • md2gost.renderable.paragraph_sizer + • pygments.formatters.img + +
+ +
+ +
+ + PIL.ImageMath +SourceModule
+imports: + PIL + • PIL.Image + • PIL._deprecate + • PIL._imagingmath + • __future__ + • builtins + • types + • typing + +
+
+imported by: + PIL + • PIL.GifImagePlugin + +
+ +
+ +
+ + PIL.ImageMode +SourceModule
+imports: + PIL + • PIL._deprecate + • __future__ + • functools + • sys + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.ImageOps +SourceModule
+imports: + PIL + • PIL.ExifTags + • PIL.Image + • PIL.ImageColor + • PIL.ImagePalette + • __future__ + • functools + • operator + • re + • typing + +
+
+imported by: + PIL + • PIL.GifImagePlugin + • PIL.TiffImagePlugin + +
+ +
+ +
+ + PIL.ImagePalette +SourceModule
+imports: + PIL + • PIL.GimpGradientFile + • PIL.GimpPaletteFile + • PIL.Image + • PIL.ImageColor + • PIL.PaletteFile + • __future__ + • array + • random + • typing + +
+
+imported by: + PIL + • PIL.BmpImagePlugin + • PIL.DdsImagePlugin + • PIL.FliImagePlugin + • PIL.GifImagePlugin + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageOps + • PIL.Jpeg2KImagePlugin + • PIL.PcxImagePlugin + • PIL.PngImagePlugin + • PIL.PsdImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XpmImagePlugin + +
+ +
+ +
+ + PIL.ImagePath +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + +
+
+imported by: + PIL + • PIL.ImageDraw2 + +
+ +
+ +
+ + PIL.ImageQt +ExcludedModule
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.ImageSequence +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + • typing + +
+
+imported by: + PIL + • PIL.GifImagePlugin + • PIL.MpoImagePlugin + • PIL.PdfImagePlugin + • PIL.PngImagePlugin + +
+ +
+ +
+ + PIL.ImageShow +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + • abc + • os + • shlex + • shutil + • subprocess + • sys + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.ImageTk +SourceModule
+imports: + PIL + • PIL.Image + • PIL._imagingtk + • __future__ + • io + +
+
+imported by: + PIL + • PIL.SpiderImagePlugin + +
+ +
+ +
+ + PIL.ImageWin +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + +
+
+imported by: + PIL + • PIL.ImageCms + +
+ +
+ +
+ + PIL.ImtImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • re + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.IptcImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.JpegImagePlugin + • PIL.TiffImagePlugin + • PIL._binary + • PIL._deprecate + • __future__ + • io + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.Jpeg2KImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • io + • os + • struct + • typing + +
+
+imported by: + PIL + • PIL.IcnsImagePlugin + • PIL.Image + +
+ +
+ +
+ + PIL.JpegImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.JpegPresets + • PIL.MpoImagePlugin + • PIL.TiffImagePlugin + • PIL._binary + • __future__ + • array + • io + • math + • os + • struct + • subprocess + • sys + • tempfile + • typing + • warnings + +
+
+imported by: + PIL + • PIL.BlpImagePlugin + • PIL.Image + • PIL.IptcImagePlugin + • PIL.MpoImagePlugin + +
+ +
+ +
+ + PIL.JpegPresets +SourceModule
+imports: + PIL + • __future__ + +
+
+imported by: + PIL.JpegImagePlugin + +
+ +
+ +
+ + PIL.McIdasImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • struct + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.MicImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.TiffImagePlugin + • __future__ + • olefile + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.MpegImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • PIL._typing + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.MpoImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageSequence + • PIL.JpegImagePlugin + • PIL.TiffImagePlugin + • PIL._binary + • __future__ + • itertools + • os + • struct + • typing + +
+
+imported by: + PIL.Image + • PIL.JpegImagePlugin + +
+ +
+ +
+ + PIL.MspImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • io + • struct + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.PaletteFile +SourceModule
+imports: + PIL + • PIL._binary + • __future__ + • typing + +
+
+imported by: + PIL + • PIL.ImagePalette + +
+ +
+ +
+ + PIL.PalmImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.PcdImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.PcxImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • io + • logging + • typing + +
+
+imported by: + PIL.DcxImagePlugin + • PIL.Image + +
+ +
+ +
+ + PIL.PdfImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImageSequence + • PIL.PdfParser + • PIL.features + • __future__ + • io + • math + • os + • time + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.PdfParser +SourceModule
+imports: + PIL + • __future__ + • calendar + • codecs + • collections + • mmap + • os + • re + • time + • typing + • zlib + +
+
+imported by: + PIL + • PIL.PdfImagePlugin + +
+ +
+ +
+ + PIL.PixarImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.PngImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageChops + • PIL.ImageFile + • PIL.ImagePalette + • PIL.ImageSequence + • PIL._binary + • PIL._imaging + • __future__ + • enum + • itertools + • logging + • re + • struct + • typing + • warnings + • zlib + +
+
+imported by: + PIL + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.Image + • matplotlib.colors + • matplotlib.image + • md2gost_exe.py + +
+ +
+ +
+ + PIL.PpmImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • math + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.PsdImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • functools + • io + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.PyAccess +SourceModule
+imports: + PIL + • PIL.Image + • PIL._deprecate + • PIL._util + • __future__ + • cffi + • logging + • sys + • typing + +
+
+imported by: + PIL + • PIL.Image + +
+ +
+ +
+ + PIL.QoiImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • os + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.SgiImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • os + • struct + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.SpiderImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImageTk + • __future__ + • os + • struct + • sys + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.SunImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.TgaImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • typing + • warnings + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.TiffImagePlugin +SourceModule
+imports: + PIL + • PIL.ExifTags + • PIL.Image + • PIL.ImageFile + • PIL.ImageOps + • PIL.ImagePalette + • PIL.TiffTags + • PIL._binary + • PIL._deprecate + • __future__ + • collections.abc + • fractions + • io + • itertools + • logging + • math + • numbers + • os + • struct + • typing + • warnings + +
+
+imported by: + PIL + • PIL.Image + • PIL.IptcImagePlugin + • PIL.JpegImagePlugin + • PIL.MicImagePlugin + • PIL.MpoImagePlugin + +
+ +
+ +
+ + PIL.TiffTags +SourceModule
+imports: + PIL + • __future__ + • typing + +
+
+imported by: + PIL + • PIL.Image + • PIL.TiffImagePlugin + +
+ +
+ +
+ + PIL.WebPImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._webp + • __future__ + • io + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.WmfImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL._binary + • __future__ + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.XVThumbImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.XbmImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • __future__ + • re + • typing + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL.XpmImagePlugin +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageFile + • PIL.ImagePalette + • PIL._binary + • __future__ + • re + +
+
+imported by: + PIL.Image + +
+ +
+ +
+ + PIL._binary +SourceModule
+imports: + PIL + • __future__ + • struct + +
+
+imported by: + PIL.BmpImagePlugin + • PIL.CurImagePlugin + • PIL.DcxImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.FliImagePlugin + • PIL.FpxImagePlugin + • PIL.GbrImagePlugin + • PIL.GifImagePlugin + • PIL.GimpGradientFile + • PIL.GimpPaletteFile + • PIL.IcoImagePlugin + • PIL.Image + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.MpegImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PaletteFile + • PIL.PalmImagePlugin + • PIL.PcxImagePlugin + • PIL.PixarImagePlugin + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PsdImagePlugin + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.WmfImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XpmImagePlugin + +
+ +
+ +
+ + PIL._deprecate +SourceModule
+imports: + PIL + • __future__ + • warnings + +
+
+imported by: + PIL.EpsImagePlugin + • PIL.Image + • PIL.ImageCms + • PIL.ImageDraw + • PIL.ImageFile + • PIL.ImageMath + • PIL.ImageMode + • PIL.IptcImagePlugin + • PIL.PyAccess + • PIL.TiffImagePlugin + +
+ +
+ +
+ + PIL._imaging C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\PIL\_imaging.cp310-win_amd64.pyd
+imports: + PIL + +
+
+imported by: + PIL + • PIL.GifImagePlugin + • PIL.Image + • PIL.ImageFilter + • PIL.ImageFont + • PIL.PngImagePlugin + +
+ +
+ +
+ + PIL._imagingcms C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\PIL\_imagingcms.cp310-win_amd64.pyd
+imports: + PIL + +
+
+imported by: + PIL + • PIL.ImageCms + +
+ +
+ +
+ + PIL._imagingft C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\PIL\_imagingft.cp310-win_amd64.pyd
+imports: + PIL + +
+
+imported by: + PIL.ImageFont + +
+ +
+ +
+ + PIL._imagingmath C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\PIL\_imagingmath.cp310-win_amd64.pyd
+imports: + PIL + +
+
+imported by: + PIL + • PIL.ImageMath + +
+ +
+ +
+ + PIL._imagingtk C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\PIL\_imagingtk.cp310-win_amd64.pyd
+imports: + PIL + +
+
+imported by: + PIL + • PIL.ImageTk + +
+ +
+ +
+ + PIL._typing +SourceModule
+imports: + PIL + • __future__ + • numpy.typing + • os + • sys + • typing + • typing_extensions + +
+
+imported by: + PIL.Image + • PIL.ImageCms + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageFilter + • PIL.ImageFont + • PIL.MpegImagePlugin + • PIL._util + +
+ +
+ +
+ + PIL._util +SourceModule
+imports: + PIL + • PIL._typing + • __future__ + • os + • typing + +
+
+imported by: + PIL.Image + • PIL.ImageCms + • PIL.ImageFile + • PIL.ImageFont + • PIL.PyAccess + +
+ +
+ +
+ + PIL._version +SourceModule
+imports: + PIL + • __future__ + +
+
+imported by: + PIL + +
+ +
+ +
+ + PIL._webp C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\PIL\_webp.cp310-win_amd64.pyd
+imports: + PIL + +
+
+imported by: + PIL + • PIL.WebPImagePlugin + +
+ +
+ +
+ + PIL.features +SourceModule
+imports: + PIL + • PIL.Image + • __future__ + • collections + • os + • sys + • typing + • warnings + +
+
+imported by: + PIL + • PIL.IcnsImagePlugin + • PIL.PdfImagePlugin + +
+ +
+ +
+ + Queue +MissingModule
+imported by: + urllib3.util.queue + +
+ +
+ +
+ + StringIO +MissingModule
+imported by: + docx.compat + • six + • urllib3.packages.six + +
+ +
+ +
+ + System +MissingModule
+imported by: + pyreadline3.clipboard.ironpython_clipboard + • pyreadline3.console.ironpython_console + • pyreadline3.keysyms.ironpython_keysyms + • pyreadline3.rlmain + +
+ +
+ +
+ + UserDict +MissingModule
+imported by: + pytz.lazy + +
+ +
+ +
+ + __future__ +SourceModule
+imported by: + OpenSSL.SSL + • OpenSSL._util + • OpenSSL.crypto + • PIL + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.BufrStubImagePlugin + • PIL.CurImagePlugin + • PIL.DcxImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.ExifTags + • PIL.FitsImagePlugin + • PIL.FliImagePlugin + • PIL.FpxImagePlugin + • PIL.FtexImagePlugin + • PIL.GbrImagePlugin + • PIL.GifImagePlugin + • PIL.GimpGradientFile + • PIL.GimpPaletteFile + • PIL.GribStubImagePlugin + • PIL.Hdf5StubImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageChops + • PIL.ImageCms + • PIL.ImageColor + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageFont + • PIL.ImageMath + • PIL.ImageMode + • PIL.ImageOps + • PIL.ImagePalette + • PIL.ImagePath + • PIL.ImageSequence + • PIL.ImageShow + • PIL.ImageTk + • PIL.ImageWin + • PIL.ImtImagePlugin + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.JpegPresets + • PIL.McIdasImagePlugin + • PIL.MicImagePlugin + • PIL.MpegImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PaletteFile + • PIL.PalmImagePlugin + • PIL.PcdImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PdfParser + • PIL.PixarImagePlugin + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PsdImagePlugin + • PIL.PyAccess + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.SunImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.TiffTags + • PIL.WebPImagePlugin + • PIL.WmfImagePlugin + • PIL.XVThumbImagePlugin + • PIL.XbmImagePlugin + • PIL.XpmImagePlugin + • PIL._binary + • PIL._deprecate + • PIL._typing + • PIL._util + • PIL._version + • PIL.features + • babel.core + • babel.dates + • babel.localedata + • babel.localtime._win32 + • babel.numbers + • babel.plural + • codeop + • contourpy + • contourpy.array + • contourpy.chunk + • contourpy.convert + • contourpy.dechunk + • contourpy.enum_util + • contourpy.typecheck + • contourpy.types + • cryptography + • cryptography.__about__ + • cryptography.exceptions + • cryptography.hazmat + • cryptography.hazmat._oid + • cryptography.hazmat.backends + • cryptography.hazmat.backends.openssl + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings.openssl._conditional + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.decrepit + • cryptography.hazmat.decrepit.ciphers + • cryptography.hazmat.decrepit.ciphers.algorithms + • cryptography.hazmat.primitives._asymmetric + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.constant_time + • cryptography.hazmat.primitives.hashes + • cryptography.hazmat.primitives.serialization + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.utils + • cryptography.x509 + • cryptography.x509.base + • cryptography.x509.certificate_transparency + • cryptography.x509.extensions + • cryptography.x509.general_name + • cryptography.x509.name + • cryptography.x509.oid + • cryptography.x509.verification + • cycler + • dateutil.parser._parser + • defusedxml + • defusedxml.ElementTree + • defusedxml.cElementTree + • defusedxml.expatbuilder + • defusedxml.expatreader + • defusedxml.minidom + • defusedxml.pulldom + • defusedxml.sax + • defusedxml.xmlrpc + • doctest + • docx.api + • docx.blkcntnr + • docx.compat + • docx.dml.color + • docx.document + • docx.enum + • docx.enum.base + • docx.enum.dml + • docx.enum.section + • docx.enum.shape + • docx.enum.style + • docx.enum.table + • docx.enum.text + • docx.image + • docx.image.bmp + • docx.image.gif + • docx.image.helpers + • docx.image.image + • docx.image.jpeg + • docx.image.png + • docx.image.tiff + • docx.opc.compat + • docx.opc.coreprops + • docx.opc.oxml + • docx.opc.package + • docx.opc.part + • docx.opc.parts.coreprops + • docx.opc.phys_pkg + • docx.opc.pkgreader + • docx.opc.pkgwriter + • docx.opc.rel + • docx.opc.shared + • docx.oxml + • docx.oxml.coreprops + • docx.oxml.ns + • docx.oxml.section + • docx.oxml.settings + • docx.oxml.shared + • docx.oxml.simpletypes + • docx.oxml.table + • docx.oxml.xmlchemy + • docx.package + • docx.parts.document + • docx.parts.hdrftr + • docx.parts.image + • docx.parts.numbering + • docx.parts.settings + • docx.parts.story + • docx.parts.styles + • docx.section + • docx.settings + • docx.shape + • docx.shared + • docx.styles + • docx.styles.latent + • docx.styles.style + • docx.styles.styles + • docx.table + • docx.text.font + • docx.text.paragraph + • docx.text.parfmt + • docx.text.run + • docx.text.tabstops + • importlib_metadata + • importlib_metadata._meta + • importlib_metadata.compat.py39 + • jaraco.context + • jaraco.functools + • marko + • marko.ast_renderer + • marko.block + • marko.element + • marko.ext.gfm.elements + • marko.ext.gfm.renderer + • marko.helpers + • marko.html_renderer + • marko.inline + • marko.inline_parser + • marko.md_renderer + • marko.parser + • marko.renderer + • marko.source + • matplotlib._mathtext + • matplotlib._mathtext_data + • matplotlib.pyplot + • md2gost.biblio_processor + • md2gost.bibliography + • md2gost.bibliography_renderable + • md2gost.checker + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.dnd + • md2gost.docx_svg + • md2gost.gui + • md2gost.help_content + • md2gost.label_pass + • md2gost.page_fill_check + • md2gost.page_geometry + • md2gost.pipeline + • md2gost.profiles + • md2gost.word_fix + • numpy._typing + • numpy._typing._array_like + • numpy._typing._nested_sequence + • numpy.array_api._array_object + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._elementwise_functions + • numpy.array_api._indexing_functions + • numpy.array_api._manipulation_functions + • numpy.array_api._searching_functions + • numpy.array_api._set_functions + • numpy.array_api._sorting_functions + • numpy.array_api._statistical_functions + • numpy.array_api._typing + • numpy.array_api._utility_functions + • numpy.array_api.linalg + • packaging._elffile + • packaging._manylinux + • packaging._musllinux + • packaging._parser + • packaging._tokenizer + • packaging.licenses + • packaging.licenses._spdx + • packaging.markers + • packaging.metadata + • packaging.requirements + • packaging.specifiers + • packaging.tags + • packaging.utils + • packaging.version + • pkg_resources + • platformdirs + • platformdirs.android + • platformdirs.api + • platformdirs.macos + • platformdirs.unix + • platformdirs.windows + • psutil + • psutil._common + • pyreadline3 + • pyreadline3.clipboard + • pyreadline3.clipboard.ironpython_clipboard + • pyreadline3.clipboard.no_clipboard + • pyreadline3.clipboard.win32_clipboard + • pyreadline3.console + • pyreadline3.console.ansi + • pyreadline3.console.console + • pyreadline3.console.event + • pyreadline3.console.ironpython_console + • pyreadline3.error + • pyreadline3.keysyms + • pyreadline3.keysyms.common + • pyreadline3.keysyms.ironpython_keysyms + • pyreadline3.keysyms.keysyms + • pyreadline3.keysyms.winconstants + • pyreadline3.lineeditor + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.lineeditor.wordmatcher + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + • pyreadline3.py3k_compat + • pyreadline3.release + • pyreadline3.rlmain + • readline + • requests + • requests._types + • requests.adapters + • requests.api + • requests.auth + • requests.compat + • requests.cookies + • requests.exceptions + • requests.hooks + • requests.models + • requests.sessions + • requests.structures + • requests.utils + • setuptools + • setuptools._core_metadata + • setuptools._distutils._modified + • setuptools._distutils.archive_util + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.sdist + • setuptools._distutils.compat + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.core + • setuptools._distutils.dist + • setuptools._distutils.extension + • setuptools._distutils.fancy_getopt + • setuptools._distutils.filelist + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._path + • setuptools._reqs + • setuptools._vendor.packaging._elffile + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging._parser + • setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.tags + • setuptools._vendor.packaging.utils + • setuptools._vendor.packaging.version + • setuptools.command._requirestxt + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.build + • setuptools.command.sdist + • setuptools.compat.py311 + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.depends + • setuptools.discovery + • setuptools.dist + • setuptools.errors + • setuptools.extension + • setuptools.glob + • setuptools.installer + • setuptools.monkey + • setuptools.msvc + • setuptools.warnings + • six + • soupsieve + • soupsieve.__meta__ + • soupsieve.css_match + • soupsieve.css_parser + • soupsieve.css_types + • soupsieve.pretty + • soupsieve.util + • tomli._parser + • tomli._re + • urllib3 + • urllib3._collections + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.contrib.socks + • urllib3.exceptions + • urllib3.fields + • urllib3.filepost + • urllib3.packages.backports.weakref_finalize + • urllib3.packages.six + • urllib3.poolmanager + • urllib3.request + • urllib3.response + • urllib3.util + • urllib3.util.connection + • urllib3.util.request + • urllib3.util.response + • urllib3.util.retry + • urllib3.util.ssl_ + • urllib3.util.timeout + • urllib3.util.url + • wheel + • wheel.macosx_libfile + • wheel.wheelfile + +
+ +
+ +
+ + _abc (builtin module)
+imported by: + abc + +
+ +
+ +
+ + _aix_support +SourceModule
+imports: + _bootsubprocess + • subprocess + • sys + • sysconfig + +
+
+imported by: + distutils.util + • sysconfig + +
+ +
+ +
+ + _ast (builtin module)
+imported by: + ast + +
+ +
+ +
+ + _asyncio C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_asyncio.pyd
+imported by: + asyncio.events + • asyncio.futures + • asyncio.tasks + +
+ +
+ +
+ + _bisect (builtin module)
+imported by: + bisect + +
+ +
+ +
+ + _blake2 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _bootsubprocess +SourceModule
+imports: + os + +
+
+imported by: + _aix_support + +
+ +
+ +
+ + _brotli C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\_brotli.cp310-win_amd64.pyd
+imported by: + brotli + +
+ +
+ +
+ + _bz2 C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_bz2.pyd
+imported by: + bz2 + +
+ +
+ +
+ + _cffi_backend C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\_cffi_backend.cp310-win_amd64.pyd
+imported by: + bcrypt + • cffi.api + • cffi.commontypes + • cffi.verifier + • cryptography + +
+ +
+ +
+ + _codecs (builtin module)
+imported by: + codecs + +
+ +
+ +
+ + _codecs_cn (builtin module)
+imported by: + encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hz + +
+ +
+ +
+ + _codecs_hk (builtin module)
+imported by: + encodings.big5hkscs + +
+ +
+ +
+ + _codecs_iso2022 (builtin module)
+imported by: + encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + +
+ +
+ +
+ + _codecs_jp (builtin module)
+imported by: + encodings.cp932 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + +
+ +
+ +
+ + _codecs_kr (builtin module)
+imported by: + encodings.cp949 + • encodings.euc_kr + • encodings.johab + +
+ +
+ +
+ + _codecs_tw (builtin module)
+imported by: + encodings.big5 + • encodings.cp950 + +
+ +
+ +
+ + _collections (builtin module)
+imported by: + collections + • threading + +
+ +
+ +
+ + _collections_abc +SourceModule
+imports: + abc + • sys + +
+
+imported by: + collections + • collections.abc + • contextlib + • locale + • md2gost_exe.py + • os + • pathlib + • random + • types + • weakref + +
+ +
+ +
+ + _compat_pickle +SourceModule
+imported by: + _pickle + • pickle + +
+ +
+ +
+ + _compression +SourceModule
+imports: + io + • sys + +
+
+imported by: + bz2 + • gzip + • lzma + +
+ +
+ +
+ + _contextvars (builtin module)
+imported by: + contextvars + +
+ +
+ +
+ + _csv (builtin module)
+imported by: + csv + +
+ +
+ +
+ + _ctypes C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_ctypes.pyd
+imported by: + ctypes + • ctypes.macholib.dyld + • numpy.core._dtype_ctypes + • pyreadline3.console.console + +
+ +
+ +
+ + _datetime (builtin module)
+imports: + _strptime + • time + +
+
+imported by: + datetime + +
+ +
+ +
+ + _decimal C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_decimal.pyd
+imported by: + decimal + +
+ +
+ +
+ + _distutils_hack +Package
+imports: + importlib + • importlib.abc + • importlib.util + • os + • sys + • traceback + • warnings + +
+
+imported by: + _distutils_hack.override + • pyi_rth_setuptools.py + • setuptools + +
+ +
+ +
+ + _distutils_hack.override +SourceModule
+imports: + _distutils_hack + +
+
+imported by: + setuptools + • setuptools.discovery + +
+ +
+ +
+ + _dummy_thread +MissingModule
+imported by: + cffi.lock + • numpy.core.arrayprint + +
+ +
+ +
+ + _elementtree C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_elementtree.pyd
+imports: + pyexpat + • xml.etree.ElementInclude + • xml.etree.ElementPath + • xml.etree.ElementTree + • xml.etree.cElementTree + +
+
+imported by: + xml.etree.ElementTree + +
+ +
+ +
+ + _frozen_importlib +ExcludedModule
+imported by: + importlib + • importlib.abc + • zipimport + +
+ +
+ +
+ + _frozen_importlib_external +MissingModule
+imported by: + importlib + • importlib._bootstrap + • importlib.abc + • zipimport + +
+ +
+ +
+ + _functools (builtin module)
+imported by: + functools + +
+ +
+ +
+ + _hashlib C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_hashlib.pyd
+imported by: + hashlib + • hmac + +
+ +
+ +
+ + _heapq (builtin module)
+imported by: + heapq + +
+ +
+ +
+ + _imp (builtin module)
+imported by: + cffi._imp_emulation + • distutils.sysconfig + • imp + • importlib + • importlib._bootstrap_external + • importlib.util + • pkg_resources + • setuptools._distutils.compat.py39 + • sysconfig + • zipimport + +
+ +
+ +
+ + _io (builtin module)
+imported by: + importlib._bootstrap_external + • io + • unittest.mock + • zipimport + +
+ +
+ +
+ + _json (builtin module)
+imports: + json.decoder + +
+
+imported by: + json.decoder + • json.encoder + • json.scanner + +
+ +
+ +
+ + _locale (builtin module)
+imported by: + locale + • re + +
+ +
+ +
+ + _lzma C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_lzma.pyd
+imported by: + lzma + +
+ +
+ +
+ + _manylinux +MissingModule
+imported by: + packaging._manylinux + • setuptools._vendor.packaging._manylinux + +
+ +
+ +
+ + _markupbase +SourceModule
+imports: + re + +
+
+imported by: + html.parser + +
+ +
+ +
+ + _md5 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _multibytecodec (builtin module)
+imported by: + charset_normalizer.utils + • encodings.big5 + • encodings.big5hkscs + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hz + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.johab + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + +
+ +
+ +
+ + _multiprocessing C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_multiprocessing.pyd
+imported by: + multiprocessing.connection + • multiprocessing.queues + • multiprocessing.resource_tracker + • multiprocessing.synchronize + +
+ +
+ +
+ + _opcode (builtin module)
+imported by: + opcode + +
+ +
+ +
+ + _operator (builtin module)
+imported by: + hmac + • operator + +
+ +
+ +
+ + _osx_support +SourceModule
+imports: + contextlib + • os + • re + • sys + • tempfile + +
+
+imported by: + distutils.sysconfig + • distutils.util + +
+ +
+ +
+ + _overlapped C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_overlapped.pyd
+imported by: + asyncio.windows_events + +
+ +
+ +
+ + _pickle (builtin module)
+imports: + _compat_pickle + • codecs + • copyreg + +
+
+imported by: + pickle + +
+ +
+ +
+ + _posixshmem +MissingModule
+imported by: + multiprocessing.resource_tracker + • multiprocessing.shared_memory + +
+ +
+ +
+ + _posixsubprocess +MissingModule
+imports: + gc + +
+
+imported by: + multiprocessing.util + • subprocess + +
+ +
+ +
+ + _py_abc +SourceModule
+imports: + _weakrefset + +
+
+imported by: + abc + +
+ +
+ +
+ + _pydecimal +SourceModule
+imports: + collections + • contextvars + • itertools + • locale + • math + • numbers + • re + • sys + +
+
+imported by: + decimal + +
+ +
+ +
+ + _pyi_rth_utils +Package
+imports: + _pyi_rth_utils + • _pyi_rth_utils._win32 + • os + • sys + +
+
+imported by: + _pyi_rth_utils + • _pyi_rth_utils._win32 + • _pyi_rth_utils.tempfile + +
+ +
+ +
+ + _pyi_rth_utils._win32 +SourceModule
+imports: + _pyi_rth_utils + • ctypes + • ctypes.wintypes + +
+
+imported by: + _pyi_rth_utils + • _pyi_rth_utils.tempfile + +
+ +
+ +
+ + _pyi_rth_utils.tempfile +SourceModule
+imports: + _pyi_rth_utils + • _pyi_rth_utils._win32 + • errno + • os + • sys + • tempfile + +
+
+imported by: + pyi_rth_mplconfig.py + +
+ +
+ +
+ + _queue C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_queue.pyd
+imported by: + queue + +
+ +
+ +
+ + _random (builtin module)
+imported by: + random + +
+ +
+ +
+ + _scproxy +MissingModule
+imported by: + urllib.request + +
+ +
+ +
+ + _sha1 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha256 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha3 (builtin module)
+imported by: + hashlib + +
+ +
+ +
+ + _sha512 (builtin module)
+imported by: + hashlib + • random + +
+ +
+ +
+ + _signal (builtin module)
+imported by: + signal + +
+ +
+ +
+ + _sitebuiltins +SourceModule
+imports: + os + • pydoc + • sys + +
+
+imported by: + site + +
+ +
+ +
+ + _socket C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_socket.pyd
+imported by: + socket + • typing_extensions + +
+ +
+ +
+ + _sre (builtin module)
+imports: + copy + • re + +
+
+imported by: + sre_compile + • sre_constants + +
+ +
+ +
+ + _ssl C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_ssl.pyd
+imports: + socket + +
+
+imported by: + ssl + +
+ +
+ +
+ + _stat (builtin module)
+imported by: + stat + +
+ +
+ +
+ + _statistics (builtin module)
+imported by: + statistics + +
+ +
+ +
+ + _string (builtin module)
+imported by: + jinja2.sandbox + • string + +
+ +
+ +
+ + _strptime +SourceModule
+imports: + _thread + • calendar + • datetime + • locale + • re + • time + +
+
+imported by: + _datetime + • datetime + • time + +
+ +
+ +
+ + _struct (builtin module)
+imported by: + struct + +
+ +
+ +
+ + _thread (builtin module)
+imported by: + _strptime + • asyncio.base_futures + • cffi.cparser + • cffi.lock + • dataclasses + • functools + • numpy.core.arrayprint + • reprlib + • six.moves._thread + • tempfile + • threading + +
+ +
+ +
+ + _threading_local +SourceModule
+imports: + contextlib + • threading + • weakref + +
+
+imported by: + threading + +
+ +
+ +
+ + _tkinter C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_tkinter.pyd
+imported by: + tkinter + +
+ +
+ +
+ + _tracemalloc (builtin module)
+imported by: + tracemalloc + +
+ +
+ +
+ + _typeshed +MissingModule
+imported by: + pkg_resources + • requests.cookies + • setuptools._distutils.dist + • setuptools.compat.py311 + • setuptools.glob + • wheel.wheelfile + +
+ +
+ +
+ + _uuid C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_uuid.pyd
+imported by: + uuid + +
+ +
+ +
+ + _warnings (builtin module)
+imported by: + importlib._bootstrap_external + • warnings + • zipimport + +
+ +
+ +
+ + _weakref (builtin module)
+imported by: + _weakrefset + • collections + • weakref + • xml.sax.expatreader + +
+ +
+ +
+ + _weakrefset +SourceModule
+imports: + _weakref + • types + +
+
+imported by: + _py_abc + • md2gost_exe.py + • multiprocessing.process + • threading + • weakref + +
+ +
+ +
+ + _win32sysloader C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\win32\_win32sysloader.pyd
+imported by: + pywintypes + +
+ +
+ +
+ + _winapi (builtin module)
+imported by: + asyncio.windows_events + • asyncio.windows_utils + • encodings + • mimetypes + • multiprocessing.connection + • multiprocessing.heap + • multiprocessing.popen_spawn_win32 + • multiprocessing.reduction + • multiprocessing.shared_memory + • multiprocessing.spawn + • ntpath + • subprocess + +
+ +
+ +
+ + _winreg +MissingModule
+imported by: + platform + • pygments.formatters.img + +
+ +
+ +
+ + _zoneinfo C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\_zoneinfo.pyd
+imported by: + zoneinfo + +
+ +
+ +
+ + abc +SourceModule
+imports: + _abc + • _py_abc + +
+
+imported by: + PIL.BlpImagePlugin + • PIL.Image + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageShow + • _collections_abc + • clr_loader.types + • contextlib + • cryptography.hazmat.primitives._asymmetric + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.hashes + • cryptography.x509.base + • cryptography.x509.extensions + • cryptography.x509.general_name + • dataclasses + • email._policybase + • functools + • importlib._abc + • importlib.abc + • importlib.metadata + • importlib_metadata + • importlib_resources._compat + • importlib_resources.abc + • inspect + • io + • matplotlib._mathtext + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost_exe.py + • multiprocessing.reduction + • numbers + • numpy.polynomial._polybase + • os + • packaging.specifiers + • platformdirs.api + • pyparsing.core + • selectors + • setuptools + • setuptools._distutils.cmd + • setuptools._vendor.packaging.specifiers + • threadpoolctl + • typing + • typing_extensions + +
+ +
+ +
+ + android +MissingModule
+imported by: + platformdirs.android + +
+ +
+ +
+ + annotationlib +MissingModule
+imported by: + typing_extensions + +
+ +
+ +
+ + argparse +SourceModule
+imports: + copy + • gettext + • os + • re + • shutil + • sys + • textwrap + • warnings + +
+
+imported by: + ast + • backports.tarfile + • calendar + • code + • dis + • doctest + • gzip + • http.server + • inspect + • latex2mathml.converter + • matplotlib.dviread + • md2gost.__main__ + • py_compile + • tarfile + • threadpoolctl + • tokenize + • unittest.main + • zipfile + +
+ +
+ +
+ + array (builtin module)
+imported by: + PIL.ImagePalette + • PIL.JpegImagePlugin + • multiprocessing.dummy + • multiprocessing.managers + • multiprocessing.reduction + • socket + +
+ +
+ +
+ + ast +SourceModule
+imports: + _ast + • argparse + • collections + • contextlib + • enum + • inspect + • sys + • warnings + +
+
+imported by: + inspect + • jinja2.lexer + • matplotlib.rcsetup + • numpy.core._internal + • numpy.lib.utils + • numpy.matrixlib.defmatrix + • packaging._parser + • pygments.lexers.special + • setuptools._vendor.packaging._parser + • setuptools.config.expand + +
+ +
+ +
+ + asyncio +Package
+imports: + asyncio + • asyncio.DefaultEventLoopPolicy + • asyncio.base_events + • asyncio.base_futures + • asyncio.base_subprocess + • asyncio.base_tasks + • asyncio.constants + • asyncio.coroutines + • asyncio.events + • asyncio.exceptions + • asyncio.format_helpers + • asyncio.futures + • asyncio.locks + • asyncio.mixins + • asyncio.proactor_events + • asyncio.protocols + • asyncio.queues + • asyncio.runners + • asyncio.selector_events + • asyncio.sslproto + • asyncio.staggered + • asyncio.streams + • asyncio.subprocess + • asyncio.tasks + • asyncio.threads + • asyncio.transports + • asyncio.trsock + • asyncio.unix_events + • asyncio.windows_events + • asyncio.windows_utils + • sys + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.base_futures + • asyncio.base_subprocess + • asyncio.base_tasks + • asyncio.constants + • asyncio.coroutines + • asyncio.events + • asyncio.exceptions + • asyncio.format_helpers + • asyncio.futures + • asyncio.locks + • asyncio.log + • asyncio.mixins + • asyncio.proactor_events + • asyncio.protocols + • asyncio.queues + • asyncio.runners + • asyncio.selector_events + • asyncio.sslproto + • asyncio.staggered + • asyncio.streams + • asyncio.subprocess + • asyncio.tasks + • asyncio.threads + • asyncio.transports + • asyncio.trsock + • asyncio.unix_events + • asyncio.windows_events + • asyncio.windows_utils + • jinja2.environment + • unittest.async_case + • unittest.mock + +
+ +
+ +
+ + asyncio.DefaultEventLoopPolicy +MissingModule
+imported by: + asyncio + • asyncio.events + +
+ +
+ +
+ + asyncio.base_events +SourceModule
+imports: + asyncio + • asyncio.constants + • asyncio.coroutines + • asyncio.events + • asyncio.exceptions + • asyncio.futures + • asyncio.log + • asyncio.protocols + • asyncio.sslproto + • asyncio.staggered + • asyncio.tasks + • asyncio.transports + • asyncio.trsock + • collections + • collections.abc + • concurrent.futures + • functools + • heapq + • itertools + • os + • socket + • ssl + • stat + • subprocess + • sys + • threading + • time + • traceback + • warnings + • weakref + +
+
+imported by: + asyncio + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.unix_events + +
+ +
+ +
+ + asyncio.base_futures +SourceModule
+imports: + _thread + • asyncio + • asyncio.format_helpers + • reprlib + +
+
+imported by: + asyncio + • asyncio.base_tasks + • asyncio.coroutines + • asyncio.futures + +
+ +
+ +
+ + asyncio.base_subprocess +SourceModule
+imports: + asyncio + • asyncio.log + • asyncio.protocols + • asyncio.transports + • collections + • subprocess + • warnings + +
+
+imported by: + asyncio + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.base_tasks +SourceModule
+imports: + asyncio + • asyncio.base_futures + • asyncio.coroutines + • linecache + • traceback + +
+
+imported by: + asyncio + • asyncio.tasks + +
+ +
+ +
+ + asyncio.constants +SourceModule
+imports: + asyncio + • enum + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.coroutines + • asyncio.format_helpers + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.sslproto + • asyncio.unix_events + +
+ +
+ +
+ + asyncio.coroutines +SourceModule
+imports: + asyncio + • asyncio.base_futures + • asyncio.constants + • asyncio.format_helpers + • asyncio.log + • collections.abc + • functools + • inspect + • os + • sys + • traceback + • types + • warnings + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.base_tasks + • asyncio.runners + • asyncio.streams + • asyncio.tasks + • asyncio.unix_events + • typing_extensions + +
+ +
+ +
+ + asyncio.events +SourceModule
+imports: + _asyncio + • asyncio + • asyncio.DefaultEventLoopPolicy + • asyncio.format_helpers + • contextvars + • os + • socket + • subprocess + • sys + • threading + • warnings + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.futures + • asyncio.mixins + • asyncio.runners + • asyncio.selector_events + • asyncio.staggered + • asyncio.streams + • asyncio.subprocess + • asyncio.tasks + • asyncio.threads + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.exceptions +SourceModule
+imports: + asyncio + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.futures + • asyncio.locks + • asyncio.proactor_events + • asyncio.staggered + • asyncio.streams + • asyncio.tasks + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.format_helpers +SourceModule
+imports: + asyncio + • asyncio.constants + • functools + • inspect + • reprlib + • sys + • traceback + +
+
+imported by: + asyncio + • asyncio.base_futures + • asyncio.coroutines + • asyncio.events + • asyncio.futures + • asyncio.streams + +
+ +
+ +
+ + asyncio.futures +SourceModule
+imports: + _asyncio + • asyncio + • asyncio.base_futures + • asyncio.events + • asyncio.exceptions + • asyncio.format_helpers + • concurrent.futures + • contextvars + • logging + • sys + • types + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.tasks + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.locks +SourceModule
+imports: + asyncio + • asyncio.exceptions + • asyncio.mixins + • asyncio.tasks + • collections + +
+
+imported by: + asyncio + • asyncio.queues + • asyncio.staggered + +
+ +
+ +
+ + asyncio.log +SourceModule
+imports: + asyncio + • logging + +
+
+imported by: + asyncio.base_events + • asyncio.base_subprocess + • asyncio.coroutines + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.sslproto + • asyncio.streams + • asyncio.subprocess + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.mixins +SourceModule
+imports: + asyncio + • asyncio.events + • threading + +
+
+imported by: + asyncio + • asyncio.locks + • asyncio.queues + +
+ +
+ +
+ + asyncio.proactor_events +SourceModule
+imports: + asyncio + • asyncio.base_events + • asyncio.constants + • asyncio.exceptions + • asyncio.futures + • asyncio.log + • asyncio.protocols + • asyncio.sslproto + • asyncio.transports + • asyncio.trsock + • collections + • io + • os + • signal + • socket + • threading + • warnings + +
+
+imported by: + asyncio + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.protocols +SourceModule
+imports: + asyncio + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.base_subprocess + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.sslproto + • asyncio.streams + • asyncio.subprocess + +
+ +
+ +
+ + asyncio.queues +SourceModule
+imports: + asyncio + • asyncio.locks + • asyncio.mixins + • collections + • heapq + • types + +
+
+imported by: + asyncio + • asyncio.tasks + +
+ +
+ +
+ + asyncio.runners +SourceModule
+imports: + asyncio + • asyncio.coroutines + • asyncio.events + • asyncio.tasks + +
+
+imported by: + asyncio + +
+ +
+ +
+ + asyncio.selector_events +SourceModule
+imports: + asyncio + • asyncio.base_events + • asyncio.constants + • asyncio.events + • asyncio.futures + • asyncio.log + • asyncio.protocols + • asyncio.sslproto + • asyncio.transports + • asyncio.trsock + • collections + • errno + • functools + • selectors + • socket + • ssl + • warnings + • weakref + +
+
+imported by: + asyncio + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.sslproto +SourceModule
+imports: + asyncio + • asyncio.constants + • asyncio.log + • asyncio.protocols + • asyncio.transports + • collections + • ssl + • warnings + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.proactor_events + • asyncio.selector_events + +
+ +
+ +
+ + asyncio.staggered +SourceModule
+imports: + asyncio + • asyncio.events + • asyncio.exceptions + • asyncio.locks + • asyncio.tasks + • contextlib + • typing + +
+
+imported by: + asyncio + • asyncio.base_events + +
+ +
+ +
+ + asyncio.streams +SourceModule
+imports: + asyncio + • asyncio.coroutines + • asyncio.events + • asyncio.exceptions + • asyncio.format_helpers + • asyncio.log + • asyncio.protocols + • asyncio.tasks + • collections + • socket + • sys + • warnings + • weakref + +
+
+imported by: + asyncio + • asyncio.subprocess + +
+ +
+ +
+ + asyncio.subprocess +SourceModule
+imports: + asyncio + • asyncio.events + • asyncio.log + • asyncio.protocols + • asyncio.streams + • asyncio.tasks + • subprocess + +
+
+imported by: + asyncio + +
+ +
+ +
+ + asyncio.tasks +SourceModule
+imports: + _asyncio + • asyncio + • asyncio.base_tasks + • asyncio.coroutines + • asyncio.events + • asyncio.exceptions + • asyncio.futures + • asyncio.queues + • concurrent.futures + • contextvars + • functools + • inspect + • itertools + • types + • warnings + • weakref + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.locks + • asyncio.runners + • asyncio.staggered + • asyncio.streams + • asyncio.subprocess + • asyncio.unix_events + • asyncio.windows_events + +
+ +
+ +
+ + asyncio.threads +SourceModule
+imports: + asyncio + • asyncio.events + • contextvars + • functools + +
+
+imported by: + asyncio + +
+ +
+ +
+ + asyncio.transports +SourceModule
+imports: + asyncio + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.base_subprocess + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.sslproto + • asyncio.unix_events + +
+ +
+ +
+ + asyncio.trsock +SourceModule
+imports: + asyncio + • socket + • warnings + +
+
+imported by: + asyncio + • asyncio.base_events + • asyncio.proactor_events + • asyncio.selector_events + +
+ +
+ +
+ + asyncio.unix_events +SourceModule
+imports: + asyncio + • asyncio.base_events + • asyncio.base_subprocess + • asyncio.constants + • asyncio.coroutines + • asyncio.events + • asyncio.exceptions + • asyncio.futures + • asyncio.log + • asyncio.selector_events + • asyncio.tasks + • asyncio.transports + • errno + • io + • itertools + • os + • selectors + • signal + • socket + • stat + • subprocess + • sys + • threading + • warnings + +
+
+imported by: + asyncio + +
+ +
+ +
+ + asyncio.windows_events +SourceModule
+imports: + _overlapped + • _winapi + • asyncio + • asyncio.base_subprocess + • asyncio.events + • asyncio.exceptions + • asyncio.futures + • asyncio.log + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.tasks + • asyncio.windows_utils + • errno + • math + • msvcrt + • socket + • struct + • sys + • time + • weakref + +
+
+imported by: + asyncio + +
+ +
+ +
+ + asyncio.windows_utils +SourceModule
+imports: + _winapi + • asyncio + • itertools + • msvcrt + • os + • subprocess + • sys + • tempfile + • warnings + +
+
+imported by: + asyncio + • asyncio.windows_events + +
+ +
+ +
+ + atexit (builtin module)
+imported by: + PIL.Image + • certifi.core + • clr_loader.mono + • clr_loader.netfx + • logging + • matplotlib + • matplotlib._pylab_helpers + • multiprocessing.util + • pyi_rth_mplconfig.py + • pythonnet + • rlcompleter + • site + • urllib3.packages.backports.weakref_finalize + • weakref + +
+ +
+ +
+ + babel +Package
+imports: + babel.core + • babel.dates + • babel.localedata + • babel.localtime + • babel.numbers + • babel.plural + +
+
+imported by: + babel.core + • babel.dates + • babel.localedata + • babel.localtime + • babel.numbers + • babel.plural + +
+ +
+ +
+ + babel.core +SourceModule
+imports: + __future__ + • babel + • babel.localedata + • babel.plural + • collections.abc + • os + • pickle + • typing + • typing_extensions + +
+
+imported by: + babel + • babel.dates + • babel.localedata + • babel.localtime._win32 + • babel.numbers + +
+ +
+ +
+ + babel.dates +SourceModule
+imports: + __future__ + • babel + • babel.core + • babel.localedata + • babel.localtime + • collections.abc + • datetime + • functools + • math + • pytz + • re + • typing + • typing_extensions + • warnings + • zoneinfo + +
+
+imported by: + babel + • docxcompose.properties + +
+ +
+ +
+ + babel.localedata +SourceModule
+imports: + __future__ + • babel + • babel.core + • collections + • collections.abc + • functools + • itertools + • os + • pickle + • re + • sys + • threading + • typing + +
+
+imported by: + babel + • babel.core + • babel.dates + • babel.numbers + +
+ +
+ +
+ + babel.localtime +Package
+imports: + babel + • babel.localtime._fallback + • babel.localtime._unix + • babel.localtime._win32 + • datetime + • sys + +
+
+imported by: + babel + • babel.dates + • babel.localtime._fallback + • babel.localtime._helpers + • babel.localtime._unix + • babel.localtime._win32 + +
+ +
+ +
+ + babel.localtime._fallback +SourceModule
+imports: + babel.localtime + • datetime + • time + +
+
+imported by: + babel.localtime + +
+ +
+ +
+ + babel.localtime._helpers +SourceModule
+imports: + babel.localtime + • pytz + • zoneinfo + +
+
+imported by: + babel.localtime._unix + • babel.localtime._win32 + +
+ +
+ +
+ + babel.localtime._unix +SourceModule
+imports: + babel.localtime + • babel.localtime._helpers + • datetime + • os + • re + +
+
+imported by: + babel.localtime + +
+ +
+ +
+ + babel.localtime._win32 +SourceModule
+imports: + __future__ + • babel.core + • babel.localtime + • babel.localtime._helpers + • datetime + • typing + • winreg + +
+
+imported by: + babel.localtime + +
+ +
+ +
+ + babel.numbers +SourceModule
+imports: + __future__ + • babel + • babel.core + • babel.localedata + • datetime + • decimal + • re + • typing + • warnings + +
+
+imported by: + babel + +
+ +
+ +
+ + babel.plural +SourceModule
+imports: + __future__ + • babel + • collections.abc + • decimal + • re + • typing + +
+
+imported by: + babel + • babel.core + +
+ +
+ +
+ + backports +Package
+imports: + backports.tarfile + • pkgutil + +
+
+imported by: + backports.tarfile + • jaraco.context + +
+ +
+ +
+ + backports.tarfile +Package
+imports: + argparse + • backports + • backports.tarfile.compat.py38 + • builtins + • bz2 + • copy + • grp + • gzip + • io + • lzma + • os + • pwd + • re + • shutil + • stat + • struct + • sys + • time + • warnings + • zlib + +
+
+imported by: + backports + • backports.tarfile.compat + • jaraco.context + +
+ +
+ +
+ + backports.tarfile.compat +Package
+imports: + backports.tarfile + +
+
+imported by: + backports.tarfile.compat.py38 + +
+ +
+ +
+ + backports.tarfile.compat.py38 +SourceModule
+imports: + backports.tarfile.compat + • sys + +
+
+imported by: + backports.tarfile + +
+ +
+ +
+ + base64 +SourceModule
+imports: + binascii + • getopt + • re + • struct + • sys + +
+
+imported by: + OpenSSL.crypto + • PIL.ImageFont + • cryptography.hazmat.primitives.serialization.ssh + • email._encoded_words + • email.base64mime + • email.encoders + • encodings.base64_codec + • http.server + • logging.handlers + • matplotlib.colors + • matplotlib.font_manager + • pycparser.ply.yacc + • requests.auth + • secrets + • smtplib + • socks + • ssl + • urllib.request + • urllib3.util.request + • wheel.wheelfile + • xmlrpc.client + • yaml.constructor + • yaml.representer + +
+ +
+ +
+ + bcrypt +Package
+imports: + _cffi_backend + • bcrypt._bcrypt + +
+
+imported by: + bcrypt._bcrypt + • cryptography.hazmat.primitives.serialization.ssh + +
+ +
+ +
+ + bcrypt._bcrypt C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\bcrypt\_bcrypt.pyd
+imports: + bcrypt + +
+
+imported by: + bcrypt + +
+ +
+ +
+ + bdb +SourceModule
+imports: + fnmatch + • inspect + • linecache + • os + • reprlib + • sys + +
+
+imported by: + pdb + +
+ +
+ +
+ + binascii (builtin module)
+imported by: + base64 + • cffi.verifier + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.name + • email._encoded_words + • email.base64mime + • email.contentmanager + • email.header + • encodings.hex_codec + • encodings.uu_codec + • http.server + • plistlib + • quopri + • secrets + • urllib3.filepost + • urllib3.util.ssl_ + • uu + • yaml.constructor + • zipfile + +
+ +
+ +
+ + bisect +SourceModule
+imports: + _bisect + +
+
+imported by: + dateutil.tz.tz + • idna.core + • idna.intranges + • marko.element + • more_itertools.recipes + • multiprocessing.heap + • pygments.lexers.textedit + • pytz.tzinfo + • random + • statistics + • urllib.request + • zoneinfo._zoneinfo + +
+ +
+ +
+ + brotli +SourceModule
+imports: + _brotli + +
+
+imported by: + urllib3.response + • urllib3.util.request + +
+ +
+ +
+ + brotlicffi +MissingModule
+imported by: + urllib3.response + • urllib3.util.request + +
+ +
+ +
+ + bs4 +Package
+imports: + bs4.builder + • bs4.builder.HTMLParserTreeBuilder + • bs4.dammit + • bs4.element + • collections + • os + • re + • sys + • traceback + • warnings + +
+
+imported by: + bs4.builder + • bs4.builder._html5lib + • bs4.css + • bs4.dammit + • bs4.element + • bs4.formatter + • lxml.html.soupparser + • soupsieve + • soupsieve.css_match + +
+ +
+ +
+ + bs4.builder +Package
+imports: + bs4 + • bs4.builder + • bs4.builder.HTMLParserTreeBuilder + • bs4.builder._html5lib + • bs4.builder._htmlparser + • bs4.builder._lxml + • bs4.element + • collections + • itertools + • re + • sys + • warnings + +
+
+imported by: + bs4 + • bs4.builder + • bs4.builder._html5lib + • bs4.builder._htmlparser + • bs4.builder._lxml + +
+ +
+ +
+ + bs4.builder.HTMLParserTreeBuilder +MissingModule
+imported by: + bs4 + • bs4.builder + +
+ +
+ +
+ + bs4.builder._html5lib +SourceModule
+imports: + 'html5lib.constants' + • 'html5lib.treebuilders' + • bs4 + • bs4.builder + • bs4.element + • html5lib + • re + • warnings + +
+
+imported by: + bs4.builder + +
+ +
+ +
+ + bs4.builder._htmlparser +SourceModule
+imports: + bs4.builder + • bs4.dammit + • bs4.element + • html.parser + • sys + • warnings + +
+
+imported by: + bs4.builder + +
+ +
+ +
+ + bs4.builder._lxml +SourceModule
+imports: + bs4.builder + • bs4.dammit + • bs4.element + • collections + • collections.Callable + • collections.abc + • io + • lxml + • lxml.etree + +
+
+imported by: + bs4.builder + +
+ +
+ +
+ + bs4.css +SourceModule
+imports: + bs4 + • bs4.element + • soupsieve + • warnings + +
+
+imported by: + bs4.element + +
+ +
+ +
+ + bs4.dammit +SourceModule
+imports: + bs4 + • cchardet + • chardet + • charset_normalizer + • codecs + • collections + • html.entities + • logging + • re + • string + +
+
+imported by: + bs4 + • bs4.builder._htmlparser + • bs4.builder._lxml + • bs4.formatter + +
+ +
+ +
+ + bs4.element +SourceModule
+imports: + bs4 + • bs4.css + • bs4.formatter + • collections + • collections.Callable + • collections.abc + • re + • sys + • warnings + +
+
+imported by: + bs4 + • bs4.builder + • bs4.builder._html5lib + • bs4.builder._htmlparser + • bs4.builder._lxml + • bs4.css + • bs4.formatter + +
+ +
+ +
+ + bs4.formatter +SourceModule
+imports: + bs4 + • bs4.dammit + • bs4.element + +
+
+imported by: + bs4.element + +
+ +
+ +
+ + builtins (builtin module)
+imported by: + PIL.Image + • PIL.ImageMath + • backports.tarfile + • bz2 + • codecs + • dataclasses + • doctest + • gettext + • gzip + • inspect + • locale + • lzma + • matplotlib.axes._axes + • numpy + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.lib.function_base + • numpy.ma.core + • operator + • pydoc + • reprlib + • rlcompleter + • setuptools.config._validate_pyproject.formats + • site + • subprocess + • tarfile + • tokenize + • typing_extensions + • unittest.mock + • warnings + +
+ +
+ +
+ + bz2 +SourceModule
+imports: + _bz2 + • _compression + • builtins + • io + • os + +
+
+imported by: + backports.tarfile + • encodings.bz2_codec + • matplotlib.cbook + • numpy.lib._datasource + • pygments.formatters.other + • pygments.lexers.special + • shutil + • tarfile + • zipfile + +
+ +
+ +
+ + cPickle +MissingModule
+imported by: + pycparser.ply.yacc + +
+ +
+ +
+ + cStringIO +MissingModule
+imported by: + cffi.ffiplatform + +
+ +
+ +
+ + calendar +SourceModule
+imports: + argparse + • datetime + • itertools + • locale + • sys + +
+
+imported by: + OpenSSL.crypto + • PIL.PdfParser + • _strptime + • dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.relativedelta + • dateutil.rrule + • email._parseaddr + • http.cookiejar + • requests.cookies + • ssl + • zoneinfo._zoneinfo + +
+ +
+ +
+ + cchardet +MissingModule
+imported by: + bs4.dammit + +
+ +
+ +
+ + certifi +Package
+imports: + certifi.core + +
+
+imported by: + certifi.core + • matplotlib + • md2gost_exe.py + • requests.certs + +
+ +
+ +
+ + certifi.core +SourceModule
+imports: + atexit + • certifi + • importlib.resources + • os + • sys + • types + • typing + +
+
+imported by: + certifi + +
+ +
+ +
+ + cffi +Package
+imports: + cffi + • cffi._imp_emulation + • cffi._pycparser + • cffi.api + • cffi.cparser + • cffi.error + • cffi.ffiplatform + • cffi.model + • cffi.pkgconfig + • cffi.vengine_cpy + • cffi.vengine_gen + +
+
+imported by: + PIL.Image + • PIL.PyAccess + • cffi + • cffi._imp_emulation + • cffi._shimmed_dist_utils + • cffi.api + • cffi.cffi_opcode + • cffi.commontypes + • cffi.cparser + • cffi.error + • cffi.ffiplatform + • cffi.lock + • cffi.model + • cffi.pkgconfig + • cffi.recompiler + • cffi.vengine_cpy + • cffi.vengine_gen + • cffi.verifier + • clr_loader.ffi + +
+ +
+ +
+ + cffi._imp_emulation +SourceModule
+imports: + _imp + • cffi + • imp + • importlib + • importlib._bootstrap + • importlib.machinery + • os + • sys + • tokenize + +
+
+imported by: + cffi + • cffi.vengine_cpy + +
+ +
+ +
+ + cffi._pycparser +MissingModule
+imported by: + cffi + • cffi.cparser + +
+ +
+ +
+ + cffi._shimmed_dist_utils +SourceModule
+imports: + cffi + • distutils + • distutils.ccompiler + • distutils.command.build_ext + • distutils.core + • distutils.dir_util + • distutils.errors + • distutils.log + • distutils.msvc9compiler + • distutils.sysconfig + • setuptools + • sys + +
+
+imported by: + cffi.api + • cffi.ffiplatform + • cffi.recompiler + +
+ +
+ +
+ + cffi.api +SourceModule
+imports: + _cffi_backend + • cffi + • cffi._shimmed_dist_utils + • cffi.cparser + • cffi.error + • cffi.lock + • cffi.model + • cffi.pkgconfig + • cffi.recompiler + • cffi.verifier + • collections + • collections.Callable + • ctypes.util + • os + • re + • sys + • sysconfig + • types + +
+
+imported by: + cffi + +
+ +
+ +
+ + cffi.cffi_opcode +SourceModule
+imports: + cffi + • cffi.error + +
+
+imported by: + cffi.recompiler + +
+ +
+ +
+ + cffi.commontypes +SourceModule
+imports: + _cffi_backend + • cffi + • cffi.error + • cffi.model + • sys + +
+
+imported by: + cffi.cparser + +
+ +
+ +
+ + cffi.cparser +SourceModule
+imports: + _thread + • cffi + • cffi._pycparser + • cffi.commontypes + • cffi.error + • cffi.model + • pycparser + • pycparser.lextab + • pycparser.yacctab + • re + • sys + • thread + • warnings + • weakref + +
+
+imported by: + cffi + • cffi.api + +
+ +
+ +
+ + cffi.error +SourceModule
+imports: + cffi + +
+
+imported by: + cffi + • cffi.api + • cffi.cffi_opcode + • cffi.commontypes + • cffi.cparser + • cffi.ffiplatform + • cffi.model + • cffi.pkgconfig + • cffi.recompiler + • cffi.vengine_cpy + • cffi.vengine_gen + • cffi.verifier + +
+ +
+ +
+ + cffi.ffiplatform +SourceModule
+imports: + cStringIO + • cffi + • cffi._shimmed_dist_utils + • cffi.error + • io + • os + • os.path + • sys + +
+
+imported by: + cffi + • cffi.recompiler + • cffi.verifier + +
+ +
+ +
+ + cffi.lock +SourceModule
+imports: + _dummy_thread + • _thread + • cffi + • dummy_thread + • sys + • thread + +
+
+imported by: + cffi.api + • cffi.model + +
+ +
+ +
+ + cffi.model +SourceModule
+imports: + cffi + • cffi.error + • cffi.lock + • types + • warnings + • weakref + +
+
+imported by: + cffi + • cffi.api + • cffi.commontypes + • cffi.cparser + • cffi.recompiler + • cffi.vengine_cpy + • cffi.vengine_gen + +
+ +
+ +
+ + cffi.pkgconfig +SourceModule
+imports: + cffi + • cffi.error + • os + • subprocess + • sys + +
+
+imported by: + cffi + • cffi.api + +
+ +
+ +
+ + cffi.recompiler +SourceModule
+imports: + cffi + • cffi._shimmed_dist_utils + • cffi.cffi_opcode + • cffi.error + • cffi.ffiplatform + • cffi.model + • io + • os + • sys + +
+
+imported by: + cffi.api + +
+ +
+ +
+ + cffi.vengine_cpy +SourceModule
+imports: + cffi + • cffi._imp_emulation + • cffi.error + • cffi.model + • sys + • warnings + +
+
+imported by: + cffi + • cffi.verifier + +
+ +
+ +
+ + cffi.vengine_gen +SourceModule
+imports: + cffi + • cffi.error + • cffi.model + • os + • sys + • types + +
+
+imported by: + cffi + • cffi.verifier + +
+ +
+ +
+ + cffi.verifier +SourceModule
+imports: + _cffi_backend + • binascii + • cffi + • cffi.error + • cffi.ffiplatform + • cffi.vengine_cpy + • cffi.vengine_gen + • imp + • importlib.machinery + • io + • os + • shutil + • sys + +
+
+imported by: + cffi.api + +
+ +
+ +
+ + cgi +SourceModule
+imports: + collections.abc + • email.message + • email.parser + • html + • io + • locale + • os + • re + • sys + • tempfile + • traceback + • urllib.parse + • warnings + +
+
+imported by: + distutils.config + • lxml.doctestcompare + +
+ +
+ +
+ + chardet +MissingModule
+imported by: + bs4.dammit + • pygments.lexer + • requests + +
+ +
+ +
+ + charset_normalizer +Package
+imports: + charset_normalizer.api + • charset_normalizer.legacy + • charset_normalizer.md__mypyc + • charset_normalizer.models + • charset_normalizer.utils + • charset_normalizer.version + • logging + +
+
+imported by: + bs4.dammit + • charset_normalizer.api + • charset_normalizer.cd + • charset_normalizer.constant + • charset_normalizer.legacy + • charset_normalizer.md + • charset_normalizer.md__mypyc + • charset_normalizer.models + • charset_normalizer.utils + • charset_normalizer.version + • requests + +
+ +
+ +
+ + charset_normalizer.api +SourceModule
+imports: + charset_normalizer + • charset_normalizer.cd + • charset_normalizer.constant + • charset_normalizer.md + • charset_normalizer.models + • charset_normalizer.utils + • logging + • os + • typing + +
+
+imported by: + charset_normalizer + • charset_normalizer.legacy + +
+ +
+ +
+ + charset_normalizer.cd +SourceModule
+imports: + charset_normalizer + • charset_normalizer.constant + • charset_normalizer.md + • charset_normalizer.models + • charset_normalizer.utils + • codecs + • collections + • functools + • importlib + • typing + +
+
+imported by: + charset_normalizer.api + • charset_normalizer.models + +
+ +
+ +
+ + charset_normalizer.constant +SourceModule
+imports: + charset_normalizer + • codecs + • encodings.aliases + • re + • typing + +
+
+imported by: + charset_normalizer.api + • charset_normalizer.cd + • charset_normalizer.legacy + • charset_normalizer.models + • charset_normalizer.utils + +
+ +
+ +
+ + charset_normalizer.legacy +SourceModule
+imports: + charset_normalizer + • charset_normalizer.api + • charset_normalizer.constant + • typing + • warnings + +
+
+imported by: + charset_normalizer + +
+ +
+ +
+ + charset_normalizer.md C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\charset_normalizer\md.cp310-win_amd64.pyd
+imports: + charset_normalizer + +
+
+imported by: + charset_normalizer.api + • charset_normalizer.cd + +
+ +
+ +
+ + charset_normalizer.md__mypyc C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\charset_normalizer\md__mypyc.cp310-win_amd64.pyd
+imports: + charset_normalizer + +
+
+imported by: + charset_normalizer + +
+ +
+ +
+ + charset_normalizer.models +SourceModule
+imports: + charset_normalizer + • charset_normalizer.cd + • charset_normalizer.constant + • charset_normalizer.utils + • encodings.aliases + • hashlib + • json + • typing + +
+
+imported by: + charset_normalizer + • charset_normalizer.api + • charset_normalizer.cd + +
+ +
+ +
+ + charset_normalizer.utils +SourceModule
+imports: + _multibytecodec + • charset_normalizer + • charset_normalizer.constant + • codecs + • encodings.aliases + • functools + • importlib + • logging + • re + • typing + • unicodedata + +
+
+imported by: + charset_normalizer + • charset_normalizer.api + • charset_normalizer.cd + • charset_normalizer.models + +
+ +
+ +
+ + charset_normalizer.version +SourceModule
+imports: + charset_normalizer + +
+
+imported by: + charset_normalizer + +
+ +
+ +
+ + clr +SourceModule
+imports: + platform + • pythonnet + • warnings + +
+
+imported by: + pyreadline3.clipboard.ironpython_clipboard + • pyreadline3.console.ironpython_console + +
+ +
+ +
+ + clr_loader +Package
+imports: + clr_loader.hostfxr + • clr_loader.mono + • clr_loader.netfx + • clr_loader.types + • clr_loader.util + • clr_loader.util.find + • clr_loader.util.runtime_spec + • pathlib + • tempfile + • typing + +
+
+imported by: + clr_loader.ffi + • clr_loader.hostfxr + • clr_loader.mono + • clr_loader.netfx + • clr_loader.types + • clr_loader.util + • pythonnet + +
+ +
+ +
+ + clr_loader.ffi +Package
+imports: + cffi + • clr_loader + • clr_loader.ffi + • clr_loader.ffi.hostfxr + • clr_loader.ffi.mono + • clr_loader.ffi.netfx + • pathlib + • sys + • typing + +
+
+imported by: + clr_loader.ffi + • clr_loader.ffi.hostfxr + • clr_loader.ffi.mono + • clr_loader.ffi.netfx + • clr_loader.hostfxr + • clr_loader.mono + • clr_loader.netfx + • clr_loader.types + +
+ +
+ +
+ + clr_loader.ffi.hostfxr +SourceModule
+imports: + clr_loader.ffi + • sys + +
+
+imported by: + clr_loader.ffi + +
+ +
+ +
+ + clr_loader.ffi.mono +SourceModule
+imports: + clr_loader.ffi + +
+
+imported by: + clr_loader.ffi + +
+ +
+ +
+ + clr_loader.ffi.netfx +SourceModule
+imports: + clr_loader.ffi + +
+
+imported by: + clr_loader.ffi + +
+ +
+ +
+ + clr_loader.hostfxr +SourceModule
+imports: + clr_loader + • clr_loader.ffi + • clr_loader.types + • clr_loader.util + • pathlib + • sys + • typing + +
+
+imported by: + clr_loader + +
+ +
+ +
+ + clr_loader.mono +SourceModule
+imports: + atexit + • clr_loader + • clr_loader.ffi + • clr_loader.types + • clr_loader.util + • pathlib + • re + • typing + • warnings + +
+
+imported by: + clr_loader + +
+ +
+ +
+ + clr_loader.netfx +SourceModule
+imports: + atexit + • clr_loader + • clr_loader.ffi + • clr_loader.types + • pathlib + • typing + +
+
+imported by: + clr_loader + +
+ +
+ +
+ + clr_loader.types +SourceModule
+imports: + abc + • clr_loader + • clr_loader.ffi + • dataclasses + • os + • typing + +
+
+imported by: + clr_loader + • clr_loader.hostfxr + • clr_loader.mono + • clr_loader.netfx + • clr_loader.util + +
+ +
+ +
+ + clr_loader.util +Package
+imports: + clr_loader + • clr_loader.types + • clr_loader.util.clr_error + • clr_loader.util.coreclr_errors + • clr_loader.util.find + • clr_loader.util.hostfxr_errors + • pathlib + • typing + +
+
+imported by: + clr_loader + • clr_loader.hostfxr + • clr_loader.mono + • clr_loader.util.clr_error + • clr_loader.util.coreclr_errors + • clr_loader.util.find + • clr_loader.util.hostfxr_errors + • clr_loader.util.runtime_spec + +
+ +
+ +
+ + clr_loader.util.clr_error +SourceModule
+imports: + clr_loader.util + • typing + +
+
+imported by: + clr_loader.util + • clr_loader.util.coreclr_errors + • clr_loader.util.hostfxr_errors + +
+ +
+ +
+ + clr_loader.util.coreclr_errors +SourceModule
+imports: + clr_loader.util + • clr_loader.util.clr_error + • sys + • typing + • xml.etree + • xml.etree.ElementTree + +
+
+imported by: + clr_loader.util + +
+ +
+ +
+ + clr_loader.util.find +SourceModule
+imports: + clr_loader.util + • clr_loader.util.runtime_spec + • ctypes.util + • os + • pathlib + • platform + • re + • shutil + • subprocess + • sys + • typing + +
+
+imported by: + clr_loader + • clr_loader.util + +
+ +
+ +
+ + clr_loader.util.hostfxr_errors +SourceModule
+imports: + clr_loader.util + • clr_loader.util.clr_error + • typing + +
+
+imported by: + clr_loader.util + +
+ +
+ +
+ + clr_loader.util.runtime_spec +SourceModule
+imports: + clr_loader.util + • dataclasses + • json + • pathlib + • typing + +
+
+imported by: + clr_loader + • clr_loader.util.find + +
+ +
+ +
+ + cmd +SourceModule
+imports: + readline + • string + • sys + +
+
+imported by: + pdb + +
+ +
+ +
+ + code +SourceModule
+imports: + argparse + • codeop + • readline + • sys + • traceback + +
+
+imported by: + pdb + +
+ +
+ +
+ + codecs +SourceModule
+imports: + _codecs + • builtins + • encodings + • sys + +
+
+imported by: + PIL.PdfParser + • _pickle + • bs4.dammit + • charset_normalizer.cd + • charset_normalizer.constant + • charset_normalizer.utils + • encodings + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1125 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp273 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_t + • encodings.koi8_u + • encodings.kz1048 + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.oem + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • json + • md2gost_exe.py + • pickle + • plistlib + • pygments.formatter + • requests.utils + • tokenize + • urllib3.filepost + • win32com.client.makepy + • xml.sax.saxutils + • yaml.reader + +
+ +
+ +
+ + codeop +SourceModule
+imports: + __future__ + • warnings + +
+
+imported by: + code + +
+ +
+ +
+ + collections +Package
+imports: + _collections + • _collections_abc + • _weakref + • collections.Callable + • collections.Mapping + • collections.MutableMapping + • collections.Sequence + • copy + • heapq + • itertools + • keyword + • operator + • reprlib + • sys + +
+
+imported by: + PIL.PdfParser + • PIL.features + • _pydecimal + • ast + • asyncio.base_events + • asyncio.base_subprocess + • asyncio.locks + • asyncio.proactor_events + • asyncio.queues + • asyncio.selector_events + • asyncio.sslproto + • asyncio.streams + • babel.localedata + • bs4 + • bs4.builder + • bs4.builder._lxml + • bs4.dammit + • bs4.element + • cffi.api + • charset_normalizer.cd + • collections.abc + • concurrent.futures._base + • configparser + • contextlib + • dateutil.tz._factories + • dateutil.tz.tz + • difflib + • dis + • doctest + • docx.compat + • docxcompose.composer + • email.feedparser + • functools + • importlib.metadata + • importlib.metadata._collections + • importlib.readers + • importlib_metadata + • importlib_metadata._collections + • importlib_metadata._itertools + • importlib_resources.readers + • inspect + • jinja2.environment + • jinja2.filters + • jinja2.lexer + • jinja2.loaders + • jinja2.nodes + • jinja2.runtime + • jinja2.sandbox + • jinja2.tests + • jinja2.utils + • latex2mathml.commands + • matplotlib + • matplotlib._afm + • matplotlib._pylab_helpers + • matplotlib.artist + • matplotlib.backend_bases + • matplotlib.category + • matplotlib.cbook + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.patches + • matplotlib.textpath + • md2gost.debugger + • md2gost.numberer + • md2gost_exe.py + • more_itertools.more + • more_itertools.recipes + • mpl_toolkits.mplot3d.axes3d + • multiprocessing.heap + • multiprocessing.pool + • multiprocessing.queues + • numpy.core.overrides + • numpy.core.records + • packaging._manylinux + • pkg_resources + • pkgutil + • platform + • pprint + • psutil + • psutil._common + • psutil._compat + • psutil._pswindows + • pydoc + • pygments.formatters.rtf + • pygments.lexers.sql + • pyparsing.core + • pyparsing.util + • pytz.lazy + • queue + • requests.compat + • requests.sessions + • requests.structures + • requests.utils + • selectors + • setuptools._distutils.command.install + • setuptools._vendor.packaging._manylinux + • setuptools.command._requirestxt + • setuptools.config.setupcfg + • shlex + • shutil + • socks + • soupsieve.__meta__ + • ssl + • statistics + • string + • threading + • tokenize + • traceback + • typing + • typing_extensions + • unittest._log + • unittest.case + • unittest.util + • urllib.parse + • urllib3._collections + • urllib3.poolmanager + • urllib3.util.queue + • urllib3.util.retry + • urllib3.util.url + • xml.etree.ElementTree + • yaml.representer + • zipp._functools + • zoneinfo._zoneinfo + +
+ +
+ +
+ + collections.Callable +MissingModule
+imported by: + bs4.builder._lxml + • bs4.element + • cffi.api + • collections + • socks + +
+ +
+ +
+ + collections.Mapping +MissingModule
+imported by: + collections + • pytz.lazy + • urllib3._collections + +
+ +
+ +
+ + collections.MutableMapping +MissingModule
+imported by: + collections + • urllib3._collections + +
+ +
+ +
+ + collections.Sequence +MissingModule
+imported by: + collections + • docx.compat + +
+ +
+ +
+ + collections.abc +SourceModule
+imports: + _collections_abc + • collections + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + • PIL.GifImagePlugin + • PIL.Image + • PIL.TiffImagePlugin + • asyncio.base_events + • asyncio.coroutines + • babel.core + • babel.dates + • babel.localedata + • babel.plural + • bs4.builder._lxml + • bs4.element + • cgi + • configparser + • cycler + • docx.compat + • http.client + • importlib.resources + • importlib_metadata + • importlib_metadata._meta + • inspect + • jaraco.functools + • jinja2.filters + • jinja2.loaders + • jinja2.runtime + • jinja2.sandbox + • jinja2.tests + • jinja2.utils + • logging + • lxml.html + • lxml.html._setmixin + • marko + • marko.block + • marko.element + • marko.helpers + • marko.inline + • marko.inline_parser + • marko.parser + • marko.source + • matplotlib + • matplotlib._mathtext + • matplotlib.axes._base + • matplotlib.cbook + • matplotlib.cm + • matplotlib.colors + • matplotlib.markers + • matplotlib.pyplot + • matplotlib.spines + • matplotlib.typing + • md2gost.dnd + • md2gost.parser_ + • md2gost.renderable.renderable + • md2gost_exe.py + • more_itertools.more + • numpy._typing._array_like + • numpy._typing._dtype_like + • numpy._typing._nested_sequence + • numpy._typing._shape + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._typing + • numpy.core._ufunc_config + • numpy.lib.function_base + • numpy.lib.npyio + • pkg_resources + • platformdirs.api + • platformdirs.unix + • platformdirs.windows + • pyparsing.core + • pyparsing.results + • pyreadline3.py3k_compat + • pytz.lazy + • requests._types + • requests.compat + • requests.cookies + • requests.hooks + • requests.models + • requests.sessions + • requests.structures + • requests.utils + • selectors + • setuptools + • setuptools._distutils._modified + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.config + • setuptools._distutils.command.install_data + • setuptools._distutils.command.sdist + • setuptools._distutils.compat + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.core + • setuptools._distutils.dist + • setuptools._distutils.extension + • setuptools._distutils.fancy_getopt + • setuptools._distutils.filelist + • setuptools._distutils.spawn + • setuptools._distutils.util + • setuptools._reqs + • setuptools.command._requirestxt + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.discovery + • setuptools.dist + • setuptools.glob + • socks + • tomli._parser + • tracemalloc + • typing + • typing_extensions + • urllib3._collections + • xml.etree.ElementTree + • yaml.constructor + +
+ +
+ +
+ + colorsys +SourceModule
+imported by: + PIL.ImageColor + +
+ +
+ +
+ + commctrl +SourceModule
+imported by: + pywin.dialogs.list + +
+ +
+ +
+ + concurrent +Package
+imported by: + concurrent.futures + +
+ +
+ +
+ + concurrent.futures +Package
+imports: + concurrent + • concurrent.futures._base + • concurrent.futures.process + • concurrent.futures.thread + +
+
+imported by: + asyncio.base_events + • asyncio.futures + • asyncio.tasks + • concurrent.futures._base + • concurrent.futures.process + • concurrent.futures.thread + • distutils.command.build_ext + • setuptools._distutils.command.build_ext + +
+ +
+ +
+ + concurrent.futures._base +SourceModule
+imports: + collections + • concurrent.futures + • logging + • threading + • time + • types + +
+
+imported by: + concurrent.futures + • concurrent.futures.process + • concurrent.futures.thread + +
+ +
+ +
+ + concurrent.futures.process +SourceModule
+imports: + concurrent.futures + • concurrent.futures._base + • functools + • itertools + • multiprocessing + • multiprocessing.connection + • multiprocessing.queues + • multiprocessing.synchronize + • os + • queue + • sys + • threading + • traceback + • weakref + +
+
+imported by: + concurrent.futures + +
+ +
+ +
+ + concurrent.futures.thread +SourceModule
+imports: + concurrent.futures + • concurrent.futures._base + • itertools + • os + • queue + • threading + • types + • weakref + +
+
+imported by: + concurrent.futures + +
+ +
+ +
+ + configparser +SourceModule
+imports: + collections + • collections.abc + • functools + • io + • itertools + • os + • re + • sys + • warnings + +
+
+imported by: + distutils.config + • distutils.dist + • platformdirs.unix + • setuptools._distutils.dist + • setuptools.command.setopt + • setuptools.config.expand + • setuptools.dist + • setuptools.unicode_utils + +
+ +
+ +
+ + console +MissingModule
+imported by: + pyreadline3.console.ansi + +
+ +
+ +
+ + contextlib +SourceModule
+imports: + _collections_abc + • abc + • collections + • functools + • sys + • types + +
+
+imported by: + _osx_support + • _threading_local + • ast + • asyncio.staggered + • dateutil.tz.tz + • distutils.command.build_ext + • getpass + • glob + • http.server + • importlib._adapters + • importlib._common + • importlib.metadata + • importlib.resources + • importlib.util + • importlib_metadata + • importlib_resources._adapters + • importlib_resources._common + • importlib_resources._compat + • importlib_resources.readers + • jaraco.context + • jinja2.compiler + • lxml.etree + • marko.md_renderer + • marko.source + • matplotlib + • matplotlib._api.deprecation + • matplotlib.artist + • matplotlib.axes._base + • matplotlib.backend_bases + • matplotlib.backends.backend_agg + • matplotlib.cbook + • matplotlib.contour + • matplotlib.figure + • matplotlib.layout_engine + • matplotlib.pyplot + • matplotlib.style.core + • matplotlib.widgets + • more_itertools.more + • more_itertools.recipes + • mpl_toolkits.mplot3d.art3d + • numpy.core._methods + • numpy.core._ufunc_config + • numpy.core.arrayprint + • numpy.core.memmap + • numpy.core.records + • numpy.lib.histograms + • numpy.lib.npyio + • numpy.testing._private.utils + • packaging._manylinux + • packaging._tokenizer + • psutil + • psutil._common + • psutil._compat + • psutil._pswindows + • pyparsing.testing + • requests.utils + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.check + • setuptools._distutils.command.install + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.dist + • setuptools._distutils.version + • setuptools._path + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._tokenizer + • setuptools.archive_util + • setuptools.command.sdist + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.depends + • setuptools.msvc + • setuptools.wheel + • subprocess + • threadpoolctl + • typing + • typing_extensions + • unittest.case + • unittest.mock + • urllib.request + • urllib3.response + • xml.etree.ElementTree + • zipfile + +
+ +
+ +
+ + contextvars +SourceModule
+imports: + _contextvars + +
+
+imported by: + _pydecimal + • asyncio.events + • asyncio.futures + • asyncio.tasks + • asyncio.threads + • numpy.core._ufunc_config + +
+ +
+ +
+ + contourpy +Package
+imports: + __future__ + • contourpy._contourpy + • contourpy._version + • contourpy.chunk + • contourpy.convert + • contourpy.dechunk + • contourpy.enum_util + • numpy + • numpy.typing + • typing + +
+
+imported by: + contourpy._contourpy + • contourpy._version + • contourpy.array + • contourpy.chunk + • contourpy.convert + • contourpy.dechunk + • contourpy.enum_util + • contourpy.typecheck + • contourpy.types + • matplotlib.contour + +
+ +
+ +
+ + contourpy._contourpy C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\contourpy\_contourpy.cp310-win_amd64.pyd
+imports: + contourpy + +
+
+imported by: + contourpy + • contourpy.array + • contourpy.convert + • contourpy.dechunk + • contourpy.enum_util + • contourpy.typecheck + +
+ +
+ +
+ + contourpy._version +SourceModule
+imports: + contourpy + +
+
+imported by: + contourpy + +
+ +
+ +
+ + contourpy.array +SourceModule
+imports: + __future__ + • contourpy + • contourpy._contourpy + • contourpy.typecheck + • contourpy.types + • itertools + • numpy + • typing + +
+
+imported by: + contourpy.convert + • contourpy.dechunk + +
+ +
+ +
+ + contourpy.chunk +SourceModule
+imports: + __future__ + • contourpy + • math + +
+
+imported by: + contourpy + +
+ +
+ +
+ + contourpy.convert +SourceModule
+imports: + __future__ + • contourpy + • contourpy._contourpy + • contourpy.array + • contourpy.enum_util + • contourpy.typecheck + • contourpy.types + • numpy + • typing + +
+
+imported by: + contourpy + +
+ +
+ +
+ + contourpy.dechunk +SourceModule
+imports: + __future__ + • contourpy + • contourpy._contourpy + • contourpy.array + • contourpy.enum_util + • contourpy.typecheck + • typing + +
+
+imported by: + contourpy + +
+ +
+ +
+ + contourpy.enum_util +SourceModule
+imports: + __future__ + • contourpy + • contourpy._contourpy + +
+
+imported by: + contourpy + • contourpy.convert + • contourpy.dechunk + • contourpy.typecheck + +
+ +
+ +
+ + contourpy.typecheck +SourceModule
+imports: + __future__ + • contourpy + • contourpy._contourpy + • contourpy.enum_util + • contourpy.types + • numpy + • typing + +
+
+imported by: + contourpy.array + • contourpy.convert + • contourpy.dechunk + +
+ +
+ +
+ + contourpy.types +SourceModule
+imports: + __future__ + • contourpy + • numpy + +
+
+imported by: + contourpy.array + • contourpy.convert + • contourpy.typecheck + +
+ +
+ +
+ + copy +SourceModule
+imports: + 'org.python' + • copyreg + • types + • weakref + +
+
+imported by: + PIL.GifImagePlugin + • _sre + • argparse + • backports.tarfile + • collections + • cycler + • dataclasses + • docx.oxml.section + • docxcompose.composer + • docxcompose.properties + • email.generator + • gettext + • http.cookiejar + • http.server + • latex2mathml.converter + • logging.handlers + • lxml.html + • lxml.html.formfill + • matplotlib._mathtext + • matplotlib.font_manager + • matplotlib.gridspec + • matplotlib.lines + • matplotlib.markers + • matplotlib.path + • matplotlib.transforms + • matplotlib.widgets + • md2gost.bibliography_renderable + • md2gost.docx_elements + • md2gost.latex_math + • md2gost.layout_tracker + • md2gost.renderable.caption + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.paragraph + • md2gost.renderable.table + • md2gost.renderable.toc + • numpy.ma.core + • pycparser.ply.lex + • pygments.lexers.css + • pyparsing.core + • requests.cookies + • setuptools._distutils.compilers.C.cygwin + • smtplib + • tarfile + • weakref + • webbrowser + • xml.dom.xmlbuilder + • xml.etree.ElementInclude + +
+ +
+ +
+ + copyreg +SourceModule
+imports: + functools + • operator + +
+
+imported by: + _pickle + • copy + • md2gost_exe.py + • multiprocessing.reduction + • numpy.core + • pickle + • re + • soupsieve.css_types + • yaml.representer + +
+ +
+ +
+ + cryptography +Package
+imports: + __future__ + • _cffi_backend + • cryptography + • cryptography.__about__ + • cryptography.hazmat.backends + • cryptography.hazmat.backends.openssl + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings.openssl + • cryptography.hazmat.bindings.openssl._conditional + • cryptography.hazmat.bindings.openssl.binding + • cryptography.utils + • cryptography.x509 + • sys + • warnings + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + • cryptography + • cryptography.__about__ + • cryptography.exceptions + • cryptography.hazmat + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.utils + • cryptography.x509 + • cryptography.x509.base + • cryptography.x509.certificate_transparency + • cryptography.x509.extensions + • cryptography.x509.name + • requests + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + cryptography.__about__ +SourceModule
+imports: + __future__ + • cryptography + +
+
+imported by: + cryptography + +
+ +
+ +
+ + cryptography.exceptions +SourceModule
+imports: + __future__ + • cryptography + • cryptography.hazmat.bindings._rust + • typing + +
+
+imported by: + cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.serialization.ssh + +
+ +
+ +
+ + cryptography.hazmat +Package
+imports: + __future__ + • cryptography + +
+
+imported by: + cryptography.hazmat._oid + • cryptography.hazmat.backends + • cryptography.hazmat.bindings + • cryptography.hazmat.decrepit + • cryptography.hazmat.primitives + +
+ +
+ +
+ + cryptography.hazmat._oid +SourceModule
+imports: + __future__ + • cryptography.hazmat + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.hashes + +
+
+imported by: + cryptography.hazmat.primitives.asymmetric.ec + • cryptography.x509.oid + +
+ +
+ +
+ + cryptography.hazmat.backends +Package
+imports: + __future__ + • cryptography.hazmat + • cryptography.hazmat.backends.openssl.backend + • typing + +
+
+imported by: + cryptography + • cryptography.hazmat.backends.openssl + +
+ +
+ +
+ + cryptography.hazmat.backends.openssl +Package
+imports: + __future__ + • cryptography.hazmat.backends + • cryptography.hazmat.backends.openssl.backend + +
+
+imported by: + cryptography + • cryptography.hazmat.backends.openssl.backend + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + cryptography.hazmat.backends.openssl.backend +SourceModule
+imports: + __future__ + • cryptography.hazmat.backends.openssl + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.bindings.openssl + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._asymmetric + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.hashes + +
+
+imported by: + cryptography + • cryptography.hazmat.backends + • cryptography.hazmat.backends.openssl + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + cryptography.hazmat.bindings +Package
+imports: + cryptography.hazmat + +
+
+imported by: + cryptography.hazmat.bindings._rust + • cryptography.hazmat.bindings.openssl + +
+ +
+ +
+ + cryptography.hazmat.bindings._rust C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\cryptography\hazmat\bindings\_rust.pyd
+imports: + cryptography.hazmat.bindings + +
+
+imported by: + cryptography.exceptions + • cryptography.hazmat._oid + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.hashes + • cryptography.hazmat.primitives.serialization.base + • cryptography.x509.base + • cryptography.x509.certificate_transparency + • cryptography.x509.extensions + • cryptography.x509.name + • cryptography.x509.verification + +
+ +
+ +
+ + cryptography.hazmat.bindings.openssl +Package
+imports: + cryptography.hazmat.bindings + • cryptography.hazmat.bindings.openssl.binding + +
+
+imported by: + cryptography + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings.openssl._conditional + • cryptography.hazmat.bindings.openssl.binding + +
+ +
+ +
+ + cryptography.hazmat.bindings.openssl._conditional +SourceModule
+imports: + __future__ + • cryptography.hazmat.bindings.openssl + +
+
+imported by: + cryptography + • cryptography.hazmat.bindings.openssl.binding + +
+ +
+ +
+ + cryptography.hazmat.bindings.openssl.binding +SourceModule
+imports: + __future__ + • cryptography + • cryptography.exceptions + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.bindings.openssl + • cryptography.hazmat.bindings.openssl._conditional + • os + • sys + • threading + • types + • typing + • warnings + +
+
+imported by: + OpenSSL._util + • cryptography + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings.openssl + +
+ +
+ +
+ + cryptography.hazmat.decrepit +Package
+imports: + __future__ + • cryptography.hazmat + +
+
+imported by: + cryptography.hazmat.decrepit.ciphers + +
+ +
+ +
+ + cryptography.hazmat.decrepit.ciphers +Package
+imports: + __future__ + • cryptography.hazmat.decrepit + +
+
+imported by: + cryptography.hazmat.decrepit.ciphers.algorithms + +
+ +
+ +
+ + cryptography.hazmat.decrepit.ciphers.algorithms +SourceModule
+imports: + __future__ + • cryptography.hazmat.decrepit.ciphers + • cryptography.hazmat.primitives._cipheralgorithm + +
+
+imported by: + cryptography.hazmat.primitives.ciphers.algorithms + +
+ +
+ +
+ + cryptography.hazmat.primitives +Package
+imports: + cryptography.hazmat + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.constant_time + • cryptography.hazmat.primitives.hashes + • cryptography.hazmat.primitives.serialization + +
+
+imported by: + cryptography.hazmat._oid + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives._asymmetric + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.constant_time + • cryptography.hazmat.primitives.hashes + • cryptography.hazmat.primitives.serialization + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.hazmat.primitives._asymmetric +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.primitives + +
+
+imported by: + cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + +
+ +
+ +
+ + cryptography.hazmat.primitives._cipheralgorithm +SourceModule
+imports: + __future__ + • abc + • cryptography + • cryptography.hazmat.primitives + • cryptography.utils + +
+
+imported by: + cryptography.hazmat.decrepit.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.ciphers.modes + +
+ +
+ +
+ + cryptography.hazmat.primitives._serialization +SourceModule
+imports: + __future__ + • abc + • cryptography + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.hashes + • cryptography.utils + +
+
+imported by: + cryptography.hazmat.primitives + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.serialization + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric +Package
+imports: + cryptography.hazmat.primitives + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.dh +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + +
+
+imported by: + cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.dsa +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.hashes + • typing + +
+
+imported by: + OpenSSL.crypto + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.ec +SourceModule
+imports: + __future__ + • abc + • cryptography + • cryptography.exceptions + • cryptography.hazmat._oid + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.hashes + • cryptography.utils + • typing + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.ed25519 +SourceModule
+imports: + __future__ + • abc + • cryptography.exceptions + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + +
+
+imported by: + OpenSSL.crypto + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.ed448 +SourceModule
+imports: + __future__ + • abc + • cryptography.exceptions + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + +
+
+imported by: + OpenSSL.crypto + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.padding +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._asymmetric + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.hashes + +
+
+imported by: + cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.rsa +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._asymmetric + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.hashes + • math + • random + • typing + +
+
+imported by: + OpenSSL.crypto + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.types +SourceModule
+imports: + __future__ + • cryptography + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.dh + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.utils + • typing + +
+
+imported by: + cryptography.x509.base + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.utils +SourceModule
+imports: + __future__ + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.hashes + +
+
+imported by: + cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.serialization.ssh + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.x25519 +SourceModule
+imports: + __future__ + • abc + • cryptography.exceptions + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + +
+
+imported by: + cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.asymmetric.x448 +SourceModule
+imports: + __future__ + • abc + • cryptography.exceptions + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric + +
+
+imported by: + cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.ciphers +Package
+imports: + __future__ + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.ciphers.modes + +
+
+imported by: + cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.serialization.ssh + +
+ +
+ +
+ + cryptography.hazmat.primitives.ciphers.algorithms +SourceModule
+imports: + __future__ + • cryptography + • cryptography.hazmat.decrepit.ciphers.algorithms + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives.ciphers + • cryptography.utils + +
+
+imported by: + cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.serialization.ssh + +
+ +
+ +
+ + cryptography.hazmat.primitives.ciphers.base +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.modes + • typing + +
+
+imported by: + cryptography.hazmat.primitives.ciphers + +
+ +
+ +
+ + cryptography.hazmat.primitives.ciphers.modes +SourceModule
+imports: + __future__ + • abc + • cryptography + • cryptography.exceptions + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.utils + +
+
+imported by: + cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.serialization.ssh + +
+ +
+ +
+ + cryptography.hazmat.primitives.constant_time +SourceModule
+imports: + __future__ + • cryptography.hazmat.primitives + • hmac + +
+
+imported by: + cryptography.hazmat.primitives + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.hazmat.primitives.hashes +SourceModule
+imports: + __future__ + • abc + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + +
+
+imported by: + cryptography.hazmat._oid + • cryptography.hazmat.backends.openssl.backend + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + +
+ +
+ +
+ + cryptography.hazmat.primitives.serialization +Package
+imports: + __future__ + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.serialization.base + • cryptography.hazmat.primitives.serialization.ssh + +
+
+imported by: + OpenSSL.crypto + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.serialization.base + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.hazmat.primitives.serialization.base +SourceModule
+imports: + cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives.serialization + +
+
+imported by: + cryptography.hazmat.primitives.serialization + +
+ +
+ +
+ + cryptography.hazmat.primitives.serialization.ssh +SourceModule
+imports: + __future__ + • base64 + • bcrypt + • binascii + • cryptography + • cryptography.exceptions + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.utils + • cryptography.hazmat.primitives.ciphers + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.hashes + • cryptography.hazmat.primitives.serialization + • cryptography.utils + • dataclasses + • enum + • os + • re + • typing + • warnings + +
+
+imported by: + cryptography.hazmat.primitives.serialization + +
+ +
+ +
+ + cryptography.utils +SourceModule
+imports: + __future__ + • cryptography + • enum + • sys + • types + • typing + • warnings + +
+
+imported by: + OpenSSL.crypto + • cryptography + • cryptography.hazmat.primitives._cipheralgorithm + • cryptography.hazmat.primitives._serialization + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.ciphers.algorithms + • cryptography.hazmat.primitives.ciphers.modes + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + • cryptography.x509.certificate_transparency + • cryptography.x509.extensions + • cryptography.x509.name + +
+ +
+ +
+ + cryptography.x509 +Package
+imports: + __future__ + • cryptography + • cryptography.x509 + • cryptography.x509.UnsupportedExtension + • cryptography.x509.base + • cryptography.x509.certificate_transparency + • cryptography.x509.extensions + • cryptography.x509.general_name + • cryptography.x509.name + • cryptography.x509.oid + • cryptography.x509.verification + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + • cryptography + • cryptography.x509 + • cryptography.x509.base + • cryptography.x509.certificate_transparency + • cryptography.x509.extensions + • cryptography.x509.general_name + • cryptography.x509.name + • cryptography.x509.oid + • cryptography.x509.verification + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + cryptography.x509.UnsupportedExtension +MissingModule
+imported by: + cryptography.x509 + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + cryptography.x509.base +SourceModule
+imports: + __future__ + • abc + • cryptography + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.asymmetric + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.ed25519 + • cryptography.hazmat.primitives.asymmetric.ed448 + • cryptography.hazmat.primitives.asymmetric.padding + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.asymmetric.x25519 + • cryptography.hazmat.primitives.asymmetric.x448 + • cryptography.hazmat.primitives.hashes + • cryptography.utils + • cryptography.x509 + • cryptography.x509.extensions + • cryptography.x509.name + • cryptography.x509.oid + • datetime + • os + • typing + • warnings + +
+
+imported by: + cryptography.x509 + +
+ +
+ +
+ + cryptography.x509.certificate_transparency +SourceModule
+imports: + __future__ + • cryptography + • cryptography.hazmat.bindings._rust + • cryptography.utils + • cryptography.x509 + +
+
+imported by: + cryptography.x509 + • cryptography.x509.extensions + +
+ +
+ +
+ + cryptography.x509.extensions +SourceModule
+imports: + __future__ + • abc + • cryptography + • cryptography.hazmat.bindings._rust + • cryptography.hazmat.primitives + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.constant_time + • cryptography.hazmat.primitives.serialization + • cryptography.utils + • cryptography.x509 + • cryptography.x509.certificate_transparency + • cryptography.x509.general_name + • cryptography.x509.name + • cryptography.x509.oid + • datetime + • hashlib + • ipaddress + • typing + +
+
+imported by: + cryptography.x509 + • cryptography.x509.base + • urllib3.contrib.pyopenssl + +
+ +
+ +
+ + cryptography.x509.general_name +SourceModule
+imports: + __future__ + • abc + • cryptography.x509 + • cryptography.x509.name + • cryptography.x509.oid + • email.utils + • ipaddress + • typing + +
+
+imported by: + cryptography.x509 + • cryptography.x509.extensions + • cryptography.x509.verification + +
+ +
+ +
+ + cryptography.x509.name +SourceModule
+imports: + __future__ + • binascii + • cryptography + • cryptography.hazmat.bindings._rust + • cryptography.utils + • cryptography.x509 + • cryptography.x509.oid + • re + • sys + • typing + • warnings + +
+
+imported by: + cryptography.x509 + • cryptography.x509.base + • cryptography.x509.extensions + • cryptography.x509.general_name + +
+ +
+ +
+ + cryptography.x509.oid +SourceModule
+imports: + __future__ + • cryptography.hazmat._oid + • cryptography.x509 + +
+
+imported by: + cryptography.x509 + • cryptography.x509.base + • cryptography.x509.extensions + • cryptography.x509.general_name + • cryptography.x509.name + +
+ +
+ +
+ + cryptography.x509.verification +SourceModule
+imports: + __future__ + • cryptography.hazmat.bindings._rust + • cryptography.x509 + • cryptography.x509.general_name + • typing + +
+
+imported by: + cryptography.x509 + +
+ +
+ +
+ + cssselect +MissingModule
+imported by: + lxml.cssselect + +
+ +
+ +
+ + csv +SourceModule
+imports: + _csv + • io + • re + +
+
+imported by: + importlib.metadata + • importlib_metadata + • wheel.wheelfile + +
+ +
+ +
+ + ctags +MissingModule
+imported by: + pygments.formatters.html + +
+ +
+ +
+ + ctypes +Package
+imports: + _ctypes + • ctypes._endian + • nt + • os + • struct + • sys + • types + +
+
+imported by: + _pyi_rth_utils._win32 + • ctypes._aix + • ctypes._endian + • ctypes.macholib + • ctypes.util + • ctypes.wintypes + • dateutil.tz.win + • freetype + • freetype.ft_types + • freetype.raw + • md2gost.__main__ + • md2gost.dnd + • multiprocessing.sharedctypes + • numpy.core._dtype_ctypes + • numpy.core._internal + • numpy.ctypeslib + • packaging._manylinux + • platformdirs.windows + • psutil._common + • pyreadline3.clipboard.win32_clipboard + • pyreadline3.console.console + • pyreadline3.keysyms.keysyms + • setuptools._vendor.packaging._manylinux + • setuptools.windows_support + • threadpoolctl + • wheel.macosx_libfile + +
+ +
+ +
+ + ctypes._aix +SourceModule
+imports: + ctypes + • os + • re + • subprocess + • sys + +
+
+imported by: + ctypes.util + +
+ +
+ +
+ + ctypes._endian +SourceModule
+imports: + ctypes + • sys + +
+
+imported by: + ctypes + +
+ +
+ +
+ + ctypes.macholib +Package
+imports: + ctypes + +
+
+imported by: + ctypes.macholib.dyld + • ctypes.macholib.dylib + • ctypes.macholib.framework + +
+ +
+ +
+ + ctypes.macholib.dyld +SourceModule
+imports: + _ctypes + • ctypes.macholib + • ctypes.macholib.dylib + • ctypes.macholib.framework + • itertools + • os + +
+
+imported by: + ctypes.util + +
+ +
+ +
+ + ctypes.macholib.dylib +SourceModule
+imports: + ctypes.macholib + • re + +
+
+imported by: + ctypes.macholib.dyld + +
+ +
+ +
+ + ctypes.macholib.framework +SourceModule
+imports: + ctypes.macholib + • re + +
+
+imported by: + ctypes.macholib.dyld + +
+ +
+ +
+ + ctypes.util +SourceModule
+imports: + ctypes + • ctypes._aix + • ctypes.macholib.dyld + • importlib.machinery + • os + • re + • shutil + • struct + • subprocess + • sys + • tempfile + +
+
+imported by: + cffi.api + • clr_loader.util.find + • freetype + • freetype.raw + • pyreadline3.console.console + • threadpoolctl + +
+ +
+ +
+ + ctypes.wintypes +SourceModule
+imports: + ctypes + +
+
+imported by: + _pyi_rth_utils._win32 + • dateutil.tz.win + • md2gost.dnd + • pyreadline3.clipboard.win32_clipboard + • pyreadline3.console.console + • setuptools.windows_support + • threadpoolctl + +
+ +
+ +
+ + cycler +Package
+imports: + __future__ + • collections.abc + • copy + • functools + • itertools + • operator + • typing + +
+
+imported by: + matplotlib.pyplot + • matplotlib.rcsetup + • matplotlib.widgets + +
+ +
+ +
+ + dataclasses +SourceModule
+imports: + _thread + • abc + • builtins + • copy + • functools + • inspect + • keyword + • re + • sys + • types + +
+
+imported by: + clr_loader.types + • clr_loader.util.runtime_spec + • cryptography.hazmat.primitives.serialization.ssh + • marko.helpers + • matplotlib._text_helpers + • matplotlib.font_manager + • md2gost.bibliography + • md2gost.checker + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.page_fill_check + • md2gost.pipeline + • md2gost.profiles + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.paragraph_sizer + • md2gost.rendered_info + • md2gost.sub_renderable + • md2gost.word_fix + • numpy.array_api._data_type_functions + • packaging._tokenizer + • pprint + • setuptools._vendor.packaging._tokenizer + +
+ +
+ +
+ + datetime +SourceModule
+imports: + _datetime + • _strptime + • math + • operator + • sys + • time + +
+
+imported by: + OpenSSL.crypto + • _strptime + • babel.dates + • babel.localtime + • babel.localtime._fallback + • babel.localtime._unix + • babel.localtime._win32 + • babel.numbers + • calendar + • cryptography.x509.base + • cryptography.x509.extensions + • dateutil.easter + • dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz._common + • dateutil.tz._factories + • dateutil.tz.tz + • dateutil.tz.win + • docx.opc.parts.coreprops + • docx.oxml.coreprops + • docxcompose.properties + • email.utils + • http.cookiejar + • http.server + • matplotlib.axis + • matplotlib.dates + • matplotlib.pyplot + • md2gost.profiles + • plistlib + • psutil + • pyparsing.common + • pytz + • pytz.tzfile + • pytz.tzinfo + • requests.models + • requests.sessions + • setuptools.warnings + • smtplib + • soupsieve.css_match + • tomli._re + • urllib3.connection + • win32com.client.build + • xmlrpc.client + • xmlrpc.server + • yaml.constructor + • yaml.representer + • zoneinfo._zoneinfo + +
+ +
+ +
+ + dateutil +Package
+imports: + dateutil + • dateutil._version + • dateutil.easter + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz + • importlib + • sys + +
+
+imported by: + dateutil + • dateutil._common + • dateutil._version + • dateutil.easter + • dateutil.parser + • dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz + • dateutil.tz.tz + • dateutil.zoneinfo + +
+ +
+ +
+ + dateutil._common +SourceModule
+imports: + dateutil + +
+
+imported by: + dateutil.relativedelta + • dateutil.rrule + +
+ +
+ +
+ + dateutil._version +SourceModule
+imports: + dateutil + • typing + +
+
+imported by: + dateutil + +
+ +
+ +
+ + dateutil.easter +SourceModule
+imports: + datetime + • dateutil + +
+
+imported by: + dateutil + • dateutil.rrule + +
+ +
+ +
+ + dateutil.parser +Package
+imports: + dateutil + • dateutil.parser._parser + • dateutil.parser.isoparser + • functools + • warnings + +
+
+imported by: + dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.rrule + • dateutil.tz.tz + • matplotlib.category + • matplotlib.dates + +
+ +
+ +
+ + dateutil.parser._parser +SourceModule
+imports: + __future__ + • calendar + • datetime + • dateutil + • dateutil.parser + • dateutil.relativedelta + • dateutil.tz + • decimal + • io + • re + • six + • string + • time + • warnings + +
+
+imported by: + dateutil.parser + • dateutil.tz.tz + +
+ +
+ +
+ + dateutil.parser.isoparser +SourceModule
+imports: + calendar + • datetime + • dateutil + • dateutil.parser + • dateutil.tz + • functools + • re + • six + +
+
+imported by: + dateutil.parser + +
+ +
+ +
+ + dateutil.relativedelta +SourceModule
+imports: + calendar + • datetime + • dateutil + • dateutil._common + • math + • operator + • six + • warnings + +
+
+imported by: + dateutil + • dateutil.parser._parser + • dateutil.tz.tz + • matplotlib.dates + +
+ +
+ +
+ + dateutil.rrule +SourceModule
+imports: + calendar + • datetime + • dateutil + • dateutil._common + • dateutil.easter + • dateutil.parser + • dateutil.tz + • fractions + • functools + • heapq + • itertools + • math + • re + • six + • six.moves + • six.moves._thread + • six.moves.range + • sys + • warnings + +
+
+imported by: + dateutil + • dateutil.tz.tz + • matplotlib.dates + +
+ +
+ +
+ + dateutil.tz +Package
+imports: + dateutil + • dateutil.tz.tz + • dateutil.tz.tzfile + +
+
+imported by: + dateutil + • dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.rrule + • dateutil.tz._common + • dateutil.tz._factories + • dateutil.tz.tz + • dateutil.tz.win + • dateutil.zoneinfo + • matplotlib.axis + • matplotlib.dates + +
+ +
+ +
+ + dateutil.tz._common +SourceModule
+imports: + datetime + • dateutil.tz + • functools + • six + +
+
+imported by: + dateutil.tz.tz + • dateutil.tz.win + +
+ +
+ +
+ + dateutil.tz._factories +SourceModule
+imports: + collections + • datetime + • dateutil.tz + • six.moves + • six.moves._thread + • weakref + +
+
+imported by: + dateutil.tz.tz + +
+ +
+ +
+ + dateutil.tz.tz +SourceModule
+imports: + bisect + • collections + • contextlib + • datetime + • dateutil + • dateutil.parser + • dateutil.parser._parser + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz + • dateutil.tz._common + • dateutil.tz._factories + • dateutil.tz.win + • dateutil.zoneinfo + • os + • six + • six.moves + • six.moves._thread + • struct + • sys + • time + • warnings + • weakref + +
+
+imported by: + dateutil.tz + +
+ +
+ +
+ + dateutil.tz.tzfile +MissingModule
+imported by: + dateutil.tz + • dateutil.zoneinfo + +
+ +
+ +
+ + dateutil.tz.win +SourceModule
+imports: + ctypes + • ctypes.wintypes + • datetime + • dateutil.tz + • dateutil.tz._common + • six + • six.moves + • six.moves.winreg + • struct + +
+
+imported by: + dateutil.tz.tz + +
+ +
+ +
+ + dateutil.zoneinfo +Package
+imports: + dateutil + • dateutil.tz + • dateutil.tz.tzfile + • io + • json + • pkgutil + • tarfile + • warnings + +
+
+imported by: + dateutil.tz.tz + +
+ +
+ +
+ + decimal +SourceModule
+imports: + _decimal + • _pydecimal + +
+
+imported by: + babel.numbers + • babel.plural + • dateutil.parser._parser + • fractions + • matplotlib.units + • setuptools.config._validate_pyproject.fastjsonschema_validations + • statistics + • xmlrpc.client + +
+ +
+ +
+ + defusedxml +Package
+imports: + __future__ + • defusedxml + • defusedxml.ElementTree + • defusedxml.cElementTree + • defusedxml.common + • defusedxml.expatbuilder + • defusedxml.expatreader + • defusedxml.minidom + • defusedxml.pulldom + • defusedxml.sax + • defusedxml.xmlrpc + • warnings + +
+
+imported by: + PIL.Image + • defusedxml + • defusedxml.ElementTree + • defusedxml.cElementTree + • defusedxml.common + • defusedxml.expatbuilder + • defusedxml.expatreader + • defusedxml.minidom + • defusedxml.pulldom + • defusedxml.sax + • defusedxml.xmlrpc + +
+ +
+ +
+ + defusedxml.ElementTree +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.common + • importlib + • sys + • warnings + • xml.etree.ElementTree + +
+
+imported by: + PIL.Image + • defusedxml + • defusedxml.cElementTree + +
+ +
+ +
+ + defusedxml.cElementTree +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.ElementTree + • defusedxml.common + • warnings + • xml.etree.ElementTree + • xml.etree.cElementTree + +
+
+imported by: + defusedxml + +
+ +
+ +
+ + defusedxml.common +SourceModule
+imports: + defusedxml + • sys + • xml.parsers.expat + +
+
+imported by: + defusedxml + • defusedxml.ElementTree + • defusedxml.cElementTree + • defusedxml.expatbuilder + • defusedxml.expatreader + • defusedxml.xmlrpc + +
+ +
+ +
+ + defusedxml.expatbuilder +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.common + • xml.dom.expatbuilder + +
+
+imported by: + defusedxml + • defusedxml.minidom + +
+ +
+ +
+ + defusedxml.expatreader +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.common + • xml.sax.expatreader + +
+
+imported by: + defusedxml + • defusedxml.sax + +
+ +
+ +
+ + defusedxml.minidom +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.expatbuilder + • defusedxml.pulldom + • xml.dom.minidom + +
+
+imported by: + defusedxml + +
+ +
+ +
+ + defusedxml.pulldom +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.sax + • xml.dom.pulldom + +
+
+imported by: + defusedxml + • defusedxml.minidom + +
+ +
+ +
+ + defusedxml.sax +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.expatreader + • io + • xml.sax + +
+
+imported by: + defusedxml + • defusedxml.pulldom + +
+ +
+ +
+ + defusedxml.xmlrpc +SourceModule
+imports: + __future__ + • defusedxml + • defusedxml.common + • gzip + • io + • xmlrpc + • xmlrpc.client + • xmlrpc.server + • xmlrpclib + +
+
+imported by: + defusedxml + +
+ +
+ +
+ + difflib +SourceModule
+imports: + collections + • difflib + • heapq + • re + • types + +
+
+imported by: + difflib + • doctest + • numpy.testing._private.utils + • unittest.case + +
+ +
+ +
+ + dis +SourceModule
+imports: + argparse + • collections + • io + • opcode + • sys + • types + +
+
+imported by: + inspect + • pdb + • setuptools.depends + +
+ +
+ +
+ + distutils +Package
+imports: + distutils.archive_util + • distutils.log + • distutils.sysconfig + • setuptools._distutils + • sys + • warnings + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils._msvccompiler + • distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.command + • distutils.command.build_ext + • distutils.command.sdist + • distutils.config + • distutils.core + • distutils.debug + • distutils.dep_util + • distutils.dir_util + • distutils.dist + • distutils.errors + • distutils.extension + • distutils.fancy_getopt + • distutils.file_util + • distutils.filelist + • distutils.log + • distutils.msvc9compiler + • distutils.spawn + • distutils.sysconfig + • distutils.text_file + • distutils.util + • distutils.version + • distutils.versionpredicate + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.sdist + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.util + • setuptools._shutil + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.command.sdist + • setuptools.command.setopt + • setuptools.discovery + • setuptools.errors + • setuptools.installer + • setuptools.wheel + +
+ +
+ +
+ + distutils._msvccompiler +SourceModule
+imports: + distutils + • distutils.ccompiler + • distutils.errors + • distutils.log + • distutils.util + • itertools + • os + • subprocess + • winreg + +
+
+imported by: + distutils.command.build_ext + +
+ +
+ +
+ + distutils.archive_util +SourceModule
+imports: + distutils + • distutils.dir_util + • distutils.errors + • distutils.log + • distutils.spawn + • grp + • os + • pwd + • sys + • tarfile + • warnings + • zipfile + +
+
+imported by: + distutils + • distutils.cmd + • distutils.command.sdist + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + distutils.ccompiler +SourceModule
+imports: + distutils + • distutils.debug + • distutils.dep_util + • distutils.dir_util + • distutils.errors + • distutils.fancy_getopt + • distutils.file_util + • distutils.log + • distutils.spawn + • distutils.util + • os + • re + • sys + • tempfile + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils._msvccompiler + • distutils.command.build + • distutils.command.build_ext + • distutils.msvc9compiler + +
+ +
+ +
+ + distutils.cmd +SourceModule
+imports: + distutils + • distutils.archive_util + • distutils.debug + • distutils.dep_util + • distutils.dir_util + • distutils.dist + • distutils.errors + • distutils.fancy_getopt + • distutils.file_util + • distutils.log + • distutils.spawn + • distutils.util + • os + • re + • sys + +
+
+imported by: + distutils.config + • distutils.core + • distutils.dist + • setuptools._distutils.dist + • setuptools.dist + +
+ +
+ +
+ + distutils.command +Package
+imports: + distutils + +
+
+imported by: + distutils.command.bdist + • distutils.command.build + • distutils.command.build_ext + • distutils.command.sdist + • distutils.dist + • setuptools._distutils.dist + • setuptools.dist + +
+ +
+ +
+ + distutils.command.bdist +SourceModule
+imports: + distutils.command + • distutils.core + • distutils.errors + • distutils.fancy_getopt + • distutils.util + • os + +
+
+imported by: + setuptools.command + +
+ +
+ +
+ + distutils.command.build +SourceModule
+imports: + distutils.ccompiler + • distutils.command + • distutils.core + • distutils.errors + • distutils.util + • os + • sys + +
+
+imported by: + setuptools.command.build + +
+ +
+ +
+ + distutils.command.build_ext +SourceModule
+imports: + concurrent.futures + • contextlib + • distutils + • distutils._msvccompiler + • distutils.ccompiler + • distutils.command + • distutils.core + • distutils.dep_util + • distutils.errors + • distutils.extension + • distutils.log + • distutils.sysconfig + • distutils.util + • os + • re + • site + • sys + +
+
+imported by: + cffi._shimmed_dist_utils + • setuptools + +
+ +
+ +
+ + distutils.command.sdist +SourceModule
+imports: + distutils + • distutils.archive_util + • distutils.command + • distutils.core + • distutils.dir_util + • distutils.errors + • distutils.fancy_getopt + • distutils.file_util + • distutils.filelist + • distutils.log + • distutils.text_file + • distutils.util + • glob + • os + • sys + • warnings + +
+
+imported by: + setuptools.command.sdist + +
+ +
+ +
+ + distutils.config +SourceModule
+imports: + cgi + • configparser + • distutils + • distutils.cmd + • os + +
+
+imported by: + distutils.core + +
+ +
+ +
+ + distutils.core +SourceModule
+imports: + distutils + • distutils.cmd + • distutils.config + • distutils.debug + • distutils.dist + • distutils.errors + • distutils.extension + • os + • sys + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils.command.bdist + • distutils.command.build + • distutils.command.build_ext + • distutils.command.sdist + • distutils.dist + • setuptools + • setuptools._distutils.dist + • setuptools.dist + • setuptools.extension + +
+ +
+ +
+ + distutils.debug +SourceModule
+imports: + distutils + • os + +
+
+imported by: + distutils.ccompiler + • distutils.cmd + • distutils.core + • distutils.dist + • distutils.filelist + • distutils.spawn + • setuptools._distutils.cmd + • setuptools._distutils.compilers.C.base + • setuptools._distutils.filelist + • setuptools.dist + +
+ +
+ +
+ + distutils.dep_util +SourceModule
+imports: + distutils + • distutils.errors + • os + • stat + +
+
+imported by: + distutils.ccompiler + • distutils.cmd + • distutils.command.build_ext + • distutils.file_util + • distutils.util + +
+ +
+ +
+ + distutils.dir_util +SourceModule
+imports: + distutils + • distutils.errors + • distutils.file_util + • distutils.log + • errno + • os + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.command.sdist + • distutils.util + • setuptools._distutils.command.sdist + • setuptools.command.bdist_egg + +
+ +
+ +
+ + distutils.dist +SourceModule
+imports: + configparser + • distutils + • distutils.cmd + • distutils.command + • distutils.core + • distutils.debug + • distutils.errors + • distutils.fancy_getopt + • distutils.log + • distutils.util + • distutils.versionpredicate + • email + • os + • pprint + • re + • sys + • warnings + +
+
+imported by: + distutils.cmd + • distutils.core + • setuptools._distutils.cmd + • setuptools.config._apply_pyprojecttoml + • setuptools.config.setupcfg + • setuptools.dist + +
+ +
+ +
+ + distutils.errors +SourceModule
+imports: + distutils + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils._msvccompiler + • distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.command.bdist + • distutils.command.build + • distutils.command.build_ext + • distutils.command.sdist + • distutils.core + • distutils.dep_util + • distutils.dir_util + • distutils.dist + • distutils.fancy_getopt + • distutils.file_util + • distutils.filelist + • distutils.msvc9compiler + • distutils.spawn + • distutils.sysconfig + • distutils.util + • setuptools + • setuptools.archive_util + • setuptools.command.egg_info + • setuptools.command.setopt + • setuptools.config.expand + • setuptools.dist + • setuptools.errors + • setuptools.extension + • setuptools.installer + • setuptools.msvc + +
+ +
+ +
+ + distutils.extension +SourceModule
+imports: + distutils + • distutils.sysconfig + • distutils.text_file + • distutils.util + • os + • re + • warnings + +
+
+imported by: + distutils.command.build_ext + • distutils.core + • setuptools.extension + +
+ +
+ +
+ + distutils.fancy_getopt +SourceModule
+imports: + distutils + • distutils.errors + • getopt + • re + • string + • sys + +
+
+imported by: + distutils.ccompiler + • distutils.cmd + • distutils.command.bdist + • distutils.command.sdist + • distutils.dist + • setuptools._distutils.cmd + • setuptools._distutils.compilers.C.base + • setuptools.dist + +
+ +
+ +
+ + distutils.file_util +SourceModule
+imports: + distutils + • distutils.dep_util + • distutils.errors + • distutils.log + • errno + • os + • os.path + • stat + +
+
+imported by: + distutils.ccompiler + • distutils.cmd + • distutils.command.sdist + • distutils.dir_util + • distutils.util + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + distutils.filelist +SourceModule
+imports: + distutils + • distutils.debug + • distutils.errors + • distutils.log + • distutils.util + • fnmatch + • functools + • os + • re + +
+
+imported by: + distutils.command.sdist + • distutils.util + • setuptools.command.egg_info + • setuptools.monkey + +
+ +
+ +
+ + distutils.log +SourceModule
+imports: + distutils + • sys + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils + • distutils._msvccompiler + • distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.command.build_ext + • distutils.command.sdist + • distutils.dir_util + • distutils.dist + • distutils.file_util + • distutils.filelist + • distutils.msvc9compiler + • distutils.spawn + • distutils.util + • setuptools._shutil + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.command.sdist + • setuptools.command.setopt + • setuptools.discovery + • setuptools.dist + • setuptools.installer + • setuptools.logging + • setuptools.wheel + +
+ +
+ +
+ + distutils.msvc9compiler +SourceModule
+imports: + distutils + • distutils.ccompiler + • distutils.errors + • distutils.log + • distutils.util + • os + • re + • subprocess + • sys + • winreg + +
+
+imported by: + cffi._shimmed_dist_utils + +
+ +
+ +
+ + distutils.spawn +SourceModule
+imports: + distutils + • distutils.debug + • distutils.errors + • distutils.log + • distutils.sysconfig + • os + • subprocess + • sys + +
+
+imported by: + distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.util + • setuptools._distutils.cmd + +
+ +
+ +
+ + distutils.sysconfig +SourceModule
+imports: + _imp + • _osx_support + • distutils + • distutils.errors + • distutils.text_file + • functools + • os + • re + • sys + • sysconfig + • warnings + +
+
+imported by: + cffi._shimmed_dist_utils + • distutils + • distutils.command.build_ext + • distutils.extension + • distutils.spawn + • distutils.util + • setuptools._distutils.command.build_ext + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.extension + • setuptools._distutils.util + +
+ +
+ +
+ + distutils.text_file +SourceModule
+imports: + distutils + • io + • sys + +
+
+imported by: + distutils.command.sdist + • distutils.extension + • distutils.sysconfig + • setuptools._distutils.extension + • setuptools._distutils.sysconfig + +
+ +
+ +
+ + distutils.util +SourceModule
+imports: + _aix_support + • _osx_support + • distutils + • distutils.dep_util + • distutils.dir_util + • distutils.errors + • distutils.file_util + • distutils.filelist + • distutils.log + • distutils.spawn + • distutils.sysconfig + • importlib.util + • os + • pwd + • py_compile + • re + • string + • subprocess + • sys + • tempfile + +
+
+imported by: + distutils._msvccompiler + • distutils.ccompiler + • distutils.cmd + • distutils.command.bdist + • distutils.command.build + • distutils.command.build_ext + • distutils.command.sdist + • distutils.dist + • distutils.extension + • distutils.filelist + • distutils.msvc9compiler + • setuptools._core_metadata + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.extension + • setuptools.command.egg_info + • setuptools.command.setopt + • setuptools.discovery + • setuptools.dist + • setuptools.wheel + +
+ +
+ +
+ + distutils.version +SourceModule
+imports: + distutils + • re + +
+
+imported by: + distutils.versionpredicate + +
+ +
+ +
+ + distutils.versionpredicate +SourceModule
+imports: + distutils + • distutils.version + • operator + • re + +
+
+imported by: + distutils.dist + • setuptools._distutils.dist + +
+ +
+ +
+ + doctest +SourceModule
+imports: + __future__ + • argparse + • builtins + • collections + • difflib + • inspect + • io + • linecache + • os + • pdb + • re + • sys + • traceback + • unittest + +
+
+imported by: + lxml.doctestcompare + • numpy.testing._private.utils + • pytz + +
+ +
+ +
+ + docx +Package
+imports: + docx.api + • docx.opc.constants + • docx.opc.part + • docx.opc.parts.coreprops + • docx.parts.document + • docx.parts.hdrftr + • docx.parts.image + • docx.parts.numbering + • docx.parts.settings + • docx.parts.styles + +
+
+imported by: + docx.api + • docx.blkcntnr + • docx.compat + • docx.dml + • docx.document + • docx.enum + • docx.exceptions + • docx.image + • docx.opc + • docx.oxml + • docx.package + • docx.parts + • docx.section + • docx.settings + • docx.shape + • docx.shared + • docx.styles + • docx.table + • docx.text + • md2gost.converter + • md2gost.parser_ + • md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + docx.api +SourceModule
+imports: + __future__ + • docx + • docx.opc.constants + • docx.package + • os + +
+
+imported by: + docx + +
+ +
+ +
+ + docx.blkcntnr +SourceModule
+imports: + __future__ + • docx + • docx.oxml.table + • docx.shared + • docx.table + • docx.text.paragraph + +
+
+imported by: + docx.document + • docx.section + • docx.table + +
+ +
+ +
+ + docx.compat +SourceModule
+imports: + StringIO + • __future__ + • collections + • collections.Sequence + • collections.abc + • docx + • io + • sys + +
+
+imported by: + docx.image.image + • docx.image.jpeg + • docx.oxml.coreprops + • docx.oxml.xmlchemy + • docx.section + +
+ +
+ +
+ + docx.dml +Package
+imports: + docx + +
+
+imported by: + docx.dml.color + +
+ +
+ +
+ + docx.dml.color +SourceModule
+imports: + __future__ + • docx.dml + • docx.enum.dml + • docx.oxml.simpletypes + • docx.shared + +
+
+imported by: + docx.text.font + +
+ +
+ +
+ + docx.document +SourceModule
+imports: + __future__ + • docx + • docx.blkcntnr + • docx.enum.section + • docx.enum.text + • docx.section + • docx.shared + +
+
+imported by: + docx.parts.document + • md2gost.converter + • md2gost.debugger + • md2gost.renderer + • md2gost.styles + +
+ +
+ +
+ + docx.enum +Package
+imports: + __future__ + • docx + +
+
+imported by: + docx.enum.base + • docx.enum.dml + • docx.enum.section + • docx.enum.shape + • docx.enum.style + • docx.enum.table + • docx.enum.text + +
+ +
+ +
+ + docx.enum.base +SourceModule
+imports: + __future__ + • docx.enum + • docx.exceptions + • sys + • textwrap + +
+
+imported by: + docx.enum.dml + • docx.enum.section + • docx.enum.style + • docx.enum.table + • docx.enum.text + +
+ +
+ +
+ + docx.enum.dml +SourceModule
+imports: + __future__ + • docx.enum + • docx.enum.base + +
+
+imported by: + docx.dml.color + • docx.oxml.text.font + +
+ +
+ +
+ + docx.enum.section +SourceModule
+imports: + __future__ + • docx.enum + • docx.enum.base + +
+
+imported by: + docx.document + • docx.oxml.section + • docx.section + • md2gost.page_geometry + • md2gost.renderer + +
+ +
+ +
+ + docx.enum.shape +SourceModule
+imports: + __future__ + • docx.enum + +
+
+imported by: + docx.shape + +
+ +
+ +
+ + docx.enum.style +SourceModule
+imports: + __future__ + • docx.enum + • docx.enum.base + +
+
+imported by: + docx.oxml.styles + • docx.styles.style + • docx.table + • docx.text.paragraph + • docx.text.run + • md2gost.styles + +
+ +
+ +
+ + docx.enum.table +SourceModule
+imports: + __future__ + • docx.enum + • docx.enum.base + +
+
+imported by: + docx.oxml.table + • md2gost.renderable.equation + +
+ +
+ +
+ + docx.enum.text +SourceModule
+imports: + __future__ + • docx.enum + • docx.enum.base + +
+
+imported by: + docx.document + • docx.oxml.text.font + • docx.oxml.text.parfmt + • docx.text.parfmt + • docx.text.run + • docx.text.tabstops + • md2gost.page_geometry + • md2gost.renderable.caption + • md2gost.renderable.image + • md2gost.renderable.paragraph + • md2gost.renderable.paragraph_sizer + • md2gost.renderable.toc + • md2gost.renderer + • md2gost.styles + +
+ +
+ +
+ + docx.exceptions +SourceModule
+imports: + docx + +
+
+imported by: + docx.enum.base + • docx.oxml.simpletypes + • docx.oxml.table + +
+ +
+ +
+ + docx.image +Package
+imports: + __future__ + • docx + • docx.image.bmp + • docx.image.gif + • docx.image.jpeg + • docx.image.png + • docx.image.tiff + +
+
+imported by: + docx.image.bmp + • docx.image.constants + • docx.image.exceptions + • docx.image.gif + • docx.image.helpers + • docx.image.image + • docx.image.jpeg + • docx.image.png + • docx.image.tiff + +
+ +
+ +
+ + docx.image.bmp +SourceModule
+imports: + __future__ + • docx.image + • docx.image.constants + • docx.image.helpers + • docx.image.image + +
+
+imported by: + docx.image + +
+ +
+ +
+ + docx.image.constants +SourceModule
+imports: + docx.image + +
+
+imported by: + docx.image.bmp + • docx.image.gif + • docx.image.jpeg + • docx.image.png + • docx.image.tiff + +
+ +
+ +
+ + docx.image.exceptions +SourceModule
+imports: + docx.image + +
+
+imported by: + docx.image.helpers + • docx.image.image + • docx.image.png + +
+ +
+ +
+ + docx.image.gif +SourceModule
+imports: + __future__ + • docx.image + • docx.image.constants + • docx.image.image + • struct + +
+
+imported by: + docx.image + +
+ +
+ +
+ + docx.image.helpers +SourceModule
+imports: + __future__ + • docx.image + • docx.image.exceptions + • struct + +
+
+imported by: + docx.image.bmp + • docx.image.jpeg + • docx.image.png + • docx.image.tiff + +
+ +
+ +
+ + docx.image.image +SourceModule
+imports: + __future__ + • docx.compat + • docx.image + • docx.image.exceptions + • docx.shared + • hashlib + • os + +
+
+imported by: + docx.image.bmp + • docx.image.gif + • docx.image.jpeg + • docx.image.png + • docx.image.tiff + • docx.package + • docx.parts.image + +
+ +
+ +
+ + docx.image.jpeg +SourceModule
+imports: + __future__ + • docx.compat + • docx.image + • docx.image.constants + • docx.image.helpers + • docx.image.image + • docx.image.tiff + +
+
+imported by: + docx.image + +
+ +
+ +
+ + docx.image.png +SourceModule
+imports: + __future__ + • docx.image + • docx.image.constants + • docx.image.exceptions + • docx.image.helpers + • docx.image.image + +
+
+imported by: + docx.image + +
+ +
+ +
+ + docx.image.tiff +SourceModule
+imports: + __future__ + • docx.image + • docx.image.constants + • docx.image.helpers + • docx.image.image + +
+
+imported by: + docx.image + • docx.image.jpeg + +
+ +
+ +
+ + docx.opc +Package
+imports: + docx + +
+
+imported by: + docx.opc.compat + • docx.opc.constants + • docx.opc.coreprops + • docx.opc.exceptions + • docx.opc.oxml + • docx.opc.package + • docx.opc.packuri + • docx.opc.part + • docx.opc.parts + • docx.opc.phys_pkg + • docx.opc.pkgreader + • docx.opc.pkgwriter + • docx.opc.rel + • docx.opc.shared + • docx.opc.spec + +
+ +
+ +
+ + docx.opc.compat +SourceModule
+imports: + __future__ + • docx.opc + • sys + +
+
+imported by: + docx.opc.part + • docx.opc.phys_pkg + +
+ +
+ +
+ + docx.opc.constants +SourceModule
+imports: + docx.opc + +
+
+imported by: + docx + • docx.api + • docx.opc.oxml + • docx.opc.package + • docx.opc.parts.coreprops + • docx.opc.pkgreader + • docx.opc.pkgwriter + • docx.opc.spec + • docx.package + • docx.parts.document + • docx.parts.hdrftr + • docx.parts.settings + • docx.parts.story + • docx.parts.styles + • docxcompose.composer + • docxcompose.properties + • md2gost.docx_svg + • md2gost.renderable.paragraph + +
+ +
+ +
+ + docx.opc.coreprops +SourceModule
+imports: + __future__ + • docx.opc + +
+
+imported by: + docx.opc.parts.coreprops + +
+ +
+ +
+ + docx.opc.exceptions +SourceModule
+imports: + docx.opc + +
+
+imported by: + docx.opc.phys_pkg + +
+ +
+ +
+ + docx.opc.oxml +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.constants + • lxml + • lxml.etree + +
+
+imported by: + docx.opc.part + • docx.opc.pkgreader + • docx.opc.pkgwriter + • docx.opc.rel + • docxcompose.composer + • docxcompose.properties + +
+ +
+ +
+ + docx.opc.package +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.constants + • docx.opc.packuri + • docx.opc.part + • docx.opc.parts.coreprops + • docx.opc.pkgreader + • docx.opc.pkgwriter + • docx.opc.rel + • docx.opc.shared + +
+
+imported by: + docx.package + +
+ +
+ +
+ + docx.opc.packuri +SourceModule
+imports: + docx.opc + • posixpath + • re + +
+
+imported by: + docx.opc.package + • docx.opc.part + • docx.opc.parts.coreprops + • docx.opc.phys_pkg + • docx.opc.pkgreader + • docx.opc.pkgwriter + • docx.package + • docx.parts.settings + • docx.parts.styles + • docxcompose.composer + • docxcompose.properties + +
+ +
+ +
+ + docx.opc.part +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.compat + • docx.opc.oxml + • docx.opc.packuri + • docx.opc.rel + • docx.opc.shared + • docx.oxml + +
+
+imported by: + docx + • docx.opc.package + • docx.opc.parts.coreprops + • docx.parts.image + • docx.parts.numbering + • docx.parts.settings + • docx.parts.story + • docx.parts.styles + • docxcompose.composer + • docxcompose.properties + • md2gost.docx_svg + +
+ +
+ +
+ + docx.opc.parts +Package
+imports: + docx.opc + +
+
+imported by: + docx.opc.parts.coreprops + +
+ +
+ +
+ + docx.opc.parts.coreprops +SourceModule
+imports: + __future__ + • datetime + • docx.opc.constants + • docx.opc.coreprops + • docx.opc.packuri + • docx.opc.part + • docx.opc.parts + • docx.oxml.coreprops + +
+
+imported by: + docx + • docx.opc.package + +
+ +
+ +
+ + docx.opc.phys_pkg +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.compat + • docx.opc.exceptions + • docx.opc.packuri + • os + • zipfile + +
+
+imported by: + docx.opc.pkgreader + • docx.opc.pkgwriter + +
+ +
+ +
+ + docx.opc.pkgreader +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.constants + • docx.opc.oxml + • docx.opc.packuri + • docx.opc.phys_pkg + • docx.opc.shared + +
+
+imported by: + docx.opc.package + +
+ +
+ +
+ + docx.opc.pkgwriter +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.constants + • docx.opc.oxml + • docx.opc.packuri + • docx.opc.phys_pkg + • docx.opc.shared + • docx.opc.spec + +
+
+imported by: + docx.opc.package + +
+ +
+ +
+ + docx.opc.rel +SourceModule
+imports: + __future__ + • docx.opc + • docx.opc.oxml + +
+
+imported by: + docx.opc.package + • docx.opc.part + +
+ +
+ +
+ + docx.opc.shared +SourceModule
+imports: + __future__ + • docx.opc + +
+
+imported by: + docx.opc.package + • docx.opc.part + • docx.opc.pkgreader + • docx.opc.pkgwriter + +
+ +
+ +
+ + docx.opc.spec +SourceModule
+imports: + docx.opc + • docx.opc.constants + +
+
+imported by: + docx.opc.pkgwriter + +
+ +
+ +
+ + docx.oxml +Package
+imports: + __future__ + • docx + • docx.oxml + • docx.oxml.coreprops + • docx.oxml.document + • docx.oxml.ns + • docx.oxml.numbering + • docx.oxml.section + • docx.oxml.settings + • docx.oxml.shape + • docx.oxml.shared + • docx.oxml.styles + • docx.oxml.table + • docx.oxml.text.font + • docx.oxml.text.paragraph + • docx.oxml.text.parfmt + • docx.oxml.text.run + • lxml + • lxml.etree + +
+
+imported by: + docx.opc.part + • docx.oxml + • docx.oxml.coreprops + • docx.oxml.document + • docx.oxml.exceptions + • docx.oxml.ns + • docx.oxml.numbering + • docx.oxml.section + • docx.oxml.settings + • docx.oxml.shape + • docx.oxml.shared + • docx.oxml.simpletypes + • docx.oxml.styles + • docx.oxml.table + • docx.oxml.text + • docx.oxml.text.font + • docx.oxml.xmlchemy + • docx.parts.hdrftr + • docx.parts.settings + • docx.parts.styles + • docxcompose.composer + • docxcompose.properties + • md2gost.debugger + • md2gost.docx_elements + • md2gost.docx_svg + • md2gost.renderable.equation + • md2gost.renderable.paragraph_sizer + • md2gost.styles + • md2gost.util + +
+ +
+ +
+ + docx.oxml.coreprops +SourceModule
+imports: + __future__ + • datetime + • docx.compat + • docx.oxml + • docx.oxml.ns + • docx.oxml.xmlchemy + • re + +
+
+imported by: + docx.opc.parts.coreprops + • docx.oxml + • docxcompose.properties + +
+ +
+ +
+ + docx.oxml.document +SourceModule
+imports: + docx.oxml + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.exceptions +SourceModule
+imports: + docx.oxml + +
+
+imported by: + docx.oxml.xmlchemy + +
+ +
+ +
+ + docx.oxml.ns +SourceModule
+imports: + __future__ + • docx.oxml + +
+
+imported by: + docx.oxml + • docx.oxml.coreprops + • docx.oxml.shape + • docx.oxml.shared + • docx.oxml.table + • docx.oxml.text.font + • docx.oxml.text.paragraph + • docx.oxml.text.run + • docx.oxml.xmlchemy + • docx.shape + • docxcompose.utils + • md2gost.debugger + • md2gost.docx_elements + • md2gost.docx_svg + • md2gost.page_geometry + • md2gost.renderer + • md2gost.styles + • md2gost.util + +
+ +
+ +
+ + docx.oxml.numbering +SourceModule
+imports: + docx.oxml + • docx.oxml.shared + • docx.oxml.simpletypes + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.section +SourceModule
+imports: + __future__ + • copy + • docx.enum.section + • docx.oxml + • docx.oxml.simpletypes + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + • docxcompose.composer + +
+ +
+ +
+ + docx.oxml.settings +SourceModule
+imports: + __future__ + • docx.oxml + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.shape +SourceModule
+imports: + docx.oxml + • docx.oxml.ns + • docx.oxml.simpletypes + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + • docx.parts.story + • md2gost.debugger + +
+ +
+ +
+ + docx.oxml.shared +SourceModule
+imports: + __future__ + • docx.oxml + • docx.oxml.ns + • docx.oxml.simpletypes + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + • docx.oxml.numbering + +
+ +
+ +
+ + docx.oxml.simpletypes +SourceModule
+imports: + __future__ + • docx.exceptions + • docx.oxml + • docx.shared + +
+
+imported by: + docx.dml.color + • docx.oxml.numbering + • docx.oxml.section + • docx.oxml.shape + • docx.oxml.shared + • docx.oxml.styles + • docx.oxml.table + • docx.oxml.text.font + • docx.oxml.text.parfmt + • docx.oxml.text.run + • docx.table + +
+ +
+ +
+ + docx.oxml.styles +SourceModule
+imports: + docx.enum.style + • docx.oxml + • docx.oxml.simpletypes + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.table +SourceModule
+imports: + __future__ + • docx.enum.table + • docx.exceptions + • docx.oxml + • docx.oxml.ns + • docx.oxml.simpletypes + • docx.oxml.xmlchemy + • docx.shared + +
+
+imported by: + docx.blkcntnr + • docx.oxml + +
+ +
+ +
+ + docx.oxml.text +Package
+imports: + docx.oxml + +
+
+imported by: + docx.oxml.text.font + • docx.oxml.text.paragraph + • docx.oxml.text.parfmt + • docx.oxml.text.run + +
+ +
+ +
+ + docx.oxml.text.font +SourceModule
+imports: + docx.enum.dml + • docx.enum.text + • docx.oxml + • docx.oxml.ns + • docx.oxml.simpletypes + • docx.oxml.text + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.text.paragraph +SourceModule
+imports: + docx.oxml.ns + • docx.oxml.text + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.text.parfmt +SourceModule
+imports: + docx.enum.text + • docx.oxml.simpletypes + • docx.oxml.text + • docx.oxml.xmlchemy + • docx.shared + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.text.run +SourceModule
+imports: + docx.oxml.ns + • docx.oxml.simpletypes + • docx.oxml.text + • docx.oxml.xmlchemy + +
+
+imported by: + docx.oxml + +
+ +
+ +
+ + docx.oxml.xmlchemy +SourceModule
+imports: + __future__ + • docx.compat + • docx.oxml + • docx.oxml.exceptions + • docx.oxml.ns + • docx.shared + • lxml + • lxml.etree + • re + +
+
+imported by: + docx.oxml.coreprops + • docx.oxml.document + • docx.oxml.numbering + • docx.oxml.section + • docx.oxml.settings + • docx.oxml.shape + • docx.oxml.shared + • docx.oxml.styles + • docx.oxml.table + • docx.oxml.text.font + • docx.oxml.text.paragraph + • docx.oxml.text.parfmt + • docx.oxml.text.run + • docxcompose.utils + • md2gost.debugger + +
+ +
+ +
+ + docx.package +SourceModule
+imports: + __future__ + • docx + • docx.image.image + • docx.opc.constants + • docx.opc.package + • docx.opc.packuri + • docx.parts.image + • docx.shared + +
+
+imported by: + docx.api + +
+ +
+ +
+ + docx.parts +Package
+imports: + docx + +
+
+imported by: + docx.parts.document + • docx.parts.hdrftr + • docx.parts.image + • docx.parts.numbering + • docx.parts.settings + • docx.parts.story + • docx.parts.styles + +
+ +
+ +
+ + docx.parts.document +SourceModule
+imports: + __future__ + • docx.document + • docx.opc.constants + • docx.parts + • docx.parts.hdrftr + • docx.parts.numbering + • docx.parts.settings + • docx.parts.story + • docx.parts.styles + • docx.shape + • docx.shared + +
+
+imported by: + docx + +
+ +
+ +
+ + docx.parts.hdrftr +SourceModule
+imports: + __future__ + • docx.opc.constants + • docx.oxml + • docx.parts + • docx.parts.story + • os + +
+
+imported by: + docx + • docx.parts.document + +
+ +
+ +
+ + docx.parts.image +SourceModule
+imports: + __future__ + • docx.image.image + • docx.opc.part + • docx.parts + • docx.shared + • hashlib + +
+
+imported by: + docx + • docx.package + +
+ +
+ +
+ + docx.parts.numbering +SourceModule
+imports: + __future__ + • docx.opc.part + • docx.parts + • docx.shared + +
+
+imported by: + docx + • docx.parts.document + • docxcompose.composer + +
+ +
+ +
+ + docx.parts.settings +SourceModule
+imports: + __future__ + • docx.opc.constants + • docx.opc.packuri + • docx.opc.part + • docx.oxml + • docx.parts + • docx.settings + • os + +
+
+imported by: + docx + • docx.parts.document + +
+ +
+ +
+ + docx.parts.story +SourceModule
+imports: + __future__ + • docx.opc.constants + • docx.opc.part + • docx.oxml.shape + • docx.parts + • docx.shared + +
+
+imported by: + docx.parts.document + • docx.parts.hdrftr + +
+ +
+ +
+ + docx.parts.styles +SourceModule
+imports: + __future__ + • docx.opc.constants + • docx.opc.packuri + • docx.opc.part + • docx.oxml + • docx.parts + • docx.styles.styles + • os + +
+
+imported by: + docx + • docx.parts.document + +
+ +
+ +
+ + docx.section +SourceModule
+imports: + __future__ + • docx + • docx.blkcntnr + • docx.compat + • docx.enum.section + • docx.shared + +
+
+imported by: + docx.document + +
+ +
+ +
+ + docx.settings +SourceModule
+imports: + __future__ + • docx + • docx.shared + +
+
+imported by: + docx.parts.settings + +
+ +
+ +
+ + docx.shape +SourceModule
+imports: + __future__ + • docx + • docx.enum.shape + • docx.oxml.ns + • docx.shared + +
+
+imported by: + docx.parts.document + • docx.text.run + +
+ +
+ +
+ + docx.shared +SourceModule
+imports: + __future__ + • docx + +
+
+imported by: + docx.blkcntnr + • docx.dml.color + • docx.document + • docx.image.image + • docx.oxml.simpletypes + • docx.oxml.table + • docx.oxml.text.parfmt + • docx.oxml.xmlchemy + • docx.package + • docx.parts.document + • docx.parts.image + • docx.parts.numbering + • docx.parts.story + • docx.section + • docx.settings + • docx.shape + • docx.styles.latent + • docx.styles.style + • docx.styles.styles + • docx.table + • docx.text.font + • docx.text.paragraph + • docx.text.parfmt + • docx.text.run + • docx.text.tabstops + • md2gost.bibliography_renderable + • md2gost.debugger + • md2gost.docx_elements + • md2gost.layout_tracker + • md2gost.page_geometry + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.paragraph_sizer + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderable_factory + • md2gost.rendered_info + • md2gost.renderer + • md2gost.styles + +
+ +
+ +
+ + docx.styles +Package
+imports: + __future__ + • docx + • docx.styles + +
+
+imported by: + docx.styles + • docx.styles.latent + • docx.styles.style + • docx.styles.styles + +
+ +
+ +
+ + docx.styles.latent +SourceModule
+imports: + __future__ + • docx.shared + • docx.styles + +
+
+imported by: + docx.styles.styles + +
+ +
+ +
+ + docx.styles.style +SourceModule
+imports: + __future__ + • docx.enum.style + • docx.shared + • docx.styles + • docx.text.font + • docx.text.parfmt + +
+
+imported by: + docx.styles.styles + • md2gost.renderable.paragraph_sizer + • md2gost.styles + +
+ +
+ +
+ + docx.styles.styles +SourceModule
+imports: + __future__ + • docx.shared + • docx.styles + • docx.styles.latent + • docx.styles.style + • warnings + +
+
+imported by: + docx.parts.styles + +
+ +
+ +
+ + docx.table +SourceModule
+imports: + __future__ + • docx + • docx.blkcntnr + • docx.enum.style + • docx.oxml.simpletypes + • docx.shared + +
+
+imported by: + docx.blkcntnr + • md2gost.docx_elements + • md2gost.renderable.equation + +
+ +
+ +
+ + docx.text +Package
+imports: + docx + +
+
+imported by: + docx.text.font + • docx.text.paragraph + • docx.text.parfmt + • docx.text.run + • docx.text.tabstops + +
+ +
+ +
+ + docx.text.font +SourceModule
+imports: + __future__ + • docx.dml.color + • docx.shared + • docx.text + +
+
+imported by: + docx.styles.style + • docx.text.run + • md2gost.renderable.paragraph_sizer + +
+ +
+ +
+ + docx.text.paragraph +SourceModule
+imports: + __future__ + • docx.enum.style + • docx.shared + • docx.text + • docx.text.parfmt + • docx.text.run + +
+
+imported by: + docx.blkcntnr + • md2gost.debugger + • md2gost.renderable.caption + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.paragraph_sizer + +
+ +
+ +
+ + docx.text.parfmt +SourceModule
+imports: + __future__ + • docx.enum.text + • docx.shared + • docx.text + • docx.text.tabstops + +
+
+imported by: + docx.styles.style + • docx.text.paragraph + • md2gost.renderable.paragraph_sizer + +
+ +
+ +
+ + docx.text.run +SourceModule
+imports: + __future__ + • docx.enum.style + • docx.enum.text + • docx.shape + • docx.shared + • docx.text + • docx.text.font + +
+
+imported by: + docx.text.paragraph + • md2gost.renderable.paragraph_sizer + +
+ +
+ +
+ + docx.text.tabstops +SourceModule
+imports: + __future__ + • docx.enum.text + • docx.shared + • docx.text + +
+
+imported by: + docx.text.parfmt + +
+ +
+ +
+ + docxcompose +Package
+imported by: + docxcompose.composer + • docxcompose.image + • docxcompose.properties + • docxcompose.utils + • md2gost_exe.py + +
+ +
+ +
+ + docxcompose.composer +SourceModule
+imports: + collections + • copy + • docx.opc.constants + • docx.opc.oxml + • docx.opc.packuri + • docx.opc.part + • docx.oxml + • docx.oxml.section + • docx.parts.numbering + • docxcompose + • docxcompose.image + • docxcompose.properties + • docxcompose.utils + • random + • re + +
+
+imported by: + md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + docxcompose.image +SourceModule
+imports: + docxcompose + • os.path + +
+
+imported by: + docxcompose.composer + +
+ +
+ +
+ + docxcompose.properties +SourceModule
+imports: + babel.dates + • copy + • datetime + • docx.opc.constants + • docx.opc.oxml + • docx.opc.packuri + • docx.opc.part + • docx.oxml + • docx.oxml.coreprops + • docxcompose + • docxcompose.utils + • lxml.etree + • re + • six + +
+
+imported by: + docxcompose.composer + +
+ +
+ +
+ + docxcompose.utils +SourceModule
+imports: + docx.oxml.ns + • docx.oxml.xmlchemy + • docxcompose + • os.path + • re + +
+
+imported by: + docxcompose.composer + • docxcompose.properties + +
+ +
+ +
+ + dummy_thread +MissingModule
+imported by: + cffi.lock + +
+ +
+ +
+ + dummy_threading +MissingModule
+imported by: + psutil._compat + +
+ +
+ +
+ + email +Package
+imports: + email._header_value_parser + • email.charset + • email.errors + • email.header + • email.parser + +
+
+imported by: + distutils.dist + • email._encoded_words + • email._header_value_parser + • email._parseaddr + • email._policybase + • email.base64mime + • email.charset + • email.contentmanager + • email.encoders + • email.errors + • email.feedparser + • email.generator + • email.header + • email.headerregistry + • email.iterators + • email.message + • email.parser + • email.policy + • email.quoprimime + • email.utils + • importlib.metadata + • importlib_metadata + • setuptools._core_metadata + • setuptools._distutils.dist + • setuptools.wheel + • urllib.request + • urllib3.util.retry + +
+ +
+ +
+ + email._encoded_words +SourceModule
+imports: + base64 + • binascii + • email + • email.errors + • functools + • re + • string + +
+
+imported by: + email._header_value_parser + • email.message + +
+ +
+ +
+ + email._header_value_parser +SourceModule
+imports: + email + • email._encoded_words + • email.errors + • email.utils + • operator + • re + • string + • sys + • urllib + +
+
+imported by: + email + • email.headerregistry + +
+ +
+ +
+ + email._parseaddr +SourceModule
+imports: + calendar + • email + • time + +
+
+imported by: + email.utils + +
+ +
+ +
+ + email._policybase +SourceModule
+imports: + abc + • email + • email.charset + • email.header + • email.utils + +
+
+imported by: + email.feedparser + • email.message + • email.parser + • email.policy + +
+ +
+ +
+ + email.base64mime +SourceModule
+imports: + base64 + • binascii + • email + +
+
+imported by: + email.charset + • email.header + • smtplib + +
+ +
+ +
+ + email.charset +SourceModule
+imports: + email + • email.base64mime + • email.encoders + • email.errors + • email.quoprimime + • functools + +
+
+imported by: + email + • email._policybase + • email.contentmanager + • email.header + • email.message + • email.utils + +
+ +
+ +
+ + email.contentmanager +SourceModule
+imports: + binascii + • email + • email.charset + • email.errors + • email.message + • email.quoprimime + +
+
+imported by: + email.policy + +
+ +
+ +
+ + email.encoders +SourceModule
+imports: + base64 + • email + • quopri + +
+
+imported by: + email.charset + +
+ +
+ +
+ + email.errors +SourceModule
+imports: + email + +
+
+imported by: + email + • email._encoded_words + • email._header_value_parser + • email.charset + • email.contentmanager + • email.feedparser + • email.header + • email.headerregistry + • email.message + • urllib3.util.response + +
+ +
+ +
+ + email.feedparser +SourceModule
+imports: + collections + • email + • email._policybase + • email.errors + • email.message + • io + • re + +
+
+imported by: + email.parser + • packaging.metadata + +
+ +
+ +
+ + email.generator +SourceModule
+imports: + copy + • email + • email.utils + • io + • random + • re + • sys + • time + +
+
+imported by: + email.message + • setuptools.command.bdist_wheel + • smtplib + +
+ +
+ +
+ + email.header +SourceModule
+imports: + binascii + • email + • email.base64mime + • email.charset + • email.errors + • email.quoprimime + • re + +
+
+imported by: + email + • email._policybase + • packaging.metadata + +
+ +
+ +
+ + email.headerregistry +SourceModule
+imports: + email + • email._header_value_parser + • email.errors + • email.utils + • types + +
+
+imported by: + email.policy + • setuptools.config._apply_pyprojecttoml + +
+ +
+ +
+ + email.iterators +SourceModule
+imports: + email + • io + • sys + +
+
+imported by: + email.message + +
+ +
+ +
+ + email.message +SourceModule
+imports: + email + • email._encoded_words + • email._policybase + • email.charset + • email.errors + • email.generator + • email.iterators + • email.policy + • email.utils + • io + • quopri + • re + • uu + +
+
+imported by: + cgi + • email.contentmanager + • email.feedparser + • email.policy + • http.client + • importlib.metadata._adapters + • importlib_metadata._adapters + • logging.handlers + • packaging.metadata + • pydoc + • setuptools._core_metadata + • setuptools.command.bdist_wheel + • setuptools.config._validate_pyproject.formats + • smtplib + +
+ +
+ +
+ + email.parser +SourceModule
+imports: + email + • email._policybase + • email.feedparser + • io + +
+
+imported by: + cgi + • email + • http.client + • packaging.metadata + • pkg_resources + +
+ +
+ +
+ + email.policy +SourceModule
+imports: + email + • email._policybase + • email.contentmanager + • email.headerregistry + • email.message + • email.utils + • re + • sys + +
+
+imported by: + email.message + • importlib_metadata._adapters + • packaging.metadata + +
+ +
+ +
+ + email.quoprimime +SourceModule
+imports: + email + • re + • string + +
+
+imported by: + email.charset + • email.contentmanager + • email.header + +
+ +
+ +
+ + email.utils +SourceModule
+imports: + datetime + • email + • email._parseaddr + • email.charset + • os + • random + • re + • socket + • time + • urllib.parse + +
+
+imported by: + cryptography.x509.general_name + • email._header_value_parser + • email._policybase + • email.generator + • email.headerregistry + • email.message + • email.policy + • http.server + • logging.handlers + • smtplib + • urllib.request + • urllib3.fields + +
+ +
+ +
+ + encodings +Package
+imports: + _winapi + • codecs + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1125 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp273 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_t + • encodings.koi8_u + • encodings.kz1048 + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.oem + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • sys + +
+
+imported by: + codecs + • encodings + • encodings.aliases + • encodings.ascii + • encodings.base64_codec + • encodings.big5 + • encodings.big5hkscs + • encodings.bz2_codec + • encodings.charmap + • encodings.cp037 + • encodings.cp1006 + • encodings.cp1026 + • encodings.cp1125 + • encodings.cp1140 + • encodings.cp1250 + • encodings.cp1251 + • encodings.cp1252 + • encodings.cp1253 + • encodings.cp1254 + • encodings.cp1255 + • encodings.cp1256 + • encodings.cp1257 + • encodings.cp1258 + • encodings.cp273 + • encodings.cp424 + • encodings.cp437 + • encodings.cp500 + • encodings.cp720 + • encodings.cp737 + • encodings.cp775 + • encodings.cp850 + • encodings.cp852 + • encodings.cp855 + • encodings.cp856 + • encodings.cp857 + • encodings.cp858 + • encodings.cp860 + • encodings.cp861 + • encodings.cp862 + • encodings.cp863 + • encodings.cp864 + • encodings.cp865 + • encodings.cp866 + • encodings.cp869 + • encodings.cp874 + • encodings.cp875 + • encodings.cp932 + • encodings.cp949 + • encodings.cp950 + • encodings.euc_jis_2004 + • encodings.euc_jisx0213 + • encodings.euc_jp + • encodings.euc_kr + • encodings.gb18030 + • encodings.gb2312 + • encodings.gbk + • encodings.hex_codec + • encodings.hp_roman8 + • encodings.hz + • encodings.idna + • encodings.iso2022_jp + • encodings.iso2022_jp_1 + • encodings.iso2022_jp_2 + • encodings.iso2022_jp_2004 + • encodings.iso2022_jp_3 + • encodings.iso2022_jp_ext + • encodings.iso2022_kr + • encodings.iso8859_1 + • encodings.iso8859_10 + • encodings.iso8859_11 + • encodings.iso8859_13 + • encodings.iso8859_14 + • encodings.iso8859_15 + • encodings.iso8859_16 + • encodings.iso8859_2 + • encodings.iso8859_3 + • encodings.iso8859_4 + • encodings.iso8859_5 + • encodings.iso8859_6 + • encodings.iso8859_7 + • encodings.iso8859_8 + • encodings.iso8859_9 + • encodings.johab + • encodings.koi8_r + • encodings.koi8_t + • encodings.koi8_u + • encodings.kz1048 + • encodings.latin_1 + • encodings.mac_arabic + • encodings.mac_croatian + • encodings.mac_cyrillic + • encodings.mac_farsi + • encodings.mac_greek + • encodings.mac_iceland + • encodings.mac_latin2 + • encodings.mac_roman + • encodings.mac_romanian + • encodings.mac_turkish + • encodings.mbcs + • encodings.oem + • encodings.palmos + • encodings.ptcp154 + • encodings.punycode + • encodings.quopri_codec + • encodings.raw_unicode_escape + • encodings.rot_13 + • encodings.shift_jis + • encodings.shift_jis_2004 + • encodings.shift_jisx0213 + • encodings.tis_620 + • encodings.undefined + • encodings.unicode_escape + • encodings.utf_16 + • encodings.utf_16_be + • encodings.utf_16_le + • encodings.utf_32 + • encodings.utf_32_be + • encodings.utf_32_le + • encodings.utf_7 + • encodings.utf_8 + • encodings.utf_8_sig + • encodings.uu_codec + • encodings.zlib_codec + • locale + • md2gost_exe.py + +
+ +
+ +
+ + encodings.aliases +SourceModule
+imports: + encodings + +
+
+imported by: + charset_normalizer.constant + • charset_normalizer.models + • charset_normalizer.utils + • encodings + • locale + • md2gost_exe.py + +
+ +
+ +
+ + encodings.ascii +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.base64_codec +SourceModule
+imports: + base64 + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.big5 +SourceModule
+imports: + _codecs_tw + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.big5hkscs +SourceModule
+imports: + _codecs_hk + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.bz2_codec +SourceModule
+imports: + bz2 + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.charmap +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp037 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1006 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1026 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1125 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1140 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1250 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1251 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1252 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1253 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1254 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1255 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1256 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1257 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp1258 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp273 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp424 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp437 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp500 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp720 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp737 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp775 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp850 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp852 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp855 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp856 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp857 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp858 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp860 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp861 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp862 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp863 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp864 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp865 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp866 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp869 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp874 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp875 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp932 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp949 +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.cp950 +SourceModule
+imports: + _codecs_tw + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.euc_jis_2004 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.euc_jisx0213 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.euc_jp +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.euc_kr +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.gb18030 +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.gb2312 +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.gbk +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.hex_codec +SourceModule
+imports: + binascii + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.hp_roman8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.hz +SourceModule
+imports: + _codecs_cn + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.idna +SourceModule
+imports: + codecs + • encodings + • re + • stringprep + • unicodedata + +
+
+imported by: + encodings + • md2gost_exe.py + • requests.models + +
+ +
+ +
+ + encodings.iso2022_jp +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso2022_jp_1 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso2022_jp_2 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso2022_jp_2004 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso2022_jp_3 +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso2022_jp_ext +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso2022_kr +SourceModule
+imports: + _codecs_iso2022 + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_1 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_10 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_11 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_13 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_14 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_15 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_16 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_2 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_3 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_4 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_5 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_6 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_7 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.iso8859_9 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.johab +SourceModule
+imports: + _codecs_kr + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.koi8_r +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.koi8_t +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.koi8_u +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.kz1048 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.latin_1 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_arabic +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_croatian +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_cyrillic +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_farsi +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_greek +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_iceland +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_latin2 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_roman +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_romanian +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mac_turkish +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.mbcs +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.oem +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.palmos +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.ptcp154 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.punycode +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.quopri_codec +SourceModule
+imports: + codecs + • encodings + • io + • quopri + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.raw_unicode_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.rot_13 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.shift_jis +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.shift_jis_2004 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.shift_jisx0213 +SourceModule
+imports: + _codecs_jp + • _multibytecodec + • codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.tis_620 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.undefined +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.unicode_escape +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_16 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_16_be +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_16_le +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_32 +SourceModule
+imports: + codecs + • encodings + • sys + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_32_be +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_32_le +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_7 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_8 +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.utf_8_sig +SourceModule
+imports: + codecs + • encodings + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.uu_codec +SourceModule
+imports: + binascii + • codecs + • encodings + • io + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + encodings.zlib_codec +SourceModule
+imports: + codecs + • encodings + • zlib + +
+
+imported by: + encodings + • md2gost_exe.py + +
+ +
+ +
+ + enum +SourceModule
+imports: + sys + • types + • warnings + +
+
+imported by: + PIL.BlpImagePlugin + • PIL.DdsImagePlugin + • PIL.ExifTags + • PIL.FtexImagePlugin + • PIL.GifImagePlugin + • PIL.Image + • PIL.ImageCms + • PIL.ImageFont + • PIL.PngImagePlugin + • ast + • asyncio.constants + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.utils + • http + • inspect + • jinja2.utils + • latex2mathml.converter + • matplotlib._enums + • matplotlib._mathtext + • matplotlib.backend_bases + • matplotlib.backend_tools + • matplotlib.dviread + • matplotlib.pyplot + • md2gost_exe.py + • numpy.__config__ + • numpy._globals + • numpy.array_api._array_object + • packaging._elffile + • plistlib + • psutil._common + • psutil._pswindows + • py_compile + • pyparsing.core + • re + • setuptools._vendor.packaging._elffile + • signal + • socket + • ssl + • tkinter + • typing_extensions + • uuid + +
+ +
+ +
+ + errno (builtin module)
+imported by: + OpenSSL.SSL + • _pyi_rth_utils.tempfile + • asyncio.selector_events + • asyncio.unix_events + • asyncio.windows_events + • distutils.dir_util + • distutils.file_util + • gettext + • gzip + • http.client + • jaraco.context + • jinja2.bccache + • multiprocessing.forkserver + • multiprocessing.queues + • multiprocessing.shared_memory + • pathlib + • pkg_resources + • psutil._common + • psutil._compat + • psutil._pswindows + • setuptools._distutils.file_util + • shutil + • socket + • socks + • ssl + • subprocess + • tempfile + • urllib3.connectionpool + • urllib3.util.wait + • xmlrpc.client + +
+ +
+ +
+ + fcntl +MissingModule
+imported by: + psutil._compat + • subprocess + • xmlrpc.server + +
+ +
+ +
+ + fnmatch +SourceModule
+imports: + functools + • itertools + • os + • posixpath + • re + +
+
+imported by: + bdb + • distutils.filelist + • glob + • jinja2.bccache + • pathlib + • pygments.formatters + • pygments.lexers + • setuptools._distutils.filelist + • setuptools.discovery + • setuptools.glob + • shutil + • tkinter.filedialog + • tracemalloc + • unittest.loader + • urllib.request + +
+ +
+ +
+ + fractions +SourceModule
+imports: + decimal + • math + • numbers + • operator + • re + • sys + +
+
+imported by: + PIL.TiffImagePlugin + • dateutil.rrule + • statistics + +
+ +
+ +
+ + freetype +Package
+imports: + ctypes + • ctypes.util + • freetype.raw + • io + • struct + • sys + +
+
+imported by: + freetype.ft_enums + • freetype.ft_errors + • freetype.ft_structs + • freetype.ft_types + • freetype.raw + • md2gost.renderable.paragraph_sizer + • md2gost_exe.py + +
+ +
+ +
+ + freetype.ft_enums +Package
+imports: + freetype + • freetype.ft_enums.ft_color_root_transform + • freetype.ft_enums.ft_curve_tags + • freetype.ft_enums.ft_encodings + • freetype.ft_enums.ft_face_flags + • freetype.ft_enums.ft_fstypes + • freetype.ft_enums.ft_glyph_bbox_modes + • freetype.ft_enums.ft_glyph_formats + • freetype.ft_enums.ft_kerning_modes + • freetype.ft_enums.ft_lcd_filters + • freetype.ft_enums.ft_load_flags + • freetype.ft_enums.ft_load_targets + • freetype.ft_enums.ft_open_modes + • freetype.ft_enums.ft_outline_flags + • freetype.ft_enums.ft_pixel_modes + • freetype.ft_enums.ft_render_modes + • freetype.ft_enums.ft_stroker_borders + • freetype.ft_enums.ft_stroker_linecaps + • freetype.ft_enums.ft_stroker_linejoins + • freetype.ft_enums.ft_style_flags + • freetype.ft_enums.tt_adobe_ids + • freetype.ft_enums.tt_apple_ids + • freetype.ft_enums.tt_mac_ids + • freetype.ft_enums.tt_mac_langids + • freetype.ft_enums.tt_ms_ids + • freetype.ft_enums.tt_ms_langids + • freetype.ft_enums.tt_name_ids + • freetype.ft_enums.tt_platforms + +
+
+imported by: + freetype.ft_enums.ft_color_root_transform + • freetype.ft_enums.ft_curve_tags + • freetype.ft_enums.ft_encodings + • freetype.ft_enums.ft_face_flags + • freetype.ft_enums.ft_fstypes + • freetype.ft_enums.ft_glyph_bbox_modes + • freetype.ft_enums.ft_glyph_formats + • freetype.ft_enums.ft_kerning_modes + • freetype.ft_enums.ft_lcd_filters + • freetype.ft_enums.ft_load_flags + • freetype.ft_enums.ft_load_targets + • freetype.ft_enums.ft_open_modes + • freetype.ft_enums.ft_outline_flags + • freetype.ft_enums.ft_pixel_modes + • freetype.ft_enums.ft_render_modes + • freetype.ft_enums.ft_stroker_borders + • freetype.ft_enums.ft_stroker_linecaps + • freetype.ft_enums.ft_stroker_linejoins + • freetype.ft_enums.ft_style_flags + • freetype.ft_enums.tt_adobe_ids + • freetype.ft_enums.tt_apple_ids + • freetype.ft_enums.tt_mac_ids + • freetype.ft_enums.tt_mac_langids + • freetype.ft_enums.tt_ms_ids + • freetype.ft_enums.tt_ms_langids + • freetype.ft_enums.tt_name_ids + • freetype.ft_enums.tt_platforms + • freetype.raw + +
+ +
+ +
+ + freetype.ft_enums.ft_color_root_transform +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_curve_tags +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_encodings +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_face_flags +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_fstypes +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_glyph_bbox_modes +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_glyph_formats +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_kerning_modes +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_lcd_filters +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_load_flags +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_load_targets +SourceModule
+imports: + freetype.ft_enums + • freetype.ft_enums.ft_render_modes + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_open_modes +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_outline_flags +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_pixel_modes +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_render_modes +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + • freetype.ft_enums.ft_load_targets + +
+ +
+ +
+ + freetype.ft_enums.ft_stroker_borders +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_stroker_linecaps +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_stroker_linejoins +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.ft_style_flags +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_adobe_ids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_apple_ids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_mac_ids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_mac_langids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_ms_ids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_ms_langids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_name_ids +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_enums.tt_platforms +SourceModule
+imports: + freetype.ft_enums + +
+
+imported by: + freetype.ft_enums + +
+ +
+ +
+ + freetype.ft_errors +SourceModule
+imports: + freetype + +
+
+imported by: + freetype.raw + +
+ +
+ +
+ + freetype.ft_structs +SourceModule
+imports: + freetype + • freetype.ft_types + +
+
+imported by: + freetype.raw + +
+ +
+ +
+ + freetype.ft_types +SourceModule
+imports: + ctypes + • freetype + +
+
+imported by: + freetype.ft_structs + • freetype.raw + +
+ +
+ +
+ + freetype.raw +SourceModule
+imports: + ctypes + • ctypes.util + • freetype + • freetype.ft_enums + • freetype.ft_errors + • freetype.ft_structs + • freetype.ft_types + • os + • platform + +
+
+imported by: + freetype + +
+ +
+ +
+ + ftplib +SourceModule
+imports: + netrc + • re + • socket + • ssl + • sys + • warnings + +
+
+imported by: + urllib.request + +
+ +
+ +
+ + functools +SourceModule
+imports: + _functools + • _thread + • abc + • collections + • reprlib + • types + • typing + • weakref + +
+
+imported by: + OpenSSL.SSL + • OpenSSL.crypto + • PIL.GifImagePlugin + • PIL.ImageCms + • PIL.ImageColor + • PIL.ImageFilter + • PIL.ImageMode + • PIL.ImageOps + • PIL.PsdImagePlugin + • asyncio.base_events + • asyncio.coroutines + • asyncio.format_helpers + • asyncio.selector_events + • asyncio.tasks + • asyncio.threads + • babel.dates + • babel.localedata + • charset_normalizer.cd + • charset_normalizer.utils + • concurrent.futures.process + • configparser + • contextlib + • copyreg + • cycler + • dataclasses + • dateutil.parser + • dateutil.parser.isoparser + • dateutil.rrule + • dateutil.tz._common + • distutils.filelist + • distutils.sysconfig + • email._encoded_words + • email.charset + • fnmatch + • importlib._common + • importlib.metadata + • importlib.metadata._functools + • importlib.resources + • importlib.util + • importlib_metadata + • importlib_metadata._functools + • importlib_metadata._typing + • importlib_resources._common + • inspect + • ipaddress + • jaraco.context + • jaraco.functools + • jinja2.async_utils + • jinja2.compiler + • jinja2.environment + • jinja2.runtime + • linecache + • locale + • lxml.html + • marko.helpers + • marko.patterns + • marko.source + • markupsafe + • matplotlib + • matplotlib._api + • matplotlib._api.deprecation + • matplotlib._cm + • matplotlib._fontconfig_pattern + • matplotlib._mathtext + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backend_tools + • matplotlib.bezier + • matplotlib.cbook + • matplotlib.cm + • matplotlib.colors + • matplotlib.contour + • matplotlib.dates + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.mathtext + • matplotlib.mlab + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.path + • matplotlib.pyplot + • matplotlib.rcsetup + • matplotlib.spines + • matplotlib.texmanager + • matplotlib.text + • matplotlib.transforms + • md2gost.renderable.find_font + • md2gost.renderable.paragraph_sizer + • md2gost.renderable_factory + • md2gost_exe.py + • more_itertools.more + • more_itertools.recipes + • mpl_toolkits.mplot3d.axes3d + • multiprocessing.reduction + • multiprocessing.shared_memory + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.overrides + • numpy.core.shape_base + • numpy.fft._pocketfft + • numpy.lib.arraysetops + • numpy.lib.arrayterator + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.index_tricks + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.shape_base + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.lib.ufunclike + • numpy.lib.utils + • numpy.linalg.linalg + • numpy.ma.core + • numpy.polynomial.polyutils + • numpy.testing._private.utils + • operator + • packaging._manylinux + • packaging._musllinux + • packaging.utils + • pathlib + • pickle + • pkg_resources + • pkgutil + • platform + • platformdirs.android + • platformdirs.windows + • psutil + • psutil._common + • psutil._compat + • psutil._pswindows + • pygments.formatters.html + • pygments.plugin + • pyparsing.core + • pyparsing.util + • re + • setuptools + • setuptools._distutils._modified + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.install_data + • setuptools._distutils.compat.py39 + • setuptools._distutils.dir_util + • setuptools._distutils.filelist + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._entry_points + • setuptools._reqs + • setuptools._static + • setuptools._vendor.jaraco.text + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging.utils + • setuptools.command.egg_info + • setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.dist + • setuptools.extension + • setuptools.installer + • setuptools.wheel + • six + • socks + • soupsieve.css_parser + • soupsieve.util + • tempfile + • threading + • threadpoolctl + • tokenize + • tomli._re + • tracemalloc + • types + • typing + • typing_extensions + • unittest.case + • unittest.loader + • unittest.mock + • unittest.result + • unittest.signals + • urllib3.packages.six + • urllib3.poolmanager + • urllib3.util.wait + • xmlrpc.server + • zipp + • zipp._functools + • zipp.compat.py313 + • zoneinfo._zoneinfo + +
+ +
+ +
+ + gc (builtin module)
+imports: + time + +
+
+imported by: + _posixsubprocess + • matplotlib.cbook + • numpy.testing._private.utils + • urllib3.packages.backports.weakref_finalize + • weakref + +
+ +
+ +
+ + genericpath +SourceModule
+imports: + os + • stat + +
+
+imported by: + md2gost_exe.py + • ntpath + • posixpath + +
+ +
+ +
+ + getopt +SourceModule
+imports: + gettext + • os + • sys + +
+
+imported by: + base64 + • distutils.fancy_getopt + • mimetypes + • pdb + • pydoc + • quopri + • setuptools._distutils.fancy_getopt + • webbrowser + • win32com.client.gencache + • win32com.client.makepy + +
+ +
+ +
+ + getpass +SourceModule
+imports: + contextlib + • io + • msvcrt + • os + • pwd + • sys + • termios + • warnings + +
+
+imported by: + md2gost.pipeline + • urllib.request + +
+ +
+ +
+ + gettext +SourceModule
+imports: + builtins + • copy + • errno + • locale + • os + • re + • struct + • sys + • warnings + +
+
+imported by: + argparse + • getopt + • jinja2.ext + • optparse + +
+ +
+ +
+ + gi +MissingModule
+imported by: + matplotlib.cbook + +
+ +
+ +
+ + glob +SourceModule
+imports: + contextlib + • fnmatch + • itertools + • os + • re + • stat + • sys + +
+
+imported by: + distutils.command.sdist + • pdb + • pygments.lexers._php_builtins + • pyreadline3.modes.basemode + • pyreadline3.rlmain + • setuptools._distutils.command.build_py + • setuptools._distutils.command.sdist + • setuptools.command.bdist_wheel + • setuptools.config.expand + • setuptools.discovery + • setuptools.dist + • setuptools.installer + • webbrowser + • win32com.client.gencache + +
+ +
+ +
+ + grp +MissingModule
+imported by: + backports.tarfile + • distutils.archive_util + • pathlib + • setuptools._distutils.archive_util + • shutil + • subprocess + • tarfile + +
+ +
+ +
+ + gzip +SourceModule
+imports: + _compression + • argparse + • builtins + • errno + • io + • os + • struct + • sys + • time + • warnings + • zlib + +
+
+imported by: + PIL.FitsImagePlugin + • backports.tarfile + • defusedxml.xmlrpc + • lxml.etree + • matplotlib.cbook + • numpy.lib._datasource + • pygments.formatters.other + • pygments.lexers.special + • tarfile + • xmlrpc.client + +
+ +
+ +
+ + hashlib +SourceModule
+imports: + _blake2 + • _hashlib + • _md5 + • _sha1 + • _sha256 + • _sha3 + • _sha512 + • logging + • warnings + +
+
+imported by: + charset_normalizer.models + • cryptography.x509.extensions + • docx.image.image + • docx.parts.image + • hmac + • jinja2.bccache + • jinja2.loaders + • matplotlib.texmanager + • md2gost.diagram_includes + • md2gost.diagram_renderer + • random + • requests.auth + • urllib.request + • urllib3.util.ssl_ + • uuid + • wheel.wheelfile + +
+ +
+ +
+ + heapq +SourceModule
+imports: + _heapq + +
+
+imported by: + asyncio.base_events + • asyncio.queues + • collections + • dateutil.rrule + • difflib + • md2gost_exe.py + • more_itertools.more + • more_itertools.recipes + • queue + +
+ +
+ +
+ + hmac +SourceModule
+imports: + _hashlib + • _operator + • hashlib + • warnings + +
+
+imported by: + cryptography.hazmat.primitives.constant_time + • multiprocessing.connection + • secrets + • smtplib + • urllib3.util.ssl_ + +
+ +
+ +
+ + html +Package
+imports: + html.entities + • re + +
+
+imported by: + cgi + • html.entities + • html.parser + • http.server + • lxml.doctestcompare + • marko.ast_renderer + • marko.html_renderer + • marko.renderer + • markupsafe + • pygments.formatters.html + • pygments.util + • xmlrpc.server + +
+ +
+ +
+ + html.entities +SourceModule
+imports: + html + +
+
+imported by: + bs4.dammit + • html + • lxml.html.soupparser + • pyparsing.helpers + +
+ +
+ +
+ + html.parser +SourceModule
+imports: + _markupbase + • html + • re + +
+
+imported by: + bs4.builder._htmlparser + +
+ +
+ +
+ + html5lib +MissingModule
+imported by: + bs4.builder._html5lib + • lxml.html.html5parser + +
+ +
+ +
+ + htmlentitydefs +MissingModule
+imported by: + lxml.html.soupparser + +
+ +
+ +
+ + http +Package
+imports: + enum + +
+
+imported by: + http.client + • http.cookiejar + • http.cookies + • http.server + • requests.compat + +
+ +
+ +
+ + http.client +SourceModule
+imports: + collections.abc + • email.message + • email.parser + • errno + • http + • io + • re + • socket + • ssl + • sys + • urllib.parse + • warnings + +
+
+imported by: + http.cookiejar + • http.server + • logging.handlers + • urllib.request + • urllib3.packages.six.moves.http_client + • xmlrpc.client + +
+ +
+ +
+ + http.cookiejar +SourceModule
+imports: + calendar + • copy + • datetime + • http + • http.client + • io + • logging + • os + • re + • threading + • time + • traceback + • urllib.parse + • urllib.request + • warnings + +
+
+imported by: + requests._types + • requests.auth + • requests.compat + • requests.cookies + • requests.models + • requests.sessions + • requests.utils + • urllib.request + +
+ +
+ +
+ + http.cookies +SourceModule
+imports: + http + • re + • string + • time + • types + +
+
+imported by: + requests.compat + +
+ +
+ +
+ + http.server +SourceModule
+imports: + argparse + • base64 + • binascii + • contextlib + • copy + • datetime + • email.utils + • html + • http + • http.client + • io + • itertools + • mimetypes + • os + • posixpath + • pwd + • select + • shutil + • socket + • socketserver + • subprocess + • sys + • time + • urllib.parse + +
+
+imported by: + pydoc + • xmlrpc.server + +
+ +
+ +
+ + idna +Package
+imports: + idna + • idna.core + • idna.idnadata + • idna.intranges + • idna.package_data + +
+
+imported by: + idna + • idna.core + • idna.idnadata + • idna.intranges + • idna.package_data + • idna.uts46data + • requests.models + • urllib3.contrib.pyopenssl + • urllib3.util.url + +
+ +
+ +
+ + idna.core +SourceModule
+imports: + bisect + • idna + • idna.idnadata + • idna.intranges + • idna.uts46data + • re + • typing + • unicodedata + +
+
+imported by: + idna + +
+ +
+ +
+ + idna.idnadata +SourceModule
+imports: + idna + +
+
+imported by: + idna + • idna.core + +
+ +
+ +
+ + idna.intranges +SourceModule
+imports: + bisect + • idna + • typing + +
+
+imported by: + idna + • idna.core + +
+ +
+ +
+ + idna.package_data +SourceModule
+imports: + idna + +
+
+imported by: + idna + +
+ +
+ +
+ + idna.uts46data +SourceModule
+imports: + idna + • typing + +
+
+imported by: + idna.core + +
+ +
+ +
+ + imp +SourceModule
+imports: + _imp + • importlib + • importlib._bootstrap + • importlib._bootstrap_external + • importlib.machinery + • importlib.util + • os + • sys + • tokenize + • types + • warnings + +
+
+imported by: + cffi._imp_emulation + • cffi.verifier + +
+ +
+ +
+ + importlib +Package
+imports: + _frozen_importlib + • _frozen_importlib_external + • _imp + • importlib + • importlib._bootstrap + • importlib._bootstrap_external + • importlib._common + • importlib.abc + • importlib.machinery + • sys + • warnings + +
+
+imported by: + _distutils_hack + • cffi._imp_emulation + • charset_normalizer.cd + • charset_normalizer.utils + • dateutil + • defusedxml.ElementTree + • imp + • importlib + • importlib._abc + • importlib._adapters + • importlib._bootstrap + • importlib._bootstrap_external + • importlib._common + • importlib.abc + • importlib.machinery + • importlib.metadata + • importlib.readers + • importlib.resources + • importlib.util + • importlib_metadata + • importlib_resources._common + • inspect + • jinja2.loaders + • latex2mathml + • marko.helpers + • matplotlib + • matplotlib.backend_bases + • matplotlib.colors + • matplotlib.pyplot + • pkg_resources + • pkgutil + • requests.compat + • setuptools._distutils + • setuptools._distutils._macos_compat + • setuptools._distutils.unixccompiler + • setuptools.config.expand + • threadpoolctl + • win32com.client.gencache + • win32com.client.makepy + • zipp.compat.overlay + • zoneinfo._tzpath + +
+ +
+ +
+ + importlib._abc +SourceModule
+imports: + abc + • importlib + • importlib._bootstrap + • warnings + +
+
+imported by: + importlib.abc + • importlib.util + +
+ +
+ +
+ + importlib._adapters +SourceModule
+imports: + contextlib + • importlib + • importlib.abc + +
+
+imported by: + importlib._common + +
+ +
+ +
+ + importlib._bootstrap +SourceModule
+imports: + _frozen_importlib_external + • importlib + +
+
+imported by: + cffi._imp_emulation + • imp + • importlib + • importlib._abc + • importlib.machinery + • importlib.util + • pydoc + +
+ +
+ +
+ + importlib._bootstrap_external +SourceModule
+imports: + _imp + • _io + • _warnings + • importlib + • importlib.metadata + • importlib.readers + • marshal + • nt + • posix + • sys + • tokenize + • winreg + +
+
+imported by: + imp + • importlib + • importlib.abc + • importlib.machinery + • importlib.util + • py_compile + • pydoc + +
+ +
+ +
+ + importlib._common +SourceModule
+imports: + contextlib + • functools + • importlib + • importlib._adapters + • importlib.abc + • os + • pathlib + • tempfile + • types + • typing + +
+
+imported by: + importlib + • importlib.resources + +
+ +
+ +
+ + importlib.abc +SourceModule
+imports: + _frozen_importlib + • _frozen_importlib_external + • abc + • importlib + • importlib._abc + • importlib._bootstrap_external + • importlib.machinery + • typing + • warnings + +
+
+imported by: + _distutils_hack + • importlib + • importlib._adapters + • importlib._common + • importlib.metadata + • importlib.readers + • importlib.resources + • importlib_metadata + • pkg_resources + +
+ +
+ +
+ + importlib.machinery +SourceModule
+imports: + importlib + • importlib._bootstrap + • importlib._bootstrap_external + +
+
+imported by: + cffi._imp_emulation + • cffi.verifier + • ctypes.util + • imp + • importlib + • importlib.abc + • importlib.resources + • inspect + • numpy.compat.py3k + • packaging.tags + • pkg_resources + • pkgutil + • py_compile + • pydoc + • pywintypes + • runpy + • setuptools._imp + • setuptools._vendor.packaging.tags + • setuptools.config.expand + +
+ +
+ +
+ + importlib.metadata +Package
+imports: + abc + • collections + • contextlib + • csv + • email + • functools + • importlib + • importlib.abc + • importlib.metadata + • importlib.metadata._adapters + • importlib.metadata._collections + • importlib.metadata._functools + • importlib.metadata._itertools + • importlib.metadata._meta + • itertools + • operator + • os + • pathlib + • pep517 + • posixpath + • re + • sys + • textwrap + • typing + • warnings + • zipfile + +
+
+imported by: + importlib._bootstrap_external + • importlib.metadata + • importlib.metadata._adapters + • importlib.metadata._collections + • importlib.metadata._functools + • importlib.metadata._itertools + • importlib.metadata._meta + • importlib.metadata._text + • latex2mathml + • pygments.plugin + • setuptools._importlib + +
+ +
+ +
+ + importlib.metadata._adapters +SourceModule
+imports: + email.message + • importlib.metadata + • importlib.metadata._text + • re + • textwrap + +
+
+imported by: + importlib.metadata + +
+ +
+ +
+ + importlib.metadata._collections +SourceModule
+imports: + collections + • importlib.metadata + +
+
+imported by: + importlib.metadata + +
+ +
+ +
+ + importlib.metadata._functools +SourceModule
+imports: + functools + • importlib.metadata + • types + +
+
+imported by: + importlib.metadata + • importlib.metadata._text + +
+ +
+ +
+ + importlib.metadata._itertools +SourceModule
+imports: + importlib.metadata + • itertools + +
+
+imported by: + importlib.metadata + +
+ +
+ +
+ + importlib.metadata._meta +SourceModule
+imports: + importlib.metadata + • typing + +
+
+imported by: + importlib.metadata + +
+ +
+ +
+ + importlib.metadata._text +SourceModule
+imports: + importlib.metadata + • importlib.metadata._functools + • re + +
+
+imported by: + importlib.metadata._adapters + +
+ +
+ +
+ + importlib.readers +SourceModule
+imports: + collections + • importlib + • importlib.abc + • pathlib + • zipfile + +
+
+imported by: + importlib._bootstrap_external + • zipimport + +
+ +
+ +
+ + importlib.resources +SourceModule
+imports: + 'typing.io' + • collections.abc + • contextlib + • functools + • importlib + • importlib._common + • importlib.abc + • importlib.machinery + • io + • os + • pathlib + • types + • typing + +
+
+imported by: + certifi.core + • matplotlib.style.core + • setuptools._importlib + • setuptools._vendor.jaraco.text + • zoneinfo._common + • zoneinfo._tzpath + +
+ +
+ +
+ + importlib.util +SourceModule
+imports: + _imp + • contextlib + • functools + • importlib + • importlib._abc + • importlib._bootstrap + • importlib._bootstrap_external + • sys + • types + • warnings + +
+
+imported by: + _distutils_hack + • distutils.util + • imp + • jinja2.loaders + • numpy.testing._private.extbuild + • pkgutil + • py_compile + • pydoc + • pywintypes + • runpy + • setuptools._distutils.command.build_py + • setuptools._distutils.command.install_lib + • setuptools._distutils.util + • setuptools._imp + • six + • urllib3.packages.six + • zipfile + +
+ +
+ +
+ + importlib_metadata +Package
+imports: + __future__ + • abc + • collections + • collections.abc + • contextlib + • csv + • email + • functools + • importlib + • importlib.abc + • importlib_metadata + • importlib_metadata._adapters + • importlib_metadata._collections + • importlib_metadata._compat + • importlib_metadata._functools + • importlib_metadata._itertools + • importlib_metadata._meta + • importlib_metadata._typing + • importlib_metadata.compat + • importlib_metadata.compat.py311 + • importlib_metadata.compat.py39 + • inspect + • itertools + • json + • operator + • os + • pathlib + • posixpath + • re + • sys + • textwrap + • types + • typing + • zipp.compat.overlay + +
+
+imported by: + importlib_metadata + • importlib_metadata._adapters + • importlib_metadata._collections + • importlib_metadata._compat + • importlib_metadata._functools + • importlib_metadata._itertools + • importlib_metadata._meta + • importlib_metadata._text + • importlib_metadata._typing + • importlib_metadata.compat + • importlib_metadata.compat.py39 + • setuptools._importlib + +
+ +
+ +
+ + importlib_metadata._adapters +SourceModule
+imports: + email.message + • email.policy + • importlib_metadata + • importlib_metadata._text + • re + • textwrap + +
+
+imported by: + importlib_metadata + +
+ +
+ +
+ + importlib_metadata._collections +SourceModule
+imports: + collections + • importlib_metadata + • typing + +
+
+imported by: + importlib_metadata + +
+ +
+ +
+ + importlib_metadata._compat +SourceModule
+imports: + importlib_metadata + • platform + • sys + +
+
+imported by: + importlib_metadata + +
+ +
+ +
+ + importlib_metadata._functools +SourceModule
+imports: + functools + • importlib_metadata + • types + +
+
+imported by: + importlib_metadata + • importlib_metadata._text + +
+ +
+ +
+ + importlib_metadata._itertools +SourceModule
+imports: + collections + • importlib_metadata + • itertools + +
+
+imported by: + importlib_metadata + +
+ +
+ +
+ + importlib_metadata._meta +SourceModule
+imports: + __future__ + • collections.abc + • importlib_metadata + • os + • typing + +
+
+imported by: + importlib_metadata + • importlib_metadata._typing + +
+ +
+ +
+ + importlib_metadata._text +SourceModule
+imports: + importlib_metadata + • importlib_metadata._functools + • re + +
+
+imported by: + importlib_metadata._adapters + +
+ +
+ +
+ + importlib_metadata._typing +SourceModule
+imports: + functools + • importlib_metadata + • importlib_metadata._meta + • typing + +
+
+imported by: + importlib_metadata + • importlib_metadata.compat.py39 + +
+ +
+ +
+ + importlib_metadata.compat +Package
+imports: + importlib_metadata + • importlib_metadata.compat.py311 + • importlib_metadata.compat.py39 + +
+
+imported by: + importlib_metadata + • importlib_metadata.compat.py311 + • importlib_metadata.compat.py39 + +
+ +
+ +
+ + importlib_metadata.compat.py311 +SourceModule
+imports: + importlib_metadata.compat + • os + • pathlib + • sys + • types + +
+
+imported by: + importlib_metadata + • importlib_metadata.compat + +
+ +
+ +
+ + importlib_metadata.compat.py39 +SourceModule
+imports: + __future__ + • importlib_metadata + • importlib_metadata._typing + • importlib_metadata.compat + • typing + +
+
+imported by: + importlib_metadata + • importlib_metadata.compat + +
+ +
+ +
+ + importlib_resources +Package
+imports: + importlib_resources + • importlib_resources._adapters + • importlib_resources._common + • importlib_resources.abc + • importlib_resources.readers + +
+
+imported by: + importlib_resources + • importlib_resources._adapters + • importlib_resources._common + • importlib_resources._compat + • importlib_resources._itertools + • importlib_resources.abc + • importlib_resources.readers + • matplotlib.style.core + • setuptools._vendor.jaraco.text + +
+ +
+ +
+ + importlib_resources._adapters +SourceModule
+imports: + contextlib + • importlib_resources + • importlib_resources.abc + • io + +
+
+imported by: + importlib_resources + • importlib_resources._compat + +
+ +
+ +
+ + importlib_resources._common +SourceModule
+imports: + contextlib + • functools + • importlib + • importlib_resources + • importlib_resources._compat + • importlib_resources.abc + • inspect + • itertools + • os + • pathlib + • tempfile + • types + • typing + • warnings + +
+
+imported by: + importlib_resources + +
+ +
+ +
+ + importlib_resources._compat +SourceModule
+imports: + abc + • contextlib + • importlib_resources + • importlib_resources._adapters + • importlib_resources.readers + • os + • pathlib + • sys + • typing + • warnings + • zipfile + • zipp + +
+
+imported by: + importlib_resources._common + • importlib_resources.abc + • importlib_resources.readers + +
+ +
+ +
+ + importlib_resources._itertools +SourceModule
+imports: + importlib_resources + +
+
+imported by: + importlib_resources.readers + +
+ +
+ +
+ + importlib_resources.abc +SourceModule
+imports: + abc + • importlib_resources + • importlib_resources._compat + • io + • itertools + • pathlib + • typing + +
+
+imported by: + importlib_resources + • importlib_resources._adapters + • importlib_resources._common + • importlib_resources.readers + +
+ +
+ +
+ + importlib_resources.readers +SourceModule
+imports: + collections + • contextlib + • importlib_resources + • importlib_resources._compat + • importlib_resources._itertools + • importlib_resources.abc + • itertools + • operator + • pathlib + • re + +
+
+imported by: + importlib_resources + • importlib_resources._compat + +
+ +
+ +
+ + inspect +SourceModule
+imports: + abc + • argparse + • ast + • builtins + • collections + • collections.abc + • dis + • enum + • functools + • importlib + • importlib.machinery + • itertools + • linecache + • operator + • os + • re + • sys + • token + • tokenize + • types + • warnings + +
+
+imported by: + ast + • asyncio.coroutines + • asyncio.format_helpers + • asyncio.tasks + • bdb + • dataclasses + • doctest + • importlib_metadata + • importlib_resources._common + • jaraco.functools + • jinja2.async_utils + • jinja2.nodes + • matplotlib + • matplotlib._api.deprecation + • matplotlib._docstring + • matplotlib.artist + • matplotlib.axes._base + • matplotlib.backend_bases + • matplotlib.colors + • matplotlib.figure + • matplotlib.patches + • matplotlib.pyplot + • matplotlib.scale + • md2gost.renderable.paragraph_sizer + • mpl_toolkits.mplot3d.axis3d + • numpy.lib.utils + • numpy.ma.core + • numpy.testing._private.utils + • pdb + • pkg_resources + • pkgutil + • psutil._common + • pycparser.ply.lex + • pycparser.ply.yacc + • pydoc + • pyi_rth_inspect.py + • pyparsing.diagram + • pyparsing.exceptions + • pyparsing.util + • rlcompleter + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject.extra_validations + • setuptools.discovery + • setuptools.logging + • setuptools.monkey + • setuptools.warnings + • typing_extensions + • unittest.async_case + • unittest.mock + • xmlrpc.server + +
+ +
+ +
+ + io +SourceModule
+imports: + _io + • abc + • warnings + +
+
+imported by: + PIL.BlpImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.FtexImagePlugin + • PIL.GifImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.Image + • PIL.ImageFile + • PIL.ImageFont + • PIL.ImageTk + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.MspImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PsdImagePlugin + • PIL.TiffImagePlugin + • PIL.WebPImagePlugin + • _compression + • asyncio.proactor_events + • asyncio.unix_events + • backports.tarfile + • bs4.builder._lxml + • bz2 + • cffi.ffiplatform + • cffi.recompiler + • cffi.verifier + • cgi + • configparser + • csv + • dateutil.parser._parser + • dateutil.zoneinfo + • defusedxml.sax + • defusedxml.xmlrpc + • dis + • distutils.text_file + • doctest + • docx.compat + • email.feedparser + • email.generator + • email.iterators + • email.message + • email.parser + • encodings.quopri_codec + • encodings.uu_codec + • freetype + • getpass + • gzip + • http.client + • http.cookiejar + • http.server + • importlib.resources + • importlib_resources._adapters + • importlib_resources.abc + • jinja2.bccache + • jinja2.compiler + • logging + • logging.handlers + • lzma + • matplotlib.backend_bases + • matplotlib.colors + • matplotlib.font_manager + • md2gost.debugger + • md2gost.renderable.image + • md2gost_exe.py + • multiprocessing.connection + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.reduction + • numpy.compat.py3k + • numpy.lib._datasource + • numpy.lib.format + • numpy.lib.utils + • numpy.testing._private.utils + • os + • pathlib + • pdb + • pickle + • pkg_resources + • plistlib + • pprint + • pycparser + • pydoc + • pygments + • pygments.formatters.html + • pygments.formatters.latex + • pygments.util + • pyparsing.diagram + • quopri + • requests.compat + • requests.models + • requests.utils + • runpy + • setuptools.command._requirestxt + • setuptools.config._validate_pyproject.error_reporting + • setuptools.dist + • shlex + • site + • six + • smtplib + • socket + • socketserver + • socks + • subprocess + • tarfile + • tempfile + • tokenize + • typing_extensions + • unittest.mock + • unittest.result + • urllib.request + • urllib3.contrib.pyopenssl + • urllib3.filepost + • urllib3.packages.backports.makefile + • urllib3.packages.six + • urllib3.response + • urllib3.util.ssltransport + • uuid + • wheel.macosx_libfile + • wheel.wheelfile + • win32com.client.gencache + • xml.dom.minidom + • xml.dom.pulldom + • xml.etree.ElementTree + • xml.sax + • xml.sax.saxutils + • xmlrpc.client + • yaml + • zipfile + • zipp + • zipp.compat.py310 + +
+ +
+ +
+ + ipaddress +SourceModule
+imports: + functools + • re + +
+
+imported by: + cryptography.x509.extensions + • cryptography.x509.general_name + • urllib3.util.ssl_match_hostname + +
+ +
+ +
+ + itertools (builtin module)
+imported by: + OpenSSL.SSL + • PIL.GifImagePlugin + • PIL.ImageFile + • PIL.MpoImagePlugin + • PIL.PngImagePlugin + • PIL.TiffImagePlugin + • _pydecimal + • asyncio.base_events + • asyncio.tasks + • asyncio.unix_events + • asyncio.windows_utils + • babel.localedata + • bs4.builder + • calendar + • collections + • concurrent.futures.process + • concurrent.futures.thread + • configparser + • contourpy.array + • ctypes.macholib.dyld + • cycler + • dateutil.rrule + • distutils._msvccompiler + • fnmatch + • glob + • http.server + • importlib.metadata + • importlib.metadata._itertools + • importlib_metadata + • importlib_metadata._itertools + • importlib_resources._common + • importlib_resources.abc + • importlib_resources.readers + • inspect + • jaraco.functools + • jinja2.compiler + • jinja2.filters + • jinja2.runtime + • latex2mathml.walker + • marko.ext.gfm.elements + • marko.parser + • matplotlib._api + • matplotlib._layoutgrid + • matplotlib.axes._axes + • matplotlib.backend_bases + • matplotlib.category + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.dviread + • matplotlib.figure + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.stackplot + • matplotlib.ticker + • matplotlib.widgets + • md2gost.renderer + • more_itertools.more + • more_itertools.recipes + • mpl_toolkits.mplot3d.axes3d + • multiprocessing.connection + • multiprocessing.pool + • multiprocessing.process + • multiprocessing.util + • numpy.core.einsumfunc + • numpy.core.numeric + • numpy.core.shape_base + • numpy.lib.npyio + • numpy.lib.recfunctions + • numpy.ma.extras + • packaging.specifiers + • packaging.version + • pickle + • platform + • plistlib + • pygments.regexopt + • pyparsing.unicode + • pyparsing.util + • random + • reprlib + • setuptools._distutils.command.install + • setuptools._distutils.command.sdist + • setuptools._distutils.compat.py39 + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.dir_util + • setuptools._entry_points + • setuptools._vendor.jaraco.text + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.version + • setuptools.command._requirestxt + • setuptools.command.sdist + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject.formats + • setuptools.config.expand + • setuptools.discovery + • setuptools.dist + • setuptools.msvc + • setuptools.wheel + • six + • statistics + • threading + • threadpoolctl + • tokenize + • traceback + • urllib3.packages.backports.weakref_finalize + • urllib3.packages.six + • urllib3.util.retry + • weakref + • zipfile + • zipp + +
+ +
+ +
+ + jaraco +NamespacePackage
+imported by: + jaraco.context + • jaraco.functools + • jaraco.text + +
+ +
+ +
+ + jaraco.context +Package
+imports: + __future__ + • backports + • backports.tarfile + • contextlib + • errno + • functools + • jaraco + • operator + • os + • platform + • shutil + • stat + • subprocess + • sys + • tarfile + • tempfile + • typing + • urllib.request + +
+
+imported by: + setuptools._vendor.jaraco.text + +
+ +
+ +
+ + jaraco.functools +Package
+imports: + __future__ + • collections.abc + • functools + • inspect + • itertools + • jaraco + • more_itertools + • operator + • time + • types + • typing + • warnings + +
+
+imported by: + setuptools._distutils._modified + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._entry_points + • setuptools._vendor.jaraco.text + +
+ +
+ +
+ + jaraco.text +AliasNode
+imports: + jaraco + • setuptools._vendor.jaraco.text + +
+
+imported by: + pkg_resources + • setuptools._entry_points + • setuptools._reqs + • setuptools.command._requirestxt + +
+ +
+ +
+ + java +MissingModule
+imported by: + platform + +
+ +
+ +
+ + jinja2 +Package
+imports: + jinja2 + • jinja2.bccache + • jinja2.environment + • jinja2.exceptions + • jinja2.ext + • jinja2.loaders + • jinja2.nodes + • jinja2.runtime + • jinja2.utils + +
+
+imported by: + jinja2 + • jinja2._identifier + • jinja2.async_utils + • jinja2.bccache + • jinja2.compiler + • jinja2.constants + • jinja2.debug + • jinja2.defaults + • jinja2.environment + • jinja2.exceptions + • jinja2.ext + • jinja2.filters + • jinja2.idtracking + • jinja2.lexer + • jinja2.loaders + • jinja2.nodes + • jinja2.optimizer + • jinja2.parser + • jinja2.runtime + • jinja2.sandbox + • jinja2.tests + • jinja2.utils + • jinja2.visitor + • pyparsing.diagram + +
+ +
+ +
+ + jinja2._identifier +SourceModule
+imports: + jinja2 + • re + +
+
+imported by: + jinja2.lexer + +
+ +
+ +
+ + jinja2.async_utils +SourceModule
+imports: + functools + • inspect + • jinja2 + • jinja2.utils + • typing + +
+
+imported by: + jinja2.filters + • jinja2.runtime + +
+ +
+ +
+ + jinja2.bccache +SourceModule
+imports: + errno + • fnmatch + • hashlib + • io + • jinja2 + • jinja2.environment + • marshal + • os + • pickle + • stat + • sys + • tempfile + • types + • typing + • typing_extensions + +
+
+imported by: + jinja2 + • jinja2.environment + +
+ +
+ +
+ + jinja2.compiler +SourceModule
+imports: + contextlib + • functools + • io + • itertools + • jinja2 + • jinja2.environment + • jinja2.exceptions + • jinja2.idtracking + • jinja2.nodes + • jinja2.optimizer + • jinja2.runtime + • jinja2.utils + • jinja2.visitor + • keyword + • markupsafe + • typing + • typing_extensions + +
+
+imported by: + jinja2.environment + • jinja2.nodes + +
+ +
+ +
+ + jinja2.constants +SourceModule
+imports: + jinja2 + +
+
+imported by: + jinja2.utils + +
+ +
+ +
+ + jinja2.debug +SourceModule
+imports: + jinja2 + • jinja2.exceptions + • jinja2.runtime + • jinja2.utils + • sys + • types + • typing + +
+
+imported by: + jinja2.environment + +
+ +
+ +
+ + jinja2.defaults +SourceModule
+imports: + jinja2 + • jinja2.filters + • jinja2.tests + • jinja2.utils + • typing + • typing_extensions + +
+
+imported by: + jinja2.environment + • jinja2.ext + +
+ +
+ +
+ + jinja2.environment +SourceModule
+imports: + asyncio + • collections + • functools + • jinja2 + • jinja2.bccache + • jinja2.compiler + • jinja2.debug + • jinja2.defaults + • jinja2.exceptions + • jinja2.ext + • jinja2.lexer + • jinja2.loaders + • jinja2.nodes + • jinja2.parser + • jinja2.runtime + • jinja2.utils + • markupsafe + • os + • types + • typing + • typing_extensions + • weakref + • zipfile + +
+
+imported by: + jinja2 + • jinja2.bccache + • jinja2.compiler + • jinja2.ext + • jinja2.filters + • jinja2.lexer + • jinja2.loaders + • jinja2.nodes + • jinja2.optimizer + • jinja2.parser + • jinja2.runtime + • jinja2.sandbox + • jinja2.tests + • jinja2.utils + +
+ +
+ +
+ + jinja2.exceptions +SourceModule
+imports: + jinja2 + • jinja2.runtime + • typing + +
+
+imported by: + jinja2 + • jinja2.compiler + • jinja2.debug + • jinja2.environment + • jinja2.ext + • jinja2.filters + • jinja2.lexer + • jinja2.loaders + • jinja2.parser + • jinja2.runtime + • jinja2.sandbox + +
+ +
+ +
+ + jinja2.ext +SourceModule
+imports: + gettext + • jinja2 + • jinja2.defaults + • jinja2.environment + • jinja2.exceptions + • jinja2.lexer + • jinja2.nodes + • jinja2.parser + • jinja2.runtime + • jinja2.utils + • markupsafe + • pprint + • re + • typing + • typing_extensions + +
+
+imported by: + jinja2 + • jinja2.environment + +
+ +
+ +
+ + jinja2.filters +SourceModule
+imports: + collections + • collections.abc + • itertools + • jinja2 + • jinja2.async_utils + • jinja2.environment + • jinja2.exceptions + • jinja2.nodes + • jinja2.runtime + • jinja2.sandbox + • jinja2.utils + • markupsafe + • math + • random + • re + • textwrap + • typing + • typing_extensions + +
+
+imported by: + jinja2.defaults + +
+ +
+ +
+ + jinja2.idtracking +SourceModule
+imports: + jinja2 + • jinja2.nodes + • jinja2.visitor + • typing + +
+
+imported by: + jinja2.compiler + +
+ +
+ +
+ + jinja2.lexer +SourceModule
+imports: + ast + • collections + • jinja2 + • jinja2._identifier + • jinja2.environment + • jinja2.exceptions + • jinja2.utils + • re + • sys + • typing + • typing_extensions + +
+
+imported by: + jinja2.environment + • jinja2.ext + • jinja2.parser + • jinja2.utils + +
+ +
+ +
+ + jinja2.loaders +SourceModule
+imports: + collections + • collections.abc + • hashlib + • importlib + • importlib.util + • jinja2 + • jinja2.environment + • jinja2.exceptions + • jinja2.utils + • os + • posixpath + • sys + • types + • typing + • weakref + • zipimport + +
+
+imported by: + jinja2 + • jinja2.environment + +
+ +
+ +
+ + jinja2.nodes +SourceModule
+imports: + collections + • inspect + • jinja2 + • jinja2.compiler + • jinja2.environment + • jinja2.utils + • markupsafe + • operator + • typing + • typing_extensions + +
+
+imported by: + jinja2 + • jinja2.compiler + • jinja2.environment + • jinja2.ext + • jinja2.filters + • jinja2.idtracking + • jinja2.optimizer + • jinja2.parser + • jinja2.runtime + • jinja2.visitor + +
+ +
+ +
+ + jinja2.optimizer +SourceModule
+imports: + jinja2 + • jinja2.environment + • jinja2.nodes + • jinja2.visitor + • typing + +
+
+imported by: + jinja2.compiler + +
+ +
+ +
+ + jinja2.parser +SourceModule
+imports: + jinja2 + • jinja2.environment + • jinja2.exceptions + • jinja2.lexer + • jinja2.nodes + • typing + • typing_extensions + +
+
+imported by: + jinja2.environment + • jinja2.ext + +
+ +
+ +
+ + jinja2.runtime +SourceModule
+imports: + collections + • collections.abc + • functools + • itertools + • jinja2 + • jinja2.async_utils + • jinja2.environment + • jinja2.exceptions + • jinja2.nodes + • jinja2.utils + • logging + • markupsafe + • sys + • typing + • typing_extensions + +
+
+imported by: + jinja2 + • jinja2.compiler + • jinja2.debug + • jinja2.environment + • jinja2.exceptions + • jinja2.ext + • jinja2.filters + • jinja2.sandbox + • jinja2.tests + • jinja2.utils + +
+ +
+ +
+ + jinja2.sandbox +SourceModule
+imports: + _string + • collections + • collections.abc + • jinja2 + • jinja2.environment + • jinja2.exceptions + • jinja2.runtime + • markupsafe + • operator + • string + • types + • typing + +
+
+imported by: + jinja2.filters + +
+ +
+ +
+ + jinja2.tests +SourceModule
+imports: + collections + • collections.abc + • jinja2 + • jinja2.environment + • jinja2.runtime + • jinja2.utils + • numbers + • operator + • typing + +
+
+imported by: + jinja2.defaults + +
+ +
+ +
+ + jinja2.utils +SourceModule
+imports: + collections + • collections.abc + • enum + • jinja2 + • jinja2.constants + • jinja2.environment + • jinja2.lexer + • jinja2.runtime + • json + • markupsafe + • os + • pprint + • random + • re + • threading + • types + • typing + • typing_extensions + • urllib.parse + +
+
+imported by: + jinja2 + • jinja2.async_utils + • jinja2.compiler + • jinja2.debug + • jinja2.defaults + • jinja2.environment + • jinja2.ext + • jinja2.filters + • jinja2.lexer + • jinja2.loaders + • jinja2.nodes + • jinja2.runtime + • jinja2.tests + +
+ +
+ +
+ + jinja2.visitor +SourceModule
+imports: + jinja2 + • jinja2.nodes + • typing + • typing_extensions + +
+
+imported by: + jinja2.compiler + • jinja2.idtracking + • jinja2.optimizer + +
+ +
+ +
+ + jnius +MissingModule
+imported by: + platformdirs.android + +
+ +
+ +
+ + json +Package
+imports: + codecs + • json.decoder + • json.encoder + • json.scanner + +
+
+imported by: + charset_normalizer.models + • clr_loader.util.runtime_spec + • dateutil.zoneinfo + • importlib_metadata + • jinja2.utils + • json.decoder + • json.encoder + • json.scanner + • marko.ast_renderer + • matplotlib.font_manager + • md2gost.diagram_includes + • md2gost.diagram_schemes + • numpy.__config__ + • requests.compat + • setuptools.config._validate_pyproject.error_reporting + • setuptools.msvc + • threadpoolctl + +
+ +
+ +
+ + json.decoder +SourceModule
+imports: + _json + • json + • json.scanner + • re + +
+
+imported by: + _json + • json + +
+ +
+ +
+ + json.encoder +SourceModule
+imports: + _json + • json + • re + +
+
+imported by: + json + +
+ +
+ +
+ + json.scanner +SourceModule
+imports: + _json + • json + • re + +
+
+imported by: + json + • json.decoder + +
+ +
+ +
+ + keyword +SourceModule
+imported by: + collections + • dataclasses + • jinja2.compiler + • md2gost_exe.py + • pygments.lexers.mojo + • pygments.lexers.python + • rlcompleter + • typing_extensions + • win32com.client.build + +
+ +
+ +
+ + kiwisolver +Package
+imports: + kiwisolver._cext + • kiwisolver.exceptions + +
+
+imported by: + kiwisolver._cext + • kiwisolver.exceptions + • matplotlib._layoutgrid + +
+ +
+ +
+ + kiwisolver._cext C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\kiwisolver\_cext.cp310-win_amd64.pyd
+imports: + kiwisolver + +
+
+imported by: + kiwisolver + +
+ +
+ +
+ + kiwisolver.exceptions +SourceModule
+imports: + kiwisolver + +
+
+imported by: + kiwisolver + +
+ +
+ +
+ + latex2mathml +Package
+imports: + importlib + • importlib.metadata + • latex2mathml.commands + +
+
+imported by: + latex2mathml.commands + • latex2mathml.converter + • latex2mathml.exceptions + • latex2mathml.symbols_parser + • latex2mathml.tokenizer + • latex2mathml.walker + • md2gost_exe.py + +
+ +
+ +
+ + latex2mathml.commands +SourceModule
+imports: + collections + • latex2mathml + • typing + +
+
+imported by: + latex2mathml + • latex2mathml.converter + • latex2mathml.tokenizer + • latex2mathml.walker + +
+ +
+ +
+ + latex2mathml.converter +SourceModule
+imports: + argparse + • copy + • enum + • latex2mathml + • latex2mathml.commands + • latex2mathml.symbols_parser + • latex2mathml.walker + • re + • sys + • typing + • xml.etree.ElementTree + • xml.sax.saxutils + +
+
+imported by: + md2gost.latex_math + • md2gost_exe.py + +
+ +
+ +
+ + latex2mathml.exceptions +SourceModule
+imports: + latex2mathml + +
+
+imported by: + latex2mathml.walker + +
+ +
+ +
+ + latex2mathml.symbols_parser +SourceModule
+imports: + latex2mathml + • os + • re + +
+
+imported by: + latex2mathml.converter + • latex2mathml.tokenizer + • latex2mathml.walker + +
+ +
+ +
+ + latex2mathml.tokenizer +SourceModule
+imports: + latex2mathml + • latex2mathml.commands + • latex2mathml.symbols_parser + • re + • typing + +
+
+imported by: + latex2mathml.walker + +
+ +
+ +
+ + latex2mathml.walker +SourceModule
+imports: + itertools + • latex2mathml + • latex2mathml.commands + • latex2mathml.exceptions + • latex2mathml.symbols_parser + • latex2mathml.tokenizer + • typing + +
+
+imported by: + latex2mathml.converter + +
+ +
+ +
+ + linecache +SourceModule
+imports: + functools + • os + • sys + • tokenize + +
+
+imported by: + asyncio.base_tasks + • bdb + • doctest + • inspect + • md2gost_exe.py + • pdb + • pkg_resources + • traceback + • tracemalloc + • warnings + +
+ +
+ +
+ + locale +SourceModule
+imports: + _collections_abc + • _locale + • builtins + • encodings + • encodings.aliases + • functools + • os + • re + • sys + • warnings + +
+
+imported by: + _pydecimal + • _strptime + • calendar + • cgi + • gettext + • matplotlib + • matplotlib.ticker + • md2gost_exe.py + • pygments.util + • tkinter.filedialog + +
+ +
+ +
+ + logging +Package
+imports: + atexit + • collections.abc + • io + • os + • pickle + • re + • string + • sys + • threading + • time + • traceback + • warnings + • weakref + +
+
+imported by: + PIL.Image + • PIL.PcxImagePlugin + • PIL.PngImagePlugin + • PIL.PyAccess + • PIL.TiffImagePlugin + • asyncio.futures + • asyncio.log + • bs4.dammit + • charset_normalizer + • charset_normalizer.api + • charset_normalizer.utils + • concurrent.futures._base + • hashlib + • http.cookiejar + • jinja2.runtime + • logging.handlers + • matplotlib + • matplotlib._afm + • matplotlib._constrained_layout + • matplotlib._layoutgrid + • matplotlib._mathtext + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.category + • matplotlib.colorbar + • matplotlib.dates + • matplotlib.dviread + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.gridspec + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.mathtext + • matplotlib.pyplot + • matplotlib.style.core + • matplotlib.texmanager + • matplotlib.text + • matplotlib.textpath + • matplotlib.ticker + • md2gost.debugger + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.pipeline + • md2gost.renderable.find_font + • md2gost.renderable.image + • md2gost.renderable.paragraph_sizer + • md2gost.renderable_factory + • multiprocessing.util + • packaging.tags + • pyreadline3.logger + • requests + • setuptools._distutils._log + • setuptools._distutils.cmd + • setuptools._distutils.dist + • setuptools._distutils.log + • setuptools._vendor.packaging.tags + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.formats + • setuptools.config.pyprojecttoml + • setuptools.logging + • socks + • unittest._log + • urllib3 + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.poolmanager + • urllib3.response + • urllib3.util.retry + • wheel.wheelfile + +
+ +
+ +
+ + logging.handlers +SourceModule
+imports: + base64 + • copy + • email.message + • email.utils + • http.client + • io + • logging + • os + • pickle + • queue + • re + • smtplib + • socket + • stat + • struct + • threading + • time + • urllib.parse + • win32evtlog + • win32evtlogutil + +
+
+imported by: + pyreadline3.logger + +
+ +
+ +
+ + lxml +Package
+imports: + lxml + • lxml.ElementInclude + • lxml._elementpath + • lxml.builder + • lxml.cssselect + • lxml.doctestcompare + • lxml.etree + • lxml.html + • lxml.html.ElementSoup + • lxml.html._diffcommand + • lxml.html._html5builder + • lxml.html._setmixin + • lxml.html.builder + • lxml.html.clean + • lxml.html.defs + • lxml.html.diff + • lxml.html.formfill + • lxml.html.html5parser + • lxml.html.soupparser + • lxml.html.usedoctest + • lxml.includes + • lxml.includes.extlibs + • lxml.includes.libexslt + • lxml.includes.libxml + • lxml.includes.libxslt + • lxml.isoschematron + • lxml.objectify + • lxml.pyclasslookup + • lxml.sax + • lxml.usedoctest + • os + +
+
+imported by: + bs4.builder._lxml + • docx.opc.oxml + • docx.oxml + • docx.oxml.xmlchemy + • lxml + • lxml.ElementInclude + • lxml._elementpath + • lxml.builder + • lxml.cssselect + • lxml.doctestcompare + • lxml.etree + • lxml.html + • lxml.html._html5builder + • lxml.html.html5parser + • lxml.html.soupparser + • lxml.html.usedoctest + • lxml.includes + • lxml.isoschematron + • lxml.objectify + • lxml.pyclasslookup + • lxml.sax + • lxml.usedoctest + • md2gost.docx_svg + • md2gost.latex_math + • md2gost_exe.py + +
+ +
+ +
+ + lxml.ElementInclude +SourceModule
+imports: + lxml + • lxml.etree + • urllib.parse + • urllib.request + • urllib2 + • urlparse + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml._elementpath C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\lxml\_elementpath.cp310-win_amd64.pyd
+imports: + lxml + +
+
+imported by: + lxml + • lxml.etree + • md2gost_exe.py + +
+ +
+ +
+ + lxml.builder C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\lxml\builder.cp310-win_amd64.pyd
+imports: + lxml + +
+
+imported by: + lxml + • lxml.html.builder + +
+ +
+ +
+ + lxml.cssselect +SourceModule
+imports: + cssselect + • lxml + • lxml.etree + +
+
+imported by: + lxml + • lxml.html + +
+ +
+ +
+ + lxml.doctestcompare +SourceModule
+imports: + cgi + • doctest + • html + • lxml + • lxml.etree + • re + • sys + +
+
+imported by: + lxml + • lxml.html.usedoctest + • lxml.usedoctest + +
+ +
+ +
+ + lxml.etree C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\lxml\etree.cp310-win_amd64.pyd
+imports: + contextlib + • gzip + • lxml + • lxml._elementpath + +
+
+imported by: + bs4.builder._lxml + • docx.opc.oxml + • docx.oxml + • docx.oxml.xmlchemy + • docxcompose.properties + • lxml + • lxml.ElementInclude + • lxml.cssselect + • lxml.doctestcompare + • lxml.html + • lxml.html._html5builder + • lxml.html.formfill + • lxml.html.html5parser + • lxml.html.soupparser + • lxml.isoschematron + • lxml.objectify + • lxml.pyclasslookup + • md2gost.docx_svg + • md2gost.latex_math + • md2gost.util + • md2gost_exe.py + +
+ +
+ +
+ + lxml.html +Package
+imports: + collections.abc + • copy + • functools + • lxml + • lxml.cssselect + • lxml.etree + • lxml.html + • lxml.html._setmixin + • lxml.html.defs + • os + • re + • tempfile + • urllib + • urllib.parse + • urllib.request + • urllib.urlencode + • urllib.urlopen + • webbrowser + +
+
+imported by: + lxml + • lxml.html + • lxml.html.ElementSoup + • lxml.html._diffcommand + • lxml.html._html5builder + • lxml.html._setmixin + • lxml.html.builder + • lxml.html.clean + • lxml.html.defs + • lxml.html.diff + • lxml.html.formfill + • lxml.html.html5parser + • lxml.html.soupparser + • lxml.html.usedoctest + +
+ +
+ +
+ + lxml.html.ElementSoup +SourceModule
+imports: + lxml.html + • lxml.html.soupparser + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html._diffcommand +SourceModule
+imports: + lxml.html + • lxml.html.diff + • optparse + • os + • re + • sys + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html._html5builder +SourceModule
+imports: + 'html5lib.treebuilders' + • lxml + • lxml.etree + • lxml.html + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html._setmixin +SourceModule
+imports: + collections.abc + • lxml.html + +
+
+imported by: + lxml + • lxml.html + +
+ +
+ +
+ + lxml.html.builder +SourceModule
+imports: + lxml.builder + • lxml.html + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html.clean +SourceModule
+imports: + lxml.html + • lxml_html_clean + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html.defs +SourceModule
+imports: + lxml.html + +
+
+imported by: + lxml + • lxml.html + • lxml.html.formfill + +
+ +
+ +
+ + lxml.html.diff C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\lxml\html\diff.cp310-win_amd64.pyd
+imports: + lxml.html + +
+
+imported by: + lxml + • lxml.html._diffcommand + +
+ +
+ +
+ + lxml.html.formfill +SourceModule
+imports: + copy + • lxml.etree + • lxml.html + • lxml.html.defs + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html.html5parser +SourceModule
+imports: + 'html5lib.treebuilders' + • html5lib + • lxml + • lxml.etree + • lxml.html + • string + • sys + • urllib.parse + • urllib.request + • urllib2 + • urlparse + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.html.soupparser +SourceModule
+imports: + BeautifulSoup + • bs4 + • html.entities + • htmlentitydefs + • lxml + • lxml.etree + • lxml.html + • re + +
+
+imported by: + lxml + • lxml.html.ElementSoup + +
+ +
+ +
+ + lxml.html.usedoctest +SourceModule
+imports: + lxml + • lxml.doctestcompare + • lxml.html + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.includes +Package
+imports: + lxml + +
+
+imported by: + lxml + • lxml.includes.extlibs + • lxml.includes.libexslt + • lxml.includes.libxml + • lxml.includes.libxslt + +
+ +
+ +
+ + lxml.includes.extlibs +Package
+imports: + lxml.includes + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.includes.libexslt +Package
+imports: + lxml.includes + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.includes.libxml +Package
+imports: + lxml.includes + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.includes.libxslt +Package
+imports: + lxml.includes + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.isoschematron +Package
+imports: + lxml + • lxml.etree + • os.path + • sys + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.objectify C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\lxml\objectify.cp310-win_amd64.pyd
+imports: + lxml + • lxml.etree + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.pyclasslookup +SourceModule
+imports: + lxml + • lxml.etree + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.sax C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\lxml\sax.cp310-win_amd64.pyd
+imports: + lxml + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml.usedoctest +SourceModule
+imports: + lxml + • lxml.doctestcompare + +
+
+imported by: + lxml + +
+ +
+ +
+ + lxml_html_clean +MissingModule
+imported by: + lxml.html.clean + +
+ +
+ +
+ + lzma +SourceModule
+imports: + _compression + • _lzma + • builtins + • io + • os + +
+
+imported by: + backports.tarfile + • numpy.lib._datasource + • shutil + • tarfile + • zipfile + +
+ +
+ +
+ + marko +Package
+imports: + __future__ + • collections.abc + • marko + • marko.block + • marko.helpers + • marko.html_renderer + • marko.inline + • marko.inline_parser + • marko.parser + • marko.patterns + • marko.renderer + • typing + +
+
+imported by: + marko + • marko.ast_renderer + • marko.block + • marko.element + • marko.ext + • marko.ext.gfm + • marko.ext.gfm.elements + • marko.ext.pangu + • marko.helpers + • marko.html_renderer + • marko.inline + • marko.inline_parser + • marko.md_renderer + • marko.parser + • marko.patterns + • marko.renderer + • marko.source + • md2gost.extended_markdown + • md2gost.extended_markdown.table + • md2gost_exe.py + +
+ +
+ +
+ + marko.ast_renderer +SourceModule
+imports: + __future__ + • html + • json + • marko + • marko.element + • marko.helpers + • marko.html_renderer + • marko.inline + • marko.renderer + • typing + +
+
+imported by: + marko.helpers + +
+ +
+ +
+ + marko.block +SourceModule
+imports: + __future__ + • collections.abc + • marko + • marko.element + • marko.helpers + • marko.inline + • marko.inline_parser + • marko.patterns + • marko.source + • re + • typing + +
+
+imported by: + marko + • marko.ext.gfm.elements + • marko.html_renderer + • marko.md_renderer + • marko.parser + • marko.renderer + • marko.source + • md2gost.extended_markdown + • md2gost.extended_markdown.caption + • md2gost.extended_markdown.equation + • md2gost.extended_markdown.heading + • md2gost.extended_markdown.table + • md2gost.extended_markdown.toc + • md2gost.parser_ + +
+ +
+ +
+ + marko.element +SourceModule
+imports: + __future__ + • bisect + • collections.abc + • marko + • marko.helpers + • objprint + • pprint + • typing + +
+
+imported by: + marko.ast_renderer + • marko.block + • marko.ext.gfm.elements + • marko.helpers + • marko.inline + • marko.inline_parser + • marko.parser + • marko.renderer + +
+ +
+ +
+ + marko.ext +Package
+imports: + marko + +
+
+imported by: + marko.ext.gfm + • marko.ext.pangu + +
+ +
+ +
+ + marko.ext.gfm +Package
+imports: + marko + • marko.ext + • marko.ext.gfm + • marko.ext.gfm.elements + • marko.ext.gfm.renderer + • marko.helpers + +
+
+imported by: + marko.ext.gfm + • marko.ext.gfm.elements + • marko.ext.gfm.renderer + • md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + marko.ext.gfm.elements +SourceModule
+imports: + __future__ + • itertools + • marko + • marko.block + • marko.element + • marko.ext.gfm + • marko.inline + • marko.source + • re + • typing + +
+
+imported by: + marko.ext.gfm + • md2gost.extended_markdown + • md2gost.extended_markdown.table + +
+ +
+ +
+ + marko.ext.gfm.renderer +SourceModule
+imports: + __future__ + • marko.ext.gfm + • marko.helpers + • marko.html_renderer + • marko.md_renderer + • re + +
+
+imported by: + marko.ext.gfm + +
+ +
+ +
+ + marko.ext.pangu +SourceModule
+imports: + marko + • marko.ext + • marko.helpers + • re + +
+
+imported by: + marko.md_renderer + +
+ +
+ +
+ + marko.helpers +SourceModule
+imports: + __future__ + • collections.abc + • dataclasses + • functools + • importlib + • marko + • marko.ast_renderer + • marko.element + • marko.renderer + • re + • typing + +
+
+imported by: + marko + • marko.ast_renderer + • marko.block + • marko.element + • marko.ext.gfm + • marko.ext.gfm.renderer + • marko.ext.pangu + • marko.inline_parser + • md2gost.extended_markdown + +
+ +
+ +
+ + marko.html_renderer +SourceModule
+imports: + __future__ + • html + • marko + • marko.block + • marko.inline + • marko.renderer + • re + • typing + • urllib.parse + +
+
+imported by: + marko + • marko.ast_renderer + • marko.ext.gfm.renderer + +
+ +
+ +
+ + marko.inline +SourceModule
+imports: + __future__ + • collections.abc + • marko + • marko.element + • marko.inline_parser + • marko.patterns + • marko.source + • re + • typing + +
+
+imported by: + marko + • marko.ast_renderer + • marko.block + • marko.ext.gfm.elements + • marko.html_renderer + • marko.inline_parser + • marko.md_renderer + • marko.parser + • md2gost.extended_markdown + • md2gost.extended_markdown.image + • md2gost.extended_markdown.inline_formula + • md2gost.extended_markdown.reference + +
+ +
+ +
+ + marko.inline_parser +SourceModule
+imports: + __future__ + • collections.abc + • marko + • marko.element + • marko.helpers + • marko.inline + • marko.patterns + • marko.source + • re + • typing + +
+
+imported by: + marko + • marko.block + • marko.inline + • marko.parser + +
+ +
+ +
+ + marko.md_renderer +SourceModule
+imports: + __future__ + • contextlib + • marko + • marko.block + • marko.ext.pangu + • marko.inline + • marko.renderer + • re + • typing + +
+
+imported by: + marko.ext.gfm.renderer + +
+ +
+ +
+ + marko.parser +SourceModule
+imports: + __future__ + • collections.abc + • itertools + • marko + • marko.block + • marko.element + • marko.inline + • marko.inline_parser + • marko.source + • typing + +
+
+imported by: + marko + • marko.source + +
+ +
+ +
+ + marko.patterns +SourceModule
+imports: + functools + • marko + • re + • string + • unicodedata + +
+
+imported by: + marko + • marko.block + • marko.inline + • marko.inline_parser + +
+ +
+ +
+ + marko.renderer +SourceModule
+imports: + __future__ + • html + • marko + • marko.block + • marko.element + • re + • typing + +
+
+imported by: + marko + • marko.ast_renderer + • marko.helpers + • marko.html_renderer + • marko.md_renderer + +
+ +
+ +
+ + marko.source +SourceModule
+imports: + __future__ + • collections.abc + • contextlib + • functools + • marko + • marko.block + • marko.parser + • re + • types + • typing + +
+
+imported by: + marko.block + • marko.ext.gfm.elements + • marko.inline + • marko.inline_parser + • marko.parser + • md2gost.extended_markdown.caption + • md2gost.extended_markdown.equation + • md2gost.extended_markdown.heading + • md2gost.extended_markdown.toc + +
+ +
+ +
+ + markupsafe +Package
+imports: + functools + • html + • markupsafe + • markupsafe._native + • markupsafe._speedups + • string + • sys + • typing + • typing_extensions + +
+
+imported by: + jinja2.compiler + • jinja2.environment + • jinja2.ext + • jinja2.filters + • jinja2.nodes + • jinja2.runtime + • jinja2.sandbox + • jinja2.utils + • markupsafe + • markupsafe._native + • markupsafe._speedups + +
+ +
+ +
+ + markupsafe._native +SourceModule
+imports: + markupsafe + • typing + +
+
+imported by: + markupsafe + +
+ +
+ +
+ + markupsafe._speedups C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\markupsafe\_speedups.cp310-win_amd64.pyd
+imports: + markupsafe + +
+
+imported by: + markupsafe + +
+ +
+ +
+ + marshal (builtin module)
+imported by: + importlib._bootstrap_external + • jinja2.bccache + • pkgutil + • setuptools.command.bdist_egg + • setuptools.depends + • zipimport + +
+ +
+ +
+ + math (builtin module)
+imported by: + PIL.FitsImagePlugin + • PIL.GifImagePlugin + • PIL.GimpGradientFile + • PIL.IcoImagePlugin + • PIL.Image + • PIL.ImageDraw + • PIL.JpegImagePlugin + • PIL.PdfImagePlugin + • PIL.PpmImagePlugin + • PIL.TiffImagePlugin + • _pydecimal + • asyncio.windows_events + • babel.dates + • contourpy.chunk + • cryptography.hazmat.primitives.asymmetric.rsa + • datetime + • dateutil.relativedelta + • dateutil.rrule + • fractions + • jinja2.filters + • matplotlib._api.deprecation + • matplotlib.axes._axes + • matplotlib.backends.backend_agg + • matplotlib.bezier + • matplotlib.cbook + • matplotlib.collections + • matplotlib.contour + • matplotlib.image + • matplotlib.patches + • matplotlib.projections.polar + • matplotlib.quiver + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • md2gost.renderable.paragraph_sizer + • more_itertools.more + • more_itertools.recipes + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • numpy + • numpy.core._machar + • numpy.lib + • numpy.lib.index_tricks + • pygments.formatters.groff + • pyreadline3.modes.basemode + • random + • selectors + • statistics + +
+ +
+ +
+ + matplotlib +Package
+imports: + atexit + • certifi + • collections + • collections.abc + • contextlib + • functools + • importlib + • inspect + • locale + • logging + • matplotlib + • matplotlib._afm + • matplotlib._api + • matplotlib._blocking_input + • matplotlib._c_internal_utils + • matplotlib._cm + • matplotlib._docstring + • matplotlib._image + • matplotlib._mathtext + • matplotlib._qhull + • matplotlib._text_helpers + • matplotlib._tight_bbox + • matplotlib._tri + • matplotlib._version + • matplotlib.axes + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colors + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.ft2font + • matplotlib.legend_handler + • matplotlib.lines + • matplotlib.offsetbox + • matplotlib.projections + • matplotlib.pyplot + • matplotlib.rcsetup + • matplotlib.scale + • matplotlib.style + • matplotlib.style.core + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.widgets + • numpy + • os + • packaging.version + • pathlib + • pprint + • re + • setuptools_scm + • shutil + • ssl + • subprocess + • sys + • tempfile + • urllib.request + • warnings + • winreg + +
+
+imported by: + matplotlib + • matplotlib._afm + • matplotlib._api + • matplotlib._blocking_input + • matplotlib._c_internal_utils + • matplotlib._cm + • matplotlib._cm_listed + • matplotlib._color_data + • matplotlib._constrained_layout + • matplotlib._docstring + • matplotlib._enums + • matplotlib._fontconfig_pattern + • matplotlib._image + • matplotlib._layoutgrid + • matplotlib._mathtext + • matplotlib._mathtext_data + • matplotlib._path + • matplotlib._pylab_helpers + • matplotlib._qhull + • matplotlib._text_helpers + • matplotlib._tight_bbox + • matplotlib._tight_layout + • matplotlib._tri + • matplotlib._version + • matplotlib.artist + • matplotlib.axes + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backend_managers + • matplotlib.backend_tools + • matplotlib.backends + • matplotlib.backends.backend_agg + • matplotlib.bezier + • matplotlib.category + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.colors + • matplotlib.container + • matplotlib.contour + • matplotlib.dates + • matplotlib.dviread + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.ft2font + • matplotlib.gridspec + • matplotlib.hatch + • matplotlib.image + • matplotlib.layout_engine + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.lines + • matplotlib.markers + • matplotlib.mathtext + • matplotlib.mlab + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.path + • matplotlib.patheffects + • matplotlib.projections + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.rcsetup + • matplotlib.scale + • matplotlib.spines + • matplotlib.stackplot + • matplotlib.streamplot + • matplotlib.style + • matplotlib.style.core + • matplotlib.table + • matplotlib.texmanager + • matplotlib.text + • matplotlib.textpath + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.tri + • matplotlib.tri._triangulation + • matplotlib.tri._tricontour + • matplotlib.tri._trifinder + • matplotlib.tri._triinterpolate + • matplotlib.tri._tripcolor + • matplotlib.tri._trirefine + • matplotlib.tri._tritools + • matplotlib.typing + • matplotlib.units + • matplotlib.widgets + • md2gost_exe.py + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + • mpl_toolkits.mplot3d.proj3d + +
+ +
+ +
+ + matplotlib._afm +SourceModule
+imports: + collections + • logging + • matplotlib + • matplotlib._mathtext_data + • re + +
+
+imported by: + matplotlib + • matplotlib.font_manager + +
+ +
+ +
+ + matplotlib._api +Package
+imports: + functools + • itertools + • matplotlib + • matplotlib._api + • matplotlib._api.deprecation + • re + • sys + • warnings + +
+
+imported by: + matplotlib + • matplotlib._api + • matplotlib._api.deprecation + • matplotlib._constrained_layout + • matplotlib._docstring + • matplotlib._fontconfig_pattern + • matplotlib._text_helpers + • matplotlib._tight_layout + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backend_managers + • matplotlib.backend_tools + • matplotlib.backends.backend_agg + • matplotlib.bezier + • matplotlib.category + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.colors + • matplotlib.contour + • matplotlib.dates + • matplotlib.dviread + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.gridspec + • matplotlib.hatch + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.markers + • matplotlib.mathtext + • matplotlib.mlab + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.path + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.rcsetup + • matplotlib.scale + • matplotlib.spines + • matplotlib.stackplot + • matplotlib.streamplot + • matplotlib.style.core + • matplotlib.table + • matplotlib.texmanager + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.tri._triangulation + • matplotlib.tri._trifinder + • matplotlib.tri._triinterpolate + • matplotlib.tri._tripcolor + • matplotlib.tri._trirefine + • matplotlib.tri._tritools + • matplotlib.widgets + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + • mpl_toolkits.mplot3d.proj3d + +
+ +
+ +
+ + matplotlib._api.deprecation +SourceModule
+imports: + contextlib + • functools + • inspect + • math + • matplotlib._api + • warnings + +
+
+imported by: + matplotlib._api + +
+ +
+ +
+ + matplotlib._blocking_input +SourceModule
+imports: + matplotlib + +
+
+imported by: + matplotlib + • matplotlib.figure + +
+ +
+ +
+ + matplotlib._c_internal_utils C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\_c_internal_utils.cp310-win_amd64.pyd
+imports: + matplotlib + +
+
+imported by: + matplotlib + • matplotlib.cbook + +
+ +
+ +
+ + matplotlib._cm +SourceModule
+imports: + functools + • matplotlib + • numpy + +
+
+imported by: + matplotlib + • matplotlib.cm + • matplotlib.colors + +
+ +
+ +
+ + matplotlib._cm_listed +SourceModule
+imports: + matplotlib + • matplotlib.colors + +
+
+imported by: + matplotlib.cm + +
+ +
+ +
+ + matplotlib._color_data +SourceModule
+imports: + matplotlib + +
+
+imported by: + matplotlib.colors + +
+ +
+ +
+ + matplotlib._constrained_layout +SourceModule
+imports: + logging + • matplotlib + • matplotlib._api + • matplotlib._layoutgrid + • matplotlib.artist + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.layout_engine + +
+ +
+ +
+ + matplotlib._docstring +SourceModule
+imports: + inspect + • matplotlib + • matplotlib._api + • matplotlib.artist + +
+
+imported by: + matplotlib + • matplotlib._enums + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.backend_bases + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.figure + • matplotlib.legend + • matplotlib.lines + • matplotlib.mlab + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.projections + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.scale + • matplotlib.spines + • matplotlib.style.core + • matplotlib.table + • matplotlib.text + • matplotlib.tri._tricontour + • matplotlib.widgets + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib._enums +SourceModule
+imports: + enum + • matplotlib + • matplotlib._docstring + • matplotlib.pyplot + • numpy + +
+
+imported by: + matplotlib.backend_bases + • matplotlib.collections + • matplotlib.lines + • matplotlib.markers + • matplotlib.patches + • matplotlib.rcsetup + • matplotlib.typing + +
+ +
+ +
+ + matplotlib._fontconfig_pattern +SourceModule
+imports: + functools + • matplotlib + • matplotlib._api + • pyparsing + • re + +
+
+imported by: + matplotlib.font_manager + • matplotlib.rcsetup + +
+ +
+ +
+ + matplotlib._image C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\_image.cp310-win_amd64.pyd
+imports: + matplotlib + +
+
+imported by: + matplotlib + • matplotlib.image + +
+ +
+ +
+ + matplotlib._layoutgrid +SourceModule
+imports: + itertools + • kiwisolver + • logging + • matplotlib + • matplotlib.patches + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib._constrained_layout + +
+ +
+ +
+ + matplotlib._mathtext +SourceModule
+imports: + __future__ + • abc + • collections.abc + • copy + • enum + • functools + • logging + • matplotlib + • matplotlib._mathtext_data + • matplotlib.cbook + • matplotlib.font_manager + • matplotlib.ft2font + • numpy + • os + • packaging.version + • pyparsing + • re + • string + • types + • typing + • unicodedata + +
+
+imported by: + matplotlib + • matplotlib.mathtext + +
+ +
+ +
+ + matplotlib._mathtext_data +SourceModule
+imports: + __future__ + • matplotlib + +
+
+imported by: + matplotlib._afm + • matplotlib._mathtext + +
+ +
+ +
+ + matplotlib._path C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\_path.cp310-win_amd64.pyd
+imports: + matplotlib + +
+
+imported by: + matplotlib.collections + • matplotlib.lines + • matplotlib.path + • matplotlib.transforms + +
+ +
+ +
+ + matplotlib._pylab_helpers +SourceModule
+imports: + atexit + • collections + • matplotlib + +
+
+imported by: + matplotlib.backend_bases + • matplotlib.backend_tools + • matplotlib.figure + • matplotlib.gridspec + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib._qhull C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\_qhull.cp310-win_amd64.pyd
+imports: + matplotlib + +
+
+imported by: + matplotlib + • matplotlib.tri._triangulation + +
+ +
+ +
+ + matplotlib._text_helpers +SourceModule
+imports: + dataclasses + • matplotlib + • matplotlib._api + • matplotlib.ft2font + +
+
+imported by: + matplotlib + • matplotlib.textpath + +
+ +
+ +
+ + matplotlib._tight_bbox +SourceModule
+imports: + matplotlib + • matplotlib.transforms + +
+
+imported by: + matplotlib + • matplotlib.backend_bases + +
+ +
+ +
+ + matplotlib._tight_layout +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.artist + • matplotlib.font_manager + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.gridspec + • matplotlib.layout_engine + +
+ +
+ +
+ + matplotlib._tri C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\_tri.cp310-win_amd64.pyd
+imports: + matplotlib + +
+
+imported by: + matplotlib + • matplotlib.tri._triangulation + • matplotlib.tri._tricontour + • matplotlib.tri._trifinder + +
+ +
+ +
+ + matplotlib._version +SourceModule
+imports: + matplotlib + • typing + +
+
+imported by: + matplotlib + +
+ +
+ +
+ + matplotlib.artist +SourceModule
+imports: + collections + • contextlib + • functools + • inspect + • logging + • matplotlib + • matplotlib._api + • matplotlib.backend_bases + • matplotlib.cbook + • matplotlib.cm + • matplotlib.colors + • matplotlib.patches + • matplotlib.path + • matplotlib.transforms + • numbers + • numpy + • re + • warnings + +
+
+imported by: + matplotlib._constrained_layout + • matplotlib._docstring + • matplotlib._tight_layout + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.container + • matplotlib.figure + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.spines + • matplotlib.table + • matplotlib.text + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + matplotlib.axes +Package
+imports: + matplotlib + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.axes._axes + • matplotlib.axes._base + +
+
+imported by: + matplotlib + • matplotlib.axes + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.figure + • matplotlib.legend + • matplotlib.projections + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.tri._triplot + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.axes.Axes +MissingModule
+imported by: + matplotlib.axes + • matplotlib.figure + • matplotlib.legend + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.axes._axes +SourceModule
+imports: + builtins + • functools + • itertools + • logging + • math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.category + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.container + • matplotlib.contour + • matplotlib.dates + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.markers + • matplotlib.mlab + • matplotlib.patches + • matplotlib.path + • matplotlib.quiver + • matplotlib.stackplot + • matplotlib.streamplot + • matplotlib.table + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.tri + • matplotlib.units + • numbers + • numpy + • numpy.ma + +
+
+imported by: + matplotlib.axes + +
+ +
+ +
+ + matplotlib.axes._base +SourceModule
+imports: + collections.abc + • contextlib + • functools + • inspect + • logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.axes + • matplotlib.axis + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.font_manager + • matplotlib.gridspec + • matplotlib.image + • matplotlib.lines + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.rcsetup + • matplotlib.spines + • matplotlib.table + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • numbers + • numpy + • operator + • types + +
+
+imported by: + matplotlib.axes + • matplotlib.axes._axes + • matplotlib.axes._secondary_axes + • matplotlib.pyplot + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.axes._secondary_axes +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.ticker + • numbers + • numpy + +
+
+imported by: + matplotlib.axes._axes + +
+ +
+ +
+ + matplotlib.axis +SourceModule
+imports: + datetime + • dateutil.tz + • functools + • logging + • matplotlib + • matplotlib._api + • matplotlib.artist + • matplotlib.cbook + • matplotlib.colors + • matplotlib.lines + • matplotlib.scale + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.units + • numbers + • numpy + • warnings + +
+
+imported by: + matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + matplotlib.backend_bases +SourceModule
+imports: + collections + • contextlib + • enum + • functools + • importlib + • inspect + • io + • itertools + • logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib._enums + • matplotlib._pylab_helpers + • matplotlib._tight_bbox + • matplotlib.backend_managers + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.figure + • matplotlib.layout_engine + • matplotlib.path + • matplotlib.pyplot + • matplotlib.texmanager + • matplotlib.text + • matplotlib.transforms + • matplotlib.widgets + • numpy + • os + • sys + • time + • weakref + +
+
+imported by: + matplotlib.artist + • matplotlib.backend_tools + • matplotlib.backends.backend_agg + • matplotlib.contour + • matplotlib.figure + • matplotlib.image + • matplotlib.patheffects + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.backend_managers +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.widgets + +
+
+imported by: + matplotlib.backend_bases + +
+ +
+ +
+ + matplotlib.backend_tools +SourceModule
+imports: + enum + • functools + • matplotlib + • matplotlib._api + • matplotlib._pylab_helpers + • matplotlib.backend_bases + • matplotlib.cbook + • numpy + • re + • time + • types + • uuid + • weakref + +
+
+imported by: + matplotlib + • matplotlib.backend_bases + • matplotlib.backend_managers + • matplotlib.widgets + +
+ +
+ +
+ + matplotlib.backends +Package
+imports: + matplotlib + • matplotlib.backends.backend_agg + • matplotlib.backends.backend_webagg + +
+
+imported by: + matplotlib.backends._backend_agg + • matplotlib.backends.backend_agg + • matplotlib.figure + • matplotlib.mathtext + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.backends._backend_agg C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\backends\_backend_agg.cp310-win_amd64.pyd
+imports: + matplotlib.backends + +
+
+imported by: + matplotlib.backends.backend_agg + +
+ +
+ +
+ + matplotlib.backends.backend_agg +SourceModule
+imports: + contextlib + • math + • matplotlib + • matplotlib._api + • matplotlib.backend_bases + • matplotlib.backends + • matplotlib.backends._backend_agg + • matplotlib.cbook + • matplotlib.font_manager + • matplotlib.ft2font + • matplotlib.mathtext + • matplotlib.path + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.backends + • matplotlib.mathtext + +
+ +
+ +
+ + matplotlib.backends.backend_webagg +ExcludedModule
+imported by: + matplotlib.backends + • matplotlib.figure + +
+ +
+ +
+ + matplotlib.bezier +SourceModule
+imports: + functools + • math + • matplotlib + • matplotlib._api + • matplotlib.path + • numpy + • warnings + +
+
+imported by: + matplotlib.patches + • matplotlib.path + +
+ +
+ +
+ + matplotlib.category +SourceModule
+imports: + collections + • dateutil.parser + • itertools + • logging + • matplotlib + • matplotlib._api + • matplotlib.ticker + • matplotlib.units + • numpy + +
+
+imported by: + matplotlib.axes._axes + +
+ +
+ +
+ + matplotlib.cbook +SourceModule
+imports: + bz2 + • collections + • collections.abc + • contextlib + • functools + • gc + • gi + • gzip + • itertools + • math + • matplotlib + • matplotlib._api + • matplotlib._c_internal_utils + • matplotlib.artist + • numpy + • numpy.exceptions + • operator + • os + • pathlib + • shlex + • subprocess + • sys + • time + • traceback + • types + • weakref + +
+
+imported by: + matplotlib + • matplotlib._mathtext + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backend_managers + • matplotlib.backend_tools + • matplotlib.backends.backend_agg + • matplotlib.cm + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.colors + • matplotlib.container + • matplotlib.contour + • matplotlib.dates + • matplotlib.dviread + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.image + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.lines + • matplotlib.markers + • matplotlib.mlab + • matplotlib.patches + • matplotlib.path + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.rcsetup + • matplotlib.texmanager + • matplotlib.text + • matplotlib.ticker + • matplotlib.tri._triplot + • matplotlib.units + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.cm +SourceModule
+imports: + collections.abc + • functools + • matplotlib + • matplotlib._api + • matplotlib._cm + • matplotlib._cm_listed + • matplotlib.cbook + • matplotlib.colors + • matplotlib.scale + • numpy + • numpy.ma + +
+
+imported by: + matplotlib + • matplotlib.artist + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.image + • matplotlib.pyplot + • matplotlib.streamplot + +
+ +
+ +
+ + matplotlib.collections +SourceModule
+imports: + itertools + • math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib._enums + • matplotlib._path + • matplotlib.artist + • matplotlib.cbook + • matplotlib.cm + • matplotlib.colors + • matplotlib.hatch + • matplotlib.lines + • matplotlib.path + • matplotlib.patheffects + • matplotlib.transforms + • numbers + • numpy + • warnings + +
+
+imported by: + matplotlib + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.backend_bases + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.streamplot + • matplotlib.tri._tripcolor + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.colorbar +SourceModule
+imports: + logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colors + • matplotlib.contour + • matplotlib.patches + • matplotlib.path + • matplotlib.spines + • matplotlib.ticker + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.figure + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.colors +SourceModule
+imports: + PIL + • PIL.Image + • PIL.PngImagePlugin + • base64 + • collections.abc + • functools + • importlib + • inspect + • io + • itertools + • matplotlib + • matplotlib._api + • matplotlib._cm + • matplotlib._color_data + • matplotlib.cbook + • matplotlib.scale + • numbers + • numpy + • re + +
+
+imported by: + matplotlib + • matplotlib._cm_listed + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.cm + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.patches + • matplotlib.patheffects + • matplotlib.pyplot + • matplotlib.rcsetup + • matplotlib.streamplot + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + matplotlib.container +SourceModule
+imports: + matplotlib + • matplotlib.artist + • matplotlib.cbook + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.legend + • matplotlib.pyplot + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.contour +SourceModule
+imports: + contextlib + • contourpy + • functools + • math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.backend_bases + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colors + • matplotlib.font_manager + • matplotlib.lines + • matplotlib.patches + • matplotlib.path + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • numbers + • numpy + • numpy.ma + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.colorbar + • matplotlib.pyplot + • matplotlib.tri._tricontour + +
+ +
+ +
+ + matplotlib.dates +SourceModule
+imports: + datetime + • dateutil.parser + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz + • functools + • logging + • matplotlib + • matplotlib._api + • matplotlib.cbook + • matplotlib.ticker + • matplotlib.units + • numpy + • re + +
+
+imported by: + matplotlib.axes._axes + +
+ +
+ +
+ + matplotlib.dviread +SourceModule
+imports: + argparse + • collections + • enum + • functools + • itertools + • logging + • matplotlib + • matplotlib._api + • matplotlib.cbook + • numpy + • os + • pathlib + • re + • struct + • subprocess + • sys + +
+
+imported by: + matplotlib + • matplotlib.texmanager + • matplotlib.textpath + +
+ +
+ +
+ + matplotlib.figure +SourceModule
+imports: + contextlib + • inspect + • itertools + • logging + • matplotlib + • matplotlib._api + • matplotlib._blocking_input + • matplotlib._docstring + • matplotlib._pylab_helpers + • matplotlib.artist + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.backend_bases + • matplotlib.backends + • matplotlib.backends.backend_webagg + • matplotlib.cbook + • matplotlib.colorbar + • matplotlib.gridspec + • matplotlib.image + • matplotlib.layout_engine + • matplotlib.legend + • matplotlib.patches + • matplotlib.projections + • matplotlib.pyplot + • matplotlib.text + • matplotlib.transforms + • numbers + • numpy + • threading + +
+
+imported by: + matplotlib.backend_bases + • matplotlib.font_manager + • matplotlib.image + • matplotlib.legend + • matplotlib.mathtext + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.font_manager +SourceModule
+imports: + base64 + • collections + • copy + • dataclasses + • functools + • io + • json + • logging + • matplotlib + • matplotlib._afm + • matplotlib._api + • matplotlib._fontconfig_pattern + • matplotlib.cbook + • matplotlib.figure + • matplotlib.ft2font + • matplotlib.rcsetup + • numbers + • os + • pathlib + • re + • subprocess + • sys + • threading + • typing + • winreg + +
+
+imported by: + matplotlib + • matplotlib._mathtext + • matplotlib._tight_layout + • matplotlib.axes._base + • matplotlib.backends.backend_agg + • matplotlib.contour + • matplotlib.legend + • matplotlib.mathtext + • matplotlib.offsetbox + • matplotlib.text + • matplotlib.textpath + • matplotlib.ticker + • md2gost.renderable.find_font + • md2gost_exe.py + +
+ +
+ +
+ + matplotlib.ft2font C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\matplotlib\ft2font.cp310-win_amd64.pyd
+imports: + matplotlib + +
+
+imported by: + matplotlib + • matplotlib._mathtext + • matplotlib._text_helpers + • matplotlib.backends.backend_agg + • matplotlib.font_manager + • matplotlib.mathtext + • matplotlib.textpath + • md2gost_exe.py + +
+ +
+ +
+ + matplotlib.gridspec +SourceModule
+imports: + copy + • logging + • matplotlib + • matplotlib._api + • matplotlib._pylab_helpers + • matplotlib._tight_layout + • matplotlib.transforms + • numbers + • numpy + +
+
+imported by: + matplotlib.axes._base + • matplotlib.figure + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.hatch +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.path + • numpy + +
+
+imported by: + matplotlib.collections + • matplotlib.patches + • matplotlib.path + +
+ +
+ +
+ + matplotlib.image +SourceModule
+imports: + PIL.Image + • PIL.PngImagePlugin + • logging + • math + • matplotlib + • matplotlib._api + • matplotlib._image + • matplotlib.artist + • matplotlib.backend_bases + • matplotlib.cbook + • matplotlib.cm + • matplotlib.colors + • matplotlib.figure + • matplotlib.pyplot + • matplotlib.transforms + • numpy + • os + • pathlib + • urllib + • urllib.parse + • warnings + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.figure + • matplotlib.offsetbox + • matplotlib.pyplot + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.layout_engine +SourceModule
+imports: + contextlib + • matplotlib + • matplotlib._constrained_layout + • matplotlib._tight_layout + +
+
+imported by: + matplotlib.backend_bases + • matplotlib.figure + +
+ +
+ +
+ + matplotlib.legend +SourceModule
+imports: + itertools + • logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.container + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.legend_handler + • matplotlib.lines + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.text + • matplotlib.transforms + • numbers + • numpy + • time + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.figure + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.legend_handler +SourceModule
+imports: + itertools + • matplotlib + • matplotlib.cbook + • matplotlib.collections + • matplotlib.lines + • matplotlib.patches + • numpy + +
+
+imported by: + matplotlib + • matplotlib.legend + +
+ +
+ +
+ + matplotlib.lines +SourceModule
+imports: + copy + • logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib._enums + • matplotlib._path + • matplotlib.artist + • matplotlib.cbook + • matplotlib.colors + • matplotlib.markers + • matplotlib.path + • matplotlib.patheffects + • matplotlib.transforms + • numbers + • numpy + +
+
+imported by: + matplotlib + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.collections + • matplotlib.contour + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.patches + • matplotlib.pyplot + • matplotlib.streamplot + • matplotlib.tri._triplot + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + matplotlib.markers +SourceModule
+imports: + collections.abc + • copy + • matplotlib + • matplotlib._api + • matplotlib._enums + • matplotlib.cbook + • matplotlib.path + • matplotlib.text + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.lines + • matplotlib.projections.polar + • matplotlib.typing + +
+ +
+ +
+ + matplotlib.mathtext +SourceModule
+imports: + functools + • logging + • matplotlib + • matplotlib._api + • matplotlib._mathtext + • matplotlib.backends + • matplotlib.backends.backend_agg + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.ft2font + +
+
+imported by: + matplotlib.backends.backend_agg + • matplotlib.textpath + +
+ +
+ +
+ + matplotlib.mlab +SourceModule
+imports: + functools + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.cbook + • numbers + • numpy + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.offsetbox +SourceModule
+imports: + functools + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.font_manager + • matplotlib.image + • matplotlib.patches + • matplotlib.path + • matplotlib.text + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib + • matplotlib.axes._base + • matplotlib.legend + • matplotlib.text + +
+ +
+ +
+ + matplotlib.patches +SourceModule
+imports: + collections + • functools + • inspect + • math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib._enums + • matplotlib.artist + • matplotlib.bezier + • matplotlib.cbook + • matplotlib.colors + • matplotlib.hatch + • matplotlib.lines + • matplotlib.path + • matplotlib.patheffects + • matplotlib.transforms + • numbers + • numpy + • textwrap + • types + +
+
+imported by: + matplotlib._layoutgrid + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.figure + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.offsetbox + • matplotlib.patheffects + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.spines + • matplotlib.streamplot + • matplotlib.table + • matplotlib.text + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + matplotlib.path +SourceModule
+imports: + copy + • functools + • matplotlib + • matplotlib._api + • matplotlib._path + • matplotlib.bezier + • matplotlib.cbook + • matplotlib.hatch + • matplotlib.transforms + • numpy + • weakref + +
+
+imported by: + matplotlib.artist + • matplotlib.axes._axes + • matplotlib.backend_bases + • matplotlib.backends.backend_agg + • matplotlib.bezier + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.hatch + • matplotlib.lines + • matplotlib.markers + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.patheffects + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.spines + • matplotlib.table + • matplotlib.textpath + • matplotlib.transforms + • matplotlib.typing + • mpl_toolkits.mplot3d.art3d + +
+ +
+ +
+ + matplotlib.patheffects +SourceModule
+imports: + matplotlib + • matplotlib.backend_bases + • matplotlib.colors + • matplotlib.patches + • matplotlib.path + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.collections + • matplotlib.lines + • matplotlib.patches + • matplotlib.pyplot + • matplotlib.text + +
+ +
+ +
+ + matplotlib.projections +Package
+imports: + matplotlib + • matplotlib._docstring + • matplotlib.axes + • matplotlib.projections.geo + • matplotlib.projections.polar + • mpl_toolkits.mplot3d + • warnings + +
+
+imported by: + matplotlib + • matplotlib.figure + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.text + +
+ +
+ +
+ + matplotlib.projections.geo +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.axis + • matplotlib.patches + • matplotlib.path + • matplotlib.projections + • matplotlib.spines + • matplotlib.ticker + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.projections + +
+ +
+ +
+ + matplotlib.projections.polar +SourceModule
+imports: + math + • matplotlib + • matplotlib._api + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.axis + • matplotlib.cbook + • matplotlib.markers + • matplotlib.patches + • matplotlib.path + • matplotlib.projections + • matplotlib.spines + • matplotlib.ticker + • matplotlib.transforms + • numpy + • types + +
+
+imported by: + matplotlib.projections + +
+ +
+ +
+ + matplotlib.pyplot +SourceModule
+imports: + PIL.Image + • __future__ + • collections.abc + • contextlib + • cycler + • datetime + • enum + • functools + • importlib + • inspect + • logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib._pylab_helpers + • matplotlib.artist + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backends + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.colors + • matplotlib.container + • matplotlib.contour + • matplotlib.figure + • matplotlib.gridspec + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.mlab + • matplotlib.patches + • matplotlib.patheffects + • matplotlib.projections + • matplotlib.quiver + • matplotlib.rcsetup + • matplotlib.scale + • matplotlib.style + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.typing + • matplotlib.widgets + • numpy + • numpy.typing + • os + • pathlib + • re + • sys + • threading + • time + • typing + • typing_extensions + +
+
+imported by: + matplotlib + • matplotlib._enums + • matplotlib.backend_bases + • matplotlib.figure + • matplotlib.image + +
+ +
+ +
+ + matplotlib.quiver +SourceModule
+imports: + math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.cbook + • matplotlib.collections + • matplotlib.patches + • matplotlib.text + • matplotlib.transforms + • numpy + • numpy.ma + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.rcsetup +SourceModule
+imports: + ast + • cycler + • functools + • matplotlib + • matplotlib._api + • matplotlib._enums + • matplotlib._fontconfig_pattern + • matplotlib.cbook + • matplotlib.colors + • numbers + • numpy + • operator + • os + • re + +
+
+imported by: + matplotlib + • matplotlib.axes._base + • matplotlib.font_manager + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.scale +SourceModule
+imports: + inspect + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.ticker + • matplotlib.transforms + • numpy + • textwrap + +
+
+imported by: + matplotlib + • matplotlib.axis + • matplotlib.cm + • matplotlib.colors + • matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.spines +SourceModule
+imports: + collections.abc + • functools + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.patches + • matplotlib.path + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.axes._base + • matplotlib.colorbar + • matplotlib.projections.geo + • matplotlib.projections.polar + +
+ +
+ +
+ + matplotlib.stackplot +SourceModule
+imports: + itertools + • matplotlib + • matplotlib._api + • numpy + +
+
+imported by: + matplotlib.axes._axes + +
+ +
+ +
+ + matplotlib.streamplot +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.cm + • matplotlib.collections + • matplotlib.colors + • matplotlib.lines + • matplotlib.patches + • numpy + +
+
+imported by: + matplotlib.axes._axes + +
+ +
+ +
+ + matplotlib.style +Package
+imports: + matplotlib + • matplotlib.style.core + +
+
+imported by: + matplotlib + • matplotlib.pyplot + • matplotlib.style.core + +
+ +
+ +
+ + matplotlib.style.core +SourceModule
+imports: + contextlib + • importlib.resources + • importlib_resources + • logging + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.style + • os + • pathlib + • sys + • warnings + +
+
+imported by: + matplotlib + • matplotlib.style + +
+ +
+ +
+ + matplotlib.table +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.patches + • matplotlib.path + • matplotlib.text + • matplotlib.transforms + • numpy + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.axes._base + +
+ +
+ +
+ + matplotlib.texmanager +SourceModule
+imports: + functools + • hashlib + • logging + • matplotlib + • matplotlib._api + • matplotlib.cbook + • matplotlib.dviread + • numpy + • os + • pathlib + • subprocess + • tempfile + +
+
+imported by: + matplotlib.backend_bases + • matplotlib.textpath + +
+ +
+ +
+ + matplotlib.text +SourceModule
+imports: + functools + • logging + • math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.cbook + • matplotlib.font_manager + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.patheffects + • matplotlib.projections + • matplotlib.textpath + • matplotlib.transforms + • numbers + • numpy + • weakref + +
+
+imported by: + matplotlib + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.contour + • matplotlib.figure + • matplotlib.legend + • matplotlib.markers + • matplotlib.offsetbox + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.table + • matplotlib.textpath + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + +
+ +
+ +
+ + matplotlib.textpath +SourceModule
+imports: + collections + • logging + • matplotlib + • matplotlib._text_helpers + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.ft2font + • matplotlib.mathtext + • matplotlib.path + • matplotlib.texmanager + • matplotlib.text + • matplotlib.transforms + • numpy + • urllib.parse + +
+
+imported by: + matplotlib.text + +
+ +
+ +
+ + matplotlib.ticker +SourceModule
+imports: + itertools + • locale + • logging + • math + • matplotlib + • matplotlib._api + • matplotlib.cbook + • matplotlib.font_manager + • matplotlib.transforms + • numbers + • numpy + +
+
+imported by: + matplotlib + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.axis + • matplotlib.category + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.dates + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.scale + • matplotlib.widgets + +
+ +
+ +
+ + matplotlib.transforms +SourceModule
+imports: + copy + • functools + • math + • matplotlib + • matplotlib._api + • matplotlib._path + • matplotlib.path + • numpy + • numpy.linalg + • textwrap + • weakref + +
+
+imported by: + matplotlib + • matplotlib._constrained_layout + • matplotlib._layoutgrid + • matplotlib._tight_bbox + • matplotlib._tight_layout + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backends.backend_agg + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.contour + • matplotlib.figure + • matplotlib.gridspec + • matplotlib.image + • matplotlib.legend + • matplotlib.lines + • matplotlib.markers + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.path + • matplotlib.patheffects + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.scale + • matplotlib.spines + • matplotlib.table + • matplotlib.text + • matplotlib.textpath + • matplotlib.ticker + • matplotlib.widgets + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + matplotlib.tri +Package
+imports: + matplotlib + • matplotlib.tri._triangulation + • matplotlib.tri._tricontour + • matplotlib.tri._trifinder + • matplotlib.tri._triinterpolate + • matplotlib.tri._tripcolor + • matplotlib.tri._triplot + • matplotlib.tri._trirefine + • matplotlib.tri._tritools + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.tri._triangulation + • matplotlib.tri._tricontour + • matplotlib.tri._trifinder + • matplotlib.tri._triinterpolate + • matplotlib.tri._tripcolor + • matplotlib.tri._triplot + • matplotlib.tri._trirefine + • matplotlib.tri._tritools + +
+ +
+ +
+ + matplotlib.tri._triangulation +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib._qhull + • matplotlib._tri + • matplotlib.tri + • matplotlib.tri._trifinder + • numpy + • sys + +
+
+imported by: + matplotlib.tri + • matplotlib.tri._tricontour + • matplotlib.tri._tripcolor + • matplotlib.tri._triplot + • matplotlib.tri._trirefine + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + matplotlib.tri._tricontour +SourceModule
+imports: + matplotlib + • matplotlib._docstring + • matplotlib._tri + • matplotlib.contour + • matplotlib.tri + • matplotlib.tri._triangulation + • numpy + +
+
+imported by: + matplotlib.tri + +
+ +
+ +
+ + matplotlib.tri._trifinder +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib._tri + • matplotlib.tri + • numpy + +
+
+imported by: + matplotlib.tri + • matplotlib.tri._triangulation + • matplotlib.tri._triinterpolate + +
+ +
+ +
+ + matplotlib.tri._triinterpolate +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.tri + • matplotlib.tri._trifinder + • matplotlib.tri._tritools + • numpy + +
+
+imported by: + matplotlib.tri + • matplotlib.tri._trirefine + +
+ +
+ +
+ + matplotlib.tri._tripcolor +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.collections + • matplotlib.tri + • matplotlib.tri._triangulation + • numpy + +
+
+imported by: + matplotlib.tri + +
+ +
+ +
+ + matplotlib.tri._triplot +SourceModule
+imports: + matplotlib.axes + • matplotlib.cbook + • matplotlib.lines + • matplotlib.tri + • matplotlib.tri._triangulation + • numpy + +
+
+imported by: + matplotlib.tri + +
+ +
+ +
+ + matplotlib.tri._trirefine +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.tri + • matplotlib.tri._triangulation + • matplotlib.tri._triinterpolate + • numpy + +
+
+imported by: + matplotlib.tri + +
+ +
+ +
+ + matplotlib.tri._tritools +SourceModule
+imports: + matplotlib + • matplotlib._api + • matplotlib.tri + • numpy + +
+
+imported by: + matplotlib.tri + • matplotlib.tri._triinterpolate + +
+ +
+ +
+ + matplotlib.typing +SourceModule
+imports: + collections.abc + • matplotlib + • matplotlib._enums + • matplotlib.markers + • matplotlib.path + • pathlib + • typing + +
+
+imported by: + matplotlib.pyplot + +
+ +
+ +
+ + matplotlib.units +SourceModule
+imports: + decimal + • matplotlib + • matplotlib.cbook + • numbers + • numpy + • numpy.ma + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.axis + • matplotlib.category + • matplotlib.dates + +
+ +
+ +
+ + matplotlib.widgets +SourceModule
+imports: + contextlib + • copy + • cycler + • itertools + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.lines + • matplotlib.patches + • matplotlib.text + • matplotlib.ticker + • matplotlib.transforms + • numbers + • numpy + +
+
+imported by: + matplotlib + • matplotlib.backend_bases + • matplotlib.backend_managers + • matplotlib.pyplot + +
+ +
+ +
+ + md2gost +Package
+imports: + md2gost + • os + • sys + +
+
+imported by: + md2gost + • md2gost.__main__ + • md2gost.biblio_processor + • md2gost.bibliography + • md2gost.bibliography_renderable + • md2gost.checker + • md2gost.converter + • md2gost.debugger + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.dnd + • md2gost.docx_elements + • md2gost.docx_svg + • md2gost.extended_markdown + • md2gost.gui + • md2gost.help_content + • md2gost.label_pass + • md2gost.latex_math + • md2gost.layout_tracker + • md2gost.numberer + • md2gost.page_fill_check + • md2gost.page_geometry + • md2gost.parser_ + • md2gost.pipeline + • md2gost.profiles + • md2gost.renderable + • md2gost.renderable_factory + • md2gost.rendered_info + • md2gost.renderer + • md2gost.styles + • md2gost.sub_renderable + • md2gost.toc_processor + • md2gost.util + • md2gost.word_fix + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.__main__ +SourceModule
+imports: + argparse + • ctypes + • md2gost + • md2gost.gui + • md2gost.pipeline + • md2gost.profiles + • sys + +
+
+imported by: + md2gost_exe.py + +
+ +
+ +
+ + md2gost.biblio_processor +SourceModule
+imports: + __future__ + • md2gost + • md2gost.bibliography + • md2gost.bibliography_renderable + • md2gost.renderable + • md2gost.renderable.heading + • md2gost.renderable.paragraph + • re + +
+
+imported by: + md2gost.converter + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.bibliography +SourceModule
+imports: + __future__ + • dataclasses + • md2gost + • md2gost.bibliography_renderable + • re + +
+
+imported by: + md2gost.biblio_processor + • md2gost.bibliography_renderable + • md2gost.checker + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.bibliography_renderable +SourceModule
+imports: + __future__ + • copy + • docx.shared + • md2gost + • md2gost.bibliography + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.paragraph + • md2gost.rendered_info + • md2gost.sub_renderable + • typing + +
+
+imported by: + md2gost.biblio_processor + • md2gost.bibliography + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.checker +Package
+imports: + __future__ + • dataclasses + • md2gost + • md2gost.bibliography + • md2gost.profiles + • re + • typing + +
+
+imported by: + md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.converter +SourceModule
+imports: + docx + • docx.document + • md2gost + • md2gost.biblio_processor + • md2gost.debugger + • md2gost.label_pass + • md2gost.parser_ + • md2gost.profiles + • md2gost.renderable.diagram + • md2gost.renderable.heading + • md2gost.renderable.listing + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderer + • md2gost.styles + • md2gost.toc_processor + +
+
+imported by: + md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.debugger +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageDraw + • collections + • docx.document + • docx.oxml + • docx.oxml.ns + • docx.oxml.shape + • docx.oxml.xmlchemy + • docx.shared + • docx.text.paragraph + • io + • logging + • md2gost + • md2gost.renderer + • md2gost.util + +
+
+imported by: + md2gost.converter + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.diagram_includes +SourceModule
+imports: + __future__ + • hashlib + • json + • logging + • md2gost + • pathlib + • re + • requests + • sys + • urllib.parse + +
+
+imported by: + md2gost.diagram_schemes + • md2gost.gui + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.diagram_renderer +SourceModule
+imports: + __future__ + • dataclasses + • hashlib + • logging + • md2gost + • md2gost.diagram_schemes + • os + • pathlib + • re + • requests + • shutil + • subprocess + • sys + • tempfile + • typing + +
+
+imported by: + md2gost.gui + • md2gost.pipeline + • md2gost.renderable.diagram + • md2gost.renderable_factory + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.diagram_schemes +SourceModule
+imports: + __future__ + • dataclasses + • json + • logging + • md2gost + • md2gost.diagram_includes + • pathlib + • re + • shutil + • typing + +
+
+imported by: + md2gost.diagram_renderer + • md2gost.gui + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.dnd +SourceModule
+imports: + __future__ + • collections.abc + • ctypes + • ctypes.wintypes + • md2gost + • os + • sys + • tkinterdnd2 + • urllib.parse + +
+
+imported by: + md2gost.gui + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.docx_elements +SourceModule
+imports: + copy + • docx.oxml + • docx.oxml.ns + • docx.shared + • docx.table + • md2gost + • md2gost.util + +
+
+imported by: + md2gost.renderable.listing + • md2gost.renderable.table + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.docx_svg +SourceModule
+imports: + __future__ + • docx.opc.constants + • docx.opc.part + • docx.oxml + • docx.oxml.ns + • lxml + • lxml.etree + • md2gost + • pathlib + +
+
+imported by: + md2gost.renderable.image + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown +Package
+imports: + marko + • marko.block + • marko.ext.gfm + • marko.ext.gfm.elements + • marko.helpers + • marko.inline + • md2gost + • md2gost.extended_markdown.caption + • md2gost.extended_markdown.equation + • md2gost.extended_markdown.heading + • md2gost.extended_markdown.image + • md2gost.extended_markdown.inline_formula + • md2gost.extended_markdown.reference + • md2gost.extended_markdown.table + • md2gost.extended_markdown.toc + +
+
+imported by: + md2gost.extended_markdown.caption + • md2gost.extended_markdown.equation + • md2gost.extended_markdown.heading + • md2gost.extended_markdown.image + • md2gost.extended_markdown.inline_formula + • md2gost.extended_markdown.reference + • md2gost.extended_markdown.table + • md2gost.extended_markdown.toc + • md2gost.parser_ + • md2gost.renderable_factory + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.caption +SourceModule
+imports: + marko.block + • marko.source + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost.extended_markdown.image + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.equation +SourceModule
+imports: + marko.block + • marko.source + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.heading +SourceModule
+imports: + marko.block + • marko.source + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.image +SourceModule
+imports: + marko.inline + • md2gost.extended_markdown + • md2gost.extended_markdown.caption + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.inline_formula +SourceModule
+imports: + marko.inline + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.reference +SourceModule
+imports: + marko.inline + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.table +SourceModule
+imports: + marko + • marko.block + • marko.ext.gfm.elements + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.extended_markdown.toc +SourceModule
+imports: + marko.block + • marko.source + • md2gost.extended_markdown + • re + +
+
+imported by: + md2gost.extended_markdown + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.gui +SourceModule
+imports: + __future__ + • md2gost + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.dnd + • md2gost.help_content + • md2gost.pipeline + • md2gost.profiles + • os + • subprocess + • sys + • threading + • tkinter + • tkinter.filedialog + • tkinter.messagebox + • tkinter.ttk + • tkinterdnd2 + +
+
+imported by: + md2gost.__main__ + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.help_content +SourceModule
+imports: + __future__ + • md2gost + • pathlib + • sys + +
+
+imported by: + md2gost.gui + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.label_pass +SourceModule
+imports: + __future__ + • md2gost + • md2gost.numberer + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.list + • md2gost.renderable.paragraph + • md2gost.renderable.requires_numbering + • md2gost.renderable.table + • re + +
+
+imported by: + md2gost.converter + • md2gost.renderable_factory + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.latex_math +SourceModule
+imports: + copy + • latex2mathml.converter + • lxml + • lxml.etree + • md2gost + • os + +
+
+imported by: + md2gost.renderable.equation + • md2gost.renderable.paragraph + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.layout_tracker +SourceModule
+imports: + copy + • docx.shared + • md2gost + +
+
+imported by: + md2gost.bibliography_renderable + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.renderable + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.numberer +SourceModule
+imports: + collections + • md2gost + +
+
+imported by: + md2gost.label_pass + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.page_fill_check +SourceModule
+imports: + __future__ + • dataclasses + • md2gost + • win32com.client + +
+
+imported by: + md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.page_geometry +SourceModule
+imports: + __future__ + • docx.enum.section + • docx.enum.text + • docx.oxml.ns + • docx.shared + • md2gost + • md2gost.util + +
+
+imported by: + md2gost.pipeline + • md2gost.renderer + • md2gost.styles + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.parser_ +SourceModule
+imports: + collections.abc + • docx + • marko.block + • md2gost + • md2gost.extended_markdown + • md2gost.renderable.caption + • md2gost.renderable.renderable + • md2gost.renderable_factory + +
+
+imported by: + md2gost.converter + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.pipeline +SourceModule
+imports: + __future__ + • dataclasses + • docx + • docxcompose.composer + • getpass + • logging + • md2gost + • md2gost.checker + • md2gost.converter + • md2gost.diagram_renderer + • md2gost.page_fill_check + • md2gost.page_geometry + • md2gost.profiles + • md2gost.styles + • md2gost.word_fix + • os + • platform + • subprocess + • traceback + • typing + +
+
+imported by: + md2gost.__main__ + • md2gost.gui + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.profiles +SourceModule
+imports: + __future__ + • dataclasses + • datetime + • md2gost + • re + +
+
+imported by: + md2gost.__main__ + • md2gost.checker + • md2gost.converter + • md2gost.gui + • md2gost.pipeline + • md2gost.renderable.caption + • md2gost.renderable.listing + • md2gost.renderable.table + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable +Package
+imports: + md2gost + • md2gost.renderable + • md2gost.renderable.listing + • md2gost.renderable.paragraph + • md2gost.renderable.renderable + +
+
+imported by: + md2gost.biblio_processor + • md2gost.bibliography_renderable + • md2gost.label_pass + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.find_font + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.paragraph_sizer + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderable_factory + • md2gost.renderer + • md2gost.sub_renderable + • md2gost.toc_processor + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.caption +SourceModule
+imports: + copy + • dataclasses + • docx.enum.text + • docx.shared + • docx.text.paragraph + • md2gost.layout_tracker + • md2gost.profiles + • md2gost.renderable + • md2gost.renderable.paragraph_sizer + • md2gost.rendered_info + • md2gost.util + • typing + +
+
+imported by: + md2gost.label_pass + • md2gost.parser_ + • md2gost.renderable.diagram + • md2gost.renderable.image + • md2gost.renderable.listing + • md2gost.renderable.paragraph + • md2gost.renderable.table + • md2gost.renderable_factory + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.diagram +SourceModule
+imports: + dataclasses + • docx.shared + • md2gost.diagram_renderer + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.image + • md2gost.renderable.listing + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost.rendered_info + • typing + +
+
+imported by: + md2gost.converter + • md2gost.label_pass + • md2gost.renderable_factory + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.equation +SourceModule
+imports: + docx.enum.table + • docx.oxml + • docx.shared + • docx.table + • docx.text.paragraph + • md2gost.latex_math + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.requires_numbering + • md2gost.rendered_info + • md2gost.util + • typing + +
+
+imported by: + md2gost.label_pass + • md2gost.renderable_factory + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.find_font +SourceModule
+imports: + functools + • logging + • matplotlib.font_manager + • md2gost.renderable + • subprocess + • sys + +
+
+imported by: + md2gost.renderable.paragraph_sizer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.heading +SourceModule
+imports: + copy + • docx.shared + • docx.text.paragraph + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.paragraph + • md2gost.renderable.paragraph_sizer + • md2gost.rendered_info + • md2gost.sub_renderable + • md2gost.util + • re + • typing + +
+
+imported by: + md2gost.biblio_processor + • md2gost.converter + • md2gost.label_pass + • md2gost.renderable_factory + • md2gost.renderer + • md2gost.toc_processor + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.image +SourceModule
+imports: + copy + • docx.enum.text + • docx.shared + • docx.text.paragraph + • io + • logging + • md2gost.docx_svg + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost.rendered_info + • md2gost.sub_renderable + • md2gost.util + • os + • os.path + • requests + • typing + +
+
+imported by: + md2gost.renderable.diagram + • md2gost.renderable.paragraph + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.list +SourceModule
+imports: + copy + • docx.shared + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.renderable + • md2gost.rendered_info + • typing + +
+
+imported by: + md2gost.label_pass + • md2gost.renderable_factory + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.listing +SourceModule
+imports: + copy + • docx.shared + • md2gost.docx_elements + • md2gost.layout_tracker + • md2gost.profiles + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost.rendered_info + • md2gost.sub_renderable + • os + • pygments + • pygments.formatter + • pygments.lexers + • typing + +
+
+imported by: + md2gost.converter + • md2gost.renderable + • md2gost.renderable.diagram + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.page_break +SourceModule
+imports: + docx.shared + • docx.text.paragraph + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.paragraph_sizer + • md2gost.renderable.renderable + • md2gost.rendered_info + • md2gost.sub_renderable + • md2gost.util + • typing + +
+
+imported by: + md2gost.renderable.listing + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderable_factory + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.paragraph +SourceModule
+imports: + copy + • docx.enum.text + • docx.opc.constants + • docx.shared + • docx.text.paragraph + • md2gost.latex_math + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.image + • md2gost.renderable.paragraph_sizer + • md2gost.rendered_info + • md2gost.sub_renderable + • md2gost.util + • typing + +
+
+imported by: + md2gost.biblio_processor + • md2gost.bibliography_renderable + • md2gost.label_pass + • md2gost.renderable + • md2gost.renderable.heading + • md2gost.renderable.listing + • md2gost.renderable_factory + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.paragraph_sizer +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageDraw + • PIL.ImageFont + • dataclasses + • docx.enum.text + • docx.oxml + • docx.shared + • docx.styles.style + • docx.text.font + • docx.text.paragraph + • docx.text.parfmt + • docx.text.run + • freetype + • functools + • inspect + • logging + • math + • md2gost.renderable + • md2gost.renderable.find_font + • os + +
+
+imported by: + md2gost.renderable.caption + • md2gost.renderable.heading + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.renderable +SourceModule
+imports: + abc + • collections.abc + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.rendered_info + • md2gost.sub_renderable + • typing + +
+
+imported by: + md2gost.parser_ + • md2gost.renderable + • md2gost.renderable.diagram + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.requires_numbering +SourceModule
+imports: + abc + • md2gost.renderable + +
+
+imported by: + md2gost.label_pass + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.image + • md2gost.renderable.listing + • md2gost.renderable.table + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.table +SourceModule
+imports: + copy + • docx.shared + • md2gost.docx_elements + • md2gost.layout_tracker + • md2gost.profiles + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.page_break + • md2gost.renderable.renderable + • md2gost.renderable.requires_numbering + • md2gost.rendered_info + • md2gost.util + • typing + +
+
+imported by: + md2gost.converter + • md2gost.label_pass + • md2gost.renderable_factory + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable.toc +SourceModule
+imports: + copy + • docx.enum.text + • docx.shared + • md2gost.layout_tracker + • md2gost.renderable + • md2gost.renderable.page_break + • md2gost.renderable.renderable + • md2gost.rendered_info + • md2gost.sub_renderable + • md2gost.util + • typing + +
+
+imported by: + md2gost.converter + • md2gost.renderable_factory + • md2gost.renderer + • md2gost.toc_processor + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderable_factory +SourceModule
+imports: + docx.shared + • functools + • logging + • md2gost + • md2gost.diagram_renderer + • md2gost.extended_markdown + • md2gost.label_pass + • md2gost.renderable + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.list + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.table + • md2gost.renderable.toc + +
+
+imported by: + md2gost.parser_ + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.rendered_info +SourceModule
+imports: + dataclasses + • docx.shared + • md2gost + +
+
+imported by: + md2gost.bibliography_renderable + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.renderable + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.renderer +SourceModule
+imports: + docx.document + • docx.enum.section + • docx.enum.text + • docx.oxml.ns + • docx.shared + • itertools + • md2gost + • md2gost.debugger + • md2gost.layout_tracker + • md2gost.numberer + • md2gost.page_geometry + • md2gost.renderable + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.requires_numbering + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.rendered_info + • md2gost.sub_renderable + • re + • typing + +
+
+imported by: + md2gost.converter + • md2gost.debugger + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.styles +SourceModule
+imports: + docx.document + • docx.enum.style + • docx.enum.text + • docx.oxml + • docx.oxml.ns + • docx.shared + • docx.styles.style + • md2gost + • md2gost.page_geometry + +
+
+imported by: + md2gost.converter + • md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.sub_renderable +SourceModule
+imports: + dataclasses + • md2gost + • md2gost.renderable + +
+
+imported by: + md2gost.bibliography_renderable + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.renderable + • md2gost.renderable.toc + • md2gost.renderer + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.toc_processor +SourceModule
+imports: + md2gost + • md2gost.renderable + • md2gost.renderable.heading + • md2gost.renderable.toc + • md2gost.util + +
+
+imported by: + md2gost.converter + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.util +SourceModule
+imports: + docx.oxml + • docx.oxml.ns + • lxml.etree + • md2gost + +
+
+imported by: + md2gost.debugger + • md2gost.docx_elements + • md2gost.page_geometry + • md2gost.renderable.caption + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.toc_processor + • md2gost_exe.py + +
+ +
+ +
+ + md2gost.word_fix +SourceModule
+imports: + __future__ + • dataclasses + • md2gost + • os + • re + • sys + • win32com.client + +
+
+imported by: + md2gost.pipeline + • md2gost_exe.py + +
+ +
+ +
+ + mimetypes +SourceModule
+imports: + _winapi + • getopt + • os + • posixpath + • sys + • urllib.parse + • winreg + +
+
+imported by: + http.server + • urllib.request + • urllib3.fields + +
+ +
+ +
+ + mmap (builtin module)
+imported by: + PIL.ImageFile + • PIL.PdfParser + • multiprocessing.heap + • multiprocessing.shared_memory + • numpy.core.memmap + +
+ +
+ +
+ + more_itertools +Package
+imports: + more_itertools.more + • more_itertools.recipes + +
+
+imported by: + jaraco.functools + • more_itertools.more + • more_itertools.recipes + • setuptools._distutils.compilers.C.base + • setuptools._entry_points + • setuptools._itertools + • setuptools._path + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.dist + • setuptools.msvc + +
+ +
+ +
+ + more_itertools.more +SourceModule
+imports: + collections + • collections.abc + • contextlib + • functools + • heapq + • itertools + • math + • more_itertools + • more_itertools.recipes + • operator + • queue + • random + • sys + • time + • warnings + +
+
+imported by: + more_itertools + +
+ +
+ +
+ + more_itertools.recipes +SourceModule
+imports: + bisect + • collections + • contextlib + • functools + • heapq + • itertools + • math + • more_itertools + • operator + • random + • sys + +
+
+imported by: + more_itertools + • more_itertools.more + +
+ +
+ +
+ + mpl_toolkits +Package
+imports: + os + +
+
+imported by: + mpl_toolkits.mplot3d + +
+ +
+ +
+ + mpl_toolkits.mplot3d +Package
+imports: + mpl_toolkits + • mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + • mpl_toolkits.mplot3d.proj3d + +
+
+imported by: + matplotlib.projections + • mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + • mpl_toolkits.mplot3d.proj3d + +
+ +
+ +
+ + mpl_toolkits.mplot3d.art3d +SourceModule
+imports: + contextlib + • math + • matplotlib + • matplotlib.artist + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.lines + • matplotlib.patches + • matplotlib.path + • matplotlib.text + • mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.proj3d + • numpy + +
+
+imported by: + mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + mpl_toolkits.mplot3d.axes3d +SourceModule
+imports: + collections + • functools + • itertools + • math + • matplotlib + • matplotlib._api + • matplotlib._docstring + • matplotlib.artist + • matplotlib.axes + • matplotlib.axes.Axes + • matplotlib.axes._base + • matplotlib.cbook + • matplotlib.collections + • matplotlib.colors + • matplotlib.container + • matplotlib.image + • matplotlib.lines + • matplotlib.patches + • matplotlib.transforms + • matplotlib.tri._triangulation + • mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axis3d + • mpl_toolkits.mplot3d.proj3d + • numpy + • textwrap + +
+
+imported by: + mpl_toolkits.mplot3d + +
+ +
+ +
+ + mpl_toolkits.mplot3d.axis3d +SourceModule
+imports: + inspect + • matplotlib + • matplotlib._api + • matplotlib.artist + • matplotlib.axis + • matplotlib.colors + • matplotlib.lines + • matplotlib.patches + • matplotlib.transforms + • mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.proj3d + • numpy + +
+
+imported by: + mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.axes3d + +
+ +
+ +
+ + mpl_toolkits.mplot3d.proj3d +SourceModule
+imports: + matplotlib + • matplotlib._api + • mpl_toolkits.mplot3d + • numpy + +
+
+imported by: + mpl_toolkits.mplot3d + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + +
+ +
+ +
+ + msvcrt (builtin module)
+imported by: + asyncio.windows_events + • asyncio.windows_utils + • getpass + • multiprocessing.popen_spawn_win32 + • multiprocessing.spawn + • subprocess + +
+ +
+ +
+ + multiprocessing +Package
+imports: + multiprocessing + • multiprocessing.AuthenticationError + • multiprocessing.BufferTooShort + • multiprocessing.TimeoutError + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.get_context + • multiprocessing.get_start_method + • multiprocessing.pool + • multiprocessing.process + • multiprocessing.reduction + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • multiprocessing.set_start_method + • multiprocessing.shared_memory + • multiprocessing.spawn + • multiprocessing.util + • sys + +
+
+imported by: + concurrent.futures.process + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.dummy + • multiprocessing.forkserver + • multiprocessing.heap + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.popen_fork + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.reduction + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • multiprocessing.shared_memory + • multiprocessing.sharedctypes + • multiprocessing.spawn + • multiprocessing.synchronize + • multiprocessing.util + • pyi_rth_multiprocessing.py + +
+ +
+ +
+ + multiprocessing.AuthenticationError +MissingModule
+imported by: + multiprocessing + • multiprocessing.connection + +
+ +
+ +
+ + multiprocessing.BufferTooShort +MissingModule
+imported by: + multiprocessing + • multiprocessing.connection + +
+ +
+ +
+ + multiprocessing.TimeoutError +MissingModule
+imported by: + multiprocessing + • multiprocessing.pool + +
+ +
+ +
+ + multiprocessing.connection +SourceModule
+imports: + _multiprocessing + • _winapi + • hmac + • io + • itertools + • multiprocessing + • multiprocessing.AuthenticationError + • multiprocessing.BufferTooShort + • multiprocessing.context + • multiprocessing.resource_sharer + • multiprocessing.util + • os + • selectors + • socket + • struct + • sys + • tempfile + • time + • xmlrpc.client + +
+
+imported by: + concurrent.futures.process + • multiprocessing + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.popen_fork + • multiprocessing.popen_forkserver + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.resource_sharer + +
+ +
+ +
+ + multiprocessing.context +SourceModule
+imports: + multiprocessing + • multiprocessing.connection + • multiprocessing.forkserver + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.popen_fork + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.reduction + • multiprocessing.sharedctypes + • multiprocessing.spawn + • multiprocessing.synchronize + • multiprocessing.util + • os + • sys + • threading + +
+
+imported by: + multiprocessing + • multiprocessing.connection + • multiprocessing.forkserver + • multiprocessing.heap + • multiprocessing.managers + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.reduction + • multiprocessing.resource_sharer + • multiprocessing.sharedctypes + • multiprocessing.spawn + • multiprocessing.synchronize + +
+ +
+ +
+ + multiprocessing.dummy +Package
+imports: + array + • multiprocessing + • multiprocessing.dummy.connection + • multiprocessing.pool + • queue + • sys + • threading + • weakref + +
+
+imported by: + multiprocessing.dummy.connection + • multiprocessing.pool + +
+ +
+ +
+ + multiprocessing.dummy.connection +SourceModule
+imports: + multiprocessing.dummy + • queue + +
+
+imported by: + multiprocessing.dummy + +
+ +
+ +
+ + multiprocessing.forkserver +SourceModule
+imports: + errno + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.process + • multiprocessing.resource_tracker + • multiprocessing.spawn + • multiprocessing.util + • os + • selectors + • signal + • socket + • struct + • sys + • threading + • warnings + +
+
+imported by: + multiprocessing + • multiprocessing.context + • multiprocessing.popen_forkserver + • multiprocessing.util + +
+ +
+ +
+ + multiprocessing.get_context +MissingModule
+imported by: + multiprocessing + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.sharedctypes + +
+ +
+ +
+ + multiprocessing.get_start_method +MissingModule
+imported by: + multiprocessing + • multiprocessing.spawn + +
+ +
+ +
+ + multiprocessing.heap +SourceModule
+imports: + _winapi + • bisect + • collections + • mmap + • multiprocessing + • multiprocessing.context + • multiprocessing.util + • os + • sys + • tempfile + • threading + +
+
+imported by: + multiprocessing.sharedctypes + • multiprocessing.synchronize + +
+ +
+ +
+ + multiprocessing.managers +SourceModule
+imports: + array + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.get_context + • multiprocessing.pool + • multiprocessing.process + • multiprocessing.resource_tracker + • multiprocessing.shared_memory + • multiprocessing.util + • os + • queue + • signal + • sys + • threading + • time + • traceback + • types + +
+
+imported by: + multiprocessing.context + +
+ +
+ +
+ + multiprocessing.pool +SourceModule
+imports: + collections + • itertools + • multiprocessing + • multiprocessing.TimeoutError + • multiprocessing.connection + • multiprocessing.dummy + • multiprocessing.get_context + • multiprocessing.util + • os + • queue + • threading + • time + • traceback + • types + • warnings + +
+
+imported by: + multiprocessing + • multiprocessing.context + • multiprocessing.dummy + • multiprocessing.managers + +
+ +
+ +
+ + multiprocessing.popen_fork +SourceModule
+imports: + multiprocessing + • multiprocessing.connection + • multiprocessing.util + • os + • signal + +
+
+imported by: + multiprocessing.context + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + +
+ +
+ +
+ + multiprocessing.popen_forkserver +SourceModule
+imports: + io + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.popen_fork + • multiprocessing.spawn + • multiprocessing.util + • os + +
+
+imported by: + multiprocessing.context + +
+ +
+ +
+ + multiprocessing.popen_spawn_posix +SourceModule
+imports: + io + • multiprocessing + • multiprocessing.context + • multiprocessing.popen_fork + • multiprocessing.resource_tracker + • multiprocessing.spawn + • multiprocessing.util + • os + +
+
+imported by: + multiprocessing.context + +
+ +
+ +
+ + multiprocessing.popen_spawn_win32 +SourceModule
+imports: + _winapi + • msvcrt + • multiprocessing + • multiprocessing.context + • multiprocessing.spawn + • multiprocessing.util + • os + • signal + • sys + +
+
+imported by: + multiprocessing.context + +
+ +
+ +
+ + multiprocessing.process +SourceModule
+imports: + _weakrefset + • itertools + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.util + • os + • signal + • sys + • threading + • traceback + +
+
+imported by: + multiprocessing + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.managers + • multiprocessing.resource_sharer + • multiprocessing.spawn + • multiprocessing.synchronize + • multiprocessing.util + +
+ +
+ +
+ + multiprocessing.queues +SourceModule
+imports: + _multiprocessing + • collections + • errno + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.synchronize + • multiprocessing.util + • os + • queue + • sys + • threading + • time + • traceback + • types + • weakref + +
+
+imported by: + concurrent.futures.process + • multiprocessing.context + +
+ +
+ +
+ + multiprocessing.reduction +SourceModule
+imports: + _winapi + • abc + • array + • copyreg + • functools + • io + • multiprocessing + • multiprocessing.context + • multiprocessing.resource_sharer + • os + • pickle + • socket + • sys + +
+
+imported by: + multiprocessing + • multiprocessing.context + +
+ +
+ +
+ + multiprocessing.resource_sharer +SourceModule
+imports: + multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.process + • multiprocessing.util + • os + • signal + • socket + • sys + • threading + +
+
+imported by: + multiprocessing + • multiprocessing.connection + • multiprocessing.reduction + +
+ +
+ +
+ + multiprocessing.resource_tracker +SourceModule
+imports: + _multiprocessing + • _posixshmem + • multiprocessing + • multiprocessing.spawn + • multiprocessing.util + • os + • signal + • sys + • threading + • warnings + +
+
+imported by: + multiprocessing + • multiprocessing.forkserver + • multiprocessing.managers + • multiprocessing.popen_spawn_posix + • multiprocessing.shared_memory + • multiprocessing.spawn + • multiprocessing.synchronize + • multiprocessing.util + +
+ +
+ +
+ + multiprocessing.set_start_method +MissingModule
+imported by: + multiprocessing + • multiprocessing.spawn + +
+ +
+ +
+ + multiprocessing.shared_memory +SourceModule
+imports: + _posixshmem + • _winapi + • errno + • functools + • mmap + • multiprocessing + • multiprocessing.resource_tracker + • os + • secrets + • struct + • types + +
+
+imported by: + multiprocessing + • multiprocessing.managers + +
+ +
+ +
+ + multiprocessing.sharedctypes +SourceModule
+imports: + ctypes + • multiprocessing + • multiprocessing.context + • multiprocessing.get_context + • multiprocessing.heap + • weakref + +
+
+imported by: + multiprocessing.context + +
+ +
+ +
+ + multiprocessing.spawn +SourceModule
+imports: + _winapi + • msvcrt + • multiprocessing + • multiprocessing.context + • multiprocessing.get_start_method + • multiprocessing.process + • multiprocessing.resource_tracker + • multiprocessing.set_start_method + • multiprocessing.util + • os + • runpy + • sys + • types + +
+
+imported by: + multiprocessing + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.popen_spawn_win32 + • multiprocessing.resource_tracker + • pyi_rth_multiprocessing.py + +
+ +
+ +
+ + multiprocessing.synchronize +SourceModule
+imports: + _multiprocessing + • multiprocessing + • multiprocessing.context + • multiprocessing.heap + • multiprocessing.process + • multiprocessing.resource_tracker + • multiprocessing.util + • struct + • sys + • tempfile + • threading + • time + +
+
+imported by: + concurrent.futures.process + • multiprocessing.context + • multiprocessing.queues + +
+ +
+ +
+ + multiprocessing.util +SourceModule
+imports: + _posixsubprocess + • atexit + • itertools + • logging + • multiprocessing + • multiprocessing.forkserver + • multiprocessing.process + • multiprocessing.resource_tracker + • os + • shutil + • subprocess + • sys + • tempfile + • threading + • traceback + • weakref + +
+
+imported by: + multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.heap + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.popen_fork + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • multiprocessing.spawn + • multiprocessing.synchronize + +
+ +
+ +
+ + netrc +SourceModule
+imports: + os + • pwd + • shlex + • stat + +
+
+imported by: + ftplib + • requests.utils + +
+ +
+ +
+ + nt (builtin module)
+imported by: + ctypes + • importlib._bootstrap_external + • ntpath + • os + • shutil + +
+ +
+ +
+ + ntpath +SourceModule
+imports: + _winapi + • genericpath + • nt + • os + • stat + • string + • sys + +
+
+imported by: + md2gost_exe.py + • os + • os.path + • pathlib + • pkg_resources + +
+ +
+ +
+ + nturl2path +SourceModule
+imports: + string + • urllib.parse + +
+
+imported by: + urllib.request + +
+ +
+ +
+ + numbers +SourceModule
+imports: + abc + +
+
+imported by: + PIL.ImageDraw + • PIL.TiffImagePlugin + • _pydecimal + • fractions + • jinja2.tests + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.axis + • matplotlib.collections + • matplotlib.colors + • matplotlib.contour + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.gridspec + • matplotlib.legend + • matplotlib.lines + • matplotlib.mlab + • matplotlib.patches + • matplotlib.rcsetup + • matplotlib.text + • matplotlib.ticker + • matplotlib.units + • matplotlib.widgets + • numpy.core.arrayprint + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.polynomial._polybase + • setuptools.dist + • statistics + +
+ +
+ +
+ + numpy +Package
+imports: + builtins + • math + • numpy + • numpy.__config__ + • numpy._distributor_init + • numpy._distributor_init_local + • numpy._globals + • numpy._pytesttester + • numpy.amax + • numpy.amin + • numpy.array + • numpy.array_api + • numpy.bool_ + • numpy.bytes_ + • numpy.compat + • numpy.complexfloating + • numpy.core + • numpy.core._dtype_ctypes + • numpy.core._multiarray_tests + • numpy.ctypeslib + • numpy.datetime64 + • numpy.dtype + • numpy.dtypes + • numpy.exceptions + • numpy.expand_dims + • numpy.eye + • numpy.fft + • numpy.float32 + • numpy.float64 + • numpy.floating + • numpy.generic + • numpy.histogramdd + • numpy.int16 + • numpy.int32 + • numpy.int64 + • numpy.int8 + • numpy.integer + • numpy.iscomplexobj + • numpy.isfinite + • numpy.isinf + • numpy.isnan + • numpy.lib + • numpy.linalg + • numpy.ma + • numpy.matrixlib + • numpy.ndarray + • numpy.number + • numpy.object_ + • numpy.polynomial + • numpy.random + • numpy.recarray + • numpy.str_ + • numpy.testing + • numpy.timedelta64 + • numpy.ufunc + • numpy.uint16 + • numpy.uint32 + • numpy.uint64 + • numpy.uint8 + • numpy.unsignedinteger + • numpy.version + • numpy.void + • os + • pathlib + • sys + • warnings + +
+
+imported by: + PIL.Image + • contourpy + • contourpy.array + • contourpy.convert + • contourpy.typecheck + • contourpy.types + • matplotlib + • matplotlib._cm + • matplotlib._constrained_layout + • matplotlib._enums + • matplotlib._layoutgrid + • matplotlib._mathtext + • matplotlib._tight_layout + • matplotlib.artist + • matplotlib.axes._axes + • matplotlib.axes._base + • matplotlib.axes._secondary_axes + • matplotlib.axis + • matplotlib.backend_bases + • matplotlib.backend_tools + • matplotlib.backends.backend_agg + • matplotlib.bezier + • matplotlib.category + • matplotlib.cbook + • matplotlib.cm + • matplotlib.collections + • matplotlib.colorbar + • matplotlib.colors + • matplotlib.contour + • matplotlib.dates + • matplotlib.dviread + • matplotlib.figure + • matplotlib.gridspec + • matplotlib.hatch + • matplotlib.image + • matplotlib.legend + • matplotlib.legend_handler + • matplotlib.lines + • matplotlib.markers + • matplotlib.mlab + • matplotlib.offsetbox + • matplotlib.patches + • matplotlib.path + • matplotlib.patheffects + • matplotlib.projections.geo + • matplotlib.projections.polar + • matplotlib.pyplot + • matplotlib.quiver + • matplotlib.rcsetup + • matplotlib.scale + • matplotlib.spines + • matplotlib.stackplot + • matplotlib.streamplot + • matplotlib.table + • matplotlib.texmanager + • matplotlib.text + • matplotlib.textpath + • matplotlib.ticker + • matplotlib.transforms + • matplotlib.tri._triangulation + • matplotlib.tri._tricontour + • matplotlib.tri._trifinder + • matplotlib.tri._triinterpolate + • matplotlib.tri._tripcolor + • matplotlib.tri._triplot + • matplotlib.tri._trirefine + • matplotlib.tri._tritools + • matplotlib.units + • matplotlib.widgets + • mpl_toolkits.mplot3d.art3d + • mpl_toolkits.mplot3d.axes3d + • mpl_toolkits.mplot3d.axis3d + • mpl_toolkits.mplot3d.proj3d + • numpy + • numpy.__config__ + • numpy._distributor_init + • numpy._globals + • numpy._pytesttester + • numpy._typing + • numpy._typing._array_like + • numpy._typing._dtype_like + • numpy._typing._scalars + • numpy._utils + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._constants + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._dtypes + • numpy.array_api._elementwise_functions + • numpy.array_api._indexing_functions + • numpy.array_api._manipulation_functions + • numpy.array_api._searching_functions + • numpy.array_api._set_functions + • numpy.array_api._sorting_functions + • numpy.array_api._statistical_functions + • numpy.array_api._typing + • numpy.array_api._utility_functions + • numpy.array_api.linalg + • numpy.compat + • numpy.core + • numpy.core._dtype + • numpy.core._dtype_ctypes + • numpy.core._internal + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.memmap + • numpy.core.numeric + • numpy.ctypeslib + • numpy.dtypes + • numpy.exceptions + • numpy.fft + • numpy.lib + • numpy.lib._iotools + • numpy.lib.arraypad + • numpy.lib.arraysetops + • numpy.lib.format + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.index_tricks + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.recfunctions + • numpy.lib.stride_tricks + • numpy.lib.twodim_base + • numpy.lib.utils + • numpy.linalg + • numpy.linalg.linalg + • numpy.ma + • numpy.ma.core + • numpy.ma.extras + • numpy.ma.mrecords + • numpy.matrixlib + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + • numpy.random + • numpy.testing + • numpy.testing._private.utils + • numpy.testing.overrides + • numpy.typing + • numpy.version + +
+ +
+ +
+ + numpy.__config__ +SourceModule
+imports: + enum + • json + • numpy + • numpy.core._multiarray_umath + • warnings + • yaml + +
+
+imported by: + numpy + +
+ +
+ +
+ + numpy._distributor_init +SourceModule
+imports: + numpy + • numpy._distributor_init_local + +
+
+imported by: + numpy + +
+ +
+ +
+ + numpy._distributor_init_local +MissingModule
+imported by: + numpy + • numpy._distributor_init + +
+ +
+ +
+ + numpy._globals +SourceModule
+imports: + enum + • numpy + • numpy._utils + +
+
+imported by: + numpy + • numpy.core._methods + +
+ +
+ +
+ + numpy._pytesttester +SourceModule
+imports: + numpy + • numpy.array_api + • numpy.testing + • os + • sys + • warnings + +
+
+imported by: + numpy + • numpy.core + • numpy.fft + • numpy.lib + • numpy.linalg + • numpy.ma + • numpy.matrixlib + • numpy.polynomial + • numpy.random + • numpy.testing + • numpy.typing + +
+ +
+ +
+ + numpy._typing +Package
+imports: + __future__ + • numpy + • numpy._typing._array_like + • numpy._typing._char_codes + • numpy._typing._dtype_like + • numpy._typing._nbit + • numpy._typing._nested_sequence + • numpy._typing._scalars + • numpy._typing._shape + • numpy._typing._ufunc + • numpy._utils + • numpy.ufunc + • typing + +
+
+imported by: + numpy._typing._add_docstring + • numpy._typing._array_like + • numpy._typing._char_codes + • numpy._typing._dtype_like + • numpy._typing._nbit + • numpy._typing._nested_sequence + • numpy._typing._scalars + • numpy._typing._shape + • numpy.linalg.linalg + • numpy.typing + +
+ +
+ +
+ + numpy._typing._add_docstring +SourceModule
+imports: + numpy._typing + • numpy._typing._array_like + • re + • textwrap + +
+
+imported by: + numpy.typing + +
+ +
+ +
+ + numpy._typing._array_like +SourceModule
+imports: + __future__ + • collections.abc + • numpy + • numpy._typing + • numpy._typing._nested_sequence + • numpy.bool_ + • numpy.bytes_ + • numpy.complexfloating + • numpy.datetime64 + • numpy.dtype + • numpy.floating + • numpy.generic + • numpy.integer + • numpy.ndarray + • numpy.number + • numpy.object_ + • numpy.str_ + • numpy.timedelta64 + • numpy.unsignedinteger + • numpy.void + • sys + • typing + +
+
+imported by: + numpy._typing + • numpy._typing._add_docstring + +
+ +
+ +
+ + numpy._typing._char_codes +SourceModule
+imports: + numpy._typing + • typing + +
+
+imported by: + numpy._typing + • numpy._typing._dtype_like + +
+ +
+ +
+ + numpy._typing._dtype_like +SourceModule
+imports: + collections.abc + • numpy + • numpy._typing + • numpy._typing._char_codes + • numpy._typing._shape + • typing + +
+
+imported by: + numpy._typing + +
+ +
+ +
+ + numpy._typing._nbit +SourceModule
+imports: + numpy._typing + • typing + +
+
+imported by: + numpy._typing + +
+ +
+ +
+ + numpy._typing._nested_sequence +SourceModule
+imports: + __future__ + • collections.abc + • numpy._typing + • typing + +
+
+imported by: + numpy._typing + • numpy._typing._array_like + +
+ +
+ +
+ + numpy._typing._scalars +SourceModule
+imports: + numpy + • numpy._typing + • typing + +
+
+imported by: + numpy._typing + +
+ +
+ +
+ + numpy._typing._shape +SourceModule
+imports: + collections.abc + • numpy._typing + • typing + +
+
+imported by: + numpy._typing + • numpy._typing._dtype_like + +
+ +
+ +
+ + numpy._typing._ufunc +MissingModule
+imported by: + numpy._typing + +
+ +
+ +
+ + numpy._utils +Package
+imports: + numpy + • numpy._utils._convertions + +
+
+imported by: + numpy._globals + • numpy._typing + • numpy._utils._convertions + • numpy._utils._inspect + • numpy.compat + • numpy.core._exceptions + • numpy.core._machar + • numpy.core._ufunc_config + • numpy.core.defchararray + • numpy.core.fromnumeric + • numpy.core.getlimits + • numpy.core.memmap + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.core.records + • numpy.lib._datasource + • numpy.lib.function_base + • numpy.lib.index_tricks + • numpy.lib.polynomial + • numpy.lib.type_check + • numpy.lib.utils + • numpy.linalg.linalg + • numpy.matrixlib.defmatrix + +
+ +
+ +
+ + numpy._utils._convertions +SourceModule
+imports: + numpy._utils + +
+
+imported by: + numpy._utils + +
+ +
+ +
+ + numpy._utils._inspect +SourceModule
+imports: + numpy._utils + • types + +
+
+imported by: + numpy.compat + • numpy.core.overrides + +
+ +
+ +
+ + numpy.amax +MissingModule
+imported by: + numpy + • numpy.ma.core + +
+ +
+ +
+ + numpy.amin +MissingModule
+imported by: + numpy + • numpy.ma.core + +
+ +
+ +
+ + numpy.array +MissingModule
+imported by: + numpy + • numpy.ma.core + • numpy.ma.extras + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.array_api +Package
+imports: + numpy + • numpy.array_api + • numpy.array_api._constants + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._dtypes + • numpy.array_api._elementwise_functions + • numpy.array_api._indexing_functions + • numpy.array_api._manipulation_functions + • numpy.array_api._searching_functions + • numpy.array_api._set_functions + • numpy.array_api._sorting_functions + • numpy.array_api._statistical_functions + • numpy.array_api._utility_functions + • numpy.array_api.linalg + • warnings + +
+
+imported by: + numpy + • numpy._pytesttester + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._constants + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._dtypes + • numpy.array_api._elementwise_functions + • numpy.array_api._indexing_functions + • numpy.array_api._manipulation_functions + • numpy.array_api._searching_functions + • numpy.array_api._set_functions + • numpy.array_api._sorting_functions + • numpy.array_api._statistical_functions + • numpy.array_api._typing + • numpy.array_api._utility_functions + • numpy.array_api.linalg + +
+ +
+ +
+ + numpy.array_api._array_object +SourceModule
+imports: + __future__ + • enum + • numpy + • numpy.array_api + • numpy.array_api._creation_functions + • numpy.array_api._dtypes + • numpy.array_api._elementwise_functions + • numpy.array_api._typing + • numpy.array_api.linalg + • numpy.typing + • operator + • types + • typing + +
+
+imported by: + numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._elementwise_functions + • numpy.array_api._indexing_functions + • numpy.array_api._manipulation_functions + • numpy.array_api._searching_functions + • numpy.array_api._set_functions + • numpy.array_api._sorting_functions + • numpy.array_api._statistical_functions + • numpy.array_api._typing + • numpy.array_api._utility_functions + • numpy.array_api.linalg + +
+ +
+ +
+ + numpy.array_api._constants +SourceModule
+imports: + numpy + • numpy.array_api + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api._creation_functions +SourceModule
+imports: + __future__ + • collections.abc + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + • numpy.array_api._typing + • typing + +
+
+imported by: + numpy.array_api + • numpy.array_api._array_object + +
+ +
+ +
+ + numpy.array_api._data_type_functions +SourceModule
+imports: + __future__ + • collections.abc + • dataclasses + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + • numpy.array_api._typing + • typing + +
+
+imported by: + numpy.array_api + • numpy.array_api._manipulation_functions + +
+ +
+ +
+ + numpy.array_api._dtypes +SourceModule
+imports: + numpy + • numpy.array_api + +
+
+imported by: + numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._elementwise_functions + • numpy.array_api._indexing_functions + • numpy.array_api._searching_functions + • numpy.array_api._sorting_functions + • numpy.array_api._statistical_functions + • numpy.array_api.linalg + +
+ +
+ +
+ + numpy.array_api._elementwise_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + +
+
+imported by: + numpy.array_api + • numpy.array_api._array_object + +
+ +
+ +
+ + numpy.array_api._indexing_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api._manipulation_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._data_type_functions + • typing + +
+
+imported by: + numpy.array_api + • numpy.array_api.linalg + +
+ +
+ +
+ + numpy.array_api._searching_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + • typing + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api._set_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • typing + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api._sorting_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api._statistical_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + • numpy.array_api._typing + • typing + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api._typing +SourceModule
+imports: + __future__ + • collections.abc + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.dtype + • numpy.float32 + • numpy.float64 + • numpy.int16 + • numpy.int32 + • numpy.int64 + • numpy.int8 + • numpy.uint16 + • numpy.uint32 + • numpy.uint64 + • numpy.uint8 + • sys + • typing + +
+
+imported by: + numpy.array_api._array_object + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._statistical_functions + • numpy.array_api.linalg + +
+ +
+ +
+ + numpy.array_api._utility_functions +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • typing + +
+
+imported by: + numpy.array_api + +
+ +
+ +
+ + numpy.array_api.linalg +SourceModule
+imports: + __future__ + • numpy + • numpy.array_api + • numpy.array_api._array_object + • numpy.array_api._dtypes + • numpy.array_api._manipulation_functions + • numpy.array_api._typing + • numpy.core.numeric + • numpy.linalg + • numpy.linalg._umath_linalg + • numpy.linalg.linalg + • typing + +
+
+imported by: + numpy.array_api + • numpy.array_api._array_object + +
+ +
+ +
+ + numpy.bool_ +MissingModule
+imported by: + numpy + • numpy._typing._array_like + • numpy.ma.core + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.bytes_ +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.compat +Package
+imports: + numpy + • numpy._utils + • numpy._utils._inspect + • numpy.compat + • numpy.compat.py3k + +
+
+imported by: + numpy + • numpy.compat + • numpy.compat.py3k + • numpy.core._methods + • numpy.core._type_aliases + • numpy.core.defchararray + • numpy.core.memmap + • numpy.core.numerictypes + • numpy.core.records + • numpy.lib._iotools + • numpy.lib.format + • numpy.lib.npyio + • numpy.ma.core + +
+ +
+ +
+ + numpy.compat.py3k +SourceModule
+imports: + importlib.machinery + • io + • numpy.compat + • os + • pathlib + • pickle + • pickle5 + • sys + +
+
+imported by: + numpy.compat + +
+ +
+ +
+ + numpy.complexfloating +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.core +Package
+imports: + copyreg + • numpy + • numpy._pytesttester + • numpy.core + • numpy.core.Inf + • numpy.core._add_newdocs + • numpy.core._add_newdocs_scalars + • numpy.core._asarray + • numpy.core._dtype + • numpy.core._dtype_ctypes + • numpy.core._exceptions + • numpy.core._internal + • numpy.core._machar + • numpy.core._methods + • numpy.core.add + • numpy.core.all + • numpy.core.amax + • numpy.core.amin + • numpy.core.arange + • numpy.core.argsort + • numpy.core.array + • numpy.core.array2string + • numpy.core.array_repr + • numpy.core.asanyarray + • numpy.core.asarray + • numpy.core.atleast_1d + • numpy.core.atleast_2d + • numpy.core.atleast_3d + • numpy.core.bool_ + • numpy.core.cdouble + • numpy.core.complexfloating + • numpy.core.conjugate + • numpy.core.count_nonzero + • numpy.core.csingle + • numpy.core.defchararray + • numpy.core.divide + • numpy.core.dot + • numpy.core.double + • numpy.core.einsumfunc + • numpy.core.empty + • numpy.core.empty_like + • numpy.core.errstate + • numpy.core.finfo + • numpy.core.float32 + • numpy.core.float_ + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.geterrobj + • numpy.core.getlimits + • numpy.core.hstack + • numpy.core.iinfo + • numpy.core.inexact + • numpy.core.inf + • numpy.core.intc + • numpy.core.integer + • numpy.core.intp + • numpy.core.isfinite + • numpy.core.isnan + • numpy.core.isnat + • numpy.core.isscalar + • numpy.core.linspace + • numpy.core.matmul + • numpy.core.max + • numpy.core.memmap + • numpy.core.moveaxis + • numpy.core.multiarray + • numpy.core.multiply + • numpy.core.ndarray + • numpy.core.newaxis + • numpy.core.number + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.object_ + • numpy.core.ones + • numpy.core.overrides + • numpy.core.prod + • numpy.core.reciprocal + • numpy.core.records + • numpy.core.result_type + • numpy.core.shape_base + • numpy.core.sign + • numpy.core.signbit + • numpy.core.single + • numpy.core.sort + • numpy.core.sqrt + • numpy.core.sum + • numpy.core.swapaxes + • numpy.core.transpose + • numpy.core.ufunc + • numpy.core.umath + • numpy.core.vstack + • numpy.core.zeros + • numpy.version + • os + • sys + • warnings + +
+
+imported by: + numpy + • numpy.core + • numpy.core._add_newdocs + • numpy.core._add_newdocs_scalars + • numpy.core._asarray + • numpy.core._dtype + • numpy.core._dtype_ctypes + • numpy.core._exceptions + • numpy.core._internal + • numpy.core._machar + • numpy.core._methods + • numpy.core._multiarray_tests + • numpy.core._multiarray_umath + • numpy.core._string_helpers + • numpy.core._type_aliases + • numpy.core._ufunc_config + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.einsumfunc + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.getlimits + • numpy.core.memmap + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.core.records + • numpy.core.shape_base + • numpy.core.umath + • numpy.fft._pocketfft + • numpy.fft.helper + • numpy.lib.arraysetops + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.index_tricks + • numpy.lib.mixins + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.shape_base + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.lib.utils + • numpy.linalg.linalg + • numpy.ma.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.Inf +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core._add_newdocs +SourceModule
+imports: + numpy.core + • numpy.core.function_base + • numpy.core.overrides + +
+
+imported by: + numpy.core + +
+ +
+ +
+ + numpy.core._add_newdocs_scalars +SourceModule
+imports: + numpy.core + • numpy.core.function_base + • numpy.core.numerictypes + • os + • sys + +
+
+imported by: + numpy.core + +
+ +
+ +
+ + numpy.core._asarray +SourceModule
+imports: + numpy.core + • numpy.core.multiarray + • numpy.core.overrides + +
+
+imported by: + numpy.core + • numpy.core.numeric + +
+ +
+ +
+ + numpy.core._dtype +SourceModule
+imports: + numpy + • numpy.core + +
+
+imported by: + numpy.core + • numpy.core._type_aliases + • numpy.core.numerictypes + +
+ +
+ +
+ + numpy.core._dtype_ctypes +SourceModule
+imports: + _ctypes + • ctypes + • numpy + • numpy.core + +
+
+imported by: + numpy + • numpy.core + +
+ +
+ +
+ + numpy.core._exceptions +SourceModule
+imports: + numpy._utils + • numpy.core + +
+
+imported by: + numpy.core + • numpy.core._methods + +
+ +
+ +
+ + numpy.core._internal +SourceModule
+imports: + ast + • ctypes + • numpy + • numpy.core + • numpy.core.multiarray + • numpy.exceptions + • re + • sys + • warnings + +
+
+imported by: + numpy.core + • numpy.ctypeslib + +
+ +
+ +
+ + numpy.core._machar +SourceModule
+imports: + math + • numpy._utils + • numpy.core + • numpy.core._ufunc_config + • numpy.core.fromnumeric + +
+
+imported by: + numpy.core + • numpy.core.getlimits + +
+ +
+ +
+ + numpy.core._methods +SourceModule
+imports: + contextlib + • numpy._globals + • numpy.compat + • numpy.core + • numpy.core._exceptions + • numpy.core._ufunc_config + • numpy.core.multiarray + • numpy.core.numerictypes + • numpy.core.umath + • numpy.lib.stride_tricks + • warnings + +
+
+imported by: + numpy.core + • numpy.core.fromnumeric + +
+ +
+ +
+ + numpy.core._multiarray_tests C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\core\_multiarray_tests.cp310-win_amd64.pyd
+imports: + numpy.core + +
+
+imported by: + numpy + +
+ +
+ +
+ + numpy.core._multiarray_umath C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\core\_multiarray_umath.cp310-win_amd64.pyd
+imports: + numpy.core + +
+
+imported by: + numpy.__config__ + • numpy.core.multiarray + • numpy.core.overrides + • numpy.core.umath + • numpy.lib + • numpy.lib.npyio + • numpy.lib.utils + +
+ +
+ +
+ + numpy.core._string_helpers +SourceModule
+imports: + numpy.core + +
+
+imported by: + numpy.core._type_aliases + • numpy.core.numerictypes + +
+ +
+ +
+ + numpy.core._type_aliases +SourceModule
+imports: + numpy.compat + • numpy.core + • numpy.core._dtype + • numpy.core._string_helpers + • numpy.core.multiarray + +
+
+imported by: + numpy.core.numerictypes + +
+ +
+ +
+ + numpy.core._ufunc_config +SourceModule
+imports: + collections.abc + • contextlib + • contextvars + • numpy._utils + • numpy.core + • numpy.core.umath + +
+
+imported by: + numpy.core._machar + • numpy.core._methods + • numpy.core.numeric + +
+ +
+ +
+ + numpy.core.add +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.all +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.amax +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.amin +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.arange +MissingModule
+imported by: + numpy.core + • numpy.fft.helper + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.argsort +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.array +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.array2string +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.array_repr +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.arrayprint +SourceModule
+imports: + _dummy_thread + • _thread + • contextlib + • functools + • numbers + • numpy + • numpy.core + • numpy.core.fromnumeric + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.core.umath + • operator + • sys + • warnings + +
+
+imported by: + numpy.core.numeric + • numpy.core.records + +
+ +
+ +
+ + numpy.core.asanyarray +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.asarray +MissingModule
+imported by: + numpy.core + • numpy.fft._pocketfft + • numpy.fft.helper + • numpy.lib.utils + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.atleast_1d +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + +
+ +
+ +
+ + numpy.core.atleast_2d +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.atleast_3d +MissingModule
+imported by: + numpy.core + • numpy.lib.shape_base + +
+ +
+ +
+ + numpy.core.bool_ +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.cdouble +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.complexfloating +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.conjugate +MissingModule
+imported by: + numpy.core + • numpy.fft._pocketfft + +
+ +
+ +
+ + numpy.core.count_nonzero +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.csingle +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.defchararray +SourceModule
+imports: + functools + • numpy + • numpy._utils + • numpy.compat + • numpy.core + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.overrides + +
+
+imported by: + numpy.core + +
+ +
+ +
+ + numpy.core.divide +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.dot +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.double +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.einsumfunc +SourceModule
+imports: + itertools + • numpy.core + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.overrides + • operator + +
+
+imported by: + numpy.core + +
+ +
+ +
+ + numpy.core.empty +MissingModule
+imported by: + numpy.core + • numpy.fft.helper + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.empty_like +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.errstate +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.finfo +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.float32 +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.float_ +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.fromnumeric +SourceModule
+imports: + functools + • numpy + • numpy._utils + • numpy.core + • numpy.core._methods + • numpy.core.multiarray + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.core.umath + • types + • warnings + +
+
+imported by: + numpy.core + • numpy.core._machar + • numpy.core.arrayprint + • numpy.core.numeric + • numpy.core.shape_base + • numpy.lib.function_base + • numpy.lib.shape_base + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.function_base +SourceModule
+imports: + functools + • numpy + • numpy.core + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.overrides + • operator + • types + • warnings + +
+
+imported by: + numpy.core + • numpy.core._add_newdocs + • numpy.core._add_newdocs_scalars + • numpy.lib.function_base + +
+ +
+ +
+ + numpy.core.geterrobj +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.getlimits +SourceModule
+imports: + numpy._utils + • numpy.core + • numpy.core._machar + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.umath + • warnings + +
+
+imported by: + numpy.core + • numpy.lib.type_check + +
+ +
+ +
+ + numpy.core.hstack +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + +
+ +
+ +
+ + numpy.core.iinfo +MissingModule
+imported by: + numpy.core + • numpy.lib.twodim_base + +
+ +
+ +
+ + numpy.core.inexact +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.inf +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.intc +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.integer +MissingModule
+imported by: + numpy.core + • numpy.fft.helper + +
+ +
+ +
+ + numpy.core.intp +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.isfinite +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.isnan +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.isnat +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.isscalar +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.linspace +MissingModule
+imported by: + numpy.core + • numpy.lib.index_tricks + +
+ +
+ +
+ + numpy.core.matmul +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.max +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.memmap +SourceModule
+imports: + contextlib + • mmap + • numpy + • numpy._utils + • numpy.compat + • numpy.core + • numpy.core.numeric + • os.path + +
+
+imported by: + numpy.core + +
+ +
+ +
+ + numpy.core.moveaxis +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.multiarray +SourceModule
+imports: + functools + • numpy.core + • numpy.core._multiarray_umath + • numpy.core.overrides + +
+
+imported by: + numpy.core + • numpy.core._asarray + • numpy.core._internal + • numpy.core._methods + • numpy.core._type_aliases + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.einsumfunc + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.shape_base + • numpy.ctypeslib + • numpy.fft._pocketfft + • numpy.lib.function_base + • numpy.lib.index_tricks + • numpy.lib.npyio + • numpy.lib.shape_base + • numpy.linalg.linalg + • numpy.ma.core + • numpy.ma.extras + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+ +
+ +
+ + numpy.core.multiply +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.ndarray +MissingModule
+imported by: + numpy.core + • numpy.lib.utils + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.newaxis +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.number +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.numeric +SourceModule
+imports: + builtins + • functools + • itertools + • numbers + • numpy + • numpy.core + • numpy.core._asarray + • numpy.core._ufunc_config + • numpy.core.arrayprint + • numpy.core.fromnumeric + • numpy.core.multiarray + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.core.shape_base + • numpy.core.umath + • numpy.exceptions + • numpy.eye + • operator + • sys + • warnings + +
+
+imported by: + numpy.array_api.linalg + • numpy.core + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.einsumfunc + • numpy.core.function_base + • numpy.core.getlimits + • numpy.core.memmap + • numpy.core.records + • numpy.core.shape_base + • numpy.lib._iotools + • numpy.lib.function_base + • numpy.lib.index_tricks + • numpy.lib.polynomial + • numpy.lib.scimath + • numpy.lib.shape_base + • numpy.lib.stride_tricks + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.lib.ufunclike + • numpy.ma.core + • numpy.ma.extras + • numpy.matrixlib.defmatrix + +
+ +
+ +
+ + numpy.core.numerictypes +SourceModule
+imports: + builtins + • numbers + • numpy._utils + • numpy.compat + • numpy.core + • numpy.core._dtype + • numpy.core._string_helpers + • numpy.core._type_aliases + • numpy.core.multiarray + • warnings + +
+
+imported by: + numpy.core + • numpy.core._add_newdocs_scalars + • numpy.core._methods + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.fromnumeric + • numpy.core.getlimits + • numpy.core.numeric + • numpy.core.records + • numpy.lib.function_base + • numpy.lib.index_tricks + • numpy.lib.scimath + • numpy.lib.utils + • numpy.ma.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.object_ +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.ones +MissingModule
+imported by: + numpy.core + • numpy.lib.polynomial + +
+ +
+ +
+ + numpy.core.overrides +SourceModule
+imports: + collections + • functools + • numpy._utils + • numpy._utils._inspect + • numpy.core + • numpy.core._multiarray_umath + • os + +
+
+imported by: + numpy.core + • numpy.core._add_newdocs + • numpy.core._asarray + • numpy.core.arrayprint + • numpy.core.defchararray + • numpy.core.einsumfunc + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.shape_base + • numpy.fft._pocketfft + • numpy.fft.helper + • numpy.lib.arraypad + • numpy.lib.arraysetops + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.index_tricks + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.recfunctions + • numpy.lib.scimath + • numpy.lib.shape_base + • numpy.lib.stride_tricks + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.lib.ufunclike + • numpy.linalg.linalg + • numpy.testing.overrides + +
+ +
+ +
+ + numpy.core.prod +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.reciprocal +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.records +SourceModule
+imports: + collections + • contextlib + • numpy._utils + • numpy.compat + • numpy.core + • numpy.core.arrayprint + • numpy.core.numeric + • numpy.core.numerictypes + • warnings + +
+
+imported by: + numpy.core + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.core.result_type +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.shape_base +SourceModule
+imports: + functools + • itertools + • numpy.core + • numpy.core.fromnumeric + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.overrides + • operator + • warnings + +
+
+imported by: + numpy.core + • numpy.core.numeric + • numpy.lib.shape_base + +
+ +
+ +
+ + numpy.core.sign +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.signbit +MissingModule
+imported by: + numpy.core + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.core.single +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.sort +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.sqrt +MissingModule
+imported by: + numpy.core + • numpy.fft._pocketfft + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.sum +MissingModule
+imported by: + numpy.core + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.swapaxes +MissingModule
+imported by: + numpy.core + • numpy.fft._pocketfft + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.core.transpose +MissingModule
+imported by: + numpy.core + • numpy.lib.function_base + +
+ +
+ +
+ + numpy.core.ufunc +MissingModule
+imported by: + numpy.core + • numpy.lib.utils + +
+ +
+ +
+ + numpy.core.umath +SourceModule
+imports: + numpy.core + • numpy.core._multiarray_umath + +
+
+imported by: + numpy.core + • numpy.core._methods + • numpy.core._ufunc_config + • numpy.core.arrayprint + • numpy.core.fromnumeric + • numpy.core.getlimits + • numpy.core.numeric + • numpy.lib.function_base + • numpy.lib.mixins + • numpy.ma.core + • numpy.polynomial.polyutils + • numpy.testing.overrides + +
+ +
+ +
+ + numpy.core.vstack +MissingModule
+imported by: + numpy.core + • numpy.lib.shape_base + +
+ +
+ +
+ + numpy.core.zeros +MissingModule
+imported by: + numpy.core + • numpy.fft._pocketfft + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.ctypeslib +SourceModule
+imports: + ctypes + • numpy + • numpy.core._internal + • numpy.core.multiarray + • numpy.dtype + • numpy.integer + • numpy.ndarray + • os + • sys + • sysconfig + +
+
+imported by: + numpy + +
+ +
+ +
+ + numpy.datetime64 +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.dtype +MissingModule
+imported by: + numpy + • numpy._typing._array_like + • numpy.array_api._typing + • numpy.ctypeslib + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.dtypes +SourceModule
+imports: + numpy + • numpy.dtypes + +
+
+imported by: + numpy + • numpy.dtypes + +
+ +
+ +
+ + numpy.exceptions +SourceModule
+imports: + numpy + +
+
+imported by: + matplotlib.cbook + • numpy + • numpy.core._internal + • numpy.core.numeric + +
+ +
+ +
+ + numpy.expand_dims +MissingModule
+imported by: + numpy + • numpy.ma.core + +
+ +
+ +
+ + numpy.eye +MissingModule
+imported by: + numpy + • numpy.core.numeric + +
+ +
+ +
+ + numpy.fft +Package
+imports: + numpy + • numpy._pytesttester + • numpy.fft + • numpy.fft._pocketfft + • numpy.fft._pocketfft_internal + • numpy.fft.helper + +
+
+imported by: + numpy + • numpy.fft + • numpy.fft._pocketfft + • numpy.fft._pocketfft_internal + • numpy.fft.helper + +
+ +
+ +
+ + numpy.fft._pocketfft +SourceModule
+imports: + functools + • numpy.core + • numpy.core.asarray + • numpy.core.conjugate + • numpy.core.multiarray + • numpy.core.overrides + • numpy.core.sqrt + • numpy.core.swapaxes + • numpy.core.zeros + • numpy.fft + • numpy.fft._pocketfft_internal + +
+
+imported by: + numpy.fft + +
+ +
+ +
+ + numpy.fft._pocketfft_internal C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\fft\_pocketfft_internal.cp310-win_amd64.pyd
+imports: + numpy.fft + +
+
+imported by: + numpy.fft + • numpy.fft._pocketfft + +
+ +
+ +
+ + numpy.fft.helper +SourceModule
+imports: + numpy.core + • numpy.core.arange + • numpy.core.asarray + • numpy.core.empty + • numpy.core.integer + • numpy.core.overrides + • numpy.fft + +
+
+imported by: + numpy.fft + +
+ +
+ +
+ + numpy.float32 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.float64 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.floating +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.generic +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.histogramdd +MissingModule
+imported by: + numpy + • numpy.lib.twodim_base + +
+ +
+ +
+ + numpy.int16 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.int32 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.int64 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.int8 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.integer +MissingModule
+imported by: + numpy + • numpy._typing._array_like + • numpy.ctypeslib + +
+ +
+ +
+ + numpy.iscomplexobj +MissingModule
+imported by: + numpy + • numpy.ma.core + +
+ +
+ +
+ + numpy.isfinite +MissingModule
+imported by: + numpy + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.isinf +MissingModule
+imported by: + numpy + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.isnan +MissingModule
+imported by: + numpy + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.lib +Package
+imports: + math + • numpy + • numpy._pytesttester + • numpy.core._multiarray_umath + • numpy.lib + • numpy.lib._version + • numpy.lib.arraypad + • numpy.lib.arraysetops + • numpy.lib.arrayterator + • numpy.lib.format + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.imag + • numpy.lib.index_tricks + • numpy.lib.iscomplexobj + • numpy.lib.mixins + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.real + • numpy.lib.recfunctions + • numpy.lib.scimath + • numpy.lib.shape_base + • numpy.lib.stride_tricks + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.lib.ufunclike + • numpy.lib.utils + • warnings + +
+
+imported by: + numpy + • numpy.lib + • numpy.lib._datasource + • numpy.lib._iotools + • numpy.lib._version + • numpy.lib.arraypad + • numpy.lib.arraysetops + • numpy.lib.arrayterator + • numpy.lib.format + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.index_tricks + • numpy.lib.mixins + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.recfunctions + • numpy.lib.scimath + • numpy.lib.shape_base + • numpy.lib.stride_tricks + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.lib.ufunclike + • numpy.lib.utils + • numpy.testing._private.utils + • numpy.testing.overrides + +
+ +
+ +
+ + numpy.lib._datasource +SourceModule
+imports: + bz2 + • gzip + • io + • lzma + • numpy._utils + • numpy.lib + • os + • shutil + • tempfile + • urllib.error + • urllib.parse + • urllib.request + +
+
+imported by: + numpy.lib.npyio + +
+ +
+ +
+ + numpy.lib._iotools +SourceModule
+imports: + numpy + • numpy.compat + • numpy.core.numeric + • numpy.lib + +
+
+imported by: + numpy.lib.npyio + • numpy.lib.recfunctions + +
+ +
+ +
+ + numpy.lib._version +SourceModule
+imports: + numpy.lib + • re + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.arraypad +SourceModule
+imports: + numpy + • numpy.core.overrides + • numpy.lib + • numpy.lib.index_tricks + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.arraysetops +SourceModule
+imports: + functools + • numpy + • numpy.core + • numpy.core.overrides + • numpy.lib + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.arrayterator +SourceModule
+imports: + functools + • numpy.lib + • operator + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.format +SourceModule
+imports: + io + • numpy + • numpy.compat + • numpy.lib + • numpy.lib.utils + • struct + • tokenize + • warnings + +
+
+imported by: + numpy.lib + • numpy.lib.npyio + +
+ +
+ +
+ + numpy.lib.function_base +SourceModule
+imports: + builtins + • collections.abc + • functools + • numpy + • numpy._utils + • numpy.core + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.core.transpose + • numpy.core.umath + • numpy.lib + • numpy.lib.histograms + • numpy.lib.twodim_base + • re + • sys + • warnings + +
+
+imported by: + numpy.lib + • numpy.lib.index_tricks + • numpy.lib.nanfunctions + • numpy.lib.polynomial + • numpy.ma.core + • numpy.ma.extras + +
+ +
+ +
+ + numpy.lib.histograms +SourceModule
+imports: + contextlib + • functools + • numpy + • numpy.core + • numpy.core.overrides + • numpy.lib + • operator + • warnings + +
+
+imported by: + numpy.lib + • numpy.lib.function_base + +
+ +
+ +
+ + numpy.lib.imag +MissingModule
+imported by: + numpy.lib + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.lib.index_tricks +SourceModule
+imports: + functools + • math + • numpy + • numpy._utils + • numpy.core + • numpy.core.linspace + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.lib + • numpy.lib.function_base + • numpy.lib.stride_tricks + • numpy.matrixlib + • sys + • warnings + +
+
+imported by: + numpy.lib + • numpy.lib.arraypad + • numpy.lib.shape_base + • numpy.ma.extras + +
+ +
+ +
+ + numpy.lib.iscomplexobj +MissingModule
+imported by: + numpy.lib + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.lib.mixins +SourceModule
+imports: + numpy.core + • numpy.core.umath + • numpy.lib + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.nanfunctions +SourceModule
+imports: + functools + • numpy + • numpy.core + • numpy.core.overrides + • numpy.lib + • numpy.lib.function_base + • warnings + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.npyio +SourceModule
+imports: + collections.abc + • contextlib + • functools + • itertools + • numpy + • numpy.compat + • numpy.core + • numpy.core._multiarray_umath + • numpy.core.multiarray + • numpy.core.overrides + • numpy.lib + • numpy.lib._datasource + • numpy.lib._iotools + • numpy.lib.format + • numpy.ma + • numpy.ma.mrecords + • operator + • os + • re + • warnings + • weakref + • zipfile + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.polynomial +SourceModule
+imports: + functools + • numpy._utils + • numpy.core + • numpy.core.array + • numpy.core.atleast_1d + • numpy.core.dot + • numpy.core.finfo + • numpy.core.hstack + • numpy.core.isscalar + • numpy.core.numeric + • numpy.core.ones + • numpy.core.overrides + • numpy.lib + • numpy.lib.function_base + • numpy.lib.twodim_base + • numpy.lib.type_check + • numpy.linalg + • re + • warnings + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.real +MissingModule
+imported by: + numpy.lib + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.lib.recfunctions +SourceModule
+imports: + itertools + • numpy + • numpy.core.overrides + • numpy.lib + • numpy.lib._iotools + • numpy.ma + • numpy.ma.mrecords + • numpy.ndarray + • numpy.recarray + +
+
+imported by: + numpy.lib + • numpy.testing.overrides + +
+ +
+ +
+ + numpy.lib.scimath +SourceModule
+imports: + numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.overrides + • numpy.lib + • numpy.lib.type_check + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.shape_base +SourceModule
+imports: + functools + • numpy.core + • numpy.core.atleast_3d + • numpy.core.fromnumeric + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.overrides + • numpy.core.shape_base + • numpy.core.vstack + • numpy.lib + • numpy.lib.index_tricks + • numpy.matrixlib.defmatrix + +
+
+imported by: + numpy.lib + +
+ +
+ +
+ + numpy.lib.stride_tricks +SourceModule
+imports: + numpy + • numpy.core.numeric + • numpy.core.overrides + • numpy.lib + +
+
+imported by: + numpy.core._methods + • numpy.lib + • numpy.lib.index_tricks + • numpy.lib.twodim_base + +
+ +
+ +
+ + numpy.lib.twodim_base +SourceModule
+imports: + functools + • numpy + • numpy.core + • numpy.core.iinfo + • numpy.core.numeric + • numpy.core.overrides + • numpy.histogramdd + • numpy.lib + • numpy.lib.stride_tricks + • operator + +
+
+imported by: + numpy.lib + • numpy.lib.function_base + • numpy.lib.polynomial + • numpy.linalg.linalg + +
+ +
+ +
+ + numpy.lib.type_check +SourceModule
+imports: + functools + • numpy._utils + • numpy.core + • numpy.core.getlimits + • numpy.core.numeric + • numpy.core.overrides + • numpy.lib + • numpy.lib.ufunclike + +
+
+imported by: + numpy.lib + • numpy.lib.polynomial + • numpy.lib.scimath + +
+ +
+ +
+ + numpy.lib.ufunclike +SourceModule
+imports: + functools + • numpy.core.numeric + • numpy.core.overrides + • numpy.lib + • warnings + +
+
+imported by: + numpy.lib + • numpy.lib.type_check + +
+ +
+ +
+ + numpy.lib.utils +SourceModule
+imports: + ast + • functools + • inspect + • io + • numpy + • numpy._utils + • numpy.core + • numpy.core._multiarray_umath + • numpy.core.asarray + • numpy.core.ndarray + • numpy.core.numerictypes + • numpy.core.ufunc + • numpy.lib + • os + • platform + • pprint + • pydoc + • re + • sys + • textwrap + • threadpoolctl + • types + • warnings + +
+
+imported by: + numpy.lib + • numpy.lib.format + +
+ +
+ +
+ + numpy.linalg +Package
+imports: + numpy + • numpy._pytesttester + • numpy.linalg + • numpy.linalg._umath_linalg + • numpy.linalg.linalg + +
+
+imported by: + matplotlib.transforms + • numpy + • numpy.array_api.linalg + • numpy.lib.polynomial + • numpy.linalg + • numpy.linalg._umath_linalg + • numpy.linalg.linalg + • numpy.matrixlib.defmatrix + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + +
+ +
+ +
+ + numpy.linalg._umath_linalg C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\linalg\_umath_linalg.cp310-win_amd64.pyd
+imports: + numpy.linalg + +
+
+imported by: + numpy.array_api.linalg + • numpy.linalg + • numpy.linalg.linalg + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.linalg.linalg +SourceModule
+imports: + functools + • numpy + • numpy._typing + • numpy._utils + • numpy.core + • numpy.core.Inf + • numpy.core.add + • numpy.core.all + • numpy.core.amax + • numpy.core.amin + • numpy.core.argsort + • numpy.core.array + • numpy.core.asanyarray + • numpy.core.asarray + • numpy.core.atleast_2d + • numpy.core.cdouble + • numpy.core.complexfloating + • numpy.core.count_nonzero + • numpy.core.csingle + • numpy.core.divide + • numpy.core.dot + • numpy.core.double + • numpy.core.empty + • numpy.core.empty_like + • numpy.core.errstate + • numpy.core.finfo + • numpy.core.geterrobj + • numpy.core.inexact + • numpy.core.intc + • numpy.core.intp + • numpy.core.isfinite + • numpy.core.isnan + • numpy.core.matmul + • numpy.core.moveaxis + • numpy.core.multiarray + • numpy.core.multiply + • numpy.core.newaxis + • numpy.core.object_ + • numpy.core.overrides + • numpy.core.prod + • numpy.core.reciprocal + • numpy.core.sign + • numpy.core.single + • numpy.core.sort + • numpy.core.sqrt + • numpy.core.sum + • numpy.core.swapaxes + • numpy.core.zeros + • numpy.lib.twodim_base + • numpy.linalg + • numpy.linalg._umath_linalg + • operator + • typing + • warnings + +
+
+imported by: + numpy.array_api.linalg + • numpy.linalg + +
+ +
+ +
+ + numpy.ma +Package
+imports: + numpy + • numpy._pytesttester + • numpy.ma + • numpy.ma.core + • numpy.ma.extras + +
+
+imported by: + matplotlib.axes._axes + • matplotlib.cm + • matplotlib.contour + • matplotlib.quiver + • matplotlib.units + • numpy + • numpy.lib.npyio + • numpy.lib.recfunctions + • numpy.ma + • numpy.ma.core + • numpy.ma.extras + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.ma.core +SourceModule
+imports: + builtins + • copy + • functools + • inspect + • numpy + • numpy.amax + • numpy.amin + • numpy.array + • numpy.bool_ + • numpy.compat + • numpy.core + • numpy.core.multiarray + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.umath + • numpy.expand_dims + • numpy.iscomplexobj + • numpy.lib.function_base + • numpy.ma + • numpy.ndarray + • operator + • re + • textwrap + • warnings + +
+
+imported by: + numpy.ma + • numpy.ma.extras + +
+ +
+ +
+ + numpy.ma.extras +SourceModule
+imports: + itertools + • numpy + • numpy.array + • numpy.core.multiarray + • numpy.core.numeric + • numpy.lib.function_base + • numpy.lib.index_tricks + • numpy.ma + • numpy.ma.core + • numpy.ndarray + • warnings + +
+
+imported by: + numpy.ma + +
+ +
+ +
+ + numpy.ma.mrecords +SourceModule
+imports: + numpy + • numpy.array + • numpy.bool_ + • numpy.core.records + • numpy.dtype + • numpy.ma + • numpy.ndarray + • numpy.recarray + • warnings + +
+
+imported by: + numpy.lib.npyio + • numpy.lib.recfunctions + +
+ +
+ +
+ + numpy.matrixlib +Package
+imports: + numpy + • numpy._pytesttester + • numpy.matrixlib + • numpy.matrixlib.defmatrix + +
+
+imported by: + numpy + • numpy.lib.index_tricks + • numpy.matrixlib + • numpy.matrixlib.defmatrix + +
+ +
+ +
+ + numpy.matrixlib.defmatrix +SourceModule
+imports: + ast + • numpy._utils + • numpy.core.numeric + • numpy.linalg + • numpy.matrixlib + • sys + • warnings + +
+
+imported by: + numpy.lib.shape_base + • numpy.matrixlib + +
+ +
+ +
+ + numpy.ndarray +MissingModule
+imported by: + numpy + • numpy._typing._array_like + • numpy.ctypeslib + • numpy.lib.recfunctions + • numpy.ma.core + • numpy.ma.extras + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.number +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.object_ +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.polynomial +Package
+imports: + numpy + • numpy._pytesttester + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+
+imported by: + numpy + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+ +
+ +
+ + numpy.polynomial._polybase +SourceModule
+imports: + abc + • numbers + • numpy + • numpy.polynomial + • numpy.polynomial.polyutils + • os + +
+
+imported by: + numpy.polynomial + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + +
+ +
+ +
+ + numpy.polynomial.chebyshev +SourceModule
+imports: + numpy + • numpy.core.multiarray + • numpy.linalg + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+
+imported by: + numpy.polynomial + +
+ +
+ +
+ + numpy.polynomial.hermite +SourceModule
+imports: + numpy + • numpy.core.multiarray + • numpy.linalg + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+
+imported by: + numpy.polynomial + +
+ +
+ +
+ + numpy.polynomial.hermite_e +SourceModule
+imports: + numpy + • numpy.core.multiarray + • numpy.linalg + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+
+imported by: + numpy.polynomial + +
+ +
+ +
+ + numpy.polynomial.laguerre +SourceModule
+imports: + numpy + • numpy.core.multiarray + • numpy.linalg + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+
+imported by: + numpy.polynomial + +
+ +
+ +
+ + numpy.polynomial.legendre +SourceModule
+imports: + numpy + • numpy.core.multiarray + • numpy.linalg + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.polynomial + • numpy.polynomial.polyutils + +
+
+imported by: + numpy.polynomial + +
+ +
+ +
+ + numpy.polynomial.polynomial +SourceModule
+imports: + numpy + • numpy.core.multiarray + • numpy.linalg + • numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.polyutils + +
+
+imported by: + numpy.polynomial + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + +
+ +
+ +
+ + numpy.polynomial.polyutils +SourceModule
+imports: + functools + • numpy + • numpy.core.multiarray + • numpy.core.umath + • numpy.polynomial + • operator + • warnings + +
+
+imported by: + numpy.polynomial + • numpy.polynomial._polybase + • numpy.polynomial.chebyshev + • numpy.polynomial.hermite + • numpy.polynomial.hermite_e + • numpy.polynomial.laguerre + • numpy.polynomial.legendre + • numpy.polynomial.polynomial + +
+ +
+ +
+ + numpy.random +Package
+imports: + numpy + • numpy._pytesttester + • numpy.random + • numpy.random._bounded_integers + • numpy.random._common + • numpy.random._generator + • numpy.random._mt19937 + • numpy.random._pcg64 + • numpy.random._philox + • numpy.random._pickle + • numpy.random._sfc64 + • numpy.random.bit_generator + • numpy.random.mtrand + +
+
+imported by: + numpy + • numpy.random + • numpy.random._bounded_integers + • numpy.random._common + • numpy.random._generator + • numpy.random._mt19937 + • numpy.random._pcg64 + • numpy.random._philox + • numpy.random._pickle + • numpy.random._sfc64 + • numpy.random.bit_generator + • numpy.random.mtrand + +
+ +
+ +
+ + numpy.random._bounded_integers C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_bounded_integers.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + +
+ +
+ +
+ + numpy.random._common C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_common.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + +
+ +
+ +
+ + numpy.random._generator C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_generator.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + • numpy.random._pickle + +
+ +
+ +
+ + numpy.random._mt19937 C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_mt19937.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + • numpy.random._pickle + +
+ +
+ +
+ + numpy.random._pcg64 C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_pcg64.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + • numpy.random._pickle + +
+ +
+ +
+ + numpy.random._philox C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_philox.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + • numpy.random._pickle + +
+ +
+ +
+ + numpy.random._pickle +SourceModule
+imports: + numpy.random + • numpy.random._generator + • numpy.random._mt19937 + • numpy.random._pcg64 + • numpy.random._philox + • numpy.random._sfc64 + • numpy.random.mtrand + +
+
+imported by: + numpy.random + +
+ +
+ +
+ + numpy.random._sfc64 C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\_sfc64.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + • numpy.random._pickle + +
+ +
+ +
+ + numpy.random.bit_generator C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\bit_generator.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + +
+ +
+ +
+ + numpy.random.mtrand C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\random\mtrand.cp310-win_amd64.pyd
+imports: + numpy.random + +
+
+imported by: + numpy.random + • numpy.random._pickle + +
+ +
+ +
+ + numpy.recarray +MissingModule
+imported by: + numpy + • numpy.lib.recfunctions + • numpy.ma.mrecords + +
+ +
+ +
+ + numpy.str_ +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.testing +Package
+imports: + numpy + • numpy._pytesttester + • numpy.testing + • numpy.testing._private + • numpy.testing._private.extbuild + • numpy.testing._private.utils + • numpy.testing.overrides + • unittest + +
+
+imported by: + numpy + • numpy._pytesttester + • numpy.testing + • numpy.testing._private + • numpy.testing.overrides + +
+ +
+ +
+ + numpy.testing._private +Package
+imports: + numpy.testing + • numpy.testing._private.extbuild + +
+
+imported by: + numpy.testing + • numpy.testing._private.extbuild + • numpy.testing._private.utils + +
+ +
+ +
+ + numpy.testing._private.extbuild +SourceModule
+imports: + importlib.util + • numpy.testing._private + • os + • pathlib + • subprocess + • sys + • sysconfig + • textwrap + +
+
+imported by: + numpy.testing + • numpy.testing._private + +
+ +
+ +
+ + numpy.testing._private.utils +SourceModule
+imports: + contextlib + • difflib + • doctest + • functools + • gc + • inspect + • io + • numpy + • numpy.core + • numpy.core.all + • numpy.core.arange + • numpy.core.array + • numpy.core.array2string + • numpy.core.array_repr + • numpy.core.bool_ + • numpy.core.empty + • numpy.core.errstate + • numpy.core.float32 + • numpy.core.float_ + • numpy.core.fromnumeric + • numpy.core.inf + • numpy.core.intp + • numpy.core.isnan + • numpy.core.isnat + • numpy.core.isscalar + • numpy.core.max + • numpy.core.ndarray + • numpy.core.number + • numpy.core.numerictypes + • numpy.core.object_ + • numpy.core.result_type + • numpy.core.signbit + • numpy.isfinite + • numpy.isinf + • numpy.isnan + • numpy.lib + • numpy.lib.imag + • numpy.lib.iscomplexobj + • numpy.lib.real + • numpy.linalg._umath_linalg + • numpy.testing._private + • operator + • os + • platform + • pprint + • psutil + • re + • shutil + • subprocess + • sys + • sysconfig + • tempfile + • time + • traceback + • unittest + • unittest.case + • warnings + • win32pdh + +
+
+imported by: + numpy.testing + +
+ +
+ +
+ + numpy.testing.overrides +SourceModule
+imports: + numpy + • numpy.core.overrides + • numpy.core.umath + • numpy.lib + • numpy.lib.recfunctions + • numpy.testing + • numpy.ufunc + +
+
+imported by: + numpy.testing + +
+ +
+ +
+ + numpy.timedelta64 +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.typing +Package
+imports: + numpy + • numpy._pytesttester + • numpy._typing + • numpy._typing._add_docstring + +
+
+imported by: + PIL._typing + • contourpy + • matplotlib.pyplot + • numpy.array_api._array_object + +
+ +
+ +
+ + numpy.ufunc +MissingModule
+imported by: + numpy + • numpy._typing + • numpy.testing.overrides + +
+ +
+ +
+ + numpy.uint16 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.uint32 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.uint64 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.uint8 +MissingModule
+imported by: + numpy + • numpy.array_api._typing + +
+ +
+ +
+ + numpy.unsignedinteger +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + numpy.version +SourceModule
+imports: + numpy + +
+
+imported by: + numpy + • numpy.core + +
+ +
+ +
+ + numpy.void +MissingModule
+imported by: + numpy + • numpy._typing._array_like + +
+ +
+ +
+ + objprint +MissingModule
+imported by: + marko.element + +
+ +
+ +
+ + olefile +MissingModule
+imported by: + PIL.FpxImagePlugin + • PIL.MicImagePlugin + +
+ +
+ +
+ + opcode +SourceModule
+imports: + _opcode + +
+
+imported by: + dis + +
+ +
+ +
+ + operator +SourceModule
+imports: + _operator + • builtins + • functools + +
+
+imported by: + PIL.ImageCms + • PIL.ImageOps + • collections + • copyreg + • cycler + • datetime + • dateutil.relativedelta + • distutils.versionpredicate + • email._header_value_parser + • fractions + • importlib.metadata + • importlib_metadata + • importlib_resources.readers + • inspect + • jaraco.context + • jaraco.functools + • jinja2.nodes + • jinja2.sandbox + • jinja2.tests + • matplotlib.axes._base + • matplotlib.cbook + • matplotlib.rcsetup + • md2gost_exe.py + • more_itertools.more + • more_itertools.recipes + • numpy.array_api._array_object + • numpy.core.arrayprint + • numpy.core.einsumfunc + • numpy.core.function_base + • numpy.core.numeric + • numpy.core.shape_base + • numpy.lib.arrayterator + • numpy.lib.histograms + • numpy.lib.npyio + • numpy.lib.twodim_base + • numpy.linalg.linalg + • numpy.ma.core + • numpy.polynomial.polyutils + • numpy.testing._private.utils + • packaging.markers + • pathlib + • pkg_resources + • pygments.regexopt + • pyparsing.core + • random + • setuptools._distutils.versionpredicate + • setuptools._entry_points + • setuptools._vendor.packaging.markers + • six + • statistics + • typing + • typing_extensions + • urllib3.packages.six + +
+ +
+ +
+ + optparse +SourceModule
+imports: + gettext + • os + • sys + • textwrap + +
+
+imported by: + lxml.html._diffcommand + • uu + +
+ +
+ +
+ + org +MissingModule
+imported by: + pickle + +
+ +
+ +
+ + os +SourceModule
+imports: + _collections_abc + • abc + • io + • nt + • ntpath + • os.path + • posix + • posixpath + • stat + • subprocess + • sys + • warnings + +
+
+imported by: + OpenSSL.SSL + • OpenSSL._util + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.EpsImagePlugin + • PIL.FliImagePlugin + • PIL.GifImagePlugin + • PIL.IcnsImagePlugin + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageFont + • PIL.ImageShow + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.MpoImagePlugin + • PIL.PdfImagePlugin + • PIL.PdfParser + • PIL.QoiImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.TiffImagePlugin + • PIL._typing + • PIL._util + • PIL.features + • _bootsubprocess + • _distutils_hack + • _osx_support + • _pyi_rth_utils + • _pyi_rth_utils.tempfile + • _sitebuiltins + • argparse + • asyncio.base_events + • asyncio.coroutines + • asyncio.events + • asyncio.proactor_events + • asyncio.unix_events + • asyncio.windows_utils + • babel.core + • babel.localedata + • babel.localtime._unix + • backports.tarfile + • bdb + • bs4 + • bz2 + • certifi.core + • cffi._imp_emulation + • cffi.api + • cffi.ffiplatform + • cffi.pkgconfig + • cffi.recompiler + • cffi.vengine_gen + • cffi.verifier + • cgi + • charset_normalizer.api + • clr_loader.types + • clr_loader.util.find + • concurrent.futures.process + • concurrent.futures.thread + • configparser + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.base + • ctypes + • ctypes._aix + • ctypes.macholib.dyld + • ctypes.util + • dateutil.tz.tz + • distutils._msvccompiler + • distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.command.bdist + • distutils.command.build + • distutils.command.build_ext + • distutils.command.sdist + • distutils.config + • distutils.core + • distutils.debug + • distutils.dep_util + • distutils.dir_util + • distutils.dist + • distutils.extension + • distutils.file_util + • distutils.filelist + • distutils.msvc9compiler + • distutils.spawn + • distutils.sysconfig + • distutils.util + • doctest + • docx.api + • docx.image.image + • docx.opc.phys_pkg + • docx.parts.hdrftr + • docx.parts.settings + • docx.parts.styles + • email.utils + • fnmatch + • freetype.raw + • genericpath + • getopt + • getpass + • gettext + • glob + • gzip + • http.cookiejar + • http.server + • imp + • importlib._common + • importlib.metadata + • importlib.resources + • importlib_metadata + • importlib_metadata._meta + • importlib_metadata.compat.py311 + • importlib_resources._common + • importlib_resources._compat + • inspect + • jaraco.context + • jinja2.bccache + • jinja2.environment + • jinja2.loaders + • jinja2.utils + • latex2mathml.symbols_parser + • linecache + • locale + • logging + • logging.handlers + • lxml + • lxml.html + • lxml.html._diffcommand + • lzma + • matplotlib + • matplotlib._mathtext + • matplotlib.backend_bases + • matplotlib.cbook + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.image + • matplotlib.pyplot + • matplotlib.rcsetup + • matplotlib.style.core + • matplotlib.texmanager + • md2gost + • md2gost.diagram_renderer + • md2gost.dnd + • md2gost.gui + • md2gost.latex_math + • md2gost.pipeline + • md2gost.renderable.image + • md2gost.renderable.listing + • md2gost.renderable.paragraph_sizer + • md2gost.word_fix + • md2gost_exe.py + • mimetypes + • mpl_toolkits + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.forkserver + • multiprocessing.heap + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.popen_fork + • multiprocessing.popen_forkserver + • multiprocessing.popen_spawn_posix + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.reduction + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • multiprocessing.shared_memory + • multiprocessing.spawn + • multiprocessing.util + • netrc + • ntpath + • numpy + • numpy._pytesttester + • numpy.compat.py3k + • numpy.core + • numpy.core._add_newdocs_scalars + • numpy.core.overrides + • numpy.ctypeslib + • numpy.lib._datasource + • numpy.lib.npyio + • numpy.lib.utils + • numpy.polynomial._polybase + • numpy.testing._private.extbuild + • numpy.testing._private.utils + • optparse + • os.path + • packaging._elffile + • packaging._manylinux + • packaging.markers + • pathlib + • pdb + • pkg_resources + • pkgutil + • platform + • platformdirs + • platformdirs.android + • platformdirs.api + • platformdirs.unix + • platformdirs.windows + • plistlib + • posixpath + • psutil + • psutil._common + • psutil._compat + • psutil._pswindows + • py_compile + • pycparser.ply.lex + • pydoc + • pygments.formatters.html + • pygments.formatters.img + • pygments.lexers._cocoa_builtins + • pygments.lexers._php_builtins + • pyi_rth__tkinter.py + • pyi_rth_cryptography_openssl.py + • pyi_rth_inspect.py + • pyi_rth_mplbackend.py + • pyi_rth_mplconfig.py + • pyi_rth_pkgres.py + • pyi_rth_pythoncom.py + • pyi_rth_pywintypes.py + • pyi_rth_setuptools.py + • pyparsing.core + • pyreadline3.console.ansi + • pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.lineeditor.history + • pyreadline3.modes.basemode + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + • pyreadline3.rlmain + • pythonnet + • pywintypes + • random + • requests.auth + • requests.sessions + • requests.utils + • runpy + • setuptools + • setuptools._core_metadata + • setuptools._distutils.archive_util + • setuptools._distutils.cmd + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.clean + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.install_scripts + • setuptools._distutils.command.sdist + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + • setuptools._distutils.core + • setuptools._distutils.debug + • setuptools._distutils.dir_util + • setuptools._distutils.dist + • setuptools._distutils.extension + • setuptools._distutils.file_util + • setuptools._distutils.filelist + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._imp + • setuptools._path + • setuptools._shutil + • setuptools._vendor.packaging._elffile + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging.markers + • setuptools.archive_util + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.command.sdist + • setuptools.command.setopt + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.formats + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.discovery + • setuptools.dist + • setuptools.glob + • setuptools.installer + • setuptools.msvc + • setuptools.warnings + • setuptools.wheel + • shlex + • shutil + • site + • socket + • socketserver + • socks + • ssl + • subprocess + • sysconfig + • tarfile + • tempfile + • threading + • threadpoolctl + • tkinter + • tkinter.filedialog + • tkinter.ttk + • unittest.loader + • unittest.main + • urllib.request + • urllib3.connection + • urllib3.contrib._appengine_environ + • urllib3.filepost + • urllib3.util.ssl_ + • uu + • uuid + • webbrowser + • wheel.macosx_libfile + • win32com + • win32com.client.gencache + • win32com.client.genpy + • win32com.client.makepy + • xml.dom.domreg + • xml.sax + • xml.sax.saxutils + • xmlrpc.server + • zipfile + • zipimport + • zipp.glob + • zoneinfo._tzpath + +
+ +
+ +
+ + os.path +AliasNode
+imports: + ntpath + • os + +
+
+imported by: + cffi.ffiplatform + • distutils.file_util + • docxcompose.image + • docxcompose.utils + • lxml.isoschematron + • md2gost.renderable.image + • numpy.core.memmap + • os + • pkg_resources + • pkgutil + • platformdirs.macos + • py_compile + • pycparser.ply.yacc + • pygments.formatters + • pygments.formatters.html + • pygments.lexers + • pytz + • pytz.tzfile + • requests.adapters + • setuptools._distutils._modified + • setuptools._distutils.file_util + • setuptools.msvc + • sysconfig + • tracemalloc + • unittest + • unittest.util + • wheel.wheelfile + +
+ +
+ +
+ + packaging +Package
+imports: + packaging + • packaging._manylinux + • packaging._musllinux + • pkg_resources + +
+
+imported by: + packaging + • packaging._elffile + • packaging._manylinux + • packaging._musllinux + • packaging._parser + • packaging._structures + • packaging._tokenizer + • packaging.licenses + • packaging.markers + • packaging.metadata + • packaging.requirements + • packaging.specifiers + • packaging.tags + • packaging.utils + • packaging.version + • pkg_resources + • setuptools._normalization + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.config._validate_pyproject.formats + +
+ +
+ +
+ + packaging._elffile +SourceModule
+imports: + __future__ + • enum + • os + • packaging + • struct + • typing + +
+
+imported by: + packaging._manylinux + • packaging._musllinux + • pkg_resources + +
+ +
+ +
+ + packaging._manylinux +SourceModule
+imports: + __future__ + • _manylinux + • collections + • contextlib + • ctypes + • functools + • os + • packaging + • packaging._elffile + • re + • sys + • typing + • warnings + +
+
+imported by: + packaging + • packaging.tags + • pkg_resources + +
+ +
+ +
+ + packaging._musllinux +SourceModule
+imports: + __future__ + • functools + • packaging + • packaging._elffile + • re + • subprocess + • sys + • sysconfig + • typing + +
+
+imported by: + packaging + • packaging.tags + • pkg_resources + +
+ +
+ +
+ + packaging._parser +SourceModule
+imports: + __future__ + • ast + • packaging + • packaging._tokenizer + • typing + +
+
+imported by: + packaging.markers + • packaging.requirements + • pkg_resources + +
+ +
+ +
+ + packaging._structures +SourceModule
+imports: + packaging + +
+
+imported by: + packaging.version + • pkg_resources + +
+ +
+ +
+ + packaging._tokenizer +SourceModule
+imports: + __future__ + • contextlib + • dataclasses + • packaging + • packaging.specifiers + • re + • typing + +
+
+imported by: + packaging._parser + • packaging.markers + • packaging.requirements + • pkg_resources + +
+ +
+ +
+ + packaging.licenses +Package
+imports: + __future__ + • packaging + • packaging.licenses._spdx + • re + • typing + +
+
+imported by: + packaging.licenses._spdx + • packaging.metadata + • pkg_resources + • setuptools._normalization + • setuptools.config._validate_pyproject.formats + +
+ +
+ +
+ + packaging.licenses._spdx +SourceModule
+imports: + __future__ + • packaging.licenses + • typing + +
+
+imported by: + packaging.licenses + • pkg_resources + +
+ +
+ +
+ + packaging.markers +SourceModule
+imports: + __future__ + • operator + • os + • packaging + • packaging._parser + • packaging._tokenizer + • packaging.specifiers + • packaging.utils + • platform + • sys + • typing + +
+
+imported by: + packaging.requirements + • pkg_resources + • setuptools._core_metadata + • setuptools.config.setupcfg + • setuptools.dist + +
+ +
+ +
+ + packaging.metadata +SourceModule
+imports: + __future__ + • email.feedparser + • email.header + • email.message + • email.parser + • email.policy + • packaging + • packaging.licenses + • packaging.requirements + • packaging.specifiers + • packaging.utils + • packaging.version + • pathlib + • sys + • typing + +
+
+imported by: + pkg_resources + +
+ +
+ +
+ + packaging.requirements +SourceModule
+imports: + __future__ + • packaging + • packaging._parser + • packaging._tokenizer + • packaging.markers + • packaging.specifiers + • packaging.utils + • typing + +
+
+imported by: + packaging.metadata + • pkg_resources + • setuptools._core_metadata + • setuptools._reqs + • setuptools.command._requirestxt + • setuptools.command.egg_info + • setuptools.config._validate_pyproject.formats + • setuptools.config.setupcfg + +
+ +
+ +
+ + packaging.specifiers +SourceModule
+imports: + __future__ + • abc + • itertools + • packaging + • packaging.utils + • packaging.version + • re + • typing + +
+
+imported by: + packaging._tokenizer + • packaging.markers + • packaging.metadata + • packaging.requirements + • pkg_resources + • setuptools._static + • setuptools.dist + +
+ +
+ +
+ + packaging.tags +SourceModule
+imports: + __future__ + • importlib.machinery + • logging + • packaging + • packaging._manylinux + • packaging._musllinux + • platform + • re + • struct + • subprocess + • sys + • sysconfig + • typing + +
+
+imported by: + packaging.utils + • pkg_resources + • setuptools.command.bdist_wheel + • setuptools.wheel + +
+ +
+ +
+ + packaging.utils +SourceModule
+imports: + __future__ + • functools + • packaging + • packaging.tags + • packaging.version + • re + • typing + +
+
+imported by: + packaging.markers + • packaging.metadata + • packaging.requirements + • packaging.specifiers + • pkg_resources + • setuptools._core_metadata + • setuptools._distutils.dist + • setuptools.wheel + +
+ +
+ +
+ + packaging.version +SourceModule
+imports: + __future__ + • itertools + • packaging + • packaging._structures + • re + • typing + +
+
+imported by: + PIL.Image + • matplotlib + • matplotlib._mathtext + • packaging.metadata + • packaging.specifiers + • packaging.utils + • pkg_resources + • setuptools._core_metadata + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.config.setupcfg + • setuptools.depends + • setuptools.dist + • setuptools.wheel + +
+ +
+ +
+ + pathlib +SourceModule
+imports: + _collections_abc + • errno + • fnmatch + • functools + • grp + • io + • ntpath + • operator + • os + • posixpath + • pwd + • re + • stat + • sys + • urllib.parse + • warnings + +
+
+imported by: + clr_loader + • clr_loader.ffi + • clr_loader.hostfxr + • clr_loader.mono + • clr_loader.netfx + • clr_loader.util + • clr_loader.util.find + • clr_loader.util.runtime_spec + • importlib._common + • importlib.metadata + • importlib.readers + • importlib.resources + • importlib_metadata + • importlib_metadata.compat.py311 + • importlib_resources._common + • importlib_resources._compat + • importlib_resources.abc + • importlib_resources.readers + • matplotlib + • matplotlib.cbook + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.image + • matplotlib.pyplot + • matplotlib.style.core + • matplotlib.texmanager + • matplotlib.typing + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.docx_svg + • md2gost.help_content + • numpy + • numpy.compat.py3k + • numpy.testing._private.extbuild + • packaging.metadata + • platformdirs + • platformdirs.api + • platformdirs.macos + • platformdirs.unix + • pyi_rth_pkgres.py + • pyparsing.core + • pythonnet + • setuptools._distutils.command.config + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.dir_util + • setuptools._distutils.dist + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools.config.expand + • setuptools.discovery + • setuptools.dist + • zipfile + • zipp + +
+ +
+ +
+ + pdb +SourceModule
+imports: + bdb + • cmd + • code + • dis + • getopt + • glob + • inspect + • io + • linecache + • os + • pdb + • pprint + • pydoc + • re + • readline + • runpy + • shlex + • signal + • sys + • tokenize + • traceback + +
+
+imported by: + doctest + • pdb + • pyparsing.core + +
+ +
+ +
+ + pep517 +MissingModule
+imported by: + importlib.metadata + +
+ +
+ +
+ + pickle +SourceModule
+imports: + _compat_pickle + • _pickle + • codecs + • copyreg + • functools + • io + • itertools + • org + • pprint + • re + • struct + • sys + • types + +
+
+imported by: + babel.core + • babel.localedata + • jinja2.bccache + • logging + • logging.handlers + • multiprocessing.reduction + • numpy.compat.py3k + • pycparser.ply.yacc + • tracemalloc + • win32com.client.gencache + • zoneinfo._zoneinfo + +
+ +
+ +
+ + pickle5 +MissingModule
+imported by: + numpy.compat.py3k + +
+ +
+ +
+ + pkg_resources +Package
+imports: + '_typeshed.importlib' + • __future__ + • _imp + • _typeshed + • collections + • collections.abc + • email.parser + • errno + • functools + • importlib + • importlib.abc + • importlib.machinery + • inspect + • io + • jaraco.text + • linecache + • ntpath + • operator + • os + • os.path + • packaging + • packaging._elffile + • packaging._manylinux + • packaging._musllinux + • packaging._parser + • packaging._structures + • packaging._tokenizer + • packaging.licenses + • packaging.licenses._spdx + • packaging.markers + • packaging.metadata + • packaging.requirements + • packaging.specifiers + • packaging.tags + • packaging.utils + • packaging.version + • pkgutil + • platform + • platformdirs + • plistlib + • posixpath + • re + • stat + • sys + • sysconfig + • tempfile + • textwrap + • time + • types + • typing + • typing_extensions + • warnings + • zipfile + • zipimport + +
+
+imported by: + packaging + • pyi_rth_pkgres.py + • pytz + • setuptools.command.bdist_egg + • setuptools.dist + • setuptools.installer + • setuptools.wheel + +
+ +
+ +
+ + pkgutil +SourceModule
+imports: + collections + • functools + • importlib + • importlib.machinery + • importlib.util + • inspect + • marshal + • os + • os.path + • re + • sys + • types + • warnings + • zipimport + +
+
+imported by: + backports + • dateutil.zoneinfo + • pkg_resources + • pydoc + • pyi_rth_pkgutil.py + • runpy + +
+ +
+ +
+ + platform +SourceModule
+imports: + 'java.lang' + • _winreg + • collections + • functools + • itertools + • java + • os + • re + • socket + • struct + • subprocess + • sys + • vms_lib + • winreg + +
+
+imported by: + clr + • clr_loader.util.find + • freetype.raw + • importlib_metadata._compat + • jaraco.context + • md2gost.pipeline + • numpy.lib.utils + • numpy.testing._private.utils + • packaging.markers + • packaging.tags + • pkg_resources + • psutil._compat + • pydoc + • pyreadline3 + • setuptools._distutils.compat.py39 + • setuptools._distutils.spawn + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.tags + • setuptools.monkey + • setuptools.msvc + • setuptools.windows_support + • uuid + +
+ +
+ +
+ + platformdirs +Package
+imports: + __future__ + • os + • pathlib + • platformdirs + • platformdirs.android + • platformdirs.api + • platformdirs.macos + • platformdirs.unix + • platformdirs.version + • platformdirs.windows + • sys + • typing + +
+
+imported by: + pkg_resources + • platformdirs + • platformdirs.android + • platformdirs.api + • platformdirs.macos + • platformdirs.unix + • platformdirs.version + • platformdirs.windows + +
+ +
+ +
+ + platformdirs.android +SourceModule
+imports: + __future__ + • android + • functools + • jnius + • os + • platformdirs + • platformdirs.api + • re + • sys + • typing + +
+
+imported by: + platformdirs + +
+ +
+ +
+ + platformdirs.api +SourceModule
+imports: + __future__ + • abc + • collections.abc + • os + • pathlib + • platformdirs + • typing + +
+
+imported by: + platformdirs + • platformdirs.android + • platformdirs.macos + • platformdirs.unix + • platformdirs.windows + +
+ +
+ +
+ + platformdirs.macos +SourceModule
+imports: + __future__ + • os.path + • pathlib + • platformdirs + • platformdirs.api + • sys + • typing + +
+
+imported by: + platformdirs + +
+ +
+ +
+ + platformdirs.unix +SourceModule
+imports: + __future__ + • collections.abc + • configparser + • os + • pathlib + • platformdirs + • platformdirs.api + • sys + • typing + +
+
+imported by: + platformdirs + +
+ +
+ +
+ + platformdirs.version +SourceModule
+imports: + platformdirs + • typing + +
+
+imported by: + platformdirs + +
+ +
+ +
+ + platformdirs.windows +SourceModule
+imports: + __future__ + • collections.abc + • ctypes + • functools + • os + • platformdirs + • platformdirs.api + • sys + • typing + • winreg + +
+
+imported by: + platformdirs + +
+ +
+ +
+ + plistlib +SourceModule
+imports: + binascii + • codecs + • datetime + • enum + • io + • itertools + • os + • re + • struct + • xml.parsers.expat + +
+
+imported by: + pkg_resources + +
+ +
+ +
+ + posix +MissingModule
+imports: + resource + +
+
+imported by: + importlib._bootstrap_external + • os + • shutil + +
+ +
+ +
+ + posixpath +SourceModule
+imports: + genericpath + • os + • pwd + • re + • stat + • sys + +
+
+imported by: + docx.opc.packuri + • fnmatch + • http.server + • importlib.metadata + • importlib_metadata + • jinja2.loaders + • md2gost_exe.py + • mimetypes + • os + • pathlib + • pkg_resources + • setuptools.archive_util + • setuptools.wheel + • urllib.request + • xml.dom.xmlbuilder + • zipfile + • zipp + +
+ +
+ +
+ + pprint +SourceModule
+imports: + collections + • dataclasses + • io + • re + • sys + • time + • types + +
+
+imported by: + distutils.dist + • jinja2.ext + • jinja2.utils + • marko.element + • matplotlib + • numpy.lib.utils + • numpy.testing._private.utils + • pdb + • pickle + • pygments.lexers._lua_builtins + • pygments.lexers._php_builtins + • pyparsing.results + • pyreadline3.console.ansi + • pytz.tzfile + • setuptools._distutils.command.install + • setuptools._distutils.dist + • sysconfig + • unittest.case + • unittest.mock + +
+ +
+ +
+ + psutil +Package
+imports: + __future__ + • collections + • contextlib + • datetime + • functools + • os + • psutil + • psutil._common + • psutil._compat + • psutil._psutil_windows + • psutil._pswindows + • pwd + • signal + • socket + • subprocess + • sys + • threading + • time + +
+
+imported by: + numpy.testing._private.utils + • psutil + • psutil._common + • psutil._compat + • psutil._psutil_windows + • psutil._pswindows + +
+ +
+ +
+ + psutil._common +SourceModule
+imports: + __future__ + • collections + • contextlib + • ctypes + • enum + • errno + • functools + • inspect + • os + • psutil + • socket + • stat + • sys + • threading + • warnings + +
+
+imported by: + psutil + • psutil._pswindows + +
+ +
+ +
+ + psutil._compat +SourceModule
+imports: + collections + • contextlib + • dummy_threading + • errno + • fcntl + • functools + • os + • platform + • psutil + • shutil + • struct + • subprocess + • sys + • termios + • threading + • types + +
+
+imported by: + psutil + • psutil._pswindows + +
+ +
+ +
+ + psutil._psutil_windows C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\psutil\_psutil_windows.pyd
+imports: + psutil + +
+
+imported by: + psutil + • psutil._pswindows + +
+ +
+ +
+ + psutil._pswindows +SourceModule
+imports: + collections + • contextlib + • enum + • errno + • functools + • os + • psutil + • psutil._common + • psutil._compat + • psutil._psutil_windows + • signal + • sys + • time + +
+
+imported by: + psutil + +
+ +
+ +
+ + pwd +MissingModule
+imported by: + backports.tarfile + • distutils.archive_util + • distutils.util + • getpass + • http.server + • netrc + • pathlib + • posixpath + • psutil + • setuptools._distutils.archive_util + • setuptools._distutils.util + • shutil + • subprocess + • tarfile + • webbrowser + +
+ +
+ +
+ + py_compile +SourceModule
+imports: + argparse + • enum + • importlib._bootstrap_external + • importlib.machinery + • importlib.util + • os + • os.path + • sys + • traceback + +
+
+imported by: + distutils.util + • setuptools._distutils.util + • zipfile + +
+ +
+ +
+ + pycparser +Package
+imports: + io + • pycparser + • pycparser.c_ast + • pycparser.c_parser + • pycparser.lextab + • pycparser.yacctab + • subprocess + +
+
+imported by: + cffi.cparser + • pycparser + • pycparser.ast_transforms + • pycparser.c_ast + • pycparser.c_lexer + • pycparser.c_parser + • pycparser.lextab + • pycparser.ply + • pycparser.plyparser + • pycparser.yacctab + +
+ +
+ +
+ + pycparser.ast_transforms +SourceModule
+imports: + pycparser + • pycparser.c_ast + +
+
+imported by: + pycparser.c_parser + +
+ +
+ +
+ + pycparser.c_ast +SourceModule
+imports: + pycparser + • sys + +
+
+imported by: + pycparser + • pycparser.ast_transforms + • pycparser.c_parser + +
+ +
+ +
+ + pycparser.c_lexer +SourceModule
+imports: + pycparser + • pycparser.ply + • pycparser.ply.lex + • re + +
+
+imported by: + pycparser.c_parser + +
+ +
+ +
+ + pycparser.c_parser +SourceModule
+imports: + pycparser + • pycparser.ast_transforms + • pycparser.c_ast + • pycparser.c_lexer + • pycparser.ply + • pycparser.ply.yacc + • pycparser.plyparser + +
+
+imported by: + pycparser + +
+ +
+ +
+ + pycparser.lextab +SourceModule
+imports: + pycparser + +
+
+imported by: + cffi.cparser + • pycparser + +
+ +
+ +
+ + pycparser.ply +Package
+imports: + pycparser + • pycparser.ply + • pycparser.ply.lex + • pycparser.ply.yacc + +
+
+imported by: + pycparser.c_lexer + • pycparser.c_parser + • pycparser.ply + • pycparser.ply.lex + • pycparser.ply.yacc + +
+ +
+ +
+ + pycparser.ply.lex +SourceModule
+imports: + copy + • inspect + • os + • pycparser.ply + • re + • sys + • types + +
+
+imported by: + pycparser.c_lexer + • pycparser.ply + • pycparser.ply.yacc + +
+ +
+ +
+ + pycparser.ply.yacc +SourceModule
+imports: + base64 + • cPickle + • inspect + • os.path + • pickle + • pycparser.ply + • pycparser.ply.lex + • re + • sys + • types + • warnings + +
+
+imported by: + pycparser.c_parser + • pycparser.ply + +
+ +
+ +
+ + pycparser.plyparser +SourceModule
+imports: + pycparser + • warnings + +
+
+imported by: + pycparser.c_parser + +
+ +
+ +
+ + pycparser.yacctab +SourceModule
+imports: + pycparser + +
+
+imported by: + cffi.cparser + • pycparser + +
+ +
+ +
+ + pydoc +SourceModule
+imports: + builtins + • collections + • email.message + • getopt + • http.server + • importlib._bootstrap + • importlib._bootstrap_external + • importlib.machinery + • importlib.util + • inspect + • io + • os + • pkgutil + • platform + • pydoc_data.topics + • re + • reprlib + • select + • subprocess + • sys + • sysconfig + • tempfile + • textwrap + • threading + • time + • tokenize + • traceback + • tty + • types + • urllib.parse + • warnings + • webbrowser + +
+
+imported by: + _sitebuiltins + • numpy.lib.utils + • pdb + • xmlrpc.server + +
+ +
+ +
+ + pydoc_data +Package
+imported by: + pydoc_data.topics + +
+ +
+ +
+ + pydoc_data.topics +SourceModule
+imports: + pydoc_data + +
+
+imported by: + pydoc + +
+ +
+ +
+ + pyexpat C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\pyexpat.pyd
+imported by: + _elementtree + • xml.etree.ElementTree + • xml.parsers.expat + +
+ +
+ +
+ + pygments +Package
+imports: + io + • pygments.formatter + • pygments.formatters + • pygments.formatters._mapping + • pygments.formatters.bbcode + • pygments.formatters.groff + • pygments.formatters.html + • pygments.formatters.img + • pygments.formatters.irc + • pygments.formatters.latex + • pygments.formatters.other + • pygments.formatters.pangomarkup + • pygments.formatters.rtf + • pygments.formatters.svg + • pygments.formatters.terminal + • pygments.formatters.terminal256 + • pygments.lexer + • pygments.lexers + • pygments.lexers._ada_builtins + • pygments.lexers._asy_builtins + • pygments.lexers._cl_builtins + • pygments.lexers._cocoa_builtins + • pygments.lexers._csound_builtins + • pygments.lexers._css_builtins + • pygments.lexers._googlesql_builtins + • pygments.lexers._julia_builtins + • pygments.lexers._lasso_builtins + • pygments.lexers._lilypond_builtins + • pygments.lexers._lua_builtins + • pygments.lexers._luau_builtins + • pygments.lexers._mapping + • pygments.lexers._mql_builtins + • pygments.lexers._mysql_builtins + • pygments.lexers._openedge_builtins + • pygments.lexers._php_builtins + • pygments.lexers._postgres_builtins + • pygments.lexers._qlik_builtins + • pygments.lexers._scheme_builtins + • pygments.lexers._scilab_builtins + • pygments.lexers._sourcemod_builtins + • pygments.lexers._sql_builtins + • pygments.lexers._stan_builtins + • pygments.lexers._stata_builtins + • pygments.lexers._tsql_builtins + • pygments.lexers._usd_builtins + • pygments.lexers._vbscript_builtins + • pygments.lexers._vim_builtins + • pygments.lexers.actionscript + • pygments.lexers.ada + • pygments.lexers.agile + • pygments.lexers.algebra + • pygments.lexers.ambient + • pygments.lexers.amdgpu + • pygments.lexers.ampl + • pygments.lexers.apdlexer + • pygments.lexers.apl + • pygments.lexers.archetype + • pygments.lexers.arrow + • pygments.lexers.arturo + • pygments.lexers.asc + • pygments.lexers.asm + • pygments.lexers.asn1 + • pygments.lexers.automation + • pygments.lexers.bare + • pygments.lexers.basic + • pygments.lexers.bdd + • pygments.lexers.berry + • pygments.lexers.bibtex + • pygments.lexers.bitbake + • pygments.lexers.blueprint + • pygments.lexers.boa + • pygments.lexers.bqn + • pygments.lexers.business + • pygments.lexers.c_cpp + • pygments.lexers.c_like + • pygments.lexers.capnproto + • pygments.lexers.carbon + • pygments.lexers.cddl + • pygments.lexers.cel + • pygments.lexers.chapel + • pygments.lexers.clean + • pygments.lexers.codeql + • pygments.lexers.comal + • pygments.lexers.compiled + • pygments.lexers.configs + • pygments.lexers.console + • pygments.lexers.cplint + • pygments.lexers.crystal + • pygments.lexers.csound + • pygments.lexers.css + • pygments.lexers.d + • pygments.lexers.dalvik + • pygments.lexers.data + • pygments.lexers.dax + • pygments.lexers.devicetree + • pygments.lexers.diff + • pygments.lexers.dns + • pygments.lexers.dotnet + • pygments.lexers.dsls + • pygments.lexers.dylan + • pygments.lexers.ecl + • pygments.lexers.eiffel + • pygments.lexers.elm + • pygments.lexers.elpi + • pygments.lexers.email + • pygments.lexers.erlang + • pygments.lexers.esoteric + • pygments.lexers.ezhil + • pygments.lexers.factor + • pygments.lexers.fantom + • pygments.lexers.felix + • pygments.lexers.fift + • pygments.lexers.floscript + • pygments.lexers.forth + • pygments.lexers.fortran + • pygments.lexers.foxpro + • pygments.lexers.freefem + • pygments.lexers.func + • pygments.lexers.functional + • pygments.lexers.futhark + • pygments.lexers.gcodelexer + • pygments.lexers.gdscript + • pygments.lexers.gleam + • pygments.lexers.go + • pygments.lexers.grammar_notation + • pygments.lexers.graph + • pygments.lexers.graphics + • pygments.lexers.graphql + • pygments.lexers.graphviz + • pygments.lexers.gsql + • pygments.lexers.hare + • pygments.lexers.haskell + • pygments.lexers.haxe + • pygments.lexers.hdl + • pygments.lexers.hexdump + • pygments.lexers.html + • pygments.lexers.idl + • pygments.lexers.igor + • pygments.lexers.inferno + • pygments.lexers.installers + • pygments.lexers.int_fiction + • pygments.lexers.iolang + • pygments.lexers.j + • pygments.lexers.javascript + • pygments.lexers.jmespath + • pygments.lexers.jslt + • pygments.lexers.json5 + • pygments.lexers.jsonnet + • pygments.lexers.jsx + • pygments.lexers.julia + • pygments.lexers.jvm + • pygments.lexers.kuin + • pygments.lexers.kusto + • pygments.lexers.ldap + • pygments.lexers.lean + • pygments.lexers.lilypond + • pygments.lexers.lisp + • pygments.lexers.macaulay2 + • pygments.lexers.make + • pygments.lexers.maple + • pygments.lexers.markup + • pygments.lexers.math + • pygments.lexers.matlab + • pygments.lexers.maxima + • pygments.lexers.meson + • pygments.lexers.mime + • pygments.lexers.minecraft + • pygments.lexers.mips + • pygments.lexers.ml + • pygments.lexers.modeling + • pygments.lexers.modula2 + • pygments.lexers.mojo + • pygments.lexers.monte + • pygments.lexers.mosel + • pygments.lexers.ncl + • pygments.lexers.nimrod + • pygments.lexers.nit + • pygments.lexers.nix + • pygments.lexers.numbair + • pygments.lexers.oberon + • pygments.lexers.objective + • pygments.lexers.ooc + • pygments.lexers.openscad + • pygments.lexers.other + • pygments.lexers.parasail + • pygments.lexers.parsers + • pygments.lexers.pascal + • pygments.lexers.pawn + • pygments.lexers.pddl + • pygments.lexers.perl + • pygments.lexers.phix + • pygments.lexers.php + • pygments.lexers.pointless + • pygments.lexers.pony + • pygments.lexers.praat + • pygments.lexers.procfile + • pygments.lexers.prolog + • pygments.lexers.promql + • pygments.lexers.prql + • pygments.lexers.ptx + • pygments.lexers.purescript + • pygments.lexers.python + • pygments.lexers.q + • pygments.lexers.qlik + • pygments.lexers.qvt + • pygments.lexers.r + • pygments.lexers.rdf + • pygments.lexers.rebol + • pygments.lexers.rego + • pygments.lexers.rell + • pygments.lexers.resource + • pygments.lexers.ride + • pygments.lexers.rita + • pygments.lexers.rnc + • pygments.lexers.roboconf + • pygments.lexers.robotframework + • pygments.lexers.ruby + • pygments.lexers.rust + • pygments.lexers.sas + • pygments.lexers.savi + • pygments.lexers.scdoc + • pygments.lexers.scripting + • pygments.lexers.sgf + • pygments.lexers.shell + • pygments.lexers.sieve + • pygments.lexers.slash + • pygments.lexers.smalltalk + • pygments.lexers.smithy + • pygments.lexers.smv + • pygments.lexers.snobol + • pygments.lexers.solidity + • pygments.lexers.soong + • pygments.lexers.sophia + • pygments.lexers.special + • pygments.lexers.spice + • pygments.lexers.sql + • pygments.lexers.srcinfo + • pygments.lexers.stata + • pygments.lexers.supercollider + • pygments.lexers.tablegen + • pygments.lexers.tact + • pygments.lexers.tal + • pygments.lexers.tcl + • pygments.lexers.teal + • pygments.lexers.templates + • pygments.lexers.teraterm + • pygments.lexers.testing + • pygments.lexers.text + • pygments.lexers.textedit + • pygments.lexers.textfmts + • pygments.lexers.theorem + • pygments.lexers.thingsdb + • pygments.lexers.tlb + • pygments.lexers.tls + • pygments.lexers.tnt + • pygments.lexers.trafficscript + • pygments.lexers.typoscript + • pygments.lexers.typst + • pygments.lexers.ul4 + • pygments.lexers.unicon + • pygments.lexers.urbi + • pygments.lexers.usd + • pygments.lexers.varnish + • pygments.lexers.verification + • pygments.lexers.verifpal + • pygments.lexers.vip + • pygments.lexers.vyper + • pygments.lexers.web + • pygments.lexers.webassembly + • pygments.lexers.webidl + • pygments.lexers.webmisc + • pygments.lexers.wgsl + • pygments.lexers.whiley + • pygments.lexers.wowtoc + • pygments.lexers.wren + • pygments.lexers.x10 + • pygments.lexers.xorg + • pygments.lexers.yang + • pygments.lexers.yara + • pygments.lexers.zig + • pygments.styles + • pygments.styles._mapping + • pygments.styles.abap + • pygments.styles.algol + • pygments.styles.algol_nu + • pygments.styles.arduino + • pygments.styles.autumn + • pygments.styles.borland + • pygments.styles.bw + • pygments.styles.coffee + • pygments.styles.colorful + • pygments.styles.default + • pygments.styles.dracula + • pygments.styles.emacs + • pygments.styles.friendly + • pygments.styles.friendly_grayscale + • pygments.styles.fruity + • pygments.styles.gh_dark + • pygments.styles.gruvbox + • pygments.styles.igor + • pygments.styles.inkpot + • pygments.styles.lightbulb + • pygments.styles.lilypond + • pygments.styles.lovelace + • pygments.styles.manni + • pygments.styles.material + • pygments.styles.monokai + • pygments.styles.murphy + • pygments.styles.native + • pygments.styles.night_owl + • pygments.styles.nord + • pygments.styles.onedark + • pygments.styles.paraiso_dark + • pygments.styles.paraiso_light + • pygments.styles.pastie + • pygments.styles.perldoc + • pygments.styles.rainbow_dash + • pygments.styles.rrt + • pygments.styles.sas + • pygments.styles.solarized + • pygments.styles.staroffice + • pygments.styles.stata_dark + • pygments.styles.stata_light + • pygments.styles.tango + • pygments.styles.trac + • pygments.styles.vim + • pygments.styles.vs + • pygments.styles.xcode + • pygments.styles.zenburn + • pygments.unistring + +
+
+imported by: + md2gost.renderable.listing + • md2gost_exe.py + • pygments.console + • pygments.filter + • pygments.filters + • pygments.formatter + • pygments.formatters + • pygments.lexer + • pygments.lexers + • pygments.lexers.dotnet + • pygments.lexers.futhark + • pygments.lexers.haskell + • pygments.lexers.jvm + • pygments.lexers.mojo + • pygments.lexers.purescript + • pygments.lexers.python + • pygments.lexers.wgsl + • pygments.modeline + • pygments.plugin + • pygments.regexopt + • pygments.scanner + • pygments.style + • pygments.styles + • pygments.token + • pygments.unistring + • pygments.util + +
+ +
+ +
+ + pygments.console +SourceModule
+imports: + pygments + +
+
+imported by: + pygments.formatters.other + • pygments.formatters.terminal + • pygments.formatters.terminal256 + +
+ +
+ +
+ + pygments.filter +SourceModule
+imports: + pygments + +
+
+imported by: + pygments.filters + • pygments.lexer + +
+ +
+ +
+ + pygments.filters +Package
+imports: + pygments + • pygments.filter + • pygments.plugin + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments.lexer + +
+ +
+ +
+ + pygments.formatter +SourceModule
+imports: + codecs + • pygments + • pygments.styles + • pygments.util + +
+
+imported by: + md2gost.renderable.listing + • pygments + • pygments.formatters.bbcode + • pygments.formatters.groff + • pygments.formatters.html + • pygments.formatters.img + • pygments.formatters.irc + • pygments.formatters.latex + • pygments.formatters.other + • pygments.formatters.pangomarkup + • pygments.formatters.rtf + • pygments.formatters.svg + • pygments.formatters.terminal + • pygments.formatters.terminal256 + +
+ +
+ +
+ + pygments.formatters +Package
+imports: + fnmatch + • os.path + • pygments + • pygments.formatters._mapping + • pygments.plugin + • pygments.util + • re + • sys + • types + +
+
+imported by: + md2gost_exe.py + • pygments + • pygments.formatters._mapping + • pygments.formatters.bbcode + • pygments.formatters.groff + • pygments.formatters.html + • pygments.formatters.img + • pygments.formatters.irc + • pygments.formatters.latex + • pygments.formatters.other + • pygments.formatters.pangomarkup + • pygments.formatters.rtf + • pygments.formatters.svg + • pygments.formatters.terminal + • pygments.formatters.terminal256 + +
+ +
+ +
+ + pygments.formatters._mapping +SourceModule
+imports: + pygments.formatters + +
+
+imported by: + pygments + • pygments.formatters + +
+ +
+ +
+ + pygments.formatters.bbcode +SourceModule
+imports: + pygments.formatter + • pygments.formatters + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.groff +SourceModule
+imports: + math + • pygments.formatter + • pygments.formatters + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.html +SourceModule
+imports: + ctags + • functools + • html + • io + • os + • os.path + • pygments.formatter + • pygments.formatters + • pygments.token + • pygments.util + • sys + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.img +SourceModule
+imports: + PIL + • PIL.Image + • PIL.ImageDraw + • PIL.ImageFont + • _winreg + • os + • pygments.formatter + • pygments.formatters + • pygments.util + • subprocess + • sys + • winreg + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.irc +SourceModule
+imports: + pygments.formatter + • pygments.formatters + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.latex +SourceModule
+imports: + io + • pygments.formatter + • pygments.formatters + • pygments.lexer + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.other +SourceModule
+imports: + bz2 + • gzip + • pygments.console + • pygments.formatter + • pygments.formatters + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.pangomarkup +SourceModule
+imports: + pygments.formatter + • pygments.formatters + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.rtf +SourceModule
+imports: + collections + • pygments.formatter + • pygments.formatters + • pygments.style + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.svg +SourceModule
+imports: + pygments.formatter + • pygments.formatters + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.terminal +SourceModule
+imports: + pygments.console + • pygments.formatter + • pygments.formatters + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.formatters.terminal256 +SourceModule
+imports: + pygments.console + • pygments.formatter + • pygments.formatters + • pygments.style + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexer +SourceModule
+imports: + chardet + • pygments + • pygments.filter + • pygments.filters + • pygments.regexopt + • pygments.token + • pygments.util + • re + • sys + • time + +
+
+imported by: + pygments + • pygments.formatters.latex + • pygments.lexers.actionscript + • pygments.lexers.ada + • pygments.lexers.algebra + • pygments.lexers.ambient + • pygments.lexers.amdgpu + • pygments.lexers.ampl + • pygments.lexers.apdlexer + • pygments.lexers.apl + • pygments.lexers.archetype + • pygments.lexers.arrow + • pygments.lexers.arturo + • pygments.lexers.asc + • pygments.lexers.asm + • pygments.lexers.asn1 + • pygments.lexers.automation + • pygments.lexers.bare + • pygments.lexers.basic + • pygments.lexers.bdd + • pygments.lexers.berry + • pygments.lexers.bibtex + • pygments.lexers.bitbake + • pygments.lexers.blueprint + • pygments.lexers.boa + • pygments.lexers.bqn + • pygments.lexers.business + • pygments.lexers.c_cpp + • pygments.lexers.c_like + • pygments.lexers.capnproto + • pygments.lexers.carbon + • pygments.lexers.cddl + • pygments.lexers.cel + • pygments.lexers.chapel + • pygments.lexers.clean + • pygments.lexers.codeql + • pygments.lexers.comal + • pygments.lexers.configs + • pygments.lexers.console + • pygments.lexers.cplint + • pygments.lexers.crystal + • pygments.lexers.csound + • pygments.lexers.css + • pygments.lexers.d + • pygments.lexers.dalvik + • pygments.lexers.data + • pygments.lexers.dax + • pygments.lexers.devicetree + • pygments.lexers.diff + • pygments.lexers.dns + • pygments.lexers.dotnet + • pygments.lexers.dsls + • pygments.lexers.dylan + • pygments.lexers.ecl + • pygments.lexers.eiffel + • pygments.lexers.elm + • pygments.lexers.elpi + • pygments.lexers.email + • pygments.lexers.erlang + • pygments.lexers.esoteric + • pygments.lexers.ezhil + • pygments.lexers.factor + • pygments.lexers.fantom + • pygments.lexers.felix + • pygments.lexers.fift + • pygments.lexers.floscript + • pygments.lexers.forth + • pygments.lexers.fortran + • pygments.lexers.foxpro + • pygments.lexers.func + • pygments.lexers.futhark + • pygments.lexers.gcodelexer + • pygments.lexers.gdscript + • pygments.lexers.gleam + • pygments.lexers.go + • pygments.lexers.grammar_notation + • pygments.lexers.graph + • pygments.lexers.graphics + • pygments.lexers.graphql + • pygments.lexers.graphviz + • pygments.lexers.gsql + • pygments.lexers.hare + • pygments.lexers.haskell + • pygments.lexers.haxe + • pygments.lexers.hdl + • pygments.lexers.hexdump + • pygments.lexers.html + • pygments.lexers.idl + • pygments.lexers.igor + • pygments.lexers.inferno + • pygments.lexers.installers + • pygments.lexers.int_fiction + • pygments.lexers.iolang + • pygments.lexers.j + • pygments.lexers.javascript + • pygments.lexers.jmespath + • pygments.lexers.jslt + • pygments.lexers.json5 + • pygments.lexers.jsonnet + • pygments.lexers.jsx + • pygments.lexers.julia + • pygments.lexers.jvm + • pygments.lexers.kuin + • pygments.lexers.kusto + • pygments.lexers.ldap + • pygments.lexers.lean + • pygments.lexers.lilypond + • pygments.lexers.lisp + • pygments.lexers.macaulay2 + • pygments.lexers.make + • pygments.lexers.maple + • pygments.lexers.markup + • pygments.lexers.matlab + • pygments.lexers.maxima + • pygments.lexers.meson + • pygments.lexers.mime + • pygments.lexers.minecraft + • pygments.lexers.mips + • pygments.lexers.ml + • pygments.lexers.modeling + • pygments.lexers.modula2 + • pygments.lexers.mojo + • pygments.lexers.monte + • pygments.lexers.mosel + • pygments.lexers.ncl + • pygments.lexers.nimrod + • pygments.lexers.nit + • pygments.lexers.nix + • pygments.lexers.numbair + • pygments.lexers.oberon + • pygments.lexers.objective + • pygments.lexers.ooc + • pygments.lexers.openscad + • pygments.lexers.parasail + • pygments.lexers.parsers + • pygments.lexers.pascal + • pygments.lexers.pawn + • pygments.lexers.pddl + • pygments.lexers.perl + • pygments.lexers.phix + • pygments.lexers.php + • pygments.lexers.pointless + • pygments.lexers.pony + • pygments.lexers.praat + • pygments.lexers.procfile + • pygments.lexers.prolog + • pygments.lexers.promql + • pygments.lexers.prql + • pygments.lexers.ptx + • pygments.lexers.purescript + • pygments.lexers.python + • pygments.lexers.q + • pygments.lexers.qlik + • pygments.lexers.qvt + • pygments.lexers.r + • pygments.lexers.rdf + • pygments.lexers.rebol + • pygments.lexers.rego + • pygments.lexers.rell + • pygments.lexers.resource + • pygments.lexers.ride + • pygments.lexers.rita + • pygments.lexers.rnc + • pygments.lexers.roboconf + • pygments.lexers.robotframework + • pygments.lexers.ruby + • pygments.lexers.rust + • pygments.lexers.sas + • pygments.lexers.savi + • pygments.lexers.scdoc + • pygments.lexers.scripting + • pygments.lexers.sgf + • pygments.lexers.shell + • pygments.lexers.sieve + • pygments.lexers.slash + • pygments.lexers.smalltalk + • pygments.lexers.smithy + • pygments.lexers.smv + • pygments.lexers.snobol + • pygments.lexers.solidity + • pygments.lexers.soong + • pygments.lexers.sophia + • pygments.lexers.special + • pygments.lexers.spice + • pygments.lexers.sql + • pygments.lexers.srcinfo + • pygments.lexers.stata + • pygments.lexers.supercollider + • pygments.lexers.tablegen + • pygments.lexers.tact + • pygments.lexers.tal + • pygments.lexers.tcl + • pygments.lexers.teal + • pygments.lexers.templates + • pygments.lexers.teraterm + • pygments.lexers.testing + • pygments.lexers.textedit + • pygments.lexers.textfmts + • pygments.lexers.theorem + • pygments.lexers.thingsdb + • pygments.lexers.tlb + • pygments.lexers.tls + • pygments.lexers.tnt + • pygments.lexers.trafficscript + • pygments.lexers.typoscript + • pygments.lexers.typst + • pygments.lexers.ul4 + • pygments.lexers.unicon + • pygments.lexers.urbi + • pygments.lexers.usd + • pygments.lexers.varnish + • pygments.lexers.verification + • pygments.lexers.verifpal + • pygments.lexers.vip + • pygments.lexers.vyper + • pygments.lexers.webassembly + • pygments.lexers.webidl + • pygments.lexers.webmisc + • pygments.lexers.wgsl + • pygments.lexers.whiley + • pygments.lexers.wowtoc + • pygments.lexers.wren + • pygments.lexers.x10 + • pygments.lexers.xorg + • pygments.lexers.yang + • pygments.lexers.yara + • pygments.lexers.zig + +
+ +
+ +
+ + pygments.lexers +Package
+imports: + fnmatch + • os.path + • pygments + • pygments.lexers.PrologLexer + • pygments.lexers._mapping + • pygments.modeline + • pygments.plugin + • pygments.util + • re + • sys + • types + +
+
+imported by: + md2gost.renderable.listing + • md2gost_exe.py + • pygments + • pygments.lexers._ada_builtins + • pygments.lexers._asy_builtins + • pygments.lexers._cl_builtins + • pygments.lexers._cocoa_builtins + • pygments.lexers._csound_builtins + • pygments.lexers._css_builtins + • pygments.lexers._googlesql_builtins + • pygments.lexers._julia_builtins + • pygments.lexers._lasso_builtins + • pygments.lexers._lilypond_builtins + • pygments.lexers._lua_builtins + • pygments.lexers._luau_builtins + • pygments.lexers._mapping + • pygments.lexers._mql_builtins + • pygments.lexers._mysql_builtins + • pygments.lexers._openedge_builtins + • pygments.lexers._php_builtins + • pygments.lexers._postgres_builtins + • pygments.lexers._qlik_builtins + • pygments.lexers._scheme_builtins + • pygments.lexers._scilab_builtins + • pygments.lexers._sourcemod_builtins + • pygments.lexers._sql_builtins + • pygments.lexers._stan_builtins + • pygments.lexers._stata_builtins + • pygments.lexers._tsql_builtins + • pygments.lexers._usd_builtins + • pygments.lexers._vbscript_builtins + • pygments.lexers._vim_builtins + • pygments.lexers.actionscript + • pygments.lexers.ada + • pygments.lexers.agile + • pygments.lexers.algebra + • pygments.lexers.ambient + • pygments.lexers.amdgpu + • pygments.lexers.ampl + • pygments.lexers.apdlexer + • pygments.lexers.apl + • pygments.lexers.archetype + • pygments.lexers.arrow + • pygments.lexers.arturo + • pygments.lexers.asc + • pygments.lexers.asm + • pygments.lexers.asn1 + • pygments.lexers.automation + • pygments.lexers.bare + • pygments.lexers.basic + • pygments.lexers.bdd + • pygments.lexers.berry + • pygments.lexers.bibtex + • pygments.lexers.bitbake + • pygments.lexers.blueprint + • pygments.lexers.boa + • pygments.lexers.bqn + • pygments.lexers.business + • pygments.lexers.c_cpp + • pygments.lexers.c_like + • pygments.lexers.capnproto + • pygments.lexers.carbon + • pygments.lexers.cddl + • pygments.lexers.cel + • pygments.lexers.chapel + • pygments.lexers.clean + • pygments.lexers.codeql + • pygments.lexers.comal + • pygments.lexers.compiled + • pygments.lexers.configs + • pygments.lexers.console + • pygments.lexers.cplint + • pygments.lexers.crystal + • pygments.lexers.csound + • pygments.lexers.css + • pygments.lexers.d + • pygments.lexers.dalvik + • pygments.lexers.data + • pygments.lexers.dax + • pygments.lexers.devicetree + • pygments.lexers.diff + • pygments.lexers.dns + • pygments.lexers.dotnet + • pygments.lexers.dsls + • pygments.lexers.dylan + • pygments.lexers.ecl + • pygments.lexers.eiffel + • pygments.lexers.elm + • pygments.lexers.elpi + • pygments.lexers.email + • pygments.lexers.erlang + • pygments.lexers.esoteric + • pygments.lexers.ezhil + • pygments.lexers.factor + • pygments.lexers.fantom + • pygments.lexers.felix + • pygments.lexers.fift + • pygments.lexers.floscript + • pygments.lexers.forth + • pygments.lexers.fortran + • pygments.lexers.foxpro + • pygments.lexers.freefem + • pygments.lexers.func + • pygments.lexers.functional + • pygments.lexers.futhark + • pygments.lexers.gcodelexer + • pygments.lexers.gdscript + • pygments.lexers.gleam + • pygments.lexers.go + • pygments.lexers.grammar_notation + • pygments.lexers.graph + • pygments.lexers.graphics + • pygments.lexers.graphql + • pygments.lexers.graphviz + • pygments.lexers.gsql + • pygments.lexers.hare + • pygments.lexers.haskell + • pygments.lexers.haxe + • pygments.lexers.hdl + • pygments.lexers.hexdump + • pygments.lexers.html + • pygments.lexers.idl + • pygments.lexers.igor + • pygments.lexers.inferno + • pygments.lexers.installers + • pygments.lexers.int_fiction + • pygments.lexers.iolang + • pygments.lexers.j + • pygments.lexers.javascript + • pygments.lexers.jmespath + • pygments.lexers.jslt + • pygments.lexers.json5 + • pygments.lexers.jsonnet + • pygments.lexers.jsx + • pygments.lexers.julia + • pygments.lexers.jvm + • pygments.lexers.kuin + • pygments.lexers.kusto + • pygments.lexers.ldap + • pygments.lexers.lean + • pygments.lexers.lilypond + • pygments.lexers.lisp + • pygments.lexers.macaulay2 + • pygments.lexers.make + • pygments.lexers.maple + • pygments.lexers.markup + • pygments.lexers.math + • pygments.lexers.matlab + • pygments.lexers.maxima + • pygments.lexers.meson + • pygments.lexers.mime + • pygments.lexers.minecraft + • pygments.lexers.mips + • pygments.lexers.ml + • pygments.lexers.modeling + • pygments.lexers.modula2 + • pygments.lexers.mojo + • pygments.lexers.monte + • pygments.lexers.mosel + • pygments.lexers.ncl + • pygments.lexers.nimrod + • pygments.lexers.nit + • pygments.lexers.nix + • pygments.lexers.numbair + • pygments.lexers.oberon + • pygments.lexers.objective + • pygments.lexers.ooc + • pygments.lexers.openscad + • pygments.lexers.other + • pygments.lexers.parasail + • pygments.lexers.parsers + • pygments.lexers.pascal + • pygments.lexers.pawn + • pygments.lexers.pddl + • pygments.lexers.perl + • pygments.lexers.phix + • pygments.lexers.php + • pygments.lexers.pointless + • pygments.lexers.pony + • pygments.lexers.praat + • pygments.lexers.procfile + • pygments.lexers.prolog + • pygments.lexers.promql + • pygments.lexers.prql + • pygments.lexers.ptx + • pygments.lexers.purescript + • pygments.lexers.python + • pygments.lexers.q + • pygments.lexers.qlik + • pygments.lexers.qvt + • pygments.lexers.r + • pygments.lexers.rdf + • pygments.lexers.rebol + • pygments.lexers.rego + • pygments.lexers.rell + • pygments.lexers.resource + • pygments.lexers.ride + • pygments.lexers.rita + • pygments.lexers.rnc + • pygments.lexers.roboconf + • pygments.lexers.robotframework + • pygments.lexers.ruby + • pygments.lexers.rust + • pygments.lexers.sas + • pygments.lexers.savi + • pygments.lexers.scdoc + • pygments.lexers.scripting + • pygments.lexers.sgf + • pygments.lexers.shell + • pygments.lexers.sieve + • pygments.lexers.slash + • pygments.lexers.smalltalk + • pygments.lexers.smithy + • pygments.lexers.smv + • pygments.lexers.snobol + • pygments.lexers.solidity + • pygments.lexers.soong + • pygments.lexers.sophia + • pygments.lexers.special + • pygments.lexers.spice + • pygments.lexers.sql + • pygments.lexers.srcinfo + • pygments.lexers.stata + • pygments.lexers.supercollider + • pygments.lexers.tablegen + • pygments.lexers.tact + • pygments.lexers.tal + • pygments.lexers.tcl + • pygments.lexers.teal + • pygments.lexers.templates + • pygments.lexers.teraterm + • pygments.lexers.testing + • pygments.lexers.text + • pygments.lexers.textedit + • pygments.lexers.textfmts + • pygments.lexers.theorem + • pygments.lexers.thingsdb + • pygments.lexers.tlb + • pygments.lexers.tls + • pygments.lexers.tnt + • pygments.lexers.trafficscript + • pygments.lexers.typoscript + • pygments.lexers.typst + • pygments.lexers.ul4 + • pygments.lexers.unicon + • pygments.lexers.urbi + • pygments.lexers.usd + • pygments.lexers.varnish + • pygments.lexers.verification + • pygments.lexers.verifpal + • pygments.lexers.vip + • pygments.lexers.vyper + • pygments.lexers.web + • pygments.lexers.webassembly + • pygments.lexers.webidl + • pygments.lexers.webmisc + • pygments.lexers.wgsl + • pygments.lexers.whiley + • pygments.lexers.wowtoc + • pygments.lexers.wren + • pygments.lexers.x10 + • pygments.lexers.xorg + • pygments.lexers.yang + • pygments.lexers.yara + • pygments.lexers.zig + +
+ +
+ +
+ + pygments.lexers.PrologLexer +MissingModule
+imported by: + pygments.lexers + • pygments.lexers.cplint + +
+ +
+ +
+ + pygments.lexers._ada_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.ada + +
+ +
+ +
+ + pygments.lexers._asy_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.graphics + +
+ +
+ +
+ + pygments.lexers._cl_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.lisp + +
+ +
+ +
+ + pygments.lexers._cocoa_builtins +SourceModule
+imports: + os + • pygments.lexers + • re + +
+
+imported by: + pygments + • pygments.lexers.objective + +
+ +
+ +
+ + pygments.lexers._csound_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.csound + +
+ +
+ +
+ + pygments.lexers._css_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.css + +
+ +
+ +
+ + pygments.lexers._googlesql_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.sql + +
+ +
+ +
+ + pygments.lexers._julia_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.julia + +
+ +
+ +
+ + pygments.lexers._lasso_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.javascript + +
+ +
+ +
+ + pygments.lexers._lilypond_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.lilypond + +
+ +
+ +
+ + pygments.lexers._lua_builtins +SourceModule
+imports: + pprint + • pygments.lexers + • re + • urllib.request + +
+
+imported by: + pygments + • pygments.lexers.scripting + +
+ +
+ +
+ + pygments.lexers._luau_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.scripting + +
+ +
+ +
+ + pygments.lexers._mapping +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers + +
+ +
+ +
+ + pygments.lexers._mql_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.c_like + +
+ +
+ +
+ + pygments.lexers._mysql_builtins +SourceModule
+imports: + pygments.lexers + • pygments.util + • re + • urllib.request + +
+
+imported by: + pygments + • pygments.lexers.sql + +
+ +
+ +
+ + pygments.lexers._openedge_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.business + +
+ +
+ +
+ + pygments.lexers._php_builtins +SourceModule
+imports: + glob + • os + • pprint + • pygments.lexers + • re + • shutil + • tarfile + • urllib.request + +
+
+imported by: + pygments + • pygments.lexers.php + +
+ +
+ +
+ + pygments.lexers._postgres_builtins +SourceModule
+imports: + pygments.lexers + • pygments.util + • re + • urllib.request + +
+
+imported by: + pygments + • pygments.lexers.sql + +
+ +
+ +
+ + pygments.lexers._qlik_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.qlik + +
+ +
+ +
+ + pygments.lexers._scheme_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.lisp + +
+ +
+ +
+ + pygments.lexers._scilab_builtins +SourceModule
+imports: + pygments.lexers + • pygments.util + • subprocess + +
+
+imported by: + pygments + • pygments.lexers.matlab + +
+ +
+ +
+ + pygments.lexers._sourcemod_builtins +SourceModule
+imports: + pygments.lexers + • pygments.util + • re + • urllib.request + +
+
+imported by: + pygments + • pygments.lexers.pawn + +
+ +
+ +
+ + pygments.lexers._sql_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.sql + +
+ +
+ +
+ + pygments.lexers._stan_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.modeling + +
+ +
+ +
+ + pygments.lexers._stata_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.stata + +
+ +
+ +
+ + pygments.lexers._tsql_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.sql + +
+ +
+ +
+ + pygments.lexers._usd_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.usd + +
+ +
+ +
+ + pygments.lexers._vbscript_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.basic + +
+ +
+ +
+ + pygments.lexers._vim_builtins +SourceModule
+imports: + pygments.lexers + +
+
+imported by: + pygments + • pygments.lexers.textedit + +
+ +
+ +
+ + pygments.lexers.actionscript +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.parsers + • pygments.lexers.web + +
+ +
+ +
+ + pygments.lexers.ada +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._ada_builtins + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.agile +SourceModule
+imports: + pygments.lexers + • pygments.lexers.d + • pygments.lexers.factor + • pygments.lexers.iolang + • pygments.lexers.jvm + • pygments.lexers.lisp + • pygments.lexers.perl + • pygments.lexers.python + • pygments.lexers.ruby + • pygments.lexers.scripting + • pygments.lexers.tcl + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.algebra +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.math + +
+ +
+ +
+ + pygments.lexers.ambient +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.amdgpu +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ampl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.apdlexer +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.apl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.archetype +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.arrow +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.arturo +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.asc +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.asm +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.c_cpp + • pygments.lexers.d + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.asn1 +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.automation +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.bare +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.basic +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._vbscript_builtins + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.bdd +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.berry +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.bibtex +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.bitbake +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.python + • pygments.lexers.shell + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.blueprint +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.boa +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.bqn +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.business +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._openedge_builtins + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.c_cpp +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.asm + • pygments.lexers.c_like + • pygments.lexers.compiled + • pygments.lexers.freefem + • pygments.lexers.objective + • pygments.lexers.parsers + • pygments.lexers.tablegen + +
+ +
+ +
+ + pygments.lexers.c_like +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._mql_builtins + • pygments.lexers.c_cpp + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.capnproto +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.carbon +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.cddl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.cel +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.chapel +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.clean +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.codeql +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.comal +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.compiled +SourceModule
+imports: + pygments.lexers + • pygments.lexers.ada + • pygments.lexers.basic + • pygments.lexers.business + • pygments.lexers.c_cpp + • pygments.lexers.c_like + • pygments.lexers.crystal + • pygments.lexers.d + • pygments.lexers.dylan + • pygments.lexers.felix + • pygments.lexers.fortran + • pygments.lexers.go + • pygments.lexers.graphics + • pygments.lexers.jvm + • pygments.lexers.ml + • pygments.lexers.nimrod + • pygments.lexers.objective + • pygments.lexers.ooc + • pygments.lexers.pascal + • pygments.lexers.prolog + • pygments.lexers.python + • pygments.lexers.rust + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.configs +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.data + • pygments.lexers.shell + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.console +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.cplint +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.PrologLexer + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.crystal +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.csound +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._csound_builtins + • pygments.lexers.html + • pygments.lexers.python + • pygments.lexers.scripting + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.css +SourceModule
+imports: + copy + • pygments.lexer + • pygments.lexers + • pygments.lexers._css_builtins + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.html + • pygments.lexers.markup + • pygments.lexers.templates + • pygments.lexers.web + • pygments.lexers.webmisc + +
+ +
+ +
+ + pygments.lexers.d +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.asm + • pygments.lexers.compiled + • pygments.lexers.parsers + +
+ +
+ +
+ + pygments.lexers.dalvik +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.data +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.configs + • pygments.lexers.markup + • pygments.lexers.templates + • pygments.lexers.text + • pygments.lexers.web + +
+ +
+ +
+ + pygments.lexers.dax +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.devicetree +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.diff +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.dns +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.dotnet +SourceModule
+imports: + pygments + • pygments.lexer + • pygments.lexers + • pygments.lexers.html + • pygments.token + • pygments.unistring + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.parsers + +
+ +
+ +
+ + pygments.lexers.dsls +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.dylan +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.ecl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.eiffel +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.elm +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.elpi +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.theorem + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.email +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.mime + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.erlang +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.functional + +
+ +
+ +
+ + pygments.lexers.esoteric +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.ezhil +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.factor +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.agile + +
+ +
+ +
+ + pygments.lexers.fantom +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • string + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.felix +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.fift +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.floscript +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.forth +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.fortran +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.foxpro +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.freefem +SourceModule
+imports: + pygments.lexers + • pygments.lexers.c_cpp + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.func +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.functional +SourceModule
+imports: + pygments.lexers + • pygments.lexers.erlang + • pygments.lexers.haskell + • pygments.lexers.lisp + • pygments.lexers.ml + • pygments.lexers.theorem + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.futhark +SourceModule
+imports: + pygments + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.unistring + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.gcodelexer +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.gdscript +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.gleam +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.go +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.grammar_notation +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.graph +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.graphics +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._asy_builtins + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.compiled + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.graphql +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.graphviz +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.gsql +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.hare +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.haskell +SourceModule
+imports: + pygments + • pygments.lexer + • pygments.lexers + • pygments.lexers.markup + • pygments.token + • pygments.unistring + • re + +
+
+imported by: + pygments + • pygments.lexers.functional + +
+ +
+ +
+ + pygments.lexers.haxe +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.hdl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.hexdump +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.html +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.css + • pygments.lexers.javascript + • pygments.lexers.jvm + • pygments.lexers.ruby + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.csound + • pygments.lexers.dotnet + • pygments.lexers.markup + • pygments.lexers.modeling + • pygments.lexers.templates + • pygments.lexers.web + • pygments.lexers.webmisc + +
+ +
+ +
+ + pygments.lexers.idl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.math + +
+ +
+ +
+ + pygments.lexers.igor +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.inferno +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.installers +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.int_fiction +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.iolang +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.agile + +
+ +
+ +
+ + pygments.lexers.j +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.javascript +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._lasso_builtins + • pygments.token + • pygments.unistring + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.html + • pygments.lexers.jsx + • pygments.lexers.markup + • pygments.lexers.templates + • pygments.lexers.web + • pygments.lexers.webmisc + +
+ +
+ +
+ + pygments.lexers.jmespath +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.jslt +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.json5 +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.jsonnet +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.jsx +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.javascript + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.julia +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._julia_builtins + • pygments.token + • pygments.util + +
+
+imported by: + pygments + • pygments.lexers.math + +
+ +
+ +
+ + pygments.lexers.jvm +SourceModule
+imports: + pygments + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.unistring + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.compiled + • pygments.lexers.html + • pygments.lexers.parsers + • pygments.lexers.templates + +
+ +
+ +
+ + pygments.lexers.kuin +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.kusto +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ldap +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.lean +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.theorem + +
+ +
+ +
+ + pygments.lexers.lilypond +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._lilypond_builtins + • pygments.lexers.lisp + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.markup + +
+ +
+ +
+ + pygments.lexers.lisp +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._cl_builtins + • pygments.lexers._scheme_builtins + • pygments.lexers.python + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.functional + • pygments.lexers.lilypond + +
+ +
+ +
+ + pygments.lexers.macaulay2 +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.make +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.shell + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.maple +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.markup +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.css + • pygments.lexers.data + • pygments.lexers.html + • pygments.lexers.javascript + • pygments.lexers.lilypond + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.haskell + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.math +SourceModule
+imports: + pygments.lexers + • pygments.lexers.algebra + • pygments.lexers.idl + • pygments.lexers.julia + • pygments.lexers.matlab + • pygments.lexers.modeling + • pygments.lexers.python + • pygments.lexers.r + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.matlab +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._scilab_builtins + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.math + +
+ +
+ +
+ + pygments.lexers.maxima +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.meson +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.mime +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.email + +
+ +
+ +
+ + pygments.lexers.minecraft +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.mips +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ml +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + • pygments.lexers.functional + +
+ +
+ +
+ + pygments.lexers.modeling +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._stan_builtins + • pygments.lexers.html + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.math + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.modula2 +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.pascal + +
+ +
+ +
+ + pygments.lexers.mojo +SourceModule
+imports: + keyword + • pygments + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.unistring + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.monte +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.mosel +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ncl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.nimrod +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.nit +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.nix +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.numbair +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.oberon +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.objective +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._cocoa_builtins + • pygments.lexers.c_cpp + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + • pygments.lexers.parsers + +
+ +
+ +
+ + pygments.lexers.ooc +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.openscad +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.other +SourceModule
+imports: + pygments.lexers + • pygments.lexers.automation + • pygments.lexers.basic + • pygments.lexers.business + • pygments.lexers.configs + • pygments.lexers.dsls + • pygments.lexers.ecl + • pygments.lexers.esoteric + • pygments.lexers.graphics + • pygments.lexers.installers + • pygments.lexers.modeling + • pygments.lexers.pawn + • pygments.lexers.prolog + • pygments.lexers.rebol + • pygments.lexers.robotframework + • pygments.lexers.scripting + • pygments.lexers.shell + • pygments.lexers.smalltalk + • pygments.lexers.smv + • pygments.lexers.snobol + • pygments.lexers.sql + • pygments.lexers.testing + • pygments.lexers.textedit + • pygments.lexers.urbi + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.parasail +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.parsers +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.actionscript + • pygments.lexers.c_cpp + • pygments.lexers.d + • pygments.lexers.dotnet + • pygments.lexers.jvm + • pygments.lexers.objective + • pygments.lexers.perl + • pygments.lexers.python + • pygments.lexers.ruby + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.pascal +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.modula2 + • pygments.scanner + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.pawn +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._sourcemod_builtins + • pygments.token + • pygments.util + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.pddl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.perl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.parsers + • pygments.lexers.templates + +
+ +
+ +
+ + pygments.lexers.phix +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.php +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._php_builtins + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.templates + • pygments.lexers.web + +
+ +
+ +
+ + pygments.lexers.pointless +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.pony +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.praat +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.procfile +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.prolog +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.compiled + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.promql +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.prql +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ptx +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.purescript +SourceModule
+imports: + pygments + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.unistring + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.python +SourceModule
+imports: + keyword + • pygments + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.unistring + • pygments.util + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.bitbake + • pygments.lexers.compiled + • pygments.lexers.csound + • pygments.lexers.lisp + • pygments.lexers.math + • pygments.lexers.parsers + • pygments.lexers.templates + • pygments.lexers.textedit + • pygments.lexers.ul4 + +
+ +
+ +
+ + pygments.lexers.q +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.qlik +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._qlik_builtins + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.qvt +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.r +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.math + +
+ +
+ +
+ + pygments.lexers.rdf +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.rebol +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.rego +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.rell +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.resource +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ride +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.rita +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.rnc +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.roboconf +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.robotframework +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.ruby +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.html + • pygments.lexers.parsers + • pygments.lexers.templates + • pygments.lexers.webmisc + +
+ +
+ +
+ + pygments.lexers.rust +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.compiled + +
+ +
+ +
+ + pygments.lexers.sas +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.savi +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.scdoc +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.scripting +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._lua_builtins + • pygments.lexers._luau_builtins + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.agile + • pygments.lexers.csound + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.sgf +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.shell +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.bitbake + • pygments.lexers.configs + • pygments.lexers.make + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.sieve +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.slash +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.web + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.smalltalk +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.smithy +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.smv +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.snobol +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.solidity +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.soong +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.sophia +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.special +SourceModule
+imports: + ast + • bz2 + • gzip + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.spice +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.sql +SourceModule
+imports: + collections + • pygments.lexer + • pygments.lexers + • pygments.lexers._googlesql_builtins + • pygments.lexers._mysql_builtins + • pygments.lexers._postgres_builtins + • pygments.lexers._sql_builtins + • pygments.lexers._tsql_builtins + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + • pygments.lexers.templates + +
+ +
+ +
+ + pygments.lexers.srcinfo +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.stata +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._stata_builtins + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.supercollider +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tablegen +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.c_cpp + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tact +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tal +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tcl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + +
+
+imported by: + pygments + • pygments.lexers.agile + +
+ +
+ +
+ + pygments.lexers.teal +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.templates +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.css + • pygments.lexers.data + • pygments.lexers.html + • pygments.lexers.javascript + • pygments.lexers.jvm + • pygments.lexers.perl + • pygments.lexers.php + • pygments.lexers.python + • pygments.lexers.ruby + • pygments.lexers.sql + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.teraterm +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.testing +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.text +SourceModule
+imports: + pygments.lexers + • pygments.lexers.configs + • pygments.lexers.console + • pygments.lexers.data + • pygments.lexers.diff + • pygments.lexers.haxe + • pygments.lexers.installers + • pygments.lexers.make + • pygments.lexers.markup + • pygments.lexers.sgf + • pygments.lexers.textedit + • pygments.lexers.textfmts + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.textedit +SourceModule
+imports: + bisect + • pygments.lexer + • pygments.lexers + • pygments.lexers._vim_builtins + • pygments.lexers.python + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.textfmts +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + • re + +
+
+imported by: + pygments + • pygments.lexers.text + +
+ +
+ +
+ + pygments.lexers.theorem +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.lean + • pygments.token + +
+
+imported by: + pygments + • pygments.lexers.elpi + • pygments.lexers.functional + +
+ +
+ +
+ + pygments.lexers.thingsdb +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tlb +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tls +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.tnt +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.trafficscript +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.typoscript +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.typst +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • pygments.util + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.ul4 +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.python + • pygments.lexers.web + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.unicon +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.urbi +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.other + +
+ +
+ +
+ + pygments.lexers.usd +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers._usd_builtins + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.varnish +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.verification +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.verifpal +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.vip +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.vyper +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.web +SourceModule
+imports: + pygments.lexers + • pygments.lexers.actionscript + • pygments.lexers.css + • pygments.lexers.data + • pygments.lexers.html + • pygments.lexers.javascript + • pygments.lexers.php + • pygments.lexers.webmisc + +
+
+imported by: + pygments + • pygments.lexers.slash + • pygments.lexers.ul4 + +
+ +
+ +
+ + pygments.lexers.webassembly +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.webidl +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.webmisc +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.lexers.css + • pygments.lexers.html + • pygments.lexers.javascript + • pygments.lexers.ruby + • pygments.token + • re + +
+
+imported by: + pygments + • pygments.lexers.web + +
+ +
+ +
+ + pygments.lexers.wgsl +SourceModule
+imports: + pygments + • pygments.lexer + • pygments.lexers + • pygments.token + • pygments.unistring + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.whiley +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.wowtoc +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.wren +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + • re + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.x10 +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.xorg +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.yang +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.yara +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.lexers.zig +SourceModule
+imports: + pygments.lexer + • pygments.lexers + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.modeline +SourceModule
+imports: + pygments + • re + +
+
+imported by: + pygments.lexers + +
+ +
+ +
+ + pygments.plugin +SourceModule
+imports: + functools + • importlib.metadata + • pygments + +
+
+imported by: + pygments.filters + • pygments.formatters + • pygments.lexers + • pygments.styles + +
+ +
+ +
+ + pygments.regexopt +SourceModule
+imports: + itertools + • operator + • pygments + • re + +
+
+imported by: + pygments.lexer + +
+ +
+ +
+ + pygments.scanner +SourceModule
+imports: + pygments + • re + +
+
+imported by: + pygments.lexers.pascal + +
+ +
+ +
+ + pygments.style +SourceModule
+imports: + pygments + • pygments.token + +
+
+imported by: + pygments.formatters.rtf + • pygments.formatters.terminal256 + • pygments.styles.abap + • pygments.styles.algol + • pygments.styles.algol_nu + • pygments.styles.arduino + • pygments.styles.autumn + • pygments.styles.borland + • pygments.styles.bw + • pygments.styles.coffee + • pygments.styles.colorful + • pygments.styles.default + • pygments.styles.dracula + • pygments.styles.emacs + • pygments.styles.friendly + • pygments.styles.friendly_grayscale + • pygments.styles.fruity + • pygments.styles.gh_dark + • pygments.styles.gruvbox + • pygments.styles.igor + • pygments.styles.inkpot + • pygments.styles.lightbulb + • pygments.styles.lilypond + • pygments.styles.lovelace + • pygments.styles.manni + • pygments.styles.material + • pygments.styles.monokai + • pygments.styles.murphy + • pygments.styles.native + • pygments.styles.night_owl + • pygments.styles.nord + • pygments.styles.onedark + • pygments.styles.paraiso_dark + • pygments.styles.paraiso_light + • pygments.styles.pastie + • pygments.styles.perldoc + • pygments.styles.rainbow_dash + • pygments.styles.rrt + • pygments.styles.sas + • pygments.styles.solarized + • pygments.styles.staroffice + • pygments.styles.stata_dark + • pygments.styles.stata_light + • pygments.styles.tango + • pygments.styles.trac + • pygments.styles.vim + • pygments.styles.vs + • pygments.styles.xcode + • pygments.styles.zenburn + +
+ +
+ +
+ + pygments.styles +Package
+imports: + pygments + • pygments.plugin + • pygments.styles._mapping + • pygments.util + +
+
+imported by: + pygments + • pygments.formatter + • pygments.styles._mapping + • pygments.styles.abap + • pygments.styles.algol + • pygments.styles.algol_nu + • pygments.styles.arduino + • pygments.styles.autumn + • pygments.styles.borland + • pygments.styles.bw + • pygments.styles.coffee + • pygments.styles.colorful + • pygments.styles.default + • pygments.styles.dracula + • pygments.styles.emacs + • pygments.styles.friendly + • pygments.styles.friendly_grayscale + • pygments.styles.fruity + • pygments.styles.gh_dark + • pygments.styles.gruvbox + • pygments.styles.igor + • pygments.styles.inkpot + • pygments.styles.lightbulb + • pygments.styles.lilypond + • pygments.styles.lovelace + • pygments.styles.manni + • pygments.styles.material + • pygments.styles.monokai + • pygments.styles.murphy + • pygments.styles.native + • pygments.styles.night_owl + • pygments.styles.nord + • pygments.styles.onedark + • pygments.styles.paraiso_dark + • pygments.styles.paraiso_light + • pygments.styles.pastie + • pygments.styles.perldoc + • pygments.styles.rainbow_dash + • pygments.styles.rrt + • pygments.styles.sas + • pygments.styles.solarized + • pygments.styles.staroffice + • pygments.styles.stata_dark + • pygments.styles.stata_light + • pygments.styles.tango + • pygments.styles.trac + • pygments.styles.vim + • pygments.styles.vs + • pygments.styles.xcode + • pygments.styles.zenburn + +
+ +
+ +
+ + pygments.styles._mapping +SourceModule
+imports: + pygments.styles + +
+
+imported by: + pygments + • pygments.styles + +
+ +
+ +
+ + pygments.styles.abap +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.algol +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.algol_nu +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.arduino +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.autumn +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.borland +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.bw +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.coffee +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.colorful +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.default +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.dracula +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.emacs +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.friendly +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.friendly_grayscale +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.fruity +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.gh_dark +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.gruvbox +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.igor +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.inkpot +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.lightbulb +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.lilypond +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.lovelace +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.manni +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.material +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.monokai +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.murphy +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.native +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.night_owl +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.nord +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.onedark +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.paraiso_dark +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.paraiso_light +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.pastie +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.perldoc +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.rainbow_dash +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.rrt +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.sas +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.solarized +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.staroffice +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.stata_dark +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.stata_light +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.tango +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.trac +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.vim +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.vs +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.xcode +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.styles.zenburn +SourceModule
+imports: + pygments.style + • pygments.styles + • pygments.token + +
+
+imported by: + pygments + +
+ +
+ +
+ + pygments.token +SourceModule
+imports: + pygments + +
+
+imported by: + pygments.filters + • pygments.formatters.html + • pygments.formatters.irc + • pygments.formatters.latex + • pygments.formatters.other + • pygments.formatters.svg + • pygments.formatters.terminal + • pygments.lexer + • pygments.lexers.actionscript + • pygments.lexers.ada + • pygments.lexers.algebra + • pygments.lexers.ambient + • pygments.lexers.amdgpu + • pygments.lexers.ampl + • pygments.lexers.apdlexer + • pygments.lexers.apl + • pygments.lexers.archetype + • pygments.lexers.arrow + • pygments.lexers.arturo + • pygments.lexers.asc + • pygments.lexers.asm + • pygments.lexers.asn1 + • pygments.lexers.automation + • pygments.lexers.bare + • pygments.lexers.basic + • pygments.lexers.bdd + • pygments.lexers.berry + • pygments.lexers.bibtex + • pygments.lexers.bitbake + • pygments.lexers.blueprint + • pygments.lexers.boa + • pygments.lexers.bqn + • pygments.lexers.business + • pygments.lexers.c_cpp + • pygments.lexers.c_like + • pygments.lexers.capnproto + • pygments.lexers.carbon + • pygments.lexers.cddl + • pygments.lexers.cel + • pygments.lexers.chapel + • pygments.lexers.clean + • pygments.lexers.codeql + • pygments.lexers.comal + • pygments.lexers.configs + • pygments.lexers.console + • pygments.lexers.cplint + • pygments.lexers.crystal + • pygments.lexers.csound + • pygments.lexers.css + • pygments.lexers.d + • pygments.lexers.dalvik + • pygments.lexers.data + • pygments.lexers.dax + • pygments.lexers.devicetree + • pygments.lexers.diff + • pygments.lexers.dns + • pygments.lexers.dotnet + • pygments.lexers.dsls + • pygments.lexers.dylan + • pygments.lexers.ecl + • pygments.lexers.eiffel + • pygments.lexers.elm + • pygments.lexers.elpi + • pygments.lexers.email + • pygments.lexers.erlang + • pygments.lexers.esoteric + • pygments.lexers.ezhil + • pygments.lexers.factor + • pygments.lexers.fantom + • pygments.lexers.felix + • pygments.lexers.fift + • pygments.lexers.floscript + • pygments.lexers.forth + • pygments.lexers.fortran + • pygments.lexers.foxpro + • pygments.lexers.freefem + • pygments.lexers.func + • pygments.lexers.futhark + • pygments.lexers.gcodelexer + • pygments.lexers.gdscript + • pygments.lexers.gleam + • pygments.lexers.go + • pygments.lexers.grammar_notation + • pygments.lexers.graph + • pygments.lexers.graphics + • pygments.lexers.graphql + • pygments.lexers.graphviz + • pygments.lexers.gsql + • pygments.lexers.hare + • pygments.lexers.haskell + • pygments.lexers.haxe + • pygments.lexers.hdl + • pygments.lexers.hexdump + • pygments.lexers.html + • pygments.lexers.idl + • pygments.lexers.igor + • pygments.lexers.inferno + • pygments.lexers.installers + • pygments.lexers.int_fiction + • pygments.lexers.iolang + • pygments.lexers.j + • pygments.lexers.javascript + • pygments.lexers.jmespath + • pygments.lexers.jslt + • pygments.lexers.json5 + • pygments.lexers.jsonnet + • pygments.lexers.jsx + • pygments.lexers.julia + • pygments.lexers.jvm + • pygments.lexers.kuin + • pygments.lexers.kusto + • pygments.lexers.ldap + • pygments.lexers.lean + • pygments.lexers.lilypond + • pygments.lexers.lisp + • pygments.lexers.macaulay2 + • pygments.lexers.make + • pygments.lexers.maple + • pygments.lexers.markup + • pygments.lexers.matlab + • pygments.lexers.maxima + • pygments.lexers.meson + • pygments.lexers.mime + • pygments.lexers.minecraft + • pygments.lexers.mips + • pygments.lexers.ml + • pygments.lexers.modeling + • pygments.lexers.modula2 + • pygments.lexers.mojo + • pygments.lexers.monte + • pygments.lexers.mosel + • pygments.lexers.ncl + • pygments.lexers.nimrod + • pygments.lexers.nit + • pygments.lexers.nix + • pygments.lexers.numbair + • pygments.lexers.oberon + • pygments.lexers.objective + • pygments.lexers.ooc + • pygments.lexers.openscad + • pygments.lexers.parasail + • pygments.lexers.parsers + • pygments.lexers.pascal + • pygments.lexers.pawn + • pygments.lexers.pddl + • pygments.lexers.perl + • pygments.lexers.phix + • pygments.lexers.php + • pygments.lexers.pointless + • pygments.lexers.pony + • pygments.lexers.praat + • pygments.lexers.procfile + • pygments.lexers.prolog + • pygments.lexers.promql + • pygments.lexers.prql + • pygments.lexers.ptx + • pygments.lexers.purescript + • pygments.lexers.python + • pygments.lexers.q + • pygments.lexers.qlik + • pygments.lexers.qvt + • pygments.lexers.r + • pygments.lexers.rdf + • pygments.lexers.rebol + • pygments.lexers.rego + • pygments.lexers.rell + • pygments.lexers.resource + • pygments.lexers.ride + • pygments.lexers.rita + • pygments.lexers.rnc + • pygments.lexers.roboconf + • pygments.lexers.robotframework + • pygments.lexers.ruby + • pygments.lexers.rust + • pygments.lexers.sas + • pygments.lexers.savi + • pygments.lexers.scdoc + • pygments.lexers.scripting + • pygments.lexers.sgf + • pygments.lexers.shell + • pygments.lexers.sieve + • pygments.lexers.slash + • pygments.lexers.smalltalk + • pygments.lexers.smithy + • pygments.lexers.smv + • pygments.lexers.snobol + • pygments.lexers.solidity + • pygments.lexers.soong + • pygments.lexers.sophia + • pygments.lexers.special + • pygments.lexers.spice + • pygments.lexers.sql + • pygments.lexers.srcinfo + • pygments.lexers.stata + • pygments.lexers.supercollider + • pygments.lexers.tablegen + • pygments.lexers.tact + • pygments.lexers.tal + • pygments.lexers.tcl + • pygments.lexers.teal + • pygments.lexers.templates + • pygments.lexers.teraterm + • pygments.lexers.testing + • pygments.lexers.textedit + • pygments.lexers.textfmts + • pygments.lexers.theorem + • pygments.lexers.thingsdb + • pygments.lexers.tlb + • pygments.lexers.tls + • pygments.lexers.tnt + • pygments.lexers.trafficscript + • pygments.lexers.typoscript + • pygments.lexers.typst + • pygments.lexers.ul4 + • pygments.lexers.unicon + • pygments.lexers.urbi + • pygments.lexers.usd + • pygments.lexers.varnish + • pygments.lexers.verification + • pygments.lexers.verifpal + • pygments.lexers.vip + • pygments.lexers.vyper + • pygments.lexers.webassembly + • pygments.lexers.webidl + • pygments.lexers.webmisc + • pygments.lexers.wgsl + • pygments.lexers.whiley + • pygments.lexers.wowtoc + • pygments.lexers.wren + • pygments.lexers.x10 + • pygments.lexers.xorg + • pygments.lexers.yang + • pygments.lexers.yara + • pygments.lexers.zig + • pygments.style + • pygments.styles.abap + • pygments.styles.algol + • pygments.styles.algol_nu + • pygments.styles.arduino + • pygments.styles.autumn + • pygments.styles.borland + • pygments.styles.bw + • pygments.styles.coffee + • pygments.styles.colorful + • pygments.styles.default + • pygments.styles.dracula + • pygments.styles.emacs + • pygments.styles.friendly + • pygments.styles.friendly_grayscale + • pygments.styles.fruity + • pygments.styles.gh_dark + • pygments.styles.gruvbox + • pygments.styles.igor + • pygments.styles.inkpot + • pygments.styles.lightbulb + • pygments.styles.lilypond + • pygments.styles.lovelace + • pygments.styles.manni + • pygments.styles.material + • pygments.styles.monokai + • pygments.styles.murphy + • pygments.styles.native + • pygments.styles.night_owl + • pygments.styles.nord + • pygments.styles.onedark + • pygments.styles.paraiso_dark + • pygments.styles.paraiso_light + • pygments.styles.pastie + • pygments.styles.perldoc + • pygments.styles.rainbow_dash + • pygments.styles.rrt + • pygments.styles.sas + • pygments.styles.solarized + • pygments.styles.staroffice + • pygments.styles.stata_dark + • pygments.styles.stata_light + • pygments.styles.tango + • pygments.styles.trac + • pygments.styles.vim + • pygments.styles.vs + • pygments.styles.xcode + • pygments.styles.zenburn + +
+ +
+ +
+ + pygments.unistring +SourceModule
+imports: + pygments + • unicodedata + +
+
+imported by: + pygments + • pygments.lexers.dotnet + • pygments.lexers.futhark + • pygments.lexers.haskell + • pygments.lexers.javascript + • pygments.lexers.jvm + • pygments.lexers.mojo + • pygments.lexers.purescript + • pygments.lexers.python + • pygments.lexers.wgsl + +
+ +
+ +
+ + pygments.util +SourceModule
+imports: + html + • io + • locale + • pygments + • re + +
+
+imported by: + pygments.filters + • pygments.formatter + • pygments.formatters + • pygments.formatters.bbcode + • pygments.formatters.groff + • pygments.formatters.html + • pygments.formatters.img + • pygments.formatters.irc + • pygments.formatters.latex + • pygments.formatters.other + • pygments.formatters.rtf + • pygments.formatters.svg + • pygments.formatters.terminal + • pygments.lexer + • pygments.lexers + • pygments.lexers._mysql_builtins + • pygments.lexers._postgres_builtins + • pygments.lexers._scilab_builtins + • pygments.lexers._sourcemod_builtins + • pygments.lexers.arturo + • pygments.lexers.c_cpp + • pygments.lexers.dotnet + • pygments.lexers.email + • pygments.lexers.html + • pygments.lexers.javascript + • pygments.lexers.julia + • pygments.lexers.jvm + • pygments.lexers.markup + • pygments.lexers.mime + • pygments.lexers.modula2 + • pygments.lexers.mojo + • pygments.lexers.pascal + • pygments.lexers.pawn + • pygments.lexers.perl + • pygments.lexers.php + • pygments.lexers.python + • pygments.lexers.ruby + • pygments.lexers.scripting + • pygments.lexers.shell + • pygments.lexers.special + • pygments.lexers.tcl + • pygments.lexers.templates + • pygments.lexers.textfmts + • pygments.lexers.typst + • pygments.styles + +
+ +
+ +
+ + pyimod02_importers +MissingModule
+imported by: + pyi_rth_pkgres.py + • pyi_rth_pkgutil.py + +
+ +
+ +
+ + pyodide_js +MissingModule
+imported by: + threadpoolctl + +
+ +
+ +
+ + pyparsing +Package
+imports: + pyparsing + • pyparsing.Word + • pyparsing.actions + • pyparsing.common + • pyparsing.core + • pyparsing.exceptions + • pyparsing.helpers + • pyparsing.results + • pyparsing.testing + • pyparsing.unicode + • pyparsing.util + • typing + +
+
+imported by: + matplotlib._fontconfig_pattern + • matplotlib._mathtext + • pyparsing + • pyparsing.actions + • pyparsing.common + • pyparsing.core + • pyparsing.diagram + • pyparsing.exceptions + • pyparsing.helpers + • pyparsing.results + • pyparsing.testing + • pyparsing.unicode + • pyparsing.util + +
+ +
+ +
+ + pyparsing.Word +MissingModule
+imported by: + pyparsing + • pyparsing.unicode + +
+ +
+ +
+ + pyparsing.actions +SourceModule
+imports: + pyparsing + • pyparsing.core + • pyparsing.exceptions + • pyparsing.util + +
+
+imported by: + pyparsing + • pyparsing.core + +
+ +
+ +
+ + pyparsing.common +SourceModule
+imports: + datetime + • pyparsing + • pyparsing.core + • pyparsing.helpers + +
+
+imported by: + pyparsing + +
+ +
+ +
+ + pyparsing.core +SourceModule
+imports: + abc + • collections + • collections.abc + • copy + • enum + • functools + • operator + • os + • pathlib + • pdb + • pyparsing + • pyparsing.actions + • pyparsing.diagram + • pyparsing.exceptions + • pyparsing.results + • pyparsing.testing + • pyparsing.unicode + • pyparsing.util + • re + • string + • sys + • threading + • traceback + • types + • typing + • warnings + +
+
+imported by: + pyparsing + • pyparsing.actions + • pyparsing.common + • pyparsing.exceptions + • pyparsing.helpers + • pyparsing.testing + +
+ +
+ +
+ + pyparsing.diagram +Package
+imports: + inspect + • io + • jinja2 + • pyparsing + • railroad + • typing + +
+
+imported by: + pyparsing.core + +
+ +
+ +
+ + pyparsing.exceptions +SourceModule
+imports: + inspect + • pyparsing + • pyparsing.core + • pyparsing.unicode + • pyparsing.util + • re + • sys + • typing + +
+
+imported by: + pyparsing + • pyparsing.actions + • pyparsing.core + +
+ +
+ +
+ + pyparsing.helpers +SourceModule
+imports: + html.entities + • pyparsing + • pyparsing.core + • pyparsing.util + • re + • sys + • typing + +
+
+imported by: + pyparsing + • pyparsing.common + +
+ +
+ +
+ + pyparsing.results +SourceModule
+imports: + collections.abc + • pprint + • pyparsing + • typing + +
+
+imported by: + pyparsing + • pyparsing.core + +
+ +
+ +
+ + pyparsing.testing +SourceModule
+imports: + contextlib + • pyparsing + • pyparsing.core + • typing + +
+
+imported by: + pyparsing + • pyparsing.core + +
+ +
+ +
+ + pyparsing.unicode +SourceModule
+imports: + itertools + • pyparsing + • pyparsing.Word + • sys + • typing + +
+
+imported by: + pyparsing + • pyparsing.core + • pyparsing.exceptions + +
+ +
+ +
+ + pyparsing.util +SourceModule
+imports: + collections + • functools + • inspect + • itertools + • pyparsing + • types + • typing + • warnings + +
+
+imported by: + pyparsing + • pyparsing.actions + • pyparsing.core + • pyparsing.exceptions + • pyparsing.helpers + +
+ +
+ +
+ + pyreadline3 +Package
+imports: + __future__ + • platform + • pyreadline3 + • pyreadline3.clipboard + • pyreadline3.console + • pyreadline3.lineeditor + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.release + • pyreadline3.rlmain + • pyreadline3.unicode_helper + +
+
+imported by: + pyreadline3 + • pyreadline3.clipboard + • pyreadline3.console + • pyreadline3.error + • pyreadline3.keysyms + • pyreadline3.lineeditor + • pyreadline3.lineeditor.history + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.py3k_compat + • pyreadline3.release + • pyreadline3.rlmain + • pyreadline3.unicode_helper + +
+ +
+ +
+ + pyreadline3.clipboard +Package
+imports: + __future__ + • pyreadline3 + • pyreadline3.clipboard.ironpython_clipboard + • pyreadline3.clipboard.no_clipboard + • pyreadline3.clipboard.win32_clipboard + • pyreadline3.py3k_compat + +
+
+imported by: + pyreadline3 + • pyreadline3.clipboard.ironpython_clipboard + • pyreadline3.clipboard.no_clipboard + • pyreadline3.clipboard.win32_clipboard + • pyreadline3.lineeditor.lineobj + • pyreadline3.modes.basemode + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.clipboard.ironpython_clipboard +SourceModule
+imports: + System + • __future__ + • clr + • pyreadline3.clipboard + +
+
+imported by: + pyreadline3.clipboard + +
+ +
+ +
+ + pyreadline3.clipboard.no_clipboard +SourceModule
+imports: + __future__ + • pyreadline3.clipboard + +
+
+imported by: + pyreadline3.clipboard + +
+ +
+ +
+ + pyreadline3.clipboard.win32_clipboard +SourceModule
+imports: + __future__ + • ctypes + • ctypes.wintypes + • pyreadline3.clipboard + • pyreadline3.keysyms.winconstants + • pyreadline3.unicode_helper + +
+
+imported by: + pyreadline3.clipboard + +
+ +
+ +
+ + pyreadline3.console +Package
+imports: + __future__ + • pyreadline3 + • pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.py3k_compat + +
+
+imported by: + pyreadline3 + • pyreadline3.console.ansi + • pyreadline3.console.console + • pyreadline3.console.event + • pyreadline3.console.ironpython_console + • pyreadline3.rlmain + • readline + +
+ +
+ +
+ + pyreadline3.console.ansi +SourceModule
+imports: + __future__ + • console + • os + • pprint + • pyreadline3.console + • re + • sys + +
+
+imported by: + pyreadline3.console.console + • pyreadline3.console.ironpython_console + +
+ +
+ +
+ + pyreadline3.console.console +SourceModule
+imports: + __future__ + • _ctypes + • ctypes + • ctypes.util + • ctypes.wintypes + • os + • pyreadline3.console + • pyreadline3.console.ansi + • pyreadline3.console.event + • pyreadline3.keysyms + • pyreadline3.logger + • pyreadline3.unicode_helper + • re + • sys + • time + • traceback + +
+
+imported by: + pyreadline3.console + +
+ +
+ +
+ + pyreadline3.console.event +SourceModule
+imports: + __future__ + • pyreadline3.console + +
+
+imported by: + pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.console.ironpython_console +SourceModule
+imports: + IronPythonConsole + • System + • __future__ + • clr + • os + • pyreadline3.console + • pyreadline3.console.ansi + • pyreadline3.console.event + • pyreadline3.keysyms + • pyreadline3.logger + • re + • sys + • time + +
+
+imported by: + pyreadline3.console + +
+ +
+ +
+ + pyreadline3.error +SourceModule
+imports: + __future__ + • pyreadline3 + +
+
+imported by: + pyreadline3.modes.basemode + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.keysyms +Package
+imports: + __future__ + • pyreadline3 + • pyreadline3.keysyms + • pyreadline3.keysyms.ironpython_keysyms + • pyreadline3.keysyms.keysyms + • pyreadline3.keysyms.winconstants + • pyreadline3.py3k_compat + +
+
+imported by: + pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.keysyms + • pyreadline3.keysyms.common + • pyreadline3.keysyms.ironpython_keysyms + • pyreadline3.keysyms.keysyms + • pyreadline3.keysyms.winconstants + +
+ +
+ +
+ + pyreadline3.keysyms.common +SourceModule
+imports: + __future__ + • pyreadline3.keysyms + • pyreadline3.unicode_helper + • sets + • startup + +
+
+imported by: + pyreadline3.keysyms.ironpython_keysyms + • pyreadline3.keysyms.keysyms + • pyreadline3.modes.basemode + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.keysyms.ironpython_keysyms +SourceModule
+imports: + System + • __future__ + • pyreadline3.keysyms + • pyreadline3.keysyms.common + +
+
+imported by: + pyreadline3.keysyms + +
+ +
+ +
+ + pyreadline3.keysyms.keysyms +SourceModule
+imports: + __future__ + • ctypes + • pyreadline3.keysyms + • pyreadline3.keysyms.common + • pyreadline3.keysyms.winconstants + • pyreadline3.logger + • startup + +
+
+imported by: + pyreadline3.keysyms + +
+ +
+ +
+ + pyreadline3.keysyms.winconstants +SourceModule
+imports: + __future__ + • pyreadline3.keysyms + +
+
+imported by: + pyreadline3.clipboard.win32_clipboard + • pyreadline3.keysyms + • pyreadline3.keysyms.keysyms + +
+ +
+ +
+ + pyreadline3.lineeditor +Package
+imports: + __future__ + • pyreadline3 + • pyreadline3.lineeditor + • pyreadline3.lineeditor.lineobj + • pyreadline3.lineeditor.wordmatcher + +
+
+imported by: + pyreadline3 + • pyreadline3.lineeditor + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.lineeditor.wordmatcher + +
+ +
+ +
+ + pyreadline3.lineeditor.history +SourceModule
+imports: + __future__ + • os + • pyreadline3 + • pyreadline3.lineeditor + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.unicode_helper + • sys + +
+
+imported by: + pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.lineeditor.lineobj +SourceModule
+imports: + __future__ + • pyreadline3.clipboard + • pyreadline3.lineeditor + • pyreadline3.lineeditor.wordmatcher + • pyreadline3.unicode_helper + +
+
+imported by: + pyreadline3.lineeditor + • pyreadline3.lineeditor.history + • pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.lineeditor.wordmatcher +SourceModule
+imports: + __future__ + • pyreadline3.lineeditor + • re + +
+
+imported by: + pyreadline3.lineeditor + • pyreadline3.lineeditor.lineobj + +
+ +
+ +
+ + pyreadline3.logger +SourceModule
+imports: + __future__ + • logging + • logging.handlers + • pyreadline3 + • pyreadline3.unicode_helper + • socket + +
+
+imported by: + pyreadline3 + • pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.keysyms.keysyms + • pyreadline3.lineeditor.history + • pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.modes +Package
+imports: + __future__ + • pyreadline3 + • pyreadline3.modes + • pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + +
+
+imported by: + pyreadline3 + • pyreadline3.modes + • pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.modes.basemode +SourceModule
+imports: + __future__ + • glob + • math + • os + • pyreadline3.clipboard + • pyreadline3.error + • pyreadline3.keysyms.common + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.py3k_compat + • pyreadline3.unicode_helper + • re + • sys + +
+
+imported by: + pyreadline3.modes + • pyreadline3.modes.emacs + • pyreadline3.modes.notemacs + • pyreadline3.modes.vi + +
+ +
+ +
+ + pyreadline3.modes.emacs +SourceModule
+imports: + __future__ + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.modes.basemode + • pyreadline3.unicode_helper + +
+
+imported by: + pyreadline3.modes + +
+ +
+ +
+ + pyreadline3.modes.notemacs +SourceModule
+imports: + __future__ + • os + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.modes.basemode + +
+
+imported by: + pyreadline3.modes + +
+ +
+ +
+ + pyreadline3.modes.vi +SourceModule
+imports: + __future__ + • os + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.modes.basemode + • tempfile + +
+
+imported by: + pyreadline3.modes + +
+ +
+ +
+ + pyreadline3.py3k_compat +SourceModule
+imports: + __future__ + • collections.abc + • pyreadline3 + • sys + +
+
+imported by: + pyreadline3.clipboard + • pyreadline3.console + • pyreadline3.keysyms + • pyreadline3.modes.basemode + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.release +SourceModule
+imports: + __future__ + • pyreadline3 + +
+
+imported by: + pyreadline3 + • pyreadline3.rlmain + +
+ +
+ +
+ + pyreadline3.rlmain +SourceModule
+imports: + System + • __future__ + • glob + • os + • pyreadline3 + • pyreadline3.clipboard + • pyreadline3.console + • pyreadline3.console.event + • pyreadline3.error + • pyreadline3.keysyms.common + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.modes + • pyreadline3.py3k_compat + • pyreadline3.release + • pyreadline3.unicode_helper + • re + • sys + • time + • traceback + • types + +
+
+imported by: + pyreadline3 + • readline + +
+ +
+ +
+ + pyreadline3.unicode_helper +SourceModule
+imports: + pyreadline3 + • sys + +
+
+imported by: + pyreadline3 + • pyreadline3.clipboard.win32_clipboard + • pyreadline3.console.console + • pyreadline3.keysyms.common + • pyreadline3.lineeditor.history + • pyreadline3.lineeditor.lineobj + • pyreadline3.logger + • pyreadline3.modes.basemode + • pyreadline3.modes.emacs + • pyreadline3.rlmain + +
+ +
+ +
+ + pythoncom +SourceModule
+imports: + pywintypes + +
+
+imported by: + win32com + • win32com.client + • win32com.client.build + • win32com.client.dynamic + • win32com.client.gencache + • win32com.client.genpy + • win32com.client.makepy + • win32com.client.selecttlb + • win32com.client.util + • win32com.server.dispatcher + • win32com.server.exception + • win32com.server.policy + • win32com.server.util + • win32com.universal + • win32com.util + +
+ +
+ +
+ + pythonnet +Package
+imports: + atexit + • clr_loader + • os + • pathlib + • sys + • typing + +
+
+imported by: + clr + +
+ +
+ +
+ + pytz +Package
+imports: + datetime + • doctest + • os.path + • pkg_resources + • pytz + • pytz.exceptions + • pytz.lazy + • pytz.tzfile + • pytz.tzinfo + • sys + +
+
+imported by: + babel.dates + • babel.localtime._helpers + • pytz + • pytz.exceptions + • pytz.lazy + • pytz.tzfile + • pytz.tzinfo + +
+ +
+ +
+ + pytz.exceptions +SourceModule
+imports: + pytz + +
+
+imported by: + pytz + • pytz.tzinfo + +
+ +
+ +
+ + pytz.lazy +SourceModule
+imports: + UserDict + • collections + • collections.Mapping + • collections.abc + • pytz + • threading + +
+
+imported by: + pytz + +
+ +
+ +
+ + pytz.tzfile +SourceModule
+imports: + datetime + • os.path + • pprint + • pytz + • pytz.tzinfo + • struct + +
+
+imported by: + pytz + +
+ +
+ +
+ + pytz.tzinfo +SourceModule
+imports: + bisect + • datetime + • pytz + • pytz.exceptions + • sets + +
+
+imported by: + pytz + • pytz.tzfile + +
+ +
+ +
+ + pywin +Package
+imported by: + pywin.dialogs + • pywin.mfc + • win32com.client.makepy + +
+ +
+ +
+ + pywin.dialogs +Package
+imports: + pywin + • pywin.dialogs.status + +
+
+imported by: + pywin.dialogs.list + • pywin.dialogs.status + • win32com.client.makepy + +
+ +
+ +
+ + pywin.dialogs.list +SourceModule
+imports: + commctrl + • pywin.dialogs + • pywin.mfc + • pywin.mfc.dialog + • win32api + • win32con + • win32ui + +
+
+imported by: + win32com.client.selecttlb + +
+ +
+ +
+ + pywin.dialogs.status +SourceModule
+imports: + pywin.dialogs + • pywin.mfc + • pywin.mfc.dialog + • pywin.mfc.thread + • threading + • time + • win32api + • win32con + • win32ui + +
+
+imported by: + pywin.dialogs + • win32com.client.makepy + +
+ +
+ +
+ + pywin.mfc +Package
+imports: + pywin + • pywin.mfc + • pywin.mfc.dialog + • pywin.mfc.object + • pywin.mfc.window + +
+
+imported by: + pywin.dialogs.list + • pywin.dialogs.status + • pywin.mfc + • pywin.mfc.dialog + • pywin.mfc.object + • pywin.mfc.thread + • pywin.mfc.window + +
+ +
+ +
+ + pywin.mfc.dialog +SourceModule
+imports: + pywin.mfc + • pywin.mfc.window + • win32con + • win32ui + +
+
+imported by: + pywin.dialogs.list + • pywin.dialogs.status + • pywin.mfc + +
+ +
+ +
+ + pywin.mfc.object +SourceModule
+imports: + pywin.mfc + • win32ui + +
+
+imported by: + pywin.mfc + • pywin.mfc.thread + • pywin.mfc.window + +
+ +
+ +
+ + pywin.mfc.thread +SourceModule
+imports: + pywin.mfc + • pywin.mfc.object + • win32ui + +
+
+imported by: + pywin.dialogs.status + +
+ +
+ +
+ + pywin.mfc.window +SourceModule
+imports: + pywin.mfc + • pywin.mfc.object + • win32con + • win32ui + +
+
+imported by: + pywin.mfc + • pywin.mfc.dialog + +
+ +
+ +
+ + pywin32_system32 +NamespacePackage
+imported by: + pywintypes + +
+ +
+ +
+ + pywintypes +SourceModule
+imports: + _win32sysloader + • importlib.machinery + • importlib.util + • os + • pywin32_system32 + • sys + +
+
+imported by: + pythoncom + • win32com.client + • win32com.client.build + • win32com.client.dynamic + • win32com.client.gencache + • win32com.server.policy + +
+ +
+ +
+ + queue +SourceModule
+imports: + _queue + • collections + • heapq + • threading + • time + • types + +
+
+imported by: + concurrent.futures.process + • concurrent.futures.thread + • logging.handlers + • more_itertools.more + • multiprocessing.dummy + • multiprocessing.dummy.connection + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.queues + • urllib3.packages.six.moves.queue + +
+ +
+ +
+ + quopri +SourceModule
+imports: + binascii + • getopt + • io + • sys + +
+
+imported by: + email.encoders + • email.message + • encodings.quopri_codec + +
+ +
+ +
+ + railroad +MissingModule
+imported by: + pyparsing.diagram + +
+ +
+ +
+ + random +SourceModule
+imports: + _collections_abc + • _random + • _sha512 + • bisect + • hashlib + • itertools + • math + • operator + • os + • statistics + • time + • warnings + +
+
+imported by: + PIL.ImagePalette + • cryptography.hazmat.primitives.asymmetric.rsa + • docxcompose.composer + • email.generator + • email.utils + • jinja2.filters + • jinja2.utils + • more_itertools.more + • more_itertools.recipes + • secrets + • statistics + • tempfile + • uuid + +
+ +
+ +
+ + re +SourceModule
+imports: + _locale + • copyreg + • enum + • functools + • sre_compile + • sre_constants + • sre_parse + +
+
+imported by: + PIL.EpsImagePlugin + • PIL.GimpPaletteFile + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageColor + • PIL.ImageOps + • PIL.ImtImagePlugin + • PIL.PdfParser + • PIL.PngImagePlugin + • PIL.XbmImagePlugin + • PIL.XpmImagePlugin + • _markupbase + • _osx_support + • _pydecimal + • _sre + • _strptime + • argparse + • babel.dates + • babel.localedata + • babel.localtime._unix + • babel.numbers + • babel.plural + • backports.tarfile + • base64 + • bs4 + • bs4.builder + • bs4.builder._html5lib + • bs4.dammit + • bs4.element + • cffi.api + • cffi.cparser + • cgi + • charset_normalizer.constant + • charset_normalizer.utils + • clr_loader.mono + • clr_loader.util.find + • configparser + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.x509.name + • csv + • ctypes._aix + • ctypes.macholib.dylib + • ctypes.macholib.framework + • ctypes.util + • dataclasses + • dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.rrule + • difflib + • distutils.ccompiler + • distutils.cmd + • distutils.command.build_ext + • distutils.dist + • distutils.extension + • distutils.fancy_getopt + • distutils.filelist + • distutils.msvc9compiler + • distutils.sysconfig + • distutils.util + • distutils.version + • distutils.versionpredicate + • doctest + • docx.opc.packuri + • docx.oxml.coreprops + • docx.oxml.xmlchemy + • docxcompose.composer + • docxcompose.properties + • docxcompose.utils + • email._encoded_words + • email._header_value_parser + • email.feedparser + • email.generator + • email.header + • email.message + • email.policy + • email.quoprimime + • email.utils + • encodings.idna + • fnmatch + • fractions + • ftplib + • gettext + • glob + • html + • html.parser + • http.client + • http.cookiejar + • http.cookies + • idna.core + • importlib.metadata + • importlib.metadata._adapters + • importlib.metadata._text + • importlib_metadata + • importlib_metadata._adapters + • importlib_metadata._text + • importlib_resources.readers + • inspect + • ipaddress + • jinja2._identifier + • jinja2.ext + • jinja2.filters + • jinja2.lexer + • jinja2.utils + • json.decoder + • json.encoder + • json.scanner + • latex2mathml.converter + • latex2mathml.symbols_parser + • latex2mathml.tokenizer + • locale + • logging + • logging.handlers + • lxml.doctestcompare + • lxml.html + • lxml.html._diffcommand + • lxml.html.soupparser + • marko.block + • marko.ext.gfm.elements + • marko.ext.gfm.renderer + • marko.ext.pangu + • marko.helpers + • marko.html_renderer + • marko.inline + • marko.inline_parser + • marko.md_renderer + • marko.patterns + • marko.renderer + • marko.source + • matplotlib + • matplotlib._afm + • matplotlib._api + • matplotlib._fontconfig_pattern + • matplotlib._mathtext + • matplotlib.artist + • matplotlib.backend_tools + • matplotlib.colors + • matplotlib.dates + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.pyplot + • matplotlib.rcsetup + • md2gost.biblio_processor + • md2gost.bibliography + • md2gost.checker + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.extended_markdown.caption + • md2gost.extended_markdown.equation + • md2gost.extended_markdown.heading + • md2gost.extended_markdown.image + • md2gost.extended_markdown.inline_formula + • md2gost.extended_markdown.reference + • md2gost.extended_markdown.table + • md2gost.extended_markdown.toc + • md2gost.label_pass + • md2gost.profiles + • md2gost.renderable.heading + • md2gost.renderer + • md2gost.word_fix + • md2gost_exe.py + • numpy._typing._add_docstring + • numpy.core._internal + • numpy.lib._version + • numpy.lib.function_base + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.utils + • numpy.ma.core + • numpy.testing._private.utils + • packaging._manylinux + • packaging._musllinux + • packaging._tokenizer + • packaging.licenses + • packaging.specifiers + • packaging.tags + • packaging.utils + • packaging.version + • pathlib + • pdb + • pickle + • pkg_resources + • pkgutil + • platform + • platformdirs.android + • plistlib + • posixpath + • pprint + • pycparser.c_lexer + • pycparser.ply.lex + • pycparser.ply.yacc + • pydoc + • pygments.filters + • pygments.formatters + • pygments.lexer + • pygments.lexers + • pygments.lexers._cocoa_builtins + • pygments.lexers._lua_builtins + • pygments.lexers._mysql_builtins + • pygments.lexers._php_builtins + • pygments.lexers._postgres_builtins + • pygments.lexers._sourcemod_builtins + • pygments.lexers.actionscript + • pygments.lexers.ada + • pygments.lexers.algebra + • pygments.lexers.ambient + • pygments.lexers.amdgpu + • pygments.lexers.apdlexer + • pygments.lexers.asc + • pygments.lexers.asm + • pygments.lexers.asn1 + • pygments.lexers.basic + • pygments.lexers.bibtex + • pygments.lexers.bitbake + • pygments.lexers.blueprint + • pygments.lexers.business + • pygments.lexers.c_cpp + • pygments.lexers.c_like + • pygments.lexers.carbon + • pygments.lexers.cel + • pygments.lexers.codeql + • pygments.lexers.comal + • pygments.lexers.configs + • pygments.lexers.crystal + • pygments.lexers.csound + • pygments.lexers.css + • pygments.lexers.dalvik + • pygments.lexers.diff + • pygments.lexers.dns + • pygments.lexers.dotnet + • pygments.lexers.dsls + • pygments.lexers.dylan + • pygments.lexers.ecl + • pygments.lexers.erlang + • pygments.lexers.ezhil + • pygments.lexers.forth + • pygments.lexers.fortran + • pygments.lexers.foxpro + • pygments.lexers.gdscript + • pygments.lexers.graph + • pygments.lexers.gsql + • pygments.lexers.haskell + • pygments.lexers.haxe + • pygments.lexers.hdl + • pygments.lexers.html + • pygments.lexers.idl + • pygments.lexers.igor + • pygments.lexers.inferno + • pygments.lexers.installers + • pygments.lexers.int_fiction + • pygments.lexers.javascript + • pygments.lexers.jsx + • pygments.lexers.jvm + • pygments.lexers.ldap + • pygments.lexers.lean + • pygments.lexers.lilypond + • pygments.lexers.lisp + • pygments.lexers.make + • pygments.lexers.markup + • pygments.lexers.matlab + • pygments.lexers.maxima + • pygments.lexers.mime + • pygments.lexers.ml + • pygments.lexers.modeling + • pygments.lexers.modula2 + • pygments.lexers.ncl + • pygments.lexers.nimrod + • pygments.lexers.nix + • pygments.lexers.oberon + • pygments.lexers.objective + • pygments.lexers.parasail + • pygments.lexers.parsers + • pygments.lexers.pascal + • pygments.lexers.perl + • pygments.lexers.phix + • pygments.lexers.php + • pygments.lexers.prolog + • pygments.lexers.qlik + • pygments.lexers.r + • pygments.lexers.rdf + • pygments.lexers.rebol + • pygments.lexers.resource + • pygments.lexers.robotframework + • pygments.lexers.ruby + • pygments.lexers.sas + • pygments.lexers.scdoc + • pygments.lexers.scripting + • pygments.lexers.shell + • pygments.lexers.sql + • pygments.lexers.stata + • pygments.lexers.supercollider + • pygments.lexers.templates + • pygments.lexers.teraterm + • pygments.lexers.textedit + • pygments.lexers.textfmts + • pygments.lexers.tls + • pygments.lexers.tnt + • pygments.lexers.typoscript + • pygments.lexers.ul4 + • pygments.lexers.unicon + • pygments.lexers.urbi + • pygments.lexers.vip + • pygments.lexers.webmisc + • pygments.lexers.wowtoc + • pygments.lexers.wren + • pygments.modeline + • pygments.regexopt + • pygments.scanner + • pygments.util + • pyparsing.core + • pyparsing.exceptions + • pyparsing.helpers + • pyreadline3.console.ansi + • pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.lineeditor.wordmatcher + • pyreadline3.modes.basemode + • pyreadline3.rlmain + • requests._internal_utils + • requests.auth + • requests.utils + • rlcompleter + • setuptools + • setuptools._distutils.cmd + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.config + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.dist + • setuptools._distutils.fancy_getopt + • setuptools._distutils.filelist + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._distutils.version + • setuptools._distutils.versionpredicate + • setuptools._normalization + • setuptools._vendor.jaraco.text + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.tags + • setuptools._vendor.packaging.utils + • setuptools._vendor.packaging.version + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.command.sdist + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.fastjsonschema_exceptions + • setuptools.config._validate_pyproject.fastjsonschema_validations + • setuptools.config._validate_pyproject.formats + • setuptools.dist + • setuptools.extension + • setuptools.glob + • setuptools.wheel + • shlex + • smtplib + • soupsieve.__meta__ + • soupsieve.css_match + • soupsieve.css_parser + • soupsieve.pretty + • soupsieve.util + • string + • sysconfig + • tarfile + • textwrap + • threadpoolctl + • tkinter + • tokenize + • tomli._re + • typing + • unittest.case + • unittest.loader + • urllib.parse + • urllib.request + • urllib3.connection + • urllib3.connectionpool + • urllib3.fields + • urllib3.util.retry + • urllib3.util.ssl_match_hostname + • urllib3.util.url + • warnings + • wheel.wheelfile + • xml.etree.ElementPath + • xml.etree.ElementTree + • xmlrpc.server + • yaml.constructor + • yaml.reader + • yaml.resolver + • zipp + • zipp.glob + • zoneinfo._zoneinfo + +
+ +
+ +
+ + readline +SourceModule
+imports: + __future__ + • pyreadline3.console + • pyreadline3.rlmain + +
+
+imported by: + cmd + • code + • pdb + • rlcompleter + • site + +
+ +
+ +
+ + reprlib +SourceModule
+imports: + _thread + • builtins + • itertools + +
+
+imported by: + asyncio.base_futures + • asyncio.format_helpers + • bdb + • collections + • functools + • md2gost_exe.py + • pydoc + +
+ +
+ +
+ + requests +Package
+imports: + __future__ + • chardet + • charset_normalizer + • cryptography + • logging + • requests + • requests.__version__ + • requests.api + • requests.certs + • requests.exceptions + • requests.models + • requests.packages + • requests.sessions + • requests.status_codes + • requests.utils + • ssl + • urllib3 + • urllib3.contrib + • urllib3.contrib.pyopenssl + • urllib3.exceptions + • warnings + +
+
+imported by: + md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.renderable.image + • md2gost_exe.py + • requests + • requests.__version__ + • requests._internal_utils + • requests._types + • requests.adapters + • requests.api + • requests.auth + • requests.certs + • requests.compat + • requests.cookies + • requests.exceptions + • requests.hooks + • requests.models + • requests.packages + • requests.sessions + • requests.status_codes + • requests.structures + • requests.utils + +
+ +
+ +
+ + requests.__version__ +SourceModule
+imports: + requests + +
+
+imported by: + requests + • requests.utils + +
+ +
+ +
+ + requests._internal_utils +SourceModule
+imports: + re + • requests + • requests.compat + +
+
+imported by: + requests.auth + • requests.cookies + • requests.models + • requests.sessions + • requests.utils + +
+ +
+ +
+ + requests._types +SourceModule
+imports: + __future__ + • collections.abc + • http.cookiejar + • requests + • requests.auth + • requests.cookies + • requests.models + • requests.structures + • typing + • typing_extensions + +
+
+imported by: + requests.adapters + • requests.api + • requests.cookies + • requests.hooks + • requests.models + • requests.sessions + • requests.utils + +
+ +
+ +
+ + requests.adapters +SourceModule
+imports: + __future__ + • os.path + • requests + • requests._types + • requests.auth + • requests.compat + • requests.cookies + • requests.exceptions + • requests.models + • requests.structures + • requests.utils + • socket + • typing + • urllib3.connectionpool + • urllib3.contrib.socks + • urllib3.exceptions + • urllib3.poolmanager + • urllib3.util + • urllib3.util.retry + • warnings + +
+
+imported by: + requests.models + • requests.sessions + +
+ +
+ +
+ + requests.api +SourceModule
+imports: + __future__ + • requests + • requests._types + • requests.models + • requests.sessions + • typing + • typing_extensions + +
+
+imported by: + requests + +
+ +
+ +
+ + requests.auth +SourceModule
+imports: + __future__ + • base64 + • hashlib + • http.cookiejar + • os + • re + • requests + • requests._internal_utils + • requests.compat + • requests.cookies + • requests.models + • requests.utils + • threading + • time + • typing + • warnings + +
+
+imported by: + requests._types + • requests.adapters + • requests.models + • requests.sessions + +
+ +
+ +
+ + requests.certs +SourceModule
+imports: + certifi + • requests + +
+
+imported by: + requests + • requests.utils + +
+ +
+ +
+ + requests.compat +SourceModule
+imports: + __future__ + • collections + • collections.abc + • http + • http.cookiejar + • http.cookies + • importlib + • io + • json + • requests + • simplejson + • sys + • types + • urllib.parse + • urllib.request + • urllib3 + +
+
+imported by: + requests._internal_utils + • requests.adapters + • requests.auth + • requests.cookies + • requests.exceptions + • requests.models + • requests.packages + • requests.sessions + • requests.structures + • requests.utils + +
+ +
+ +
+ + requests.cookies +SourceModule
+imports: + __future__ + • _typeshed + • calendar + • collections.abc + • copy + • http.cookiejar + • requests + • requests._internal_utils + • requests._types + • requests.compat + • requests.models + • threading + • time + • typing + +
+
+imported by: + requests._types + • requests.adapters + • requests.auth + • requests.models + • requests.sessions + • requests.utils + +
+ +
+ +
+ + requests.exceptions +SourceModule
+imports: + __future__ + • requests + • requests.compat + • requests.models + • typing + • urllib3.exceptions + +
+
+imported by: + requests + • requests.adapters + • requests.models + • requests.sessions + • requests.utils + +
+ +
+ +
+ + requests.hooks +SourceModule
+imports: + __future__ + • collections.abc + • requests + • requests._types + • requests.models + • typing + +
+
+imported by: + requests.models + • requests.sessions + +
+ +
+ +
+ + requests.models +SourceModule
+imports: + __future__ + • collections.abc + • datetime + • encodings.idna + • http.cookiejar + • idna + • io + • requests + • requests._internal_utils + • requests._types + • requests.adapters + • requests.auth + • requests.compat + • requests.cookies + • requests.exceptions + • requests.hooks + • requests.status_codes + • requests.structures + • requests.utils + • typing + • typing_extensions + • urllib3.exceptions + • urllib3.fields + • urllib3.filepost + • urllib3.util + +
+
+imported by: + requests + • requests._types + • requests.adapters + • requests.api + • requests.auth + • requests.cookies + • requests.exceptions + • requests.hooks + • requests.sessions + • requests.utils + +
+ +
+ +
+ + requests.packages +SourceModule
+imports: + requests + • requests.compat + • sys + +
+
+imported by: + requests + +
+ +
+ +
+ + requests.sessions +SourceModule
+imports: + __future__ + • collections + • collections.abc + • datetime + • http.cookiejar + • os + • requests + • requests._internal_utils + • requests._types + • requests.adapters + • requests.auth + • requests.compat + • requests.cookies + • requests.exceptions + • requests.hooks + • requests.models + • requests.status_codes + • requests.structures + • requests.utils + • sys + • time + • typing + • typing_extensions + +
+
+imported by: + requests + • requests.api + +
+ +
+ +
+ + requests.status_codes +SourceModule
+imports: + requests + • requests.structures + +
+
+imported by: + requests + • requests.models + • requests.sessions + +
+ +
+ +
+ + requests.structures +SourceModule
+imports: + __future__ + • collections + • collections.abc + • requests + • requests.compat + • typing + +
+
+imported by: + requests._types + • requests.adapters + • requests.models + • requests.sessions + • requests.status_codes + • requests.utils + +
+ +
+ +
+ + requests.utils +SourceModule
+imports: + __future__ + • codecs + • collections + • collections.abc + • contextlib + • http.cookiejar + • io + • netrc + • os + • re + • requests + • requests.__version__ + • requests._internal_utils + • requests._types + • requests.certs + • requests.compat + • requests.cookies + • requests.exceptions + • requests.models + • requests.structures + • socket + • struct + • sys + • tempfile + • typing + • urllib3.util + • warnings + • winreg + • zipfile + +
+
+imported by: + requests + • requests.adapters + • requests.auth + • requests.models + • requests.sessions + +
+ +
+ +
+ + resource +MissingModule
+imported by: + posix + +
+ +
+ +
+ + rlcompleter +SourceModule
+imports: + atexit + • builtins + • inspect + • keyword + • re + • readline + +
+
+imported by: + site + +
+ +
+ +
+ + runpy +SourceModule
+imports: + importlib.machinery + • importlib.util + • io + • os + • pkgutil + • sys + • types + • warnings + +
+
+imported by: + multiprocessing.spawn + • pdb + +
+ +
+ +
+ + secrets +SourceModule
+imports: + base64 + • binascii + • hmac + • random + +
+
+imported by: + multiprocessing.shared_memory + +
+ +
+ +
+ + select C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\select.pyd
+imported by: + http.server + • pydoc + • selectors + • subprocess + • urllib3.util.wait + +
+ +
+ +
+ + selectors +SourceModule
+imports: + abc + • collections + • collections.abc + • math + • select + • sys + +
+
+imported by: + asyncio.selector_events + • asyncio.unix_events + • multiprocessing.connection + • multiprocessing.forkserver + • socket + • socketserver + • subprocess + +
+ +
+ +
+ + sets +MissingModule
+imported by: + pyreadline3.keysyms.common + • pytz.tzinfo + +
+ +
+ +
+ + setuptools +Package
+imports: + __future__ + • _distutils_hack + • _distutils_hack.override + • abc + • collections.abc + • distutils.command.build_ext + • distutils.core + • distutils.errors + • functools + • os + • re + • setuptools + • setuptools._core_metadata + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils._macos_compat + • setuptools._distutils._modified + • setuptools._distutils._msvccompiler + • setuptools._distutils.archive_util + • setuptools._distutils.ccompiler + • setuptools._distutils.cmd + • setuptools._distutils.command + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.check + • setuptools._distutils.command.clean + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.command.install_headers + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.install_scripts + • setuptools._distutils.command.sdist + • setuptools._distutils.compat + • setuptools._distutils.compat.numpy + • setuptools._distutils.compat.py39 + • setuptools._distutils.core + • setuptools._distutils.cygwinccompiler + • setuptools._distutils.debug + • setuptools._distutils.dep_util + • setuptools._distutils.dir_util + • setuptools._distutils.dist + • setuptools._distutils.errors + • setuptools._distutils.extension + • setuptools._distutils.fancy_getopt + • setuptools._distutils.file_util + • setuptools._distutils.filelist + • setuptools._distutils.log + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.text_file + • setuptools._distutils.unixccompiler + • setuptools._distutils.util + • setuptools._distutils.version + • setuptools._distutils.versionpredicate + • setuptools._distutils.zosccompiler + • setuptools._entry_points + • setuptools._imp + • setuptools._normalization + • setuptools._reqs + • setuptools._shutil + • setuptools.command + • setuptools.depends + • setuptools.discovery + • setuptools.dist + • setuptools.extension + • setuptools.logging + • setuptools.monkey + • setuptools.msvc + • setuptools.version + • setuptools.warnings + • setuptools.windows_support + • sys + • typing + +
+
+imported by: + cffi._shimmed_dist_utils + • pyi_rth_setuptools.py + • setuptools + • setuptools._core_metadata + • setuptools._distutils + • setuptools._entry_points + • setuptools._imp + • setuptools._importlib + • setuptools._itertools + • setuptools._normalization + • setuptools._path + • setuptools._reqs + • setuptools._shutil + • setuptools._static + • setuptools._vendor + • setuptools.archive_util + • setuptools.command + • setuptools.command._requirestxt + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.command.setopt + • setuptools.compat + • setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.setupcfg + • setuptools.depends + • setuptools.discovery + • setuptools.dist + • setuptools.errors + • setuptools.extension + • setuptools.glob + • setuptools.installer + • setuptools.logging + • setuptools.monkey + • setuptools.msvc + • setuptools.unicode_utils + • setuptools.version + • setuptools.warnings + • setuptools.wheel + • setuptools.windows_support + +
+ +
+ +
+ + setuptools._core_metadata +SourceModule
+imports: + __future__ + • distutils.util + • email + • email.message + • os + • packaging.markers + • packaging.requirements + • packaging.utils + • packaging.version + • setuptools + • setuptools._normalization + • setuptools._reqs + • setuptools._static + • setuptools.warnings + • stat + • tempfile + • textwrap + +
+
+imported by: + setuptools + • setuptools.command.bdist_wheel + • setuptools.monkey + +
+ +
+ +
+ + setuptools._distutils +Package
+imports: + importlib + • setuptools + • setuptools._distutils + • setuptools._distutils.file_util + • sys + +
+
+imported by: + distutils + • setuptools + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils._macos_compat + • setuptools._distutils._modified + • setuptools._distutils._msvccompiler + • setuptools._distutils.archive_util + • setuptools._distutils.ccompiler + • setuptools._distutils.cmd + • setuptools._distutils.command + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.compat + • setuptools._distutils.compilers + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + • setuptools._distutils.core + • setuptools._distutils.cygwinccompiler + • setuptools._distutils.debug + • setuptools._distutils.dep_util + • setuptools._distutils.dir_util + • setuptools._distutils.dist + • setuptools._distutils.errors + • setuptools._distutils.extension + • setuptools._distutils.fancy_getopt + • setuptools._distutils.file_util + • setuptools._distutils.filelist + • setuptools._distutils.log + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.text_file + • setuptools._distutils.unixccompiler + • setuptools._distutils.util + • setuptools._distutils.version + • setuptools._distutils.versionpredicate + • setuptools._distutils.zosccompiler + +
+ +
+ +
+ + setuptools._distutils._log +SourceModule
+imports: + logging + • setuptools._distutils + +
+
+imported by: + setuptools + • setuptools._distutils.archive_util + • setuptools._distutils.cmd + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.dir_util + • setuptools._distutils.dist + • setuptools._distutils.file_util + • setuptools._distutils.filelist + • setuptools._distutils.log + • setuptools._distutils.spawn + • setuptools._distutils.util + +
+ +
+ +
+ + setuptools._distutils._macos_compat +SourceModule
+imports: + importlib + • setuptools._distutils + • sys + +
+
+imported by: + setuptools + • setuptools._distutils.compilers.C.unix + +
+ +
+ +
+ + setuptools._distutils._modified +SourceModule
+imports: + __future__ + • collections.abc + • functools + • jaraco.functools + • os.path + • setuptools._distutils + • setuptools._distutils.compat.py39 + • setuptools._distutils.errors + • typing + +
+
+imported by: + setuptools + • setuptools._distutils.cmd + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_scripts + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.dep_util + • setuptools._distutils.util + +
+ +
+ +
+ + setuptools._distutils._msvccompiler +SourceModule
+imports: + setuptools._distutils + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.msvc + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.command.build_ext + +
+ +
+ +
+ + setuptools._distutils.archive_util +SourceModule
+imports: + __future__ + • grp + • os + • pwd + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.dir_util + • setuptools._distutils.errors + • setuptools._distutils.spawn + • tarfile + • typing + • zipfile + +
+
+imported by: + setuptools + • setuptools._distutils.cmd + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + setuptools._distutils.ccompiler +SourceModule
+imports: + setuptools._distutils + • setuptools._distutils.compat.numpy + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.errors + +
+
+imported by: + setuptools + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.config + • setuptools._distutils.sysconfig + +
+ +
+ +
+ + setuptools._distutils.cmd +SourceModule
+imports: + __future__ + • abc + • collections.abc + • distutils.debug + • distutils.dist + • distutils.fancy_getopt + • distutils.spawn + • logging + • os + • re + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils._modified + • setuptools._distutils.archive_util + • setuptools._distutils.dir_util + • setuptools._distutils.errors + • setuptools._distutils.file_util + • setuptools._distutils.util + • sys + • typing + • typing_extensions + +
+
+imported by: + setuptools + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.core + • setuptools._distutils.dist + +
+ +
+ +
+ + setuptools._distutils.command +Package
+imports: + setuptools._distutils + • setuptools._distutils.command + +
+
+imported by: + setuptools + • setuptools._distutils.command + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.check + • setuptools._distutils.command.clean + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.command.install_headers + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.install_scripts + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + setuptools._distutils.command._framework_compat +SourceModule
+imports: + functools + • os + • setuptools._distutils.command + • subprocess + • sys + • sysconfig + +
+
+imported by: + setuptools + • setuptools._distutils.command.install + +
+ +
+ +
+ + setuptools._distutils.command.bdist +SourceModule
+imports: + __future__ + • collections.abc + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.fancy_getopt + • setuptools._distutils.util + • typing + • typing_extensions + • warnings + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.bdist_dumb +SourceModule
+imports: + 'distutils._log' + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.dir_util + • setuptools._distutils.errors + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.bdist_rpm +SourceModule
+imports: + 'distutils._log' + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.debug + • setuptools._distutils.errors + • setuptools._distutils.file_util + • setuptools._distutils.sysconfig + • subprocess + • sys + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.build +SourceModule
+imports: + __future__ + • collections.abc + • os + • setuptools._distutils.ccompiler + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.util + • sys + • sysconfig + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.build_clib +SourceModule
+imports: + 'distutils._log' + • __future__ + • collections.abc + • os + • setuptools._distutils.ccompiler + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.sysconfig + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.build_ext +SourceModule
+imports: + 'distutils._log' + • __future__ + • collections.abc + • concurrent.futures + • contextlib + • distutils + • distutils.sysconfig + • os + • re + • setuptools._distutils._modified + • setuptools._distutils._msvccompiler + • setuptools._distutils.ccompiler + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.extension + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • site + • sys + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.build_py +SourceModule
+imports: + 'distutils._log' + • glob + • importlib.util + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.util + • sys + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.build_scripts +SourceModule
+imports: + 'distutils._log' + • os + • re + • setuptools._distutils._modified + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.util + • stat + • tokenize + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.check +SourceModule
+imports: + contextlib + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.clean +SourceModule
+imports: + 'distutils._log' + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.dir_util + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.config +SourceModule
+imports: + 'distutils._log' + • __future__ + • collections.abc + • os + • pathlib + • re + • setuptools._distutils.ccompiler + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.sysconfig + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.install +SourceModule
+imports: + 'distutils._log' + • __future__ + • collections + • contextlib + • itertools + • os + • pprint + • setuptools._distutils.command + • setuptools._distutils.command._framework_compat + • setuptools._distutils.core + • setuptools._distutils.debug + • setuptools._distutils.errors + • setuptools._distutils.fancy_getopt + • setuptools._distutils.file_util + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • site + • sys + • sysconfig + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.install_data +SourceModule
+imports: + __future__ + • collections.abc + • functools + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.util + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.install_egg_info +SourceModule
+imports: + os + • re + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.cmd + • setuptools._distutils.command + • setuptools._distutils.dir_util + • sys + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.install_headers +SourceModule
+imports: + setuptools._distutils.command + • setuptools._distutils.core + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.install_lib +SourceModule
+imports: + __future__ + • importlib.util + • os + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.util + • sys + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.install_scripts +SourceModule
+imports: + 'distutils._log' + • os + • setuptools._distutils.command + • setuptools._distutils.core + • stat + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.command.sdist +SourceModule
+imports: + 'distutils._log' + • __future__ + • collections.abc + • distutils + • distutils.archive_util + • distutils.dir_util + • distutils.file_util + • glob + • itertools + • os + • setuptools._distutils.archive_util + • setuptools._distutils.command + • setuptools._distutils.core + • setuptools._distutils.errors + • setuptools._distutils.fancy_getopt + • setuptools._distutils.filelist + • setuptools._distutils.text_file + • setuptools._distutils.util + • sys + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.compat +Package
+imports: + __future__ + • collections.abc + • setuptools._distutils + • typing + +
+
+imported by: + setuptools + • setuptools._distutils.compat.numpy + • setuptools._distutils.compat.py39 + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.sysconfig + +
+ +
+ +
+ + setuptools._distutils.compat.numpy +SourceModule
+imports: + setuptools._distutils.compat + • setuptools._distutils.compilers.C.base + +
+
+imported by: + setuptools + • setuptools._distutils.ccompiler + +
+ +
+ +
+ + setuptools._distutils.compat.py39 +SourceModule
+imports: + _imp + • functools + • itertools + • platform + • setuptools._distutils.compat + • sys + +
+
+imported by: + setuptools + • setuptools._distutils._modified + • setuptools._distutils.sysconfig + +
+ +
+ +
+ + setuptools._distutils.compilers +NamespacePackage
+imports: + setuptools._distutils + +
+
+imported by: + setuptools._distutils.compilers.C + +
+ +
+ +
+ + setuptools._distutils.compilers.C +NamespacePackage
+imports: + setuptools._distutils.compilers + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + +
+
+imported by: + setuptools._distutils._msvccompiler + • setuptools._distutils.ccompiler + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.errors + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + • setuptools._distutils.cygwinccompiler + • setuptools._distutils.unixccompiler + • setuptools._distutils.zosccompiler + +
+ +
+ +
+ + setuptools._distutils.compilers.C.base +SourceModule
+imports: + __future__ + • collections.abc + • distutils.debug + • distutils.fancy_getopt + • more_itertools + • os + • pathlib + • re + • setuptools._distutils._log + • setuptools._distutils._modified + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.errors + • setuptools._distutils.dir_util + • setuptools._distutils.errors + • setuptools._distutils.file_util + • setuptools._distutils.spawn + • setuptools._distutils.util + • sys + • tempfile + • typing + • typing_extensions + • warnings + +
+
+imported by: + setuptools._distutils.ccompiler + • setuptools._distutils.compat.numpy + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + +
+ +
+ +
+ + setuptools._distutils.compilers.C.cygwin +SourceModule
+imports: + copy + • distutils + • distutils.sysconfig + • os + • pathlib + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.errors + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.errors + • setuptools._distutils.file_util + • setuptools._distutils.sysconfig + • setuptools._distutils.version + • shlex + • subprocess + • sys + • warnings + +
+
+imported by: + setuptools._distutils.compilers.C + • setuptools._distutils.cygwinccompiler + +
+ +
+ +
+ + setuptools._distutils.compilers.C.errors +SourceModule
+imports: + setuptools._distutils.compilers.C + +
+
+imported by: + setuptools._distutils.ccompiler + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + • setuptools._distutils.errors + +
+ +
+ +
+ + setuptools._distutils.compilers.C.msvc +SourceModule
+imports: + __future__ + • collections.abc + • contextlib + • itertools + • os + • setuptools._distutils._log + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.errors + • setuptools._distutils.errors + • setuptools._distutils.util + • subprocess + • unittest.mock + • warnings + • winreg + +
+
+imported by: + setuptools._distutils._msvccompiler + • setuptools._distutils.compilers.C + +
+ +
+ +
+ + setuptools._distutils.compilers.C.unix +SourceModule
+imports: + __future__ + • collections.abc + • distutils.util + • itertools + • os + • re + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils._macos_compat + • setuptools._distutils._modified + • setuptools._distutils.compat + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.errors + • setuptools._distutils.errors + • setuptools._distutils.sysconfig + • shlex + • sys + +
+
+imported by: + setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.zos + • setuptools._distutils.unixccompiler + +
+ +
+ +
+ + setuptools._distutils.compilers.C.zos +SourceModule
+imports: + os + • setuptools._distutils + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.errors + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.errors + • setuptools._distutils.sysconfig + +
+
+imported by: + setuptools._distutils.compilers.C + • setuptools._distutils.zosccompiler + +
+ +
+ +
+ + setuptools._distutils.core +SourceModule
+imports: + __future__ + • collections.abc + • os + • setuptools._distutils + • setuptools._distutils.cmd + • setuptools._distutils.debug + • setuptools._distutils.dist + • setuptools._distutils.errors + • setuptools._distutils.extension + • sys + • tokenize + +
+
+imported by: + setuptools + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.check + • setuptools._distutils.command.clean + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_headers + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.install_scripts + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + setuptools._distutils.cygwinccompiler +SourceModule
+imports: + setuptools._distutils + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.cygwin + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.debug +SourceModule
+imports: + os + • setuptools._distutils + +
+
+imported by: + setuptools + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.install + • setuptools._distutils.core + • setuptools._distutils.dist + • setuptools._distutils.spawn + +
+ +
+ +
+ + setuptools._distutils.dep_util +SourceModule
+imports: + setuptools._distutils + • setuptools._distutils._modified + • warnings + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.dir_util +SourceModule
+imports: + functools + • itertools + • os + • pathlib + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.errors + • setuptools._distutils.file_util + +
+
+imported by: + setuptools + • setuptools._distutils.archive_util + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.clean + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.compilers.C.base + +
+ +
+ +
+ + setuptools._distutils.dist +SourceModule
+imports: + __future__ + • _typeshed + • collections.abc + • configparser + • contextlib + • distutils.cmd + • distutils.command + • distutils.core + • distutils.versionpredicate + • email + • logging + • os + • packaging.utils + • pathlib + • pprint + • re + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.cmd + • setuptools._distutils.debug + • setuptools._distutils.errors + • setuptools._distutils.fancy_getopt + • setuptools._distutils.util + • sys + • typing + • typing_extensions + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.core + +
+ +
+ +
+ + setuptools._distutils.errors +SourceModule
+imports: + setuptools._distutils + • setuptools._distutils.compilers.C.errors + +
+
+imported by: + setuptools + • setuptools._distutils._modified + • setuptools._distutils.archive_util + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.check + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.sdist + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + • setuptools._distutils.core + • setuptools._distutils.dir_util + • setuptools._distutils.dist + • setuptools._distutils.fancy_getopt + • setuptools._distutils.file_util + • setuptools._distutils.filelist + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.util + +
+ +
+ +
+ + setuptools._distutils.extension +SourceModule
+imports: + __future__ + • collections.abc + • distutils.sysconfig + • distutils.text_file + • distutils.util + • os + • setuptools._distutils + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.command.build_ext + • setuptools._distutils.core + +
+ +
+ +
+ + setuptools._distutils.fancy_getopt +SourceModule
+imports: + __future__ + • collections.abc + • getopt + • re + • setuptools._distutils + • setuptools._distutils.errors + • string + • sys + • typing + +
+
+imported by: + setuptools + • setuptools._distutils.command.bdist + • setuptools._distutils.command.install + • setuptools._distutils.command.sdist + • setuptools._distutils.dist + +
+ +
+ +
+ + setuptools._distutils.file_util +SourceModule
+imports: + 'distutils._modified' + • errno + • os + • os.path + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.errors + • stat + +
+
+imported by: + setuptools + • setuptools._distutils + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.install + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.dir_util + +
+ +
+ +
+ + setuptools._distutils.filelist +SourceModule
+imports: + __future__ + • collections.abc + • distutils.debug + • fnmatch + • functools + • os + • re + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.errors + • setuptools._distutils.util + • typing + +
+
+imported by: + setuptools + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + setuptools._distutils.log +SourceModule
+imports: + logging + • setuptools._distutils + • setuptools._distutils._log + • warnings + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.spawn +SourceModule
+imports: + __future__ + • collections.abc + • os + • platform + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils.debug + • setuptools._distutils.errors + • setuptools._distutils.util + • shutil + • subprocess + • sys + • typing + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.archive_util + • setuptools._distutils.compilers.C.base + • setuptools._distutils.util + +
+ +
+ +
+ + setuptools._distutils.sysconfig +SourceModule
+imports: + __future__ + • distutils.text_file + • functools + • jaraco.functools + • os + • pathlib + • re + • setuptools._distutils + • setuptools._distutils.ccompiler + • setuptools._distutils.compat + • setuptools._distutils.compat.py39 + • setuptools._distutils.errors + • setuptools._distutils.util + • sys + • sysconfig + • typing + • typing_extensions + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.config + • setuptools._distutils.command.install + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.compilers.C.zos + +
+ +
+ +
+ + setuptools._distutils.text_file +SourceModule
+imports: + setuptools._distutils + • sys + +
+
+imported by: + setuptools + • setuptools._distutils.command.sdist + +
+ +
+ +
+ + setuptools._distutils.unixccompiler +SourceModule
+imports: + importlib + • setuptools._distutils + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.unix + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.util +SourceModule
+imports: + __future__ + • collections.abc + • distutils + • distutils.sysconfig + • functools + • importlib.util + • jaraco.functools + • os + • pathlib + • pwd + • py_compile + • re + • setuptools._distutils + • setuptools._distutils._log + • setuptools._distutils._modified + • setuptools._distutils.errors + • setuptools._distutils.spawn + • string + • subprocess + • sys + • sysconfig + • tempfile + • typing + • typing_extensions + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.build + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.sdist + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.dist + • setuptools._distutils.filelist + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + +
+ +
+ +
+ + setuptools._distutils.version +SourceModule
+imports: + contextlib + • re + • setuptools._distutils + • warnings + +
+
+imported by: + setuptools + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.versionpredicate + +
+ +
+ +
+ + setuptools._distutils.versionpredicate +SourceModule
+imports: + operator + • re + • setuptools._distutils + • setuptools._distutils.version + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._distutils.zosccompiler +SourceModule
+imports: + setuptools._distutils + • setuptools._distutils.compilers.C + • setuptools._distutils.compilers.C.zos + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools._entry_points +SourceModule
+imports: + functools + • itertools + • jaraco.functools + • jaraco.text + • more_itertools + • operator + • setuptools + • setuptools._importlib + • setuptools._itertools + • setuptools.errors + +
+
+imported by: + setuptools + • setuptools.command.egg_info + • setuptools.dist + +
+ +
+ +
+ + setuptools._imp +SourceModule
+imports: + importlib.machinery + • importlib.util + • os + • setuptools + • tokenize + +
+
+imported by: + setuptools + • setuptools.depends + +
+ +
+ +
+ + setuptools._importlib +SourceModule
+imports: + importlib.metadata + • importlib.resources + • importlib_metadata + • setuptools + • sys + +
+
+imported by: + setuptools._entry_points + • setuptools.command.egg_info + • setuptools.command.sdist + • setuptools.config._apply_pyprojecttoml + • setuptools.dist + • setuptools.version + +
+ +
+ +
+ + setuptools._itertools +SourceModule
+imports: + more_itertools + • setuptools + +
+
+imported by: + setuptools._entry_points + +
+ +
+ +
+ + setuptools._normalization +SourceModule
+imports: + packaging + • packaging.licenses + • re + • setuptools + • typing + +
+
+imported by: + setuptools + • setuptools._core_metadata + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.dist + +
+ +
+ +
+ + setuptools._path +SourceModule
+imports: + __future__ + • contextlib + • more_itertools + • os + • setuptools + • sys + • typing + • typing_extensions + +
+
+imported by: + setuptools.archive_util + • setuptools.command.bdist_egg + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.discovery + • setuptools.dist + • setuptools.extension + +
+ +
+ +
+ + setuptools._reqs +SourceModule
+imports: + __future__ + • collections.abc + • functools + • jaraco.text + • packaging.requirements + • setuptools + • typing + • typing_extensions + +
+
+imported by: + setuptools + • setuptools._core_metadata + • setuptools.command._requirestxt + • setuptools.dist + • setuptools.installer + +
+ +
+ +
+ + setuptools._shutil +SourceModule
+imports: + distutils + • distutils.log + • os + • setuptools + • setuptools.compat + • setuptools.compat.py311 + • stat + • typing + +
+
+imported by: + setuptools + • setuptools.command.bdist_wheel + +
+ +
+ +
+ + setuptools._static +SourceModule
+imports: + functools + • packaging.specifiers + • setuptools + • setuptools.warnings + • typing + +
+
+imported by: + setuptools._core_metadata + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.setupcfg + • setuptools.dist + +
+ +
+ +
+ + setuptools._vendor +NamespacePackage
+imports: + setuptools + +
+
+imported by: + setuptools._vendor.jaraco + • setuptools._vendor.packaging + +
+ +
+ +
+ + setuptools._vendor.jaraco +NamespacePackage
+imports: + setuptools._vendor + +
+
+imported by: + setuptools._vendor.jaraco.text + +
+ +
+ +
+ + setuptools._vendor.jaraco.text +Package
+imports: + functools + • importlib.resources + • importlib_resources + • itertools + • jaraco.context + • jaraco.functools + • re + • setuptools._vendor.jaraco + • textwrap + +
+
+imported by: + jaraco.text + +
+ +
+ +
+ + setuptools._vendor.packaging +Package
+imports: + setuptools._vendor + • setuptools._vendor.packaging + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging.requirements + +
+
+imported by: + setuptools._vendor.packaging + • setuptools._vendor.packaging._elffile + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging._parser + • setuptools._vendor.packaging._structures + • setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.tags + • setuptools._vendor.packaging.utils + • setuptools._vendor.packaging.version + • setuptools.config._validate_pyproject.formats + +
+ +
+ +
+ + setuptools._vendor.packaging._elffile +SourceModule
+imports: + __future__ + • enum + • os + • setuptools._vendor.packaging + • struct + • typing + +
+
+imported by: + setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + +
+ +
+ +
+ + setuptools._vendor.packaging._manylinux +SourceModule
+imports: + __future__ + • _manylinux + • collections + • contextlib + • ctypes + • functools + • os + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging._elffile + • sys + • typing + • warnings + +
+
+imported by: + setuptools._vendor.packaging + • setuptools._vendor.packaging.tags + +
+ +
+ +
+ + setuptools._vendor.packaging._musllinux +SourceModule
+imports: + __future__ + • functools + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging._elffile + • subprocess + • sys + • sysconfig + • typing + +
+
+imported by: + setuptools._vendor.packaging + • setuptools._vendor.packaging.tags + +
+ +
+ +
+ + setuptools._vendor.packaging._parser +SourceModule
+imports: + __future__ + • ast + • setuptools._vendor.packaging + • setuptools._vendor.packaging._tokenizer + • typing + +
+
+imported by: + setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + +
+ +
+ +
+ + setuptools._vendor.packaging._structures +SourceModule
+imports: + setuptools._vendor.packaging + +
+
+imported by: + setuptools._vendor.packaging.version + +
+ +
+ +
+ + setuptools._vendor.packaging._tokenizer +SourceModule
+imports: + __future__ + • contextlib + • dataclasses + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging.specifiers + • typing + +
+
+imported by: + setuptools._vendor.packaging._parser + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + +
+ +
+ +
+ + setuptools._vendor.packaging.markers +SourceModule
+imports: + __future__ + • operator + • os + • platform + • setuptools._vendor.packaging + • setuptools._vendor.packaging._parser + • setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.utils + • sys + • typing + +
+
+imported by: + setuptools._vendor.packaging.requirements + +
+ +
+ +
+ + setuptools._vendor.packaging.requirements +SourceModule
+imports: + __future__ + • setuptools._vendor.packaging + • setuptools._vendor.packaging._parser + • setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.utils + • typing + +
+
+imported by: + setuptools._vendor.packaging + • setuptools.config._validate_pyproject.formats + +
+ +
+ +
+ + setuptools._vendor.packaging.specifiers +SourceModule
+imports: + __future__ + • abc + • itertools + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging.utils + • setuptools._vendor.packaging.version + • typing + +
+
+imported by: + setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + +
+ +
+ +
+ + setuptools._vendor.packaging.tags +SourceModule
+imports: + __future__ + • importlib.machinery + • logging + • platform + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • struct + • subprocess + • sys + • sysconfig + • typing + +
+
+imported by: + setuptools._vendor.packaging.utils + +
+ +
+ +
+ + setuptools._vendor.packaging.utils +SourceModule
+imports: + __future__ + • functools + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging.tags + • setuptools._vendor.packaging.version + • typing + +
+
+imported by: + setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + • setuptools._vendor.packaging.specifiers + +
+ +
+ +
+ + setuptools._vendor.packaging.version +SourceModule
+imports: + __future__ + • itertools + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging._structures + • typing + +
+
+imported by: + setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.utils + +
+ +
+ +
+ + setuptools.archive_util +SourceModule
+imports: + contextlib + • distutils.errors + • os + • posixpath + • setuptools + • setuptools._path + • shutil + • tarfile + • zipfile + +
+
+imported by: + setuptools.wheel + +
+ +
+ +
+ + setuptools.command +Package
+imports: + distutils.command.bdist + • setuptools + • setuptools.command + • setuptools.command._requirestxt + • setuptools.command.bdist_egg + • sys + +
+
+imported by: + setuptools + • setuptools.command + • setuptools.command._requirestxt + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.build + • setuptools.command.egg_info + • setuptools.command.sdist + • setuptools.command.setopt + • setuptools.dist + +
+ +
+ +
+ + setuptools.command._requirestxt +SourceModule
+imports: + __future__ + • collections + • collections.abc + • io + • itertools + • jaraco.text + • packaging.requirements + • setuptools + • setuptools._reqs + • setuptools.command + • typing + +
+
+imported by: + setuptools.command + • setuptools.command.egg_info + +
+ +
+ +
+ + setuptools.command.bdist_egg +SourceModule
+imports: + __future__ + • distutils + • distutils.dir_util + • distutils.log + • marshal + • os + • pkg_resources + • re + • setuptools + • setuptools._path + • setuptools.command + • setuptools.extension + • sys + • sysconfig + • textwrap + • types + • typing + • typing_extensions + • zipfile + +
+
+imported by: + setuptools.command + • setuptools.command.egg_info + +
+ +
+ +
+ + setuptools.command.bdist_wheel +SourceModule
+imports: + __future__ + • collections.abc + • distutils + • distutils.log + • email.generator + • email.message + • glob + • os + • packaging + • packaging.tags + • packaging.version + • re + • setuptools + • setuptools._core_metadata + • setuptools._normalization + • setuptools._shutil + • setuptools.command + • setuptools.command.egg_info + • setuptools.warnings + • shutil + • struct + • sys + • sysconfig + • typing + • warnings + • wheel.macosx_libfile + • wheel.wheelfile + • zipfile + +
+
+imported by: + setuptools.dist + +
+ +
+ +
+ + setuptools.command.build +SourceModule
+imports: + __future__ + • distutils.command.build + • setuptools.command + • setuptools.dist + • typing + +
+
+imported by: + setuptools.command.sdist + +
+ +
+ +
+ + setuptools.command.egg_info +SourceModule
+imports: + collections.abc + • distutils + • distutils.errors + • distutils.filelist + • distutils.log + • distutils.util + • functools + • os + • packaging + • packaging.requirements + • packaging.version + • re + • setuptools + • setuptools._entry_points + • setuptools._importlib + • setuptools._normalization + • setuptools.command + • setuptools.command._requirestxt + • setuptools.command.bdist_egg + • setuptools.command.sdist + • setuptools.command.setopt + • setuptools.glob + • setuptools.unicode_utils + • setuptools.warnings + • sys + • time + +
+
+imported by: + setuptools.command.bdist_wheel + • setuptools.wheel + +
+ +
+ +
+ + setuptools.command.sdist +SourceModule
+imports: + __future__ + • contextlib + • distutils + • distutils.command.sdist + • distutils.log + • itertools + • os + • re + • setuptools._importlib + • setuptools.command + • setuptools.command.build + • setuptools.dist + • typing + +
+
+imported by: + setuptools.command.egg_info + +
+ +
+ +
+ + setuptools.command.setopt +SourceModule
+imports: + configparser + • distutils + • distutils.errors + • distutils.log + • distutils.util + • os + • setuptools + • setuptools.command + • setuptools.unicode_utils + +
+
+imported by: + setuptools.command.egg_info + +
+ +
+ +
+ + setuptools.compat +Package
+imports: + setuptools + • setuptools.compat.py311 + • setuptools.compat.py39 + +
+
+imported by: + setuptools._shutil + • setuptools.compat.py310 + • setuptools.compat.py311 + • setuptools.compat.py39 + • setuptools.unicode_utils + +
+ +
+ +
+ + setuptools.compat.py310 +SourceModule
+imports: + setuptools.compat + • sys + • tomli + • tomllib + +
+
+imported by: + setuptools.config.pyprojecttoml + +
+ +
+ +
+ + setuptools.compat.py311 +SourceModule
+imports: + __future__ + • _typeshed + • setuptools.compat + • shutil + • sys + • typing + • typing_extensions + +
+
+imported by: + setuptools._shutil + • setuptools.compat + +
+ +
+ +
+ + setuptools.compat.py39 +SourceModule
+imports: + setuptools.compat + • sys + +
+
+imported by: + setuptools.compat + • setuptools.unicode_utils + +
+ +
+ +
+ + setuptools.config +Package
+imports: + functools + • setuptools + • setuptools.config + • setuptools.config._validate_pyproject + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.warnings + • typing + +
+
+imported by: + setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.dist + +
+ +
+ +
+ + setuptools.config._apply_pyprojecttoml +SourceModule
+imports: + __future__ + • collections.abc + • distutils.dist + • email.headerregistry + • functools + • inspect + • itertools + • logging + • os + • setuptools + • setuptools._importlib + • setuptools._path + • setuptools._static + • setuptools.config + • setuptools.config.expand + • setuptools.dist + • setuptools.errors + • setuptools.extension + • setuptools.warnings + • types + • typing + • typing_extensions + +
+
+imported by: + setuptools.config.pyprojecttoml + +
+ +
+ +
+ + setuptools.config._validate_pyproject +Package
+imports: + functools + • setuptools.config + • setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.extra_validations + • setuptools.config._validate_pyproject.fastjsonschema_exceptions + • setuptools.config._validate_pyproject.fastjsonschema_validations + • setuptools.config._validate_pyproject.formats + • typing + +
+
+imported by: + setuptools.config + • setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.extra_validations + • setuptools.config._validate_pyproject.fastjsonschema_exceptions + • setuptools.config._validate_pyproject.fastjsonschema_validations + • setuptools.config._validate_pyproject.formats + • setuptools.config.pyprojecttoml + +
+ +
+ +
+ + setuptools.config._validate_pyproject.error_reporting +SourceModule
+imports: + contextlib + • io + • json + • logging + • os + • re + • setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.fastjsonschema_exceptions + • sys + • textwrap + • typing + • typing_extensions + +
+
+imported by: + setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.extra_validations + +
+ +
+ +
+ + setuptools.config._validate_pyproject.extra_validations +SourceModule
+imports: + inspect + • setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.error_reporting + • typing + +
+
+imported by: + setuptools.config._validate_pyproject + +
+ +
+ +
+ + setuptools.config._validate_pyproject.fastjsonschema_exceptions +SourceModule
+imports: + re + • setuptools.config._validate_pyproject + +
+
+imported by: + setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.fastjsonschema_validations + +
+ +
+ +
+ + setuptools.config._validate_pyproject.fastjsonschema_validations +SourceModule
+imports: + decimal + • re + • setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.fastjsonschema_exceptions + +
+
+imported by: + setuptools.config._validate_pyproject + +
+ +
+ +
+ + setuptools.config._validate_pyproject.formats +SourceModule
+imports: + builtins + • email.message + • itertools + • logging + • os + • packaging + • packaging.licenses + • packaging.requirements + • re + • setuptools._vendor.packaging + • setuptools._vendor.packaging.requirements + • setuptools.config._validate_pyproject + • ssl + • string + • trove_classifiers + • typing + • typing_extensions + • urllib.parse + • urllib.request + +
+
+imported by: + setuptools.config._validate_pyproject + +
+ +
+ +
+ + setuptools.config.expand +SourceModule
+imports: + __future__ + • ast + • collections.abc + • configparser + • distutils.errors + • glob + • importlib + • importlib.machinery + • itertools + • more_itertools + • os + • pathlib + • setuptools + • setuptools._path + • setuptools._static + • setuptools.config + • setuptools.discovery + • setuptools.dist + • setuptools.warnings + • sys + • types + • typing + • typing_extensions + +
+
+imported by: + setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + +
+ +
+ +
+ + setuptools.config.pyprojecttoml +SourceModule
+imports: + __future__ + • collections.abc + • contextlib + • functools + • logging + • more_itertools + • os + • setuptools._path + • setuptools.compat.py310 + • setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject + • setuptools.config.expand + • setuptools.dist + • setuptools.errors + • setuptools.warnings + • types + • typing + • typing_extensions + +
+
+imported by: + setuptools.config + • setuptools.dist + +
+ +
+ +
+ + setuptools.config.setupcfg +SourceModule
+imports: + __future__ + • collections + • collections.abc + • contextlib + • distutils.dist + • functools + • os + • packaging.markers + • packaging.requirements + • packaging.version + • setuptools + • setuptools._path + • setuptools._static + • setuptools.config + • setuptools.config.expand + • setuptools.dist + • setuptools.errors + • setuptools.warnings + • typing + • typing_extensions + +
+
+imported by: + setuptools.config + • setuptools.dist + +
+ +
+ +
+ + setuptools.depends +SourceModule
+imports: + __future__ + • contextlib + • dis + • marshal + • packaging.version + • setuptools + • setuptools._imp + • sys + • types + • typing + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools.discovery +SourceModule
+imports: + __future__ + • _distutils_hack.override + • collections.abc + • distutils + • distutils.log + • distutils.util + • fnmatch + • glob + • inspect + • itertools + • os + • pathlib + • setuptools + • setuptools._path + • setuptools.errors + • typing + +
+
+imported by: + setuptools + • setuptools.config.expand + • setuptools.dist + +
+ +
+ +
+ + setuptools.dist +SourceModule
+imports: + __future__ + • collections.abc + • configparser + • distutils.cmd + • distutils.command + • distutils.core + • distutils.debug + • distutils.dist + • distutils.errors + • distutils.fancy_getopt + • distutils.log + • distutils.util + • functools + • glob + • io + • itertools + • more_itertools + • numbers + • os + • packaging.markers + • packaging.specifiers + • packaging.version + • pathlib + • pkg_resources + • re + • setuptools + • setuptools._entry_points + • setuptools._importlib + • setuptools._normalization + • setuptools._path + • setuptools._reqs + • setuptools._static + • setuptools.command + • setuptools.command.bdist_wheel + • setuptools.config + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.discovery + • setuptools.errors + • setuptools.installer + • setuptools.monkey + • setuptools.warnings + • setuptools.windows_support + • shlex + • sys + • typing + • typing_extensions + +
+
+imported by: + setuptools + • setuptools.command.build + • setuptools.command.sdist + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + +
+ +
+ +
+ + setuptools.errors +SourceModule
+imports: + __future__ + • distutils + • distutils.errors + • setuptools + +
+
+imported by: + setuptools._entry_points + • setuptools.config._apply_pyprojecttoml + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.discovery + • setuptools.dist + +
+ +
+ +
+ + setuptools.extension +SourceModule
+imports: + __future__ + • distutils.core + • distutils.errors + • distutils.extension + • functools + • re + • setuptools + • setuptools._path + • setuptools.monkey + • typing + +
+
+imported by: + setuptools + • setuptools.command.bdist_egg + • setuptools.config._apply_pyprojecttoml + +
+ +
+ +
+ + setuptools.glob +SourceModule
+imports: + __future__ + • _typeshed + • collections.abc + • fnmatch + • os + • re + • setuptools + • typing + +
+
+imported by: + setuptools.command.egg_info + +
+ +
+ +
+ + setuptools.installer +SourceModule
+imports: + __future__ + • distutils + • distutils.errors + • distutils.log + • functools + • glob + • os + • pkg_resources + • setuptools + • setuptools._reqs + • setuptools.warnings + • setuptools.wheel + • subprocess + • sys + • tempfile + +
+
+imported by: + setuptools.dist + +
+ +
+ +
+ + setuptools.logging +SourceModule
+imports: + distutils.log + • inspect + • logging + • setuptools + • setuptools.monkey + • sys + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools.monkey +SourceModule
+imports: + __future__ + • distutils.filelist + • inspect + • platform + • setuptools + • setuptools._core_metadata + • sys + • types + • typing + +
+
+imported by: + setuptools + • setuptools.dist + • setuptools.extension + • setuptools.logging + +
+ +
+ +
+ + setuptools.msvc +SourceModule
+imports: + __future__ + • contextlib + • distutils.errors + • itertools + • json + • more_itertools + • os + • os.path + • platform + • setuptools + • typing + • typing_extensions + • winreg + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools.unicode_utils +SourceModule
+imports: + configparser + • setuptools + • setuptools.compat + • setuptools.compat.py39 + • setuptools.warnings + • sys + • unicodedata + +
+
+imported by: + setuptools.command.egg_info + • setuptools.command.setopt + • setuptools.wheel + +
+ +
+ +
+ + setuptools.version +SourceModule
+imports: + setuptools + • setuptools._importlib + +
+
+imported by: + setuptools + +
+ +
+ +
+ + setuptools.warnings +SourceModule
+imports: + __future__ + • datetime + • inspect + • os + • setuptools + • textwrap + • typing + • typing_extensions + • warnings + +
+
+imported by: + setuptools + • setuptools._core_metadata + • setuptools._static + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.dist + • setuptools.installer + • setuptools.unicode_utils + +
+ +
+ +
+ + setuptools.wheel +SourceModule
+imports: + contextlib + • distutils + • distutils.log + • distutils.util + • email + • functools + • itertools + • os + • packaging.tags + • packaging.utils + • packaging.version + • pkg_resources + • posixpath + • re + • setuptools + • setuptools.archive_util + • setuptools.command.egg_info + • setuptools.unicode_utils + • zipfile + +
+
+imported by: + setuptools.installer + +
+ +
+ +
+ + setuptools.windows_support +SourceModule
+imports: + ctypes + • ctypes.wintypes + • platform + • setuptools + +
+
+imported by: + setuptools + • setuptools.dist + +
+ +
+ +
+ + setuptools_scm +MissingModule
+imported by: + matplotlib + +
+ +
+ +
+ + shlex +SourceModule
+imports: + collections + • io + • os + • re + • sys + • warnings + +
+
+imported by: + PIL.ImageShow + • matplotlib.cbook + • netrc + • pdb + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.unix + • setuptools.dist + • webbrowser + +
+ +
+ +
+ + shutil +SourceModule
+imports: + bz2 + • collections + • errno + • fnmatch + • grp + • lzma + • nt + • os + • posix + • pwd + • stat + • sys + • tarfile + • zipfile + • zlib + +
+
+imported by: + PIL.EpsImagePlugin + • PIL.ImageShow + • argparse + • backports.tarfile + • cffi.verifier + • clr_loader.util.find + • ctypes.util + • http.server + • jaraco.context + • matplotlib + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • multiprocessing.util + • numpy.lib._datasource + • numpy.testing._private.utils + • psutil._compat + • pygments.lexers._php_builtins + • pyi_rth_mplconfig.py + • setuptools._distutils.spawn + • setuptools.archive_util + • setuptools.command.bdist_wheel + • setuptools.compat.py311 + • tarfile + • tempfile + • uuid + • webbrowser + • win32com.client.gencache + • zipfile + +
+ +
+ +
+ + signal +SourceModule
+imports: + _signal + • enum + +
+
+imported by: + asyncio.proactor_events + • asyncio.unix_events + • multiprocessing.forkserver + • multiprocessing.managers + • multiprocessing.popen_fork + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • pdb + • psutil + • psutil._pswindows + • subprocess + • unittest.signals + +
+ +
+ +
+ + simplejson +MissingModule
+imported by: + requests.compat + +
+ +
+ +
+ + site +SourceModule
+imports: + _sitebuiltins + • atexit + • builtins + • io + • os + • readline + • rlcompleter + • sitecustomize + • sys + • textwrap + • traceback + • usercustomize + +
+
+imported by: + distutils.command.build_ext + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.install + +
+ +
+ +
+ + sitecustomize +MissingModule
+imported by: + site + +
+ +
+ +
+ + six +SourceModule
+imports: + StringIO + • __future__ + • functools + • importlib.util + • io + • itertools + • operator + • struct + • sys + • types + +
+
+imported by: + dateutil.parser._parser + • dateutil.parser.isoparser + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz._common + • dateutil.tz.tz + • dateutil.tz.win + • docxcompose.properties + • six.moves + +
+ +
+ +
+ + six.moves +RuntimePackage
+imports: + six + • six.moves._thread + • six.moves.range + • six.moves.winreg + +
+
+imported by: + dateutil.rrule + • dateutil.tz._factories + • dateutil.tz.tz + • dateutil.tz.win + +
+ +
+ +
+ + six.moves._thread +AliasNode
+imports: + _thread + +
+
+imported by: + dateutil.rrule + • dateutil.tz._factories + • dateutil.tz.tz + • six.moves + +
+ +
+ +
+ + six.moves.range +MissingModule
+imported by: + dateutil.rrule + • six.moves + +
+ +
+ +
+ + six.moves.winreg +AliasNode
+imports: + winreg + +
+
+imported by: + dateutil.tz.win + • six.moves + +
+ +
+ +
+ + smtplib +SourceModule
+imports: + base64 + • copy + • datetime + • email.base64mime + • email.generator + • email.message + • email.utils + • hmac + • io + • re + • socket + • ssl + • sys + • warnings + +
+
+imported by: + logging.handlers + +
+ +
+ +
+ + socket +SourceModule
+imports: + _socket + • array + • enum + • errno + • io + • os + • selectors + • sys + +
+
+imported by: + OpenSSL.SSL + • _ssl + • asyncio.base_events + • asyncio.events + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.streams + • asyncio.trsock + • asyncio.unix_events + • asyncio.windows_events + • email.utils + • ftplib + • http.client + • http.server + • logging.handlers + • multiprocessing.connection + • multiprocessing.forkserver + • multiprocessing.reduction + • multiprocessing.resource_sharer + • platform + • psutil + • psutil._common + • pyreadline3.logger + • requests.adapters + • requests.utils + • smtplib + • socketserver + • socks + • ssl + • urllib.request + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.contrib.socks + • urllib3.packages.backports.makefile + • urllib3.response + • urllib3.util.connection + • urllib3.util.ssltransport + • urllib3.util.timeout + • uuid + • webbrowser + +
+ +
+ +
+ + socketserver +SourceModule
+imports: + io + • os + • selectors + • socket + • sys + • threading + • time + • traceback + +
+
+imported by: + http.server + • xmlrpc.server + +
+ +
+ +
+ + socks +SourceModule
+imports: + base64 + • collections + • collections.Callable + • collections.abc + • errno + • functools + • io + • logging + • os + • socket + • struct + • sys + • win_inet_pton + +
+
+imported by: + urllib3.contrib.socks + +
+ +
+ +
+ + soupsieve +Package
+imports: + __future__ + • bs4 + • soupsieve + • soupsieve.__meta__ + • soupsieve.css_match + • soupsieve.css_parser + • soupsieve.css_types + • soupsieve.util + • typing + +
+
+imported by: + bs4.css + • soupsieve + • soupsieve.__meta__ + • soupsieve.css_match + • soupsieve.css_parser + • soupsieve.css_types + • soupsieve.pretty + • soupsieve.util + +
+ +
+ +
+ + soupsieve.__meta__ +SourceModule
+imports: + __future__ + • collections + • re + • soupsieve + +
+
+imported by: + soupsieve + +
+ +
+ +
+ + soupsieve.css_match +SourceModule
+imports: + __future__ + • bs4 + • datetime + • re + • soupsieve + • soupsieve.css_types + • soupsieve.util + • typing + • unicodedata + +
+
+imported by: + soupsieve + • soupsieve.css_parser + +
+ +
+ +
+ + soupsieve.css_parser +SourceModule
+imports: + __future__ + • functools + • re + • soupsieve + • soupsieve.css_match + • soupsieve.css_types + • soupsieve.util + • typing + • warnings + +
+
+imported by: + soupsieve + +
+ +
+ +
+ + soupsieve.css_types +SourceModule
+imports: + __future__ + • copyreg + • soupsieve + • soupsieve.pretty + • typing + +
+
+imported by: + soupsieve + • soupsieve.css_match + • soupsieve.css_parser + +
+ +
+ +
+ + soupsieve.pretty +SourceModule
+imports: + __future__ + • re + • soupsieve + • typing + +
+
+imported by: + soupsieve.css_types + +
+ +
+ +
+ + soupsieve.util +SourceModule
+imports: + __future__ + • functools + • re + • soupsieve + • typing + • warnings + +
+
+imported by: + soupsieve + • soupsieve.css_match + • soupsieve.css_parser + +
+ +
+ +
+ + sre_compile +SourceModule
+imports: + _sre + • sre_constants + • sre_parse + • sys + +
+
+imported by: + md2gost_exe.py + • re + +
+ +
+ +
+ + sre_constants +SourceModule
+imports: + _sre + +
+
+imported by: + md2gost_exe.py + • re + • sre_compile + • sre_parse + +
+ +
+ +
+ + sre_parse +SourceModule
+imports: + sre_constants + • unicodedata + • warnings + +
+
+imported by: + md2gost_exe.py + • re + • sre_compile + +
+ +
+ +
+ + ssl +SourceModule
+imports: + _ssl + • base64 + • calendar + • collections + • enum + • errno + • os + • socket + • sys + • time + • warnings + +
+
+imported by: + asyncio.base_events + • asyncio.selector_events + • asyncio.sslproto + • ftplib + • http.client + • matplotlib + • requests + • setuptools.config._validate_pyproject.formats + • smtplib + • urllib.request + • urllib3.connection + • urllib3.contrib.pyopenssl + • urllib3.contrib.socks + • urllib3.util.ssl_ + • urllib3.util.ssltransport + +
+ +
+ +
+ + startup +MissingModule
+imported by: + pyreadline3.keysyms.common + • pyreadline3.keysyms.keysyms + +
+ +
+ +
+ + stat +SourceModule
+imports: + _stat + +
+
+imported by: + asyncio.base_events + • asyncio.unix_events + • backports.tarfile + • distutils.dep_util + • distutils.file_util + • genericpath + • glob + • jaraco.context + • jinja2.bccache + • logging.handlers + • md2gost_exe.py + • netrc + • ntpath + • os + • pathlib + • pkg_resources + • posixpath + • psutil._common + • setuptools._core_metadata + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.install_scripts + • setuptools._distutils.file_util + • setuptools._shutil + • shutil + • tarfile + • wheel.wheelfile + • zipfile + • zipp + +
+ +
+ +
+ + statistics +SourceModule
+imports: + _statistics + • bisect + • collections + • decimal + • fractions + • itertools + • math + • numbers + • operator + • random + +
+
+imported by: + random + +
+ +
+ +
+ + string +SourceModule
+imports: + _string + • collections + • re + +
+
+imported by: + bs4.dammit + • cmd + • dateutil.parser._parser + • distutils.fancy_getopt + • distutils.util + • email._encoded_words + • email._header_value_parser + • email.quoprimime + • http.cookies + • jinja2.sandbox + • logging + • lxml.html.html5parser + • marko.patterns + • markupsafe + • matplotlib._mathtext + • ntpath + • nturl2path + • pygments.lexers.fantom + • pyparsing.core + • setuptools._distutils.fancy_getopt + • setuptools._distutils.util + • setuptools.config._validate_pyproject.formats + • tomli._parser + • urllib.request + • win32com.client.build + +
+ +
+ +
+ + stringprep +SourceModule
+imports: + unicodedata + +
+
+imported by: + encodings.idna + +
+ +
+ +
+ + struct +SourceModule
+imports: + _struct + +
+
+imported by: + PIL.BlpImagePlugin + • PIL.DdsImagePlugin + • PIL.FtexImagePlugin + • PIL.IcnsImagePlugin + • PIL.Image + • PIL.ImageDraw + • PIL.ImageFile + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.McIdasImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PngImagePlugin + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.TiffImagePlugin + • PIL._binary + • asyncio.windows_events + • backports.tarfile + • base64 + • ctypes + • ctypes.util + • dateutil.tz.tz + • dateutil.tz.win + • docx.image.gif + • docx.image.helpers + • freetype + • gettext + • gzip + • logging.handlers + • matplotlib.dviread + • multiprocessing.connection + • multiprocessing.forkserver + • multiprocessing.shared_memory + • multiprocessing.synchronize + • numpy.lib.format + • packaging._elffile + • packaging.tags + • pickle + • platform + • plistlib + • psutil._compat + • pytz.tzfile + • requests.utils + • setuptools._vendor.packaging._elffile + • setuptools._vendor.packaging.tags + • setuptools.command.bdist_wheel + • six + • socks + • tarfile + • urllib3.packages.six + • zipfile + • zoneinfo._common + +
+ +
+ +
+ + subprocess +SourceModule
+imports: + _posixsubprocess + • _winapi + • builtins + • contextlib + • errno + • fcntl + • grp + • io + • msvcrt + • os + • pwd + • select + • selectors + • signal + • sys + • threading + • time + • types + • warnings + +
+
+imported by: + PIL.EpsImagePlugin + • PIL.GifImagePlugin + • PIL.ImageShow + • PIL.JpegImagePlugin + • _aix_support + • asyncio.base_events + • asyncio.base_subprocess + • asyncio.events + • asyncio.subprocess + • asyncio.unix_events + • asyncio.windows_utils + • cffi.pkgconfig + • clr_loader.util.find + • ctypes._aix + • ctypes.util + • distutils._msvccompiler + • distutils.msvc9compiler + • distutils.spawn + • distutils.util + • http.server + • jaraco.context + • matplotlib + • matplotlib.cbook + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.texmanager + • md2gost.diagram_renderer + • md2gost.gui + • md2gost.pipeline + • md2gost.renderable.find_font + • multiprocessing.util + • numpy.testing._private.extbuild + • numpy.testing._private.utils + • os + • packaging._musllinux + • packaging.tags + • platform + • psutil + • psutil._compat + • pycparser + • pydoc + • pygments.formatters.img + • pygments.lexers._scilab_builtins + • pyi_rth_multiprocessing.py + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.spawn + • setuptools._distutils.util + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging.tags + • setuptools.installer + • uuid + • webbrowser + +
+ +
+ +
+ + sys (builtin module)
+imported by: + OpenSSL.SSL + • OpenSSL._util + • OpenSSL.crypto + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.GifImagePlugin + • PIL.IcnsImagePlugin + • PIL.Image + • PIL.ImageCms + • PIL.ImageFile + • PIL.ImageFont + • PIL.ImageMode + • PIL.ImageShow + • PIL.JpegImagePlugin + • PIL.PyAccess + • PIL.SpiderImagePlugin + • PIL._typing + • PIL.features + • _aix_support + • _collections_abc + • _compression + • _distutils_hack + • _osx_support + • _pydecimal + • _pyi_rth_utils + • _pyi_rth_utils.tempfile + • _sitebuiltins + • argparse + • ast + • asyncio + • asyncio.base_events + • asyncio.coroutines + • asyncio.events + • asyncio.format_helpers + • asyncio.futures + • asyncio.streams + • asyncio.unix_events + • asyncio.windows_events + • asyncio.windows_utils + • babel.localedata + • babel.localtime + • backports.tarfile + • backports.tarfile.compat.py38 + • base64 + • bdb + • bs4 + • bs4.builder + • bs4.builder._htmlparser + • bs4.element + • calendar + • certifi.core + • cffi._imp_emulation + • cffi._shimmed_dist_utils + • cffi.api + • cffi.commontypes + • cffi.cparser + • cffi.ffiplatform + • cffi.lock + • cffi.pkgconfig + • cffi.recompiler + • cffi.vengine_cpy + • cffi.vengine_gen + • cffi.verifier + • cgi + • clr_loader.ffi + • clr_loader.ffi.hostfxr + • clr_loader.hostfxr + • clr_loader.util.coreclr_errors + • clr_loader.util.find + • cmd + • code + • codecs + • collections + • concurrent.futures.process + • configparser + • contextlib + • cryptography + • cryptography.hazmat.bindings.openssl.binding + • cryptography.utils + • cryptography.x509.name + • ctypes + • ctypes._aix + • ctypes._endian + • ctypes.util + • dataclasses + • datetime + • dateutil + • dateutil.rrule + • dateutil.tz.tz + • defusedxml.ElementTree + • defusedxml.common + • dis + • distutils + • distutils.archive_util + • distutils.ccompiler + • distutils.cmd + • distutils.command.build + • distutils.command.build_ext + • distutils.command.sdist + • distutils.core + • distutils.dist + • distutils.fancy_getopt + • distutils.log + • distutils.msvc9compiler + • distutils.spawn + • distutils.sysconfig + • distutils.text_file + • distutils.util + • doctest + • docx.compat + • docx.enum.base + • docx.opc.compat + • email._header_value_parser + • email.generator + • email.iterators + • email.policy + • encodings + • encodings.rot_13 + • encodings.utf_16 + • encodings.utf_32 + • enum + • fractions + • freetype + • ftplib + • getopt + • getpass + • gettext + • glob + • gzip + • http.client + • http.server + • imp + • importlib + • importlib._bootstrap_external + • importlib.metadata + • importlib.util + • importlib_metadata + • importlib_metadata._compat + • importlib_metadata.compat.py311 + • importlib_resources._compat + • inspect + • jaraco.context + • jinja2.bccache + • jinja2.debug + • jinja2.lexer + • jinja2.loaders + • jinja2.runtime + • latex2mathml.converter + • linecache + • locale + • logging + • lxml.doctestcompare + • lxml.html._diffcommand + • lxml.html.html5parser + • lxml.isoschematron + • markupsafe + • matplotlib + • matplotlib._api + • matplotlib.backend_bases + • matplotlib.cbook + • matplotlib.dviread + • matplotlib.font_manager + • matplotlib.pyplot + • matplotlib.style.core + • matplotlib.tri._triangulation + • md2gost + • md2gost.__main__ + • md2gost.diagram_includes + • md2gost.diagram_renderer + • md2gost.dnd + • md2gost.gui + • md2gost.help_content + • md2gost.renderable.find_font + • md2gost.word_fix + • mimetypes + • more_itertools.more + • more_itertools.recipes + • multiprocessing + • multiprocessing.connection + • multiprocessing.context + • multiprocessing.dummy + • multiprocessing.forkserver + • multiprocessing.heap + • multiprocessing.managers + • multiprocessing.popen_spawn_win32 + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.reduction + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • multiprocessing.spawn + • multiprocessing.synchronize + • multiprocessing.util + • ntpath + • numpy + • numpy._pytesttester + • numpy._typing._array_like + • numpy.array_api._typing + • numpy.compat.py3k + • numpy.core + • numpy.core._add_newdocs_scalars + • numpy.core._internal + • numpy.core.arrayprint + • numpy.core.numeric + • numpy.ctypeslib + • numpy.lib.function_base + • numpy.lib.index_tricks + • numpy.lib.utils + • numpy.matrixlib.defmatrix + • numpy.testing._private.extbuild + • numpy.testing._private.utils + • optparse + • os + • packaging._manylinux + • packaging._musllinux + • packaging.markers + • packaging.metadata + • packaging.tags + • pathlib + • pdb + • pickle + • pkg_resources + • pkgutil + • platform + • platformdirs + • platformdirs.android + • platformdirs.macos + • platformdirs.unix + • platformdirs.windows + • posixpath + • pprint + • psutil + • psutil._common + • psutil._compat + • psutil._pswindows + • py_compile + • pycparser.c_ast + • pycparser.ply.lex + • pycparser.ply.yacc + • pydoc + • pygments.formatters + • pygments.formatters.html + • pygments.formatters.img + • pygments.lexer + • pygments.lexers + • pyi_rth__tkinter.py + • pyi_rth_cryptography_openssl.py + • pyi_rth_inspect.py + • pyi_rth_multiprocessing.py + • pyi_rth_pkgres.py + • pyi_rth_pythoncom.py + • pyi_rth_pywintypes.py + • pyparsing.core + • pyparsing.exceptions + • pyparsing.helpers + • pyparsing.unicode + • pyreadline3.console.ansi + • pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.lineeditor.history + • pyreadline3.modes.basemode + • pyreadline3.py3k_compat + • pyreadline3.rlmain + • pyreadline3.unicode_helper + • pythonnet + • pytz + • pywintypes + • quopri + • requests.compat + • requests.packages + • requests.sessions + • requests.utils + • runpy + • selectors + • setuptools + • setuptools._distutils + • setuptools._distutils._macos_compat + • setuptools._distutils.cmd + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.install + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.sdist + • setuptools._distutils.compat.py39 + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.unix + • setuptools._distutils.core + • setuptools._distutils.dist + • setuptools._distutils.fancy_getopt + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.text_file + • setuptools._distutils.util + • setuptools._importlib + • setuptools._path + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.tags + • setuptools.command + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.egg_info + • setuptools.compat.py310 + • setuptools.compat.py311 + • setuptools.compat.py39 + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config.expand + • setuptools.depends + • setuptools.dist + • setuptools.installer + • setuptools.logging + • setuptools.monkey + • setuptools.unicode_utils + • shlex + • shutil + • site + • six + • smtplib + • socket + • socketserver + • socks + • sre_compile + • ssl + • subprocess + • sysconfig + • tarfile + • tempfile + • threading + • threadpoolctl + • tkinter + • tkinter.filedialog + • tokenize + • tomli._parser + • traceback + • types + • typing + • typing_extensions + • unittest.case + • unittest.loader + • unittest.main + • unittest.mock + • unittest.result + • unittest.runner + • unittest.suite + • urllib.parse + • urllib.request + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.packages.backports.weakref_finalize + • urllib3.packages.six + • urllib3.request + • urllib3.response + • urllib3.util.ssl_ + • urllib3.util.ssl_match_hostname + • urllib3.util.wait + • uu + • uuid + • warnings + • weakref + • webbrowser + • wheel.macosx_libfile + • win32com + • win32com.client + • win32com.client.build + • win32com.client.gencache + • win32com.client.genpy + • win32com.client.makepy + • win32com.server.dispatcher + • win32com.server.exception + • win32com.server.policy + • win32traceutil + • xml.dom.domreg + • xml.etree.ElementTree + • xml.parsers.expat + • xml.sax + • xml.sax._exceptions + • xml.sax.expatreader + • xml.sax.saxutils + • xmlrpc.client + • xmlrpc.server + • yaml.constructor + • zipfile + • zipimport + • zipp + • zipp.compat.overlay + • zipp.compat.py310 + • zipp.compat.py313 + +
+ +
+ +
+ + sysconfig +SourceModule
+imports: + _aix_support + • _imp + • os + • os.path + • pprint + • re + • sys + • types + • warnings + +
+
+imported by: + _aix_support + • cffi.api + • distutils.sysconfig + • numpy.ctypeslib + • numpy.testing._private.extbuild + • numpy.testing._private.utils + • packaging._musllinux + • packaging.tags + • pkg_resources + • pydoc + • setuptools._distutils.command._framework_compat + • setuptools._distutils.command.build + • setuptools._distutils.command.install + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging.tags + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • zoneinfo._tzpath + +
+ +
+ +
+ + tarfile +SourceModule
+imports: + argparse + • builtins + • bz2 + • copy + • grp + • gzip + • io + • lzma + • os + • pwd + • re + • shutil + • stat + • struct + • sys + • time + • zlib + +
+
+imported by: + dateutil.zoneinfo + • distutils.archive_util + • jaraco.context + • pygments.lexers._php_builtins + • setuptools._distutils.archive_util + • setuptools.archive_util + • shutil + +
+ +
+ +
+ + tempfile +SourceModule
+imports: + _thread + • errno + • functools + • io + • os + • random + • shutil + • sys + • types + • warnings + • weakref + +
+
+imported by: + PIL.EpsImagePlugin + • PIL.Image + • PIL.JpegImagePlugin + • _osx_support + • _pyi_rth_utils.tempfile + • asyncio.windows_utils + • cgi + • clr_loader + • ctypes.util + • distutils.ccompiler + • distutils.util + • importlib._common + • importlib_resources._common + • jaraco.context + • jinja2.bccache + • lxml.html + • matplotlib + • matplotlib.texmanager + • md2gost.diagram_renderer + • multiprocessing.connection + • multiprocessing.heap + • multiprocessing.synchronize + • multiprocessing.util + • numpy.lib._datasource + • numpy.testing._private.utils + • pkg_resources + • pydoc + • pyreadline3.modes.vi + • requests.utils + • setuptools._core_metadata + • setuptools._distutils.compilers.C.base + • setuptools._distutils.util + • setuptools.installer + • urllib.request + • urllib.response + • webbrowser + +
+ +
+ +
+ + termios +MissingModule
+imported by: + getpass + • psutil._compat + • tty + +
+ +
+ +
+ + textwrap +SourceModule
+imports: + re + +
+
+imported by: + argparse + • docx.enum.base + • importlib.metadata + • importlib.metadata._adapters + • importlib_metadata + • importlib_metadata._adapters + • jinja2.filters + • matplotlib.patches + • matplotlib.scale + • matplotlib.transforms + • mpl_toolkits.mplot3d.axes3d + • numpy._typing._add_docstring + • numpy.lib.utils + • numpy.ma.core + • numpy.testing._private.extbuild + • optparse + • pkg_resources + • pydoc + • setuptools._core_metadata + • setuptools._vendor.jaraco.text + • setuptools.command.bdist_egg + • setuptools.config._validate_pyproject.error_reporting + • setuptools.warnings + • site + • threadpoolctl + +
+ +
+ +
+ + thread +MissingModule
+imported by: + cffi.cparser + • cffi.lock + +
+ +
+ +
+ + threading +SourceModule
+imports: + _collections + • _thread + • _threading_local + • _weakrefset + • collections + • functools + • itertools + • os + • sys + • time + • traceback + • warnings + +
+
+imported by: + _threading_local + • asyncio.base_events + • asyncio.events + • asyncio.mixins + • asyncio.proactor_events + • asyncio.unix_events + • babel.localedata + • concurrent.futures._base + • concurrent.futures.process + • concurrent.futures.thread + • cryptography.hazmat.bindings.openssl.binding + • http.cookiejar + • jinja2.utils + • logging + • logging.handlers + • matplotlib.figure + • matplotlib.font_manager + • matplotlib.pyplot + • md2gost.gui + • multiprocessing.context + • multiprocessing.dummy + • multiprocessing.forkserver + • multiprocessing.heap + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.resource_sharer + • multiprocessing.resource_tracker + • multiprocessing.synchronize + • multiprocessing.util + • psutil + • psutil._common + • psutil._compat + • pydoc + • pyparsing.core + • pytz.lazy + • pywin.dialogs.status + • queue + • requests.auth + • requests.cookies + • socketserver + • subprocess + • unittest.mock + • urllib3._collections + • webbrowser + • zipfile + +
+ +
+ +
+ + threadpoolctl +SourceModule
+imports: + abc + • argparse + • contextlib + • ctypes + • ctypes.util + • ctypes.wintypes + • functools + • importlib + • itertools + • json + • os + • pyodide_js + • re + • sys + • textwrap + • typing + • warnings + +
+
+imported by: + numpy.lib.utils + +
+ +
+ +
+ + time (builtin module)
+imports: + _strptime + +
+
+imported by: + PIL.PdfImagePlugin + • PIL.PdfParser + • _datetime + • _strptime + • asyncio.base_events + • asyncio.windows_events + • babel.localtime._fallback + • backports.tarfile + • concurrent.futures._base + • datetime + • dateutil.parser._parser + • dateutil.tz.tz + • email._parseaddr + • email.generator + • email.utils + • gc + • gzip + • http.cookiejar + • http.cookies + • http.server + • jaraco.functools + • logging + • logging.handlers + • matplotlib.backend_bases + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.legend + • matplotlib.pyplot + • more_itertools.more + • multiprocessing.connection + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.queues + • multiprocessing.synchronize + • numpy.testing._private.utils + • pkg_resources + • pprint + • psutil + • psutil._pswindows + • pydoc + • pygments.lexer + • pyreadline3.console.console + • pyreadline3.console.ironpython_console + • pyreadline3.rlmain + • pywin.dialogs.status + • queue + • random + • requests.auth + • requests.cookies + • requests.sessions + • setuptools.command.egg_info + • socketserver + • ssl + • subprocess + • tarfile + • threading + • unittest.runner + • urllib.request + • urllib3.util.retry + • urllib3.util.timeout + • urllib3.util.wait + • uuid + • wheel.wheelfile + • win32com.client.genpy + • xmlrpc.client + • zipfile + • zipimport + +
+ +
+ +
+ + tkinter +Package
+imports: + _tkinter + • enum + • os + • re + • sys + • tkinter.commondialog + • tkinter.constants + • tkinter.filedialog + • tkinter.messagebox + • tkinter.ttk + • traceback + • types + +
+
+imported by: + md2gost.gui + • md2gost_exe.py + • tkinter.commondialog + • tkinter.constants + • tkinter.dialog + • tkinter.filedialog + • tkinter.messagebox + • tkinter.simpledialog + • tkinter.ttk + +
+ +
+ +
+ + tkinter.commondialog +SourceModule
+imports: + tkinter + +
+
+imported by: + tkinter + • tkinter.filedialog + • tkinter.messagebox + +
+ +
+ +
+ + tkinter.constants +SourceModule
+imports: + tkinter + +
+
+imported by: + tkinter + +
+ +
+ +
+ + tkinter.dialog +SourceModule
+imports: + tkinter + +
+
+imported by: + tkinter.filedialog + +
+ +
+ +
+ + tkinter.filedialog +SourceModule
+imports: + fnmatch + • locale + • os + • sys + • tkinter + • tkinter.commondialog + • tkinter.dialog + • tkinter.simpledialog + +
+
+imported by: + md2gost.gui + • md2gost_exe.py + • tkinter + +
+ +
+ +
+ + tkinter.messagebox +SourceModule
+imports: + tkinter + • tkinter.commondialog + +
+
+imported by: + md2gost.gui + • md2gost_exe.py + • tkinter + • tkinter.simpledialog + +
+ +
+ +
+ + tkinter.simpledialog +SourceModule
+imports: + tkinter + • tkinter.messagebox + +
+
+imported by: + tkinter.filedialog + +
+ +
+ +
+ + tkinter.ttk +SourceModule
+imports: + os + • tkinter + +
+
+imported by: + md2gost.gui + • md2gost_exe.py + • tkinter + +
+ +
+ +
+ + tkinterdnd2 +MissingModule
+imported by: + md2gost.dnd + • md2gost.gui + +
+ +
+ +
+ + token +SourceModule
+imported by: + inspect + • tokenize + +
+ +
+ +
+ + tokenize +SourceModule
+imports: + argparse + • builtins + • codecs + • collections + • functools + • io + • itertools + • re + • sys + • token + +
+
+imported by: + cffi._imp_emulation + • imp + • importlib._bootstrap_external + • inspect + • linecache + • numpy.lib.format + • pdb + • pydoc + • setuptools._distutils.command.build_scripts + • setuptools._distutils.core + • setuptools._imp + +
+ +
+ +
+ + tomli +Package
+imports: + tomli._parser + +
+
+imported by: + setuptools.compat.py310 + • tomli._parser + • tomli._re + • tomli._types + +
+ +
+ +
+ + tomli._parser +SourceModule
+imports: + __future__ + • collections.abc + • string + • sys + • tomli + • tomli._re + • tomli._types + • types + • typing + • warnings + +
+
+imported by: + tomli + +
+ +
+ +
+ + tomli._re +SourceModule
+imports: + __future__ + • datetime + • functools + • re + • tomli + • tomli._types + • typing + +
+
+imported by: + tomli._parser + +
+ +
+ +
+ + tomli._types +SourceModule
+imports: + tomli + • typing + +
+
+imported by: + tomli._parser + • tomli._re + +
+ +
+ +
+ + tomllib +MissingModule
+imported by: + setuptools.compat.py310 + +
+ +
+ +
+ + traceback +SourceModule
+imports: + collections + • itertools + • linecache + • sys + +
+
+imported by: + _distutils_hack + • asyncio.base_events + • asyncio.base_tasks + • asyncio.coroutines + • asyncio.format_helpers + • bs4 + • cgi + • code + • concurrent.futures.process + • doctest + • http.cookiejar + • logging + • matplotlib.cbook + • md2gost.pipeline + • md2gost_exe.py + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.process + • multiprocessing.queues + • multiprocessing.util + • numpy.testing._private.utils + • pdb + • py_compile + • pydoc + • pyparsing.core + • pyreadline3.console.console + • pyreadline3.rlmain + • site + • socketserver + • threading + • tkinter + • unittest.case + • unittest.loader + • unittest.result + • warnings + • win32com.client.dynamic + • win32com.server.dispatcher + • xmlrpc.server + +
+ +
+ +
+ + tracemalloc +SourceModule
+imports: + _tracemalloc + • collections.abc + • fnmatch + • functools + • linecache + • os.path + • pickle + +
+
+imported by: + warnings + +
+ +
+ +
+ + trove_classifiers +Package
+imports: + typing + +
+
+imported by: + setuptools.config._validate_pyproject.formats + +
+ +
+ +
+ + tty +SourceModule
+imports: + termios + +
+
+imported by: + pydoc + +
+ +
+ +
+ + types +SourceModule
+imports: + _collections_abc + • functools + • sys + +
+
+imported by: + PIL.Image + • PIL.ImageDraw + • PIL.ImageFilter + • PIL.ImageFont + • PIL.ImageMath + • _weakrefset + • asyncio.coroutines + • asyncio.futures + • asyncio.queues + • asyncio.tasks + • certifi.core + • cffi.api + • cffi.model + • cffi.vengine_gen + • concurrent.futures._base + • concurrent.futures.thread + • contextlib + • copy + • cryptography.hazmat.bindings.openssl.binding + • cryptography.utils + • ctypes + • dataclasses + • difflib + • dis + • email.headerregistry + • enum + • functools + • http.cookies + • imp + • importlib._common + • importlib.metadata._functools + • importlib.resources + • importlib.util + • importlib_metadata + • importlib_metadata._functools + • importlib_metadata.compat.py311 + • importlib_resources._common + • inspect + • jaraco.functools + • jinja2.bccache + • jinja2.debug + • jinja2.environment + • jinja2.loaders + • jinja2.sandbox + • jinja2.utils + • marko.source + • matplotlib._mathtext + • matplotlib.axes._base + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.patches + • matplotlib.projections.polar + • md2gost_exe.py + • multiprocessing.managers + • multiprocessing.pool + • multiprocessing.queues + • multiprocessing.shared_memory + • multiprocessing.spawn + • numpy._utils._inspect + • numpy.array_api._array_object + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.lib.utils + • pickle + • pkg_resources + • pkgutil + • pprint + • psutil._compat + • pycparser.ply.lex + • pycparser.ply.yacc + • pydoc + • pygments.formatters + • pygments.lexers + • pyparsing.core + • pyparsing.util + • pyreadline3.rlmain + • queue + • requests.compat + • runpy + • setuptools.command.bdist_egg + • setuptools.config._apply_pyprojecttoml + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.depends + • setuptools.monkey + • six + • subprocess + • sysconfig + • tempfile + • tkinter + • tomli._parser + • typing + • typing_extensions + • unittest.case + • unittest.loader + • unittest.mock + • urllib.parse + • urllib3.packages.six + • win32com + • win32com.client + • win32com.client.dynamic + • win32com.server.policy + • yaml.constructor + • yaml.representer + • zipp.compat.overlay + +
+ +
+ +
+ + typing +SourceModule
+imports: + abc + • collections + • collections.abc + • contextlib + • functools + • operator + • re + • sys + • types + +
+
+imported by: + OpenSSL.SSL + • OpenSSL._util + • OpenSSL.crypto + • PIL.BlpImagePlugin + • PIL.BmpImagePlugin + • PIL.BufrStubImagePlugin + • PIL.DdsImagePlugin + • PIL.EpsImagePlugin + • PIL.GifImagePlugin + • PIL.GimpGradientFile + • PIL.GimpPaletteFile + • PIL.GribStubImagePlugin + • PIL.Hdf5StubImagePlugin + • PIL.IcnsImagePlugin + • PIL.IcoImagePlugin + • PIL.ImImagePlugin + • PIL.Image + • PIL.ImageCms + • PIL.ImageDraw + • PIL.ImageDraw2 + • PIL.ImageFile + • PIL.ImageFilter + • PIL.ImageFont + • PIL.ImageMath + • PIL.ImageMode + • PIL.ImageOps + • PIL.ImagePalette + • PIL.ImageSequence + • PIL.ImageShow + • PIL.IptcImagePlugin + • PIL.Jpeg2KImagePlugin + • PIL.JpegImagePlugin + • PIL.MpoImagePlugin + • PIL.MspImagePlugin + • PIL.PaletteFile + • PIL.PalmImagePlugin + • PIL.PcxImagePlugin + • PIL.PdfImagePlugin + • PIL.PdfParser + • PIL.PngImagePlugin + • PIL.PpmImagePlugin + • PIL.PyAccess + • PIL.SgiImagePlugin + • PIL.SpiderImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL.TiffTags + • PIL.WebPImagePlugin + • PIL.WmfImagePlugin + • PIL.XbmImagePlugin + • PIL._typing + • PIL._util + • PIL.features + • asyncio.staggered + • babel.core + • babel.dates + • babel.localedata + • babel.localtime._win32 + • babel.numbers + • babel.plural + • certifi.core + • charset_normalizer.api + • charset_normalizer.cd + • charset_normalizer.constant + • charset_normalizer.legacy + • charset_normalizer.models + • charset_normalizer.utils + • clr_loader + • clr_loader.ffi + • clr_loader.hostfxr + • clr_loader.mono + • clr_loader.netfx + • clr_loader.types + • clr_loader.util + • clr_loader.util.clr_error + • clr_loader.util.coreclr_errors + • clr_loader.util.find + • clr_loader.util.hostfxr_errors + • clr_loader.util.runtime_spec + • contourpy + • contourpy.array + • contourpy.convert + • contourpy.dechunk + • contourpy.typecheck + • cryptography.exceptions + • cryptography.hazmat.backends + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives.asymmetric.dsa + • cryptography.hazmat.primitives.asymmetric.ec + • cryptography.hazmat.primitives.asymmetric.rsa + • cryptography.hazmat.primitives.asymmetric.types + • cryptography.hazmat.primitives.ciphers.base + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.utils + • cryptography.x509.base + • cryptography.x509.extensions + • cryptography.x509.general_name + • cryptography.x509.name + • cryptography.x509.verification + • cycler + • dateutil._version + • functools + • idna.core + • idna.intranges + • idna.uts46data + • importlib._common + • importlib.abc + • importlib.metadata + • importlib.metadata._meta + • importlib.resources + • importlib_metadata + • importlib_metadata._collections + • importlib_metadata._meta + • importlib_metadata._typing + • importlib_metadata.compat.py39 + • importlib_resources._common + • importlib_resources._compat + • importlib_resources.abc + • jaraco.context + • jaraco.functools + • jinja2.async_utils + • jinja2.bccache + • jinja2.compiler + • jinja2.debug + • jinja2.defaults + • jinja2.environment + • jinja2.exceptions + • jinja2.ext + • jinja2.filters + • jinja2.idtracking + • jinja2.lexer + • jinja2.loaders + • jinja2.nodes + • jinja2.optimizer + • jinja2.parser + • jinja2.runtime + • jinja2.sandbox + • jinja2.tests + • jinja2.utils + • jinja2.visitor + • latex2mathml.commands + • latex2mathml.converter + • latex2mathml.tokenizer + • latex2mathml.walker + • marko + • marko.ast_renderer + • marko.block + • marko.element + • marko.ext.gfm.elements + • marko.helpers + • marko.html_renderer + • marko.inline + • marko.inline_parser + • marko.md_renderer + • marko.parser + • marko.renderer + • marko.source + • markupsafe + • markupsafe._native + • matplotlib._mathtext + • matplotlib._version + • matplotlib.font_manager + • matplotlib.pyplot + • matplotlib.typing + • md2gost.bibliography_renderable + • md2gost.checker + • md2gost.diagram_renderer + • md2gost.diagram_schemes + • md2gost.pipeline + • md2gost.renderable.caption + • md2gost.renderable.diagram + • md2gost.renderable.equation + • md2gost.renderable.heading + • md2gost.renderable.image + • md2gost.renderable.list + • md2gost.renderable.listing + • md2gost.renderable.page_break + • md2gost.renderable.paragraph + • md2gost.renderable.renderable + • md2gost.renderable.table + • md2gost.renderable.toc + • md2gost.renderer + • numpy._typing + • numpy._typing._array_like + • numpy._typing._char_codes + • numpy._typing._dtype_like + • numpy._typing._nbit + • numpy._typing._nested_sequence + • numpy._typing._scalars + • numpy._typing._shape + • numpy.array_api._array_object + • numpy.array_api._creation_functions + • numpy.array_api._data_type_functions + • numpy.array_api._manipulation_functions + • numpy.array_api._searching_functions + • numpy.array_api._set_functions + • numpy.array_api._statistical_functions + • numpy.array_api._typing + • numpy.array_api._utility_functions + • numpy.array_api.linalg + • numpy.linalg.linalg + • packaging._elffile + • packaging._manylinux + • packaging._musllinux + • packaging._parser + • packaging._tokenizer + • packaging.licenses + • packaging.licenses._spdx + • packaging.markers + • packaging.metadata + • packaging.requirements + • packaging.specifiers + • packaging.tags + • packaging.utils + • packaging.version + • pkg_resources + • platformdirs + • platformdirs.android + • platformdirs.api + • platformdirs.macos + • platformdirs.unix + • platformdirs.version + • platformdirs.windows + • pyparsing + • pyparsing.core + • pyparsing.diagram + • pyparsing.exceptions + • pyparsing.helpers + • pyparsing.results + • pyparsing.testing + • pyparsing.unicode + • pyparsing.util + • pythonnet + • requests._types + • requests.adapters + • requests.api + • requests.auth + • requests.cookies + • requests.exceptions + • requests.hooks + • requests.models + • requests.sessions + • requests.structures + • requests.utils + • setuptools + • setuptools._distutils._modified + • setuptools._distutils.archive_util + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist + • setuptools._distutils.command.bdist_dumb + • setuptools._distutils.command.bdist_rpm + • setuptools._distutils.command.build + • setuptools._distutils.command.build_clib + • setuptools._distutils.command.build_ext + • setuptools._distutils.command.build_py + • setuptools._distutils.command.build_scripts + • setuptools._distutils.command.check + • setuptools._distutils.command.clean + • setuptools._distutils.command.install + • setuptools._distutils.command.install_data + • setuptools._distutils.command.install_egg_info + • setuptools._distutils.command.install_headers + • setuptools._distutils.command.install_lib + • setuptools._distutils.command.install_scripts + • setuptools._distutils.command.sdist + • setuptools._distutils.compat + • setuptools._distutils.compilers.C.base + • setuptools._distutils.dist + • setuptools._distutils.fancy_getopt + • setuptools._distutils.filelist + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._normalization + • setuptools._path + • setuptools._reqs + • setuptools._shutil + • setuptools._static + • setuptools._vendor.packaging._elffile + • setuptools._vendor.packaging._manylinux + • setuptools._vendor.packaging._musllinux + • setuptools._vendor.packaging._parser + • setuptools._vendor.packaging._tokenizer + • setuptools._vendor.packaging.markers + • setuptools._vendor.packaging.requirements + • setuptools._vendor.packaging.specifiers + • setuptools._vendor.packaging.tags + • setuptools._vendor.packaging.utils + • setuptools._vendor.packaging.version + • setuptools.command._requirestxt + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.command.build + • setuptools.command.sdist + • setuptools.compat.py311 + • setuptools.config + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.extra_validations + • setuptools.config._validate_pyproject.formats + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.depends + • setuptools.discovery + • setuptools.dist + • setuptools.extension + • setuptools.glob + • setuptools.monkey + • setuptools.msvc + • setuptools.warnings + • soupsieve + • soupsieve.css_match + • soupsieve.css_parser + • soupsieve.css_types + • soupsieve.pretty + • soupsieve.util + • threadpoolctl + • tomli._parser + • tomli._re + • tomli._types + • trove_classifiers + • typing_extensions + • wheel.macosx_libfile + • wheel.wheelfile + +
+ +
+ +
+ + typing_extensions +SourceModule
+imports: + _socket + • abc + • annotationlib + • asyncio.coroutines + • builtins + • collections + • collections.abc + • contextlib + • enum + • functools + • inspect + • io + • keyword + • operator + • sys + • types + • typing + • warnings + +
+
+imported by: + OpenSSL.crypto + • PIL._typing + • babel.core + • babel.dates + • jinja2.bccache + • jinja2.compiler + • jinja2.defaults + • jinja2.environment + • jinja2.ext + • jinja2.filters + • jinja2.lexer + • jinja2.nodes + • jinja2.parser + • jinja2.runtime + • jinja2.utils + • jinja2.visitor + • markupsafe + • matplotlib.pyplot + • pkg_resources + • requests._types + • requests.api + • requests.models + • requests.sessions + • setuptools._distutils.cmd + • setuptools._distutils.command.bdist + • setuptools._distutils.compilers.C.base + • setuptools._distutils.dist + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._path + • setuptools._reqs + • setuptools.command.bdist_egg + • setuptools.compat.py311 + • setuptools.config._apply_pyprojecttoml + • setuptools.config._validate_pyproject.error_reporting + • setuptools.config._validate_pyproject.formats + • setuptools.config.expand + • setuptools.config.pyprojecttoml + • setuptools.config.setupcfg + • setuptools.dist + • setuptools.msvc + • setuptools.warnings + +
+ +
+ +
+ + tzdata +Package
+imports: + tzdata + • tzdata.zoneinfo + • tzdata.zoneinfo.Africa + • tzdata.zoneinfo.America + • tzdata.zoneinfo.America.Argentina + • tzdata.zoneinfo.America.Indiana + • tzdata.zoneinfo.America.Kentucky + • tzdata.zoneinfo.America.North_Dakota + • tzdata.zoneinfo.Antarctica + • tzdata.zoneinfo.Arctic + • tzdata.zoneinfo.Asia + • tzdata.zoneinfo.Atlantic + • tzdata.zoneinfo.Australia + • tzdata.zoneinfo.Brazil + • tzdata.zoneinfo.Canada + • tzdata.zoneinfo.Chile + • tzdata.zoneinfo.Etc + • tzdata.zoneinfo.Europe + • tzdata.zoneinfo.Indian + • tzdata.zoneinfo.Mexico + • tzdata.zoneinfo.Pacific + • tzdata.zoneinfo.US + +
+
+imported by: + tzdata + • tzdata.zoneinfo + • zoneinfo + +
+ +
+ +
+ + tzdata.zoneinfo +Package
+imports: + tzdata + +
+
+imported by: + tzdata + • tzdata.zoneinfo.Africa + • tzdata.zoneinfo.America + • tzdata.zoneinfo.Antarctica + • tzdata.zoneinfo.Arctic + • tzdata.zoneinfo.Asia + • tzdata.zoneinfo.Atlantic + • tzdata.zoneinfo.Australia + • tzdata.zoneinfo.Brazil + • tzdata.zoneinfo.Canada + • tzdata.zoneinfo.Chile + • tzdata.zoneinfo.Etc + • tzdata.zoneinfo.Europe + • tzdata.zoneinfo.Indian + • tzdata.zoneinfo.Mexico + • tzdata.zoneinfo.Pacific + • tzdata.zoneinfo.US + +
+ +
+ +
+ + tzdata.zoneinfo.Africa +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.America +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + • tzdata.zoneinfo.America.Argentina + • tzdata.zoneinfo.America.Indiana + • tzdata.zoneinfo.America.Kentucky + • tzdata.zoneinfo.America.North_Dakota + +
+ +
+ +
+ + tzdata.zoneinfo.America.Argentina +Package
+imports: + tzdata.zoneinfo.America + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.America.Indiana +Package
+imports: + tzdata.zoneinfo.America + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.America.Kentucky +Package
+imports: + tzdata.zoneinfo.America + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.America.North_Dakota +Package
+imports: + tzdata.zoneinfo.America + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Antarctica +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Arctic +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Asia +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Atlantic +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Australia +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Brazil +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Canada +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Chile +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Etc +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Europe +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Indian +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Mexico +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.Pacific +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + tzdata.zoneinfo.US +Package
+imports: + tzdata.zoneinfo + +
+
+imported by: + tzdata + +
+ +
+ +
+ + unicodedata C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\DLLs\unicodedata.pyd
+imported by: + charset_normalizer.utils + • encodings.idna + • idna.core + • marko.patterns + • matplotlib._mathtext + • pygments.unistring + • setuptools.unicode_utils + • soupsieve.css_match + • sre_parse + • stringprep + • urllib.parse + +
+ +
+ +
+ + unittest +Package
+imports: + os.path + • unittest + • unittest.async_case + • unittest.case + • unittest.loader + • unittest.main + • unittest.result + • unittest.runner + • unittest.signals + • unittest.suite + • unittest.util + +
+
+imported by: + doctest + • numpy.testing + • numpy.testing._private.utils + • unittest + • unittest._log + • unittest.async_case + • unittest.case + • unittest.loader + • unittest.main + • unittest.mock + • unittest.result + • unittest.runner + • unittest.signals + • unittest.suite + • unittest.util + +
+ +
+ +
+ + unittest._log +SourceModule
+imports: + collections + • logging + • unittest + • unittest.case + +
+
+imported by: + unittest.case + +
+ +
+ +
+ + unittest.async_case +SourceModule
+imports: + asyncio + • inspect + • unittest + • unittest.case + +
+
+imported by: + unittest + +
+ +
+ +
+ + unittest.case +SourceModule
+imports: + collections + • contextlib + • difflib + • functools + • pprint + • re + • sys + • traceback + • types + • unittest + • unittest._log + • unittest.result + • unittest.util + • warnings + +
+
+imported by: + numpy.testing._private.utils + • unittest + • unittest._log + • unittest.async_case + • unittest.loader + • unittest.suite + +
+ +
+ +
+ + unittest.loader +SourceModule
+imports: + fnmatch + • functools + • os + • re + • sys + • traceback + • types + • unittest + • unittest.case + • unittest.suite + • unittest.util + • warnings + +
+
+imported by: + unittest + • unittest.main + +
+ +
+ +
+ + unittest.main +SourceModule
+imports: + argparse + • os + • sys + • unittest + • unittest.loader + • unittest.runner + • unittest.signals + +
+
+imported by: + unittest + +
+ +
+ +
+ + unittest.mock +SourceModule
+imports: + _io + • asyncio + • builtins + • contextlib + • functools + • inspect + • io + • pprint + • sys + • threading + • types + • unittest + • unittest.util + +
+
+imported by: + setuptools._distutils.compilers.C.msvc + +
+ +
+ +
+ + unittest.result +SourceModule
+imports: + functools + • io + • sys + • traceback + • unittest + • unittest.util + +
+
+imported by: + unittest + • unittest.case + • unittest.runner + +
+ +
+ +
+ + unittest.runner +SourceModule
+imports: + sys + • time + • unittest + • unittest.result + • unittest.signals + • warnings + +
+
+imported by: + unittest + • unittest.main + +
+ +
+ +
+ + unittest.signals +SourceModule
+imports: + functools + • signal + • unittest + • weakref + +
+
+imported by: + unittest + • unittest.main + • unittest.runner + +
+ +
+ +
+ + unittest.suite +SourceModule
+imports: + sys + • unittest + • unittest.case + • unittest.util + +
+
+imported by: + unittest + • unittest.loader + +
+ +
+ +
+ + unittest.util +SourceModule
+imports: + collections + • os.path + • unittest + +
+
+imported by: + unittest + • unittest.case + • unittest.loader + • unittest.mock + • unittest.result + • unittest.suite + +
+ +
+ +
+ + urllib +Package
+imports: + urllib.urlencode + • urllib.urlopen + +
+
+imported by: + email._header_value_parser + • lxml.html + • matplotlib.image + • urllib.error + • urllib.parse + • urllib.request + • urllib.response + +
+ +
+ +
+ + urllib.error +SourceModule
+imports: + urllib + • urllib.response + +
+
+imported by: + numpy.lib._datasource + • urllib.request + +
+ +
+ +
+ + urllib.parse +SourceModule
+imports: + collections + • re + • sys + • types + • unicodedata + • urllib + • warnings + +
+
+imported by: + cgi + • email.utils + • http.client + • http.cookiejar + • http.server + • jinja2.utils + • logging.handlers + • lxml.ElementInclude + • lxml.html + • lxml.html.html5parser + • marko.html_renderer + • matplotlib.image + • matplotlib.textpath + • md2gost.diagram_includes + • md2gost.dnd + • mimetypes + • nturl2path + • numpy.lib._datasource + • pathlib + • pydoc + • requests.compat + • setuptools.config._validate_pyproject.formats + • urllib.request + • xml.dom.xmlbuilder + • xml.etree.ElementInclude + • xml.sax.saxutils + • xmlrpc.client + +
+ +
+ +
+ + urllib.request +SourceModule
+imports: + _scproxy + • base64 + • bisect + • contextlib + • email + • email.utils + • fnmatch + • ftplib + • getpass + • hashlib + • http.client + • http.cookiejar + • io + • mimetypes + • nturl2path + • os + • posixpath + • re + • socket + • ssl + • string + • sys + • tempfile + • time + • urllib + • urllib.error + • urllib.parse + • urllib.response + • warnings + • winreg + +
+
+imported by: + http.cookiejar + • jaraco.context + • lxml.ElementInclude + • lxml.html + • lxml.html.html5parser + • matplotlib + • numpy.lib._datasource + • pygments.lexers._lua_builtins + • pygments.lexers._mysql_builtins + • pygments.lexers._php_builtins + • pygments.lexers._postgres_builtins + • pygments.lexers._sourcemod_builtins + • requests.compat + • setuptools.config._validate_pyproject.formats + • xml.dom.xmlbuilder + • xml.sax.saxutils + +
+ +
+ +
+ + urllib.response +SourceModule
+imports: + tempfile + • urllib + +
+
+imported by: + urllib.error + • urllib.request + +
+ +
+ +
+ + urllib.urlencode +MissingModule
+imported by: + lxml.html + • urllib + +
+ +
+ +
+ + urllib.urlopen +MissingModule
+imported by: + lxml.html + • urllib + +
+ +
+ +
+ + urllib2 +MissingModule
+imported by: + lxml.ElementInclude + • lxml.html.html5parser + +
+ +
+ +
+ + urllib3 +Package
+imports: + __future__ + • logging + • urllib3 + • urllib3._version + • urllib3.connectionpool + • urllib3.exceptions + • urllib3.filepost + • urllib3.poolmanager + • urllib3.response + • urllib3.util.request + • urllib3.util.retry + • urllib3.util.timeout + • urllib3.util.url + • urllib3_secure_extra + • warnings + +
+
+imported by: + requests + • requests.compat + • urllib3 + • urllib3._collections + • urllib3._version + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib + • urllib3.contrib.pyopenssl + • urllib3.exceptions + • urllib3.fields + • urllib3.filepost + • urllib3.packages + • urllib3.poolmanager + • urllib3.request + • urllib3.response + • urllib3.util + +
+ +
+ +
+ + urllib3._collections +SourceModule
+imports: + __future__ + • collections + • collections.Mapping + • collections.MutableMapping + • collections.abc + • threading + • urllib3 + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + +
+
+imported by: + urllib3.connection + • urllib3.connectionpool + • urllib3.poolmanager + • urllib3.response + +
+ +
+ +
+ + urllib3._version +SourceModule
+imports: + urllib3 + +
+
+imported by: + urllib3 + • urllib3.connection + +
+ +
+ +
+ + urllib3.connection +SourceModule
+imports: + __future__ + • datetime + • logging + • os + • re + • socket + • ssl + • urllib3 + • urllib3._collections + • urllib3._version + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.packages.six.moves.http_client + • urllib3.util + • urllib3.util.connection + • urllib3.util.proxy + • urllib3.util.ssl_ + • urllib3.util.ssl_match_hostname + • warnings + +
+
+imported by: + urllib3.connectionpool + • urllib3.contrib.socks + • urllib3.response + +
+ +
+ +
+ + urllib3.connectionpool +SourceModule
+imports: + __future__ + • errno + • logging + • re + • socket + • sys + • urllib3 + • urllib3._collections + • urllib3.connection + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.backports.weakref_finalize + • urllib3.packages.six + • urllib3.packages.six.moves + • urllib3.packages.six.moves.queue + • urllib3.request + • urllib3.response + • urllib3.util.connection + • urllib3.util.proxy + • urllib3.util.queue + • urllib3.util.request + • urllib3.util.response + • urllib3.util.retry + • urllib3.util.ssl_match_hostname + • urllib3.util.timeout + • urllib3.util.url + • warnings + • weakref + +
+
+imported by: + requests.adapters + • urllib3 + • urllib3.contrib.socks + • urllib3.poolmanager + +
+ +
+ +
+ + urllib3.contrib +Package
+imports: + urllib3 + • urllib3.contrib._appengine_environ + • urllib3.contrib.pyopenssl + +
+
+imported by: + requests + • urllib3.contrib._appengine_environ + • urllib3.contrib.pyopenssl + • urllib3.contrib.socks + • urllib3.util.connection + +
+ +
+ +
+ + urllib3.contrib._appengine_environ +SourceModule
+imports: + os + • urllib3.contrib + +
+
+imported by: + urllib3.contrib + • urllib3.util.connection + +
+ +
+ +
+ + urllib3.contrib.pyopenssl +SourceModule
+imports: + OpenSSL.SSL + • OpenSSL.crypto + • __future__ + • cryptography + • cryptography.hazmat.backends.openssl + • cryptography.hazmat.backends.openssl.backend + • cryptography.x509 + • cryptography.x509.UnsupportedExtension + • cryptography.x509.extensions + • idna + • io + • logging + • socket + • ssl + • sys + • urllib3 + • urllib3.contrib + • urllib3.packages + • urllib3.packages.backports.makefile + • urllib3.packages.six + • urllib3.util + • urllib3.util.ssl_ + • warnings + +
+
+imported by: + requests + • urllib3.contrib + +
+ +
+ +
+ + urllib3.contrib.socks +SourceModule
+imports: + __future__ + • socket + • socks + • ssl + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib + • urllib3.exceptions + • urllib3.poolmanager + • urllib3.util.url + • warnings + +
+
+imported by: + requests.adapters + +
+ +
+ +
+ + urllib3.exceptions +SourceModule
+imports: + __future__ + • urllib3 + • urllib3.packages.six.moves.http_client + +
+
+imported by: + requests + • requests.adapters + • requests.exceptions + • requests.models + • urllib3 + • urllib3._collections + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.socks + • urllib3.poolmanager + • urllib3.response + • urllib3.util.connection + • urllib3.util.request + • urllib3.util.response + • urllib3.util.retry + • urllib3.util.ssl_ + • urllib3.util.ssltransport + • urllib3.util.timeout + • urllib3.util.url + +
+ +
+ +
+ + urllib3.fields +SourceModule
+imports: + __future__ + • email.utils + • mimetypes + • re + • urllib3 + • urllib3.packages + • urllib3.packages.six + +
+
+imported by: + requests.models + • urllib3.filepost + +
+ +
+ +
+ + urllib3.filepost +SourceModule
+imports: + __future__ + • binascii + • codecs + • io + • os + • urllib3 + • urllib3.fields + • urllib3.packages + • urllib3.packages.six + +
+
+imported by: + requests.models + • urllib3 + • urllib3.request + +
+ +
+ +
+ + urllib3.packages +Package
+imports: + urllib3 + +
+
+imported by: + urllib3._collections + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.fields + • urllib3.filepost + • urllib3.packages.backports + • urllib3.packages.six + • urllib3.poolmanager + • urllib3.request + • urllib3.response + • urllib3.util.connection + • urllib3.util.queue + • urllib3.util.retry + • urllib3.util.ssl_ + • urllib3.util.ssltransport + • urllib3.util.url + +
+ +
+ +
+ + urllib3.packages.backports +Package
+imports: + urllib3.packages + +
+
+imported by: + urllib3.packages.backports.makefile + • urllib3.packages.backports.weakref_finalize + +
+ +
+ +
+ + urllib3.packages.backports.makefile +SourceModule
+imports: + io + • socket + • urllib3.packages.backports + +
+
+imported by: + urllib3.contrib.pyopenssl + +
+ +
+ +
+ + urllib3.packages.backports.weakref_finalize +SourceModule
+imports: + __future__ + • atexit + • gc + • itertools + • sys + • urllib3.packages.backports + • weakref + +
+
+imported by: + urllib3.connectionpool + +
+ +
+ +
+ + urllib3.packages.six +SourceModule
+imports: + StringIO + • __future__ + • functools + • importlib.util + • io + • itertools + • operator + • struct + • sys + • types + • urllib3.packages + +
+
+imported by: + urllib3._collections + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.fields + • urllib3.filepost + • urllib3.packages.six.moves + • urllib3.poolmanager + • urllib3.request + • urllib3.response + • urllib3.util.connection + • urllib3.util.queue + • urllib3.util.request + • urllib3.util.retry + • urllib3.util.ssl_ + • urllib3.util.ssltransport + • urllib3.util.url + +
+ +
+ +
+ + urllib3.packages.six.moves +RuntimePackage
+imports: + urllib3.packages.six + • urllib3.packages.six.moves.queue + +
+
+imported by: + urllib3.connectionpool + • urllib3.packages.six.moves.http_client + • urllib3.packages.six.moves.urllib + • urllib3.util.queue + • urllib3.util.response + +
+ +
+ +
+ + urllib3.packages.six.moves.http_client +AliasNode
+imports: + http.client + • urllib3.packages.six.moves + +
+
+imported by: + urllib3.connection + • urllib3.exceptions + • urllib3.util.response + +
+ +
+ +
+ + urllib3.packages.six.moves.queue +AliasNode
+imports: + queue + +
+
+imported by: + urllib3.connectionpool + • urllib3.packages.six.moves + • urllib3.util.queue + +
+ +
+ +
+ + urllib3.packages.six.moves.urllib +AliasNode
+imports: + urllib3.packages.six.moves + • urllib3.packages.six.moves.urllib + +
+
+imported by: + urllib3.packages.six.moves.urllib + +
+ +
+ +
+ + urllib3.poolmanager +SourceModule
+imports: + 'urllib3.packages.six.moves.urllib.parse' + • __future__ + • collections + • functools + • logging + • urllib3 + • urllib3._collections + • urllib3.connectionpool + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.request + • urllib3.util.proxy + • urllib3.util.retry + • urllib3.util.url + +
+
+imported by: + requests.adapters + • urllib3 + • urllib3.contrib.socks + +
+ +
+ +
+ + urllib3.request +SourceModule
+imports: + 'urllib3.packages.six.moves.urllib.parse' + • __future__ + • sys + • urllib3 + • urllib3.filepost + • urllib3.packages + • urllib3.packages.six + +
+
+imported by: + urllib3.connectionpool + • urllib3.poolmanager + +
+ +
+ +
+ + urllib3.response +SourceModule
+imports: + __future__ + • brotli + • brotlicffi + • contextlib + • io + • logging + • socket + • sys + • urllib3 + • urllib3._collections + • urllib3.connection + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.util + • urllib3.util.response + • warnings + • zlib + +
+
+imported by: + urllib3 + • urllib3.connectionpool + +
+ +
+ +
+ + urllib3.util +Package
+imports: + __future__ + • urllib3 + • urllib3.util.connection + • urllib3.util.request + • urllib3.util.response + • urllib3.util.retry + • urllib3.util.ssl_ + • urllib3.util.timeout + • urllib3.util.url + • urllib3.util.wait + +
+
+imported by: + requests.adapters + • requests.models + • requests.utils + • urllib3.connection + • urllib3.contrib.pyopenssl + • urllib3.response + • urllib3.util.connection + • urllib3.util.proxy + • urllib3.util.queue + • urllib3.util.request + • urllib3.util.response + • urllib3.util.retry + • urllib3.util.ssl_ + • urllib3.util.ssl_match_hostname + • urllib3.util.ssltransport + • urllib3.util.timeout + • urllib3.util.url + • urllib3.util.wait + +
+ +
+ +
+ + urllib3.util.connection +SourceModule
+imports: + __future__ + • socket + • urllib3.contrib + • urllib3.contrib._appengine_environ + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.util + • urllib3.util.wait + +
+
+imported by: + urllib3.connection + • urllib3.connectionpool + • urllib3.util + +
+ +
+ +
+ + urllib3.util.proxy +SourceModule
+imports: + urllib3.util + • urllib3.util.ssl_ + +
+
+imported by: + urllib3.connection + • urllib3.connectionpool + • urllib3.poolmanager + +
+ +
+ +
+ + urllib3.util.queue +SourceModule
+imports: + Queue + • collections + • urllib3.packages + • urllib3.packages.six + • urllib3.packages.six.moves + • urllib3.packages.six.moves.queue + • urllib3.util + +
+
+imported by: + urllib3.connectionpool + +
+ +
+ +
+ + urllib3.util.request +SourceModule
+imports: + __future__ + • base64 + • brotli + • brotlicffi + • urllib3.exceptions + • urllib3.packages.six + • urllib3.util + +
+
+imported by: + urllib3 + • urllib3.connectionpool + • urllib3.util + +
+ +
+ +
+ + urllib3.util.response +SourceModule
+imports: + __future__ + • email.errors + • urllib3.exceptions + • urllib3.packages.six.moves + • urllib3.packages.six.moves.http_client + • urllib3.util + +
+
+imported by: + urllib3.connectionpool + • urllib3.response + • urllib3.util + +
+ +
+ +
+ + urllib3.util.retry +SourceModule
+imports: + __future__ + • collections + • email + • itertools + • logging + • re + • time + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.util + • warnings + +
+
+imported by: + requests.adapters + • urllib3 + • urllib3.connectionpool + • urllib3.poolmanager + • urllib3.util + +
+ +
+ +
+ + urllib3.util.ssl_ +SourceModule
+imports: + __future__ + • binascii + • hashlib + • hmac + • os + • ssl + • sys + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.util + • urllib3.util.ssltransport + • urllib3.util.url + • warnings + +
+
+imported by: + urllib3.connection + • urllib3.contrib.pyopenssl + • urllib3.util + • urllib3.util.proxy + +
+ +
+ +
+ + urllib3.util.ssl_match_hostname +SourceModule
+imports: + ipaddress + • re + • sys + • urllib3.util + +
+
+imported by: + urllib3.connection + • urllib3.connectionpool + +
+ +
+ +
+ + urllib3.util.ssltransport +SourceModule
+imports: + io + • socket + • ssl + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.util + +
+
+imported by: + urllib3.util.ssl_ + +
+ +
+ +
+ + urllib3.util.timeout +SourceModule
+imports: + __future__ + • socket + • time + • urllib3.exceptions + • urllib3.util + +
+
+imported by: + urllib3 + • urllib3.connectionpool + • urllib3.util + +
+ +
+ +
+ + urllib3.util.url +SourceModule
+imports: + __future__ + • collections + • idna + • re + • urllib3.exceptions + • urllib3.packages + • urllib3.packages.six + • urllib3.util + +
+
+imported by: + urllib3 + • urllib3.connectionpool + • urllib3.contrib.socks + • urllib3.poolmanager + • urllib3.util + • urllib3.util.ssl_ + +
+ +
+ +
+ + urllib3.util.wait +SourceModule
+imports: + errno + • functools + • select + • sys + • time + • urllib3.util + +
+
+imported by: + urllib3.util + • urllib3.util.connection + +
+ +
+ +
+ + urllib3_secure_extra +MissingModule
+imported by: + urllib3 + +
+ +
+ +
+ + urlparse +MissingModule
+imported by: + lxml.ElementInclude + • lxml.html.html5parser + +
+ +
+ +
+ + usercustomize +MissingModule
+imported by: + site + +
+ +
+ +
+ + uu +SourceModule
+imports: + binascii + • optparse + • os + • sys + +
+
+imported by: + email.message + +
+ +
+ +
+ + uuid +SourceModule
+imports: + _uuid + • enum + • hashlib + • io + • os + • platform + • random + • shutil + • socket + • subprocess + • sys + • time + +
+
+imported by: + matplotlib.backend_tools + +
+ +
+ +
+ + vms_lib +MissingModule
+imported by: + platform + +
+ +
+ +
+ + warnings +SourceModule
+imports: + _warnings + • builtins + • linecache + • re + • sys + • traceback + • tracemalloc + +
+
+imported by: + OpenSSL.SSL + • OpenSSL._util + • OpenSSL.crypto + • PIL.IcoImagePlugin + • PIL.Image + • PIL.ImageFont + • PIL.JpegImagePlugin + • PIL.PngImagePlugin + • PIL.TgaImagePlugin + • PIL.TiffImagePlugin + • PIL._deprecate + • PIL.features + • _distutils_hack + • argparse + • ast + • asyncio.base_events + • asyncio.base_subprocess + • asyncio.coroutines + • asyncio.events + • asyncio.proactor_events + • asyncio.selector_events + • asyncio.sslproto + • asyncio.streams + • asyncio.tasks + • asyncio.trsock + • asyncio.unix_events + • asyncio.windows_utils + • babel.dates + • babel.numbers + • backports.tarfile + • bs4 + • bs4.builder + • bs4.builder._html5lib + • bs4.builder._htmlparser + • bs4.css + • bs4.element + • cffi.cparser + • cffi.model + • cffi.vengine_cpy + • cgi + • charset_normalizer.legacy + • clr + • clr_loader.mono + • codeop + • configparser + • cryptography + • cryptography.hazmat.bindings.openssl.binding + • cryptography.hazmat.primitives.serialization.ssh + • cryptography.utils + • cryptography.x509.base + • cryptography.x509.name + • dateutil.parser + • dateutil.parser._parser + • dateutil.relativedelta + • dateutil.rrule + • dateutil.tz.tz + • dateutil.zoneinfo + • defusedxml + • defusedxml.ElementTree + • defusedxml.cElementTree + • distutils + • distutils.archive_util + • distutils.command.sdist + • distutils.dist + • distutils.extension + • distutils.sysconfig + • docx.styles.styles + • enum + • ftplib + • getpass + • gettext + • gzip + • hashlib + • hmac + • http.client + • http.cookiejar + • imp + • importlib + • importlib._abc + • importlib.abc + • importlib.metadata + • importlib.util + • importlib_resources._common + • importlib_resources._compat + • inspect + • io + • jaraco.functools + • locale + • logging + • matplotlib + • matplotlib._api + • matplotlib._api.deprecation + • matplotlib.artist + • matplotlib.axis + • matplotlib.bezier + • matplotlib.collections + • matplotlib.image + • matplotlib.projections + • matplotlib.style.core + • md2gost_exe.py + • more_itertools.more + • multiprocessing.forkserver + • multiprocessing.pool + • multiprocessing.resource_tracker + • numpy + • numpy.__config__ + • numpy._pytesttester + • numpy.array_api + • numpy.core + • numpy.core._internal + • numpy.core._methods + • numpy.core.arrayprint + • numpy.core.fromnumeric + • numpy.core.function_base + • numpy.core.getlimits + • numpy.core.numeric + • numpy.core.numerictypes + • numpy.core.records + • numpy.core.shape_base + • numpy.lib + • numpy.lib.format + • numpy.lib.function_base + • numpy.lib.histograms + • numpy.lib.index_tricks + • numpy.lib.nanfunctions + • numpy.lib.npyio + • numpy.lib.polynomial + • numpy.lib.ufunclike + • numpy.lib.utils + • numpy.linalg.linalg + • numpy.ma.core + • numpy.ma.extras + • numpy.ma.mrecords + • numpy.matrixlib.defmatrix + • numpy.polynomial.polyutils + • numpy.testing._private.utils + • os + • packaging._manylinux + • pathlib + • pkg_resources + • pkgutil + • psutil._common + • pycparser.ply.yacc + • pycparser.plyparser + • pydoc + • pyparsing.core + • pyparsing.util + • random + • requests + • requests.adapters + • requests.auth + • requests.utils + • runpy + • setuptools._distutils._msvccompiler + • setuptools._distutils.command.bdist + • setuptools._distutils.compilers.C.base + • setuptools._distutils.compilers.C.cygwin + • setuptools._distutils.compilers.C.msvc + • setuptools._distutils.dep_util + • setuptools._distutils.dist + • setuptools._distutils.extension + • setuptools._distutils.log + • setuptools._distutils.spawn + • setuptools._distutils.sysconfig + • setuptools._distutils.util + • setuptools._distutils.version + • setuptools._vendor.packaging._manylinux + • setuptools.command.bdist_wheel + • setuptools.warnings + • shlex + • smtplib + • soupsieve.css_parser + • soupsieve.util + • sre_parse + • ssl + • subprocess + • sysconfig + • tempfile + • threading + • threadpoolctl + • tomli._parser + • typing_extensions + • unittest.case + • unittest.loader + • unittest.runner + • urllib.parse + • urllib.request + • urllib3 + • urllib3.connection + • urllib3.connectionpool + • urllib3.contrib.pyopenssl + • urllib3.contrib.socks + • urllib3.response + • urllib3.util.retry + • urllib3.util.ssl_ + • xml.dom.pulldom + • xml.etree.ElementTree + • zipfile + • zoneinfo._tzpath + +
+ +
+ +
+ + weakref +SourceModule
+imports: + _collections_abc + • _weakref + • _weakrefset + • atexit + • copy + • gc + • itertools + • sys + +
+
+imported by: + OpenSSL.SSL + • _threading_local + • asyncio.base_events + • asyncio.selector_events + • asyncio.streams + • asyncio.tasks + • asyncio.windows_events + • cffi.cparser + • cffi.model + • concurrent.futures.process + • concurrent.futures.thread + • copy + • dateutil.tz._factories + • dateutil.tz.tz + • functools + • jinja2.environment + • jinja2.loaders + • logging + • matplotlib.backend_bases + • matplotlib.backend_tools + • matplotlib.cbook + • matplotlib.path + • matplotlib.text + • matplotlib.transforms + • md2gost_exe.py + • multiprocessing.dummy + • multiprocessing.queues + • multiprocessing.sharedctypes + • multiprocessing.util + • numpy.lib.npyio + • tempfile + • unittest.signals + • urllib3.connectionpool + • urllib3.packages.backports.weakref_finalize + • xml.sax.expatreader + • zoneinfo._zoneinfo + +
+ +
+ +
+ + webbrowser +SourceModule
+imports: + copy + • getopt + • glob + • os + • pwd + • shlex + • shutil + • socket + • subprocess + • sys + • tempfile + • threading + +
+
+imported by: + lxml.html + • pydoc + +
+ +
+ +
+ + wheel +Package
+imports: + __future__ + +
+
+imported by: + wheel.macosx_libfile + • wheel.wheelfile + +
+ +
+ +
+ + wheel.macosx_libfile +SourceModule
+imports: + __future__ + • ctypes + • io + • os + • sys + • typing + • wheel + +
+
+imported by: + setuptools.command.bdist_wheel + +
+ +
+ +
+ + wheel.wheelfile +SourceModule
+imports: + __future__ + • _typeshed + • base64 + • csv + • hashlib + • io + • logging + • os.path + • re + • stat + • time + • typing + • wheel + • zipfile + +
+
+imported by: + setuptools.command.bdist_wheel + +
+ +
+ +
+ + win32api C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\win32\win32api.pyd
+imported by: + pywin.dialogs.list + • pywin.dialogs.status + • win32com + • win32com.client.selecttlb + • win32com.server.dispatcher + • win32com.server.policy + • win32com.util + • win32evtlogutil + • win32traceutil + +
+ +
+ +
+ + win32com +Package
+imports: + 'win32com.gen_py' + • os + • pythoncom + • sys + • types + • win32api + • win32com.client.util + • win32com.server.util + • win32com.universal + +
+
+imported by: + win32com.client + • win32com.client.gencache + • win32com.client.genpy + • win32com.server + • win32com.server.dispatcher + • win32com.server.policy + • win32com.universal + • win32com.util + +
+ +
+ +
+ + win32com.client +Package
+imports: + pythoncom + • pywintypes + • sys + • types + • win32com + • win32com.client + • win32com.client.CLSIDToClass + • win32com.client.build + • win32com.client.dynamic + • win32com.client.gencache + • win32com.client.genpy + • win32com.client.makepy + • win32com.client.selecttlb + • win32com.client.util + • winerror + +
+
+imported by: + md2gost.page_fill_check + • md2gost.word_fix + • win32com.client + • win32com.client.CLSIDToClass + • win32com.client.build + • win32com.client.dynamic + • win32com.client.gencache + • win32com.client.genpy + • win32com.client.makepy + • win32com.client.selecttlb + • win32com.client.util + • win32com.server.policy + • win32com.universal + +
+ +
+ +
+ + win32com.client.CLSIDToClass +SourceModule
+imports: + win32com.client + +
+
+imported by: + win32com.client + • win32com.client.gencache + +
+ +
+ +
+ + win32com.client.build +SourceModule
+imports: + datetime + • keyword + • pythoncom + • pywintypes + • string + • sys + • win32com.client + • winerror + +
+
+imported by: + win32com.client + • win32com.client.dynamic + • win32com.client.genpy + • win32com.universal + +
+ +
+ +
+ + win32com.client.dynamic +SourceModule
+imports: + pythoncom + • pywintypes + • traceback + • types + • win32com.client + • win32com.client.build + • win32com.client.util + • winerror + +
+
+imported by: + win32com.client + +
+ +
+ +
+ + win32com.client.gencache +SourceModule
+imports: + getopt + • glob + • importlib + • io + • os + • pickle + • pythoncom + • pywintypes + • shutil + • sys + • win32com + • win32com.client + • win32com.client.CLSIDToClass + • win32com.client.genpy + • win32com.client.makepy + • zipfile + +
+
+imported by: + win32com.client + • win32com.client.makepy + • win32com.universal + +
+ +
+ +
+ + win32com.client.genpy +SourceModule
+imports: + os + • pythoncom + • sys + • time + • win32com + • win32com.client + • win32com.client.build + +
+
+imported by: + win32com.client + • win32com.client.gencache + • win32com.client.makepy + +
+ +
+ +
+ + win32com.client.makepy +SourceModule
+imports: + codecs + • getopt + • importlib + • os + • pythoncom + • pywin + • pywin.dialogs + • pywin.dialogs.status + • sys + • win32com.client + • win32com.client.gencache + • win32com.client.genpy + • win32com.client.selecttlb + • win32ui + +
+
+imported by: + win32com.client + • win32com.client.gencache + +
+ +
+ +
+ + win32com.client.selecttlb +SourceModule
+imports: + pythoncom + • pywin.dialogs.list + • win32api + • win32com.client + • win32con + +
+
+imported by: + win32com.client + • win32com.client.makepy + +
+ +
+ +
+ + win32com.client.util +SourceModule
+imports: + pythoncom + • win32com.client + +
+
+imported by: + win32com + • win32com.client + • win32com.client.dynamic + +
+ +
+ +
+ + win32com.server +Package
+imports: + win32com + • win32com.server + • win32com.server.policy + +
+
+imported by: + win32com.server + • win32com.server.dispatcher + • win32com.server.exception + • win32com.server.policy + • win32com.server.util + +
+ +
+ +
+ + win32com.server.dispatcher +SourceModule
+imports: + pythoncom + • sys + • traceback + • win32api + • win32com + • win32com.server + • win32com.server.exception + • win32com.util + • win32trace + • win32traceutil + +
+
+imported by: + win32com.server.policy + • win32com.server.util + +
+ +
+ +
+ + win32com.server.exception +SourceModule
+imports: + pythoncom + • sys + • win32com.server + +
+
+imported by: + win32com.server.dispatcher + • win32com.server.policy + • win32com.server.util + +
+ +
+ +
+ + win32com.server.policy +SourceModule
+imports: + pythoncom + • pywintypes + • sys + • types + • win32api + • win32com + • win32com.client + • win32com.server + • win32com.server.dispatcher + • win32com.server.exception + • win32com.universal + • win32com.util + • win32con + • winerror + +
+
+imported by: + win32com.server + • win32com.server.util + +
+ +
+ +
+ + win32com.server.util +SourceModule
+imports: + pythoncom + • win32com.server + • win32com.server.dispatcher + • win32com.server.exception + • win32com.server.policy + • winerror + +
+
+imported by: + win32com + +
+ +
+ +
+ + win32com.universal +SourceModule
+imports: + pythoncom + • win32com + • win32com.client + • win32com.client.build + • win32com.client.gencache + +
+
+imported by: + win32com + • win32com.server.policy + +
+ +
+ +
+ + win32com.util +SourceModule
+imports: + pythoncom + • win32api + • win32com + • win32con + +
+
+imported by: + win32com.server.dispatcher + • win32com.server.policy + +
+ +
+ +
+ + win32con +SourceModule
+imported by: + pywin.dialogs.list + • pywin.dialogs.status + • pywin.mfc.dialog + • pywin.mfc.window + • win32com.client.selecttlb + • win32com.server.policy + • win32com.util + • win32evtlogutil + +
+ +
+ +
+ + win32evtlog C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\win32\win32evtlog.pyd
+imported by: + logging.handlers + • win32evtlogutil + +
+ +
+ +
+ + win32evtlogutil +SourceModule
+imports: + win32api + • win32con + • win32evtlog + • winerror + +
+
+imported by: + logging.handlers + +
+ +
+ +
+ + win32pdh C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\win32\win32pdh.pyd
+imported by: + numpy.testing._private.utils + +
+ +
+ +
+ + win32trace C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\win32\win32trace.pyd
+imported by: + win32com.server.dispatcher + • win32traceutil + +
+ +
+ +
+ + win32traceutil +SourceModule
+imports: + sys + • win32api + • win32trace + +
+
+imported by: + win32com.server.dispatcher + +
+ +
+ +
+ + win32ui C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\Pythonwin\win32ui.pyd
+imported by: + pywin.dialogs.list + • pywin.dialogs.status + • pywin.mfc.dialog + • pywin.mfc.object + • pywin.mfc.thread + • pywin.mfc.window + • win32com.client.makepy + +
+ +
+ +
+ + win_inet_pton +MissingModule
+imported by: + socks + +
+ +
+ +
+ + winerror +SourceModule
+imported by: + win32com.client + • win32com.client.build + • win32com.client.dynamic + • win32com.server.policy + • win32com.server.util + • win32evtlogutil + +
+ +
+ +
+ + winreg (builtin module)
+imported by: + babel.localtime._win32 + • distutils._msvccompiler + • distutils.msvc9compiler + • importlib._bootstrap_external + • matplotlib + • matplotlib.font_manager + • mimetypes + • platform + • platformdirs.windows + • pygments.formatters.img + • requests.utils + • setuptools._distutils.compilers.C.msvc + • setuptools.msvc + • six.moves.winreg + • urllib.request + +
+ +
+ +
+ + xml +Package
+imports: + xml.sax.expatreader + • xml.sax.xmlreader + +
+
+imported by: + xml.dom + • xml.etree + • xml.parsers + • xml.sax + +
+ +
+ +
+ + xml.dom +Package
+imports: + xml + • xml.dom.domreg + • xml.dom.minidom + • xml.dom.pulldom + • xml.dom.xmlbuilder + +
+
+imported by: + xml.dom.NodeFilter + • xml.dom.domreg + • xml.dom.expatbuilder + • xml.dom.minicompat + • xml.dom.minidom + • xml.dom.pulldom + • xml.dom.xmlbuilder + +
+ +
+ +
+ + xml.dom.NodeFilter +SourceModule
+imports: + xml.dom + +
+
+imported by: + xml.dom.expatbuilder + • xml.dom.xmlbuilder + +
+ +
+ +
+ + xml.dom.domreg +SourceModule
+imports: + os + • sys + • xml.dom + • xml.dom.minidom + +
+
+imported by: + xml.dom + • xml.dom.minidom + +
+ +
+ +
+ + xml.dom.expatbuilder +SourceModule
+imports: + xml.dom + • xml.dom.NodeFilter + • xml.dom.minidom + • xml.dom.xmlbuilder + • xml.parsers + • xml.parsers.expat + +
+
+imported by: + defusedxml.expatbuilder + • xml.dom.minidom + • xml.dom.xmlbuilder + +
+ +
+ +
+ + xml.dom.minicompat +SourceModule
+imports: + xml.dom + +
+
+imported by: + xml.dom.minidom + +
+ +
+ +
+ + xml.dom.minidom +SourceModule
+imports: + io + • xml.dom + • xml.dom.domreg + • xml.dom.expatbuilder + • xml.dom.minicompat + • xml.dom.pulldom + • xml.dom.xmlbuilder + +
+
+imported by: + defusedxml.minidom + • xml.dom + • xml.dom.domreg + • xml.dom.expatbuilder + • xml.dom.pulldom + +
+ +
+ +
+ + xml.dom.pulldom +SourceModule
+imports: + io + • warnings + • xml.dom + • xml.dom.minidom + • xml.sax + • xml.sax.handler + +
+
+imported by: + defusedxml.pulldom + • xml.dom + • xml.dom.minidom + +
+ +
+ +
+ + xml.dom.xmlbuilder +SourceModule
+imports: + copy + • posixpath + • urllib.parse + • urllib.request + • xml.dom + • xml.dom.NodeFilter + • xml.dom.expatbuilder + +
+
+imported by: + xml.dom + • xml.dom.expatbuilder + • xml.dom.minidom + +
+ +
+ +
+ + xml.etree +Package
+imports: + xml + • xml.etree + • xml.etree.ElementPath + • xml.etree.ElementTree + +
+
+imported by: + clr_loader.util.coreclr_errors + • xml.etree + • xml.etree.ElementInclude + • xml.etree.ElementPath + • xml.etree.ElementTree + • xml.etree.cElementTree + +
+ +
+ +
+ + xml.etree.ElementInclude +SourceModule
+imports: + copy + • urllib.parse + • xml.etree + • xml.etree.ElementTree + +
+
+imported by: + _elementtree + +
+ +
+ +
+ + xml.etree.ElementPath +SourceModule
+imports: + re + • xml.etree + +
+
+imported by: + _elementtree + • xml.etree + • xml.etree.ElementTree + +
+ +
+ +
+ + xml.etree.ElementTree +SourceModule
+imports: + _elementtree + • collections + • collections.abc + • contextlib + • io + • pyexpat + • re + • sys + • warnings + • xml.etree + • xml.etree.ElementPath + • xml.parsers + • xml.parsers.expat + +
+
+imported by: + _elementtree + • clr_loader.util.coreclr_errors + • defusedxml.ElementTree + • defusedxml.cElementTree + • latex2mathml.converter + • xml.etree + • xml.etree.ElementInclude + • xml.etree.cElementTree + +
+ +
+ +
+ + xml.etree.cElementTree +SourceModule
+imports: + xml.etree + • xml.etree.ElementTree + +
+
+imported by: + _elementtree + • defusedxml.cElementTree + +
+ +
+ +
+ + xml.parsers +Package
+imports: + xml + • xml.parsers.expat + +
+
+imported by: + xml.dom.expatbuilder + • xml.etree.ElementTree + • xml.parsers.expat + • xml.sax.expatreader + • xmlrpc.client + +
+ +
+ +
+ + xml.parsers.expat +SourceModule
+imports: + pyexpat + • sys + • xml.parsers + +
+
+imported by: + defusedxml.common + • plistlib + • xml.dom.expatbuilder + • xml.etree.ElementTree + • xml.parsers + • xml.sax.expatreader + • xmlrpc.client + +
+ +
+ +
+ + xml.sax +Package
+imports: + 'org.python' + • io + • os + • sys + • xml + • xml.sax + • xml.sax._exceptions + • xml.sax.expatreader + • xml.sax.handler + • xml.sax.saxutils + • xml.sax.xmlreader + +
+
+imported by: + defusedxml.sax + • xml.dom.pulldom + • xml.sax + • xml.sax._exceptions + • xml.sax.expatreader + • xml.sax.handler + • xml.sax.saxutils + • xml.sax.xmlreader + +
+ +
+ +
+ + xml.sax._exceptions +SourceModule
+imports: + 'java.lang' + • sys + • xml.sax + +
+
+imported by: + xml.sax + • xml.sax.expatreader + • xml.sax.xmlreader + +
+ +
+ +
+ + xml.sax.expatreader +SourceModule
+imports: + _weakref + • sys + • weakref + • xml.parsers + • xml.parsers.expat + • xml.sax + • xml.sax._exceptions + • xml.sax.handler + • xml.sax.saxutils + • xml.sax.xmlreader + +
+
+imported by: + defusedxml.expatreader + • xml + • xml.sax + +
+ +
+ +
+ + xml.sax.handler +SourceModule
+imports: + xml.sax + +
+
+imported by: + xml.dom.pulldom + • xml.sax + • xml.sax.expatreader + • xml.sax.saxutils + • xml.sax.xmlreader + +
+ +
+ +
+ + xml.sax.saxutils +SourceModule
+imports: + codecs + • io + • os + • sys + • urllib.parse + • urllib.request + • xml.sax + • xml.sax.handler + • xml.sax.xmlreader + +
+
+imported by: + latex2mathml.converter + • xml.sax + • xml.sax.expatreader + • xml.sax.xmlreader + +
+ +
+ +
+ + xml.sax.xmlreader +SourceModule
+imports: + xml.sax + • xml.sax._exceptions + • xml.sax.handler + • xml.sax.saxutils + +
+
+imported by: + xml + • xml.sax + • xml.sax.expatreader + • xml.sax.saxutils + +
+ +
+ +
+ + xmlrpc +Package
+imports: + xmlrpc.server + +
+
+imported by: + defusedxml.xmlrpc + • xmlrpc.client + • xmlrpc.server + +
+ +
+ +
+ + xmlrpc.client +SourceModule
+imports: + base64 + • datetime + • decimal + • errno + • gzip + • http.client + • io + • sys + • time + • urllib.parse + • xml.parsers + • xml.parsers.expat + • xmlrpc + +
+
+imported by: + defusedxml.xmlrpc + • multiprocessing.connection + • xmlrpc.server + +
+ +
+ +
+ + xmlrpc.server +SourceModule
+imports: + datetime + • fcntl + • functools + • html + • http.server + • inspect + • os + • pydoc + • re + • socketserver + • sys + • traceback + • xmlrpc + • xmlrpc.client + +
+
+imported by: + defusedxml.xmlrpc + • xmlrpc + +
+ +
+ +
+ + xmlrpclib +MissingModule
+imported by: + defusedxml.xmlrpc + +
+ +
+ +
+ + yaml +Package
+imports: + io + • yaml.cyaml + • yaml.dumper + • yaml.error + • yaml.events + • yaml.loader + • yaml.nodes + • yaml.tokens + +
+
+imported by: + numpy.__config__ + • yaml._yaml + • yaml.composer + • yaml.constructor + • yaml.cyaml + • yaml.dumper + • yaml.emitter + • yaml.error + • yaml.events + • yaml.loader + • yaml.nodes + • yaml.parser + • yaml.reader + • yaml.representer + • yaml.resolver + • yaml.scanner + • yaml.serializer + • yaml.tokens + +
+ +
+ +
+ + yaml._yaml C:\Users\hlebushek\AppData\Local\Programs\Python\Python310\lib\site-packages\yaml\_yaml.cp310-win_amd64.pyd
+imports: + yaml + +
+
+imported by: + yaml.cyaml + +
+ +
+ +
+ + yaml.composer +SourceModule
+imports: + yaml + • yaml.error + • yaml.events + • yaml.nodes + +
+
+imported by: + yaml.loader + +
+ +
+ +
+ + yaml.constructor +SourceModule
+imports: + base64 + • binascii + • collections.abc + • datetime + • re + • sys + • types + • yaml + • yaml.error + • yaml.nodes + +
+
+imported by: + yaml.cyaml + • yaml.loader + +
+ +
+ +
+ + yaml.cyaml +SourceModule
+imports: + yaml + • yaml._yaml + • yaml.constructor + • yaml.representer + • yaml.resolver + • yaml.serializer + +
+
+imported by: + yaml + +
+ +
+ +
+ + yaml.dumper +SourceModule
+imports: + yaml + • yaml.emitter + • yaml.representer + • yaml.resolver + • yaml.serializer + +
+
+imported by: + yaml + +
+ +
+ +
+ + yaml.emitter +SourceModule
+imports: + yaml + • yaml.error + • yaml.events + +
+
+imported by: + yaml.dumper + +
+ +
+ +
+ + yaml.error +SourceModule
+imports: + yaml + +
+
+imported by: + yaml + • yaml.composer + • yaml.constructor + • yaml.emitter + • yaml.parser + • yaml.reader + • yaml.representer + • yaml.resolver + • yaml.scanner + • yaml.serializer + +
+ +
+ +
+ + yaml.events +SourceModule
+imports: + yaml + +
+
+imported by: + yaml + • yaml.composer + • yaml.emitter + • yaml.parser + • yaml.serializer + +
+ +
+ +
+ + yaml.loader +SourceModule
+imports: + yaml + • yaml.composer + • yaml.constructor + • yaml.parser + • yaml.reader + • yaml.resolver + • yaml.scanner + +
+
+imported by: + yaml + +
+ +
+ +
+ + yaml.nodes +SourceModule
+imports: + yaml + +
+
+imported by: + yaml + • yaml.composer + • yaml.constructor + • yaml.representer + • yaml.resolver + • yaml.serializer + +
+ +
+ +
+ + yaml.parser +SourceModule
+imports: + yaml + • yaml.error + • yaml.events + • yaml.scanner + • yaml.tokens + +
+
+imported by: + yaml.loader + +
+ +
+ +
+ + yaml.reader +SourceModule
+imports: + codecs + • re + • yaml + • yaml.error + +
+
+imported by: + yaml.loader + +
+ +
+ +
+ + yaml.representer +SourceModule
+imports: + base64 + • collections + • copyreg + • datetime + • types + • yaml + • yaml.error + • yaml.nodes + +
+
+imported by: + yaml.cyaml + • yaml.dumper + +
+ +
+ +
+ + yaml.resolver +SourceModule
+imports: + re + • yaml + • yaml.error + • yaml.nodes + +
+
+imported by: + yaml.cyaml + • yaml.dumper + • yaml.loader + +
+ +
+ +
+ + yaml.scanner +SourceModule
+imports: + yaml + • yaml.error + • yaml.tokens + +
+
+imported by: + yaml.loader + • yaml.parser + +
+ +
+ +
+ + yaml.serializer +SourceModule
+imports: + yaml + • yaml.error + • yaml.events + • yaml.nodes + +
+
+imported by: + yaml.cyaml + • yaml.dumper + +
+ +
+ +
+ + yaml.tokens +SourceModule
+imports: + yaml + +
+
+imported by: + yaml + • yaml.parser + • yaml.scanner + +
+ +
+ +
+ + zipfile +SourceModule
+imports: + argparse + • binascii + • bz2 + • contextlib + • importlib.util + • io + • itertools + • lzma + • os + • pathlib + • posixpath + • py_compile + • shutil + • stat + • struct + • sys + • threading + • time + • warnings + • zlib + +
+
+imported by: + distutils.archive_util + • docx.opc.phys_pkg + • importlib.metadata + • importlib.readers + • importlib_resources._compat + • jinja2.environment + • numpy.lib.npyio + • pkg_resources + • pyi_rth_inspect.py + • requests.utils + • setuptools._distutils.archive_util + • setuptools.archive_util + • setuptools.command.bdist_egg + • setuptools.command.bdist_wheel + • setuptools.wheel + • shutil + • wheel.wheelfile + • win32com.client.gencache + • zipp + +
+ +
+ +
+ + zipimport +SourceModule
+imports: + _frozen_importlib + • _frozen_importlib_external + • _imp + • _io + • _warnings + • importlib.readers + • marshal + • os + • sys + • time + • zlib + +
+
+imported by: + jinja2.loaders + • pkg_resources + • pkgutil + +
+ +
+ +
+ + zipp +Package
+imports: + functools + • io + • itertools + • pathlib + • posixpath + • re + • stat + • sys + • zipfile + • zipp._functools + • zipp.compat.py310 + • zipp.glob + +
+
+imported by: + importlib_resources._compat + • zipp._functools + • zipp.compat + • zipp.compat.overlay + • zipp.glob + +
+ +
+ +
+ + zipp._functools +SourceModule
+imports: + collections + • functools + • zipp + +
+
+imported by: + zipp + +
+ +
+ +
+ + zipp.compat +Package
+imports: + zipp + +
+
+imported by: + zipp.compat.overlay + • zipp.compat.py310 + • zipp.compat.py313 + +
+ +
+ +
+ + zipp.compat.overlay +SourceModule
+imports: + importlib + • sys + • types + • zipp + • zipp.compat + +
+
+imported by: + importlib_metadata + +
+ +
+ +
+ + zipp.compat.py310 +SourceModule
+imports: + io + • sys + • zipp.compat + +
+
+imported by: + zipp + +
+ +
+ +
+ + zipp.compat.py313 +SourceModule
+imports: + functools + • sys + • zipp.compat + +
+
+imported by: + zipp.glob + +
+ +
+ +
+ + zipp.glob +SourceModule
+imports: + os + • re + • zipp + • zipp.compat.py313 + +
+
+imported by: + zipp + +
+ +
+ +
+ + zlib (builtin module)
+imported by: + PIL.PdfParser + • PIL.PngImagePlugin + • backports.tarfile + • encodings.zlib_codec + • gzip + • shutil + • tarfile + • urllib3.response + • zipfile + • zipimport + +
+ +
+ +
+ + zoneinfo +Package
+imports: + _zoneinfo + • tzdata + • zoneinfo + • zoneinfo._common + • zoneinfo._tzpath + • zoneinfo._zoneinfo + +
+
+imported by: + babel.dates + • babel.localtime._helpers + • zoneinfo + • zoneinfo._common + • zoneinfo._tzpath + • zoneinfo._zoneinfo + +
+ +
+ +
+ + zoneinfo._common +SourceModule
+imports: + importlib.resources + • struct + • zoneinfo + +
+
+imported by: + zoneinfo + • zoneinfo._zoneinfo + +
+ +
+ +
+ + zoneinfo._tzpath +SourceModule
+imports: + importlib + • importlib.resources + • os + • sysconfig + • warnings + • zoneinfo + +
+
+imported by: + zoneinfo + • zoneinfo._zoneinfo + +
+ +
+ +
+ + zoneinfo._zoneinfo +SourceModule
+imports: + bisect + • calendar + • collections + • datetime + • functools + • pickle + • re + • weakref + • zoneinfo + • zoneinfo._common + • zoneinfo._tzpath + +
+
+imported by: + zoneinfo + +
+ +
+ + + diff --git a/md2gost.fast.spec b/md2gost.fast.spec new file mode 100644 index 0000000..bb63df0 --- /dev/null +++ b/md2gost.fast.spec @@ -0,0 +1,162 @@ +# -*- mode: python ; coding: utf-8 -*- +"""Faster onefile freeze: same portable exe (fonts + plantuml.jar + onefile). + +Keeps matplotlib (system font lookup) and bundles plantuml.jar. +Speeds Analysis by pinning the Agg backend, skipping duplicate pygments +collection (the stock hook already pulls all lexers), and not probing Qt/Gtk. +""" +import os +from pathlib import Path + +from PyInstaller.utils.hooks import ( + collect_data_files, + collect_dynamic_libs, + collect_submodules, +) + +# Isolated matplotlib hook subprocesses inherit this and skip GUI backend probes. +os.environ["MPLBACKEND"] = "Agg" + +ROOT = Path(SPECPATH).resolve() + +datas = [ + (str(ROOT / "md2gost" / "Template.docx"), "md2gost"), + (str(ROOT / "md2gost" / "mml2omml"), "md2gost"), + (str(ROOT / "md2gost" / "diagrams"), "md2gost/diagrams"), + (str(ROOT / "prompts"), "prompts"), +] +_plantuml = ROOT / "md2gost" / "vendor" / "plantuml.jar" +if not _plantuml.is_file(): + raise SystemExit( + "md2gost.fast.spec: нет md2gost/vendor/plantuml.jar — " + "сначала scripts/fetch_plantuml.py (jar обязателен в portable exe)" + ) +datas.append((str(_plantuml), "md2gost/vendor")) + +binaries = [] +hiddenimports = collect_submodules("md2gost") + +datas += collect_data_files("certifi") +datas += collect_data_files("lxml") +datas += collect_data_files("latex2mathml") +datas += collect_data_files("docx") +# Explicit mpl-data so DejaVu + matplotlib font cache files are always in the exe. +# hook-matplotlib.py also collects this; PyInstaller dedupes by dest path. +datas += collect_data_files("matplotlib", includes=["mpl-data/**"]) + +for pkg in ("lxml", "freetype"): + try: + binaries += collect_dynamic_libs(pkg) + except Exception: + pass + +hiddenimports += [ + "lxml", + "lxml.etree", + "lxml._elementpath", + "PIL", + "PIL.Image", + "PIL.PngImagePlugin", + "pygments", + "pygments.lexers", + "pygments.formatters", + "freetype", + "docx", + "docxcompose", + "docxcompose.composer", + "marko", + "marko.ext.gfm", + "latex2mathml", + "latex2mathml.converter", + "requests", + "certifi", + "matplotlib", + "matplotlib.font_manager", + "matplotlib.ft2font", + "tkinter", + "tkinter.filedialog", + "tkinter.messagebox", + "tkinter.ttk", +] +# Do NOT collect_submodules("pygments.lexers") here — hook-pygments.py already +# collects all lexers/formatters/styles once during Analysis. +try: + hiddenimports += collect_submodules("tkinterdnd2") +except Exception: + pass + +excludes = [ + "pytest", + "PyQt5", + "PyQt6", + "PySide2", + "PySide6", + "IPython", + "jupyter", + "notebook", + "zmq", + "scipy", + "pandas", + "tornado", + "numpy.tests", + "matplotlib.tests", + "matplotlib.testing", + "matplotlib.backends.qt_compat", + "matplotlib.backends.backend_qtagg", + "matplotlib.backends.backend_qtcairo", + "matplotlib.backends.backend_qt5agg", + "matplotlib.backends.backend_qt5cairo", + "matplotlib.backends.backend_qt5", + "matplotlib.backends.backend_qt", + "matplotlib.backends.backend_gtk3", + "matplotlib.backends.backend_gtk3agg", + "matplotlib.backends.backend_gtk3cairo", + "matplotlib.backends.backend_gtk4", + "matplotlib.backends.backend_gtk4agg", + "matplotlib.backends.backend_gtk4cairo", + "matplotlib.backends.backend_macosx", + "matplotlib.backends.backend_tkagg", + "matplotlib.backends.backend_tkcairo", + "matplotlib.backends.backend_wx", + "matplotlib.backends.backend_wxagg", + "matplotlib.backends.backend_wxcairo", + "matplotlib.backends.backend_nbagg", + "matplotlib.backends.backend_webagg", + "PIL.ImageQt", +] + +a = Analysis( + [str(ROOT / "scripts" / "md2gost_exe.py")], + pathex=[str(ROOT)], + binaries=binaries, + datas=datas, + hiddenimports=hiddenimports, + hookspath=[], + hooksconfig={ + "matplotlib": {"backends": "Agg"}, + }, + runtime_hooks=[str(ROOT / "scripts" / "pyi_rth_mplbackend.py")], + excludes=excludes, + noarchive=False, +) + +pyz = PYZ(a.pure) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.datas, + [], + name="md2gost", + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=False, + console=False, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, +) diff --git a/md2gost.spec b/md2gost.spec new file mode 100644 index 0000000..a0f0d27 --- /dev/null +++ b/md2gost.spec @@ -0,0 +1,123 @@ +# -*- mode: python ; coding: utf-8 -*- +from pathlib import Path + +from PyInstaller.utils.hooks import ( + collect_data_files, + collect_dynamic_libs, + collect_submodules, +) + +ROOT = Path(SPECPATH).resolve() + +datas = [ + (str(ROOT / "md2gost" / "Template.docx"), "md2gost"), + (str(ROOT / "md2gost" / "mml2omml"), "md2gost"), + (str(ROOT / "md2gost" / "diagrams"), "md2gost/diagrams"), + (str(ROOT / "prompts"), "prompts"), +] +_plantuml = ROOT / "md2gost" / "vendor" / "plantuml.jar" +if _plantuml.is_file(): + datas.append((str(_plantuml), "md2gost/vendor")) +binaries = [] +hiddenimports = collect_submodules("md2gost") + +datas += collect_data_files("certifi") +datas += collect_data_files("lxml") +datas += collect_data_files("latex2mathml") +datas += collect_data_files("docx") +datas += collect_data_files("matplotlib", includes=["mpl-data/**"]) + +for pkg in ("lxml", "freetype"): + try: + binaries += collect_dynamic_libs(pkg) + except Exception: + pass + +hiddenimports += [ + "lxml", + "lxml.etree", + "lxml._elementpath", + "PIL", + "PIL.Image", + "PIL.PngImagePlugin", + "pygments", + "pygments.lexers", + "pygments.formatters", + "freetype", + "docx", + "docxcompose", + "docxcompose.composer", + "marko", + "marko.ext.gfm", + "latex2mathml", + "latex2mathml.converter", + "requests", + "certifi", + "matplotlib", + "matplotlib.font_manager", + "matplotlib.ft2font", + "tkinter", + "tkinter.filedialog", + "tkinter.messagebox", + "tkinter.ttk", +] +hiddenimports += collect_submodules("pygments.lexers") +hiddenimports += collect_submodules("marko") +try: + hiddenimports += collect_submodules("tkinterdnd2") +except Exception: + pass + +excludes = [ + "pytest", + "PyQt5", + "PyQt6", + "PySide2", + "PySide6", + "IPython", + "jupyter", + "notebook", + "zmq", + "matplotlib.backends.qt_compat", + "matplotlib.backends.backend_qtagg", + "matplotlib.backends.backend_qt5agg", + "matplotlib.backends.backend_qt5", + "matplotlib.backends.backend_qt", + "matplotlib.backends.backend_gtk3", + "matplotlib.backends.backend_gtk4", + "matplotlib.backends.backend_macosx", +] + +a = Analysis( + [str(ROOT / "scripts" / "md2gost_exe.py")], + pathex=[str(ROOT)], + binaries=binaries, + datas=datas, + hiddenimports=hiddenimports, + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=excludes, + noarchive=False, +) + +pyz = PYZ(a.pure) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.datas, + [], + name="md2gost", + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=False, + console=False, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, +) diff --git a/md2gost/README.docx b/md2gost/README.docx new file mode 100644 index 0000000..31b298a Binary files /dev/null and b/md2gost/README.docx differ diff --git a/md2gost/README.md b/md2gost/README.md index e68d764..0a65e18 100644 --- a/md2gost/README.md +++ b/md2gost/README.md @@ -10,6 +10,32 @@ poetry install pip install -e . ``` +## GUI + +Без файла или с `--gui` открывается окно: перетащите `.md`, выберите параметры, нажмите «Конвертировать». CLI при этом тот же (`python -m md2gost файл.md …`). + +```bash +python -m md2gost +python -m md2gost --gui +python -m md2gost --gui report.md --type PIS_custom +md2gost-gui +``` + +На Windows файл можно бросить из Проводника в верхнюю область окна. Клик по области — выбор через диалог. Все флаги CLI есть в форме (тип, нумерация, TOC, тире, `---` → разрыв страницы, титул/задание, диаграммы, проверка ТЗ). + +Вкладки **Инструкция** и **Промпт для ИИ** — справка и копирование системного промпта (МИРЭА / ПИС) в буфер. + +### Сборка exe (Windows) + +Двойной клик по `build-exe.bat` в корне репозитория (нужен Python 3.10+ в PATH). Результат: `dist\md2gost.exe`. + +```bat +build-exe.bat +build-exe.bat nopause +``` + +Двойной клик по exe — GUI. CLI: `md2gost.exe report.md -o report.docx --type coursework`. + ## CLI ```bash @@ -31,7 +57,7 @@ python -m md2gost report.md -o report.docx --type PIS_custom --check # Титул: «Отчёт по практическим работам …» — отдельный DOCX: python -m md2gost report.md -o report.docx --type PIS_custom --title title.docx # Курсовая АПИД (источники 7–20, проверка пунктов 2.1–2.4): -python -m md2gost report.md -o report.docx --type APID_coursework --check --no-emdash-to-hyphen --title title.docx --assignment assignment.docx +python -m md2gost report.md -o report.docx --type APID_coursework --check --title title.docx --assignment assignment.docx ``` Пример: [`examples/pis_custom.md`](../examples/pis_custom.md). @@ -57,8 +83,12 @@ python -m md2gost report.md -o report.docx --toc manual ### Тире (`--emdash-to-hyphen` / `--no-emdash-to-hyphen`) -По умолчанию типографское «—» заменяется на «-» (в тексте и подписях). -Оставить длинное тире по ГОСТ: `--no-emdash-to-hyphen`. +По умолчанию типографское «—» **сохраняется** (как в методичке: тире с пробелами, дефис в диапазонах). +Заменить «—» на «-»: `--emdash-to-hyphen`. + +### Разрыв страницы (`---` / `--hr-pagebreak`) + +Строка `---` (также `***`, `___`) на отдельной строке по умолчанию **игнорируется**. Разрыв страницы: `--hr-pagebreak` или галочка в GUI. ## Синтаксис (кратко) @@ -70,9 +100,10 @@ python -m md2gost report.md -o report.docx --toc manual | Таблица | `%id Подпись` перед таблицей + `@Таблица:id` | | Склеивание ячеек | `^` — rowspan (ячейка сверху), `>` — colspan (ячейка слева) | | Листинг | `%id Подпись` перед code fence | -| Диаграмма UML/BPMN/C4 | `%id Подпись` + ````uml` / ````bpmn` / ````c4` → PNG (Рисунок); `+listing` — ещё и Листинг | +| Диаграмма UML / Mermaid / схемы | `%id Подпись` + ````uml` / ````uml-c4` / ````bpmn` / ````mermaid` → Рисунок; `+listing` — ещё и Листинг. Схемы в `md2gost.schemes.json`. IDEF0 нет | | Формула | `%eq1` + `$$…$$` + `@Формула:eq1` (номер только при ссылке) | | Источник | `[1]` в тексте; `[1]: …` в списке | +| Разрыв страницы | `---` на отдельной строке + `--hr-pagebreak` (по умолчанию `---` игнорируется) | ### Таблицы со склеиванием @@ -98,22 +129,44 @@ python -m md2gost report.md -o report.docx --toc manual Разные шапки «первый раз / продолжение» есть в LaTeX (`longtable`), не в Office. Наша оценка высоты строк ≠ вёрстка Word → если резать таблицу в скрипте, получается -mid-page «Продолжение…» (как было на 2.4). Поэтому по умолчанию таблицу **не режем**. +mid-page «Продолжение…» (как было на 2.4). По умолчанию режим **`word`**: после save +Word COM режет по реальной пагинации. Без Word — укажите `off` или поставьте Word + pywin32. | Режим | Поведение | |--------|-----------| -| **`off`** / **`soft`** (по умолчанию) | Одна таблица Word; перенос строк делает Word. Без автоподписи. Первая строка — повторяющаяся шапка (`tblHeader`). «Продолжение…» — вручную в markdown, если нужно | +| **`word`** (по умолчанию) | Как `off` при рендере; после save Word COM: `Split` + «Продолжение Таблицы N». Нужны Windows, Word, pywin32. Шапка на продолжении не повторяется (вкл: `--table-repeat-header`) | +| **`off`** / **`soft`** | Одна таблица Word; перенос строк делает Word. Без автоподписи. Первая строка — повторяющаяся шапка (`tblHeader`). «Продолжение…» — вручную в markdown, если нужно | | **`legacy`** | Режем по нашей оценке высоты + «Продолжение…» с `page_break_before` (могут быть дыры) | | **`caption`** | Режем по оценке + явный PageBreak + «Продолжение…» (то же ограничение точности) | ```bash +python -m md2gost report.md -o report.docx --table-continuation word python -m md2gost report.md -o report.docx --table-continuation off python -m md2gost report.md -o report.docx --table-continuation caption ``` +### Продолжение листинга (`--listing-continuation`) + +Те же режимы, что у таблиц. По умолчанию **`word`**. + +| Режим | Поведение | +|--------|-----------| +| **`word`** (по умолчанию) | После save Word COM + «Продолжение Листинга N» (Windows + Word + pywin32) | +| **`off`** / **`soft`** | Один блок кода; пагинацию делает Word. «Продолжение…» — вручную в markdown, если нужно | +| **`legacy`** | Режем по оценке высоты + «Продолжение Листинга N» с `page_break_before` | +| **`caption`** | Режем по оценке + явный PageBreak + «Продолжение Листинга N» | + +```bash +python -m md2gost report.md -o report.docx --listing-continuation word +python -m md2gost report.md -o report.docx --listing-continuation off +python -m md2gost report.md -o report.docx --listing-continuation caption +``` + ### Диаграммы -```markdown +В отчёте пишите так (пример в 4 обратных кавычках, чтобы вложенный ` ```uml ` не ломал разметку): + +````markdown %usecase1 Диаграмма прецедентов +listing ```uml @@ -122,19 +175,86 @@ actor Student Student --> (Login) @enduml ``` +```` + +Широкая схема на альбомной странице — флаг `+landscape` в той же строке `%`: + +%arch1 Архитектура +landscape + +```uml-c4 +Person(user, "Студент") +System(app, "Портал") ``` -Рендер (по приоритету): +````markdown +%arch1 Архитектура +landscape -1. `PLANTUML_JAR` / `--plantuml-jar` + Java → `plantuml.jar` -2. `KROKI_URL` / `--kroki-url` (по умолчанию `http://localhost:8000`) -3. remote `https://kroki.io` при `--diagram-fallback remote` (по умолчанию; предупреждение в лог) +```uml-c4 +Person(user, "Студент") +System(app, "Портал") +``` +```` -Кэш PNG: `{каталог_md}/.md2gost-cache/`. +Схемы (`c4`, `usecase`, свои): при первом запуске рядом с приложением создаётся `md2gost.schemes.json`. В markdown — оградка `uml-` или короткое ``: +````markdown +%arch C4 + +```uml-c4 +Person(user, "Студент") +System(app, "Портал") +Rel(user, app, "логин") +``` +```` + +URL в `includes` схемы скачиваются в кэш (`md2gost.include-cache.json` + папка `include-cache/`). CLI: `--schemes path.json`. **BPMN 2.0** — оградка ````bpmn` / ````uml-bpmn` (макросы `Start`, `UserTask`, `XOR`, `Flow`, `Pool`…; библиотека `diagrams/BPMN.puml`). **Mermaid** — ````mermaid` / ````mmd` через тот же Kroki (свой `--kroki-url` или kroki.io); jar не используется. **IDEF0** конвертер не рисует — вставляйте готовый PNG. + +```bpmn +StartMessage(s, "заявка") +UserTask(t, "Проверить") +XOR(gw, "ок?") +End(e_ok) +End(e_no) +Flow(s, t) +Flow(t, gw) +CondFlow(gw, e_ok, "да") +DefaultFlow(gw, e_no) +``` +````markdown +%bpmn1 Процесс заявки + +```bpmn +StartMessage(s, "заявка") +UserTask(t, "Проверить") +XOR(gw, "ок?") +End(e_ok) +End(e_no) +Flow(s, t) +Flow(t, gw) +CondFlow(gw, e_ok, "да") +DefaultFlow(gw, e_no) +``` +```` + +Обычному пользователю jar/Kroki указывать не нужно. Порядок для UML: + +1. Вшитый / скачанный `plantuml.jar` + Java (exe кладёт jar внутрь; иначе качаем в `%LOCALAPPDATA%\md2gost\`) +2. Локальный Kroki (`KROKI_URL` / `--kroki-url`, по умолчанию `http://localhost:8000`) +3. Интернет `https://kroki.io` при `--diagram-fallback remote` (по умолчанию) + +Mermaid всегда идёт через Kroki (шаги 2–3). + +Формат в Word: `--diagram-format png` (по умолчанию; PlantUML рендерится с `--diagram-scale`, по умолчанию 2 — только качество, размер на странице как при 1) или `svg` — вектор через `svgBlip` + PNG-запасной (Word 2016+; LibreOffice покажет растр). + +Широкие схемы/таблицы: в подписи флаг `+landscape` — отдельная альбомная A4-страница, затем снова книжная. + +Свой jar — только если нужен другой файл: `--plantuml-jar` или поле на вкладке «Диаграммы». + +Кэш: `{каталог_md}/.md2gost-cache/` (`*.png`, при svg ещё `*.svg`). ```bash -python -m md2gost report.md -o report.docx --plantuml-jar C:\tools\plantuml.jar +python scripts/fetch_plantuml.py python -m md2gost report.md -o report.docx --diagram-fallback local +python -m md2gost report.md -o report.docx --diagram-format svg ``` Подробности и ИИ-промпт: [`prompts/`](../prompts/). @@ -144,3 +264,5 @@ PDF через LaTeX (XeLaTeX, шаблон МИРЭА): [`md2latex/README.md`]( ## Проверки `--check` печатает замечания по структуре, «рис.», ссылкам во введении, числу/возрасту источников, приложениям и т.д. `--strict` завершает процесс с кодом 1 при ошибках. + +`--check-pages` — пост-проверка полупустых страниц **через Microsoft Word** (Windows + Word + `pip install pywin32`). Все находки помечены как эвристика и **могут быть ложными**; не влияют на `--strict`. Можно вызвать для готового файла: `python -m md2gost report.docx --check-pages`. Макрос Word: [`scripts/check_page_fill.bas`](../scripts/check_page_fill.bas). diff --git a/md2gost/__init__.py b/md2gost/__init__.py index a7f8ba6..527c287 100644 --- a/md2gost/__init__.py +++ b/md2gost/__init__.py @@ -1,8 +1,17 @@ """md2gost — Markdown → DOCX (MIREA TZ / GOST).""" import os +import sys def package_dir() -> str: """Directory of the md2gost package (Template.docx, mml2omml, etc.).""" + if getattr(sys, "frozen", False): + meipass = getattr(sys, "_MEIPASS", None) + if meipass: + bundled = os.path.join(meipass, "md2gost") + if os.path.isfile(os.path.join(bundled, "Template.docx")): + return bundled + if os.path.isfile(os.path.join(meipass, "Template.docx")): + return meipass return os.path.dirname(os.path.abspath(__file__)) diff --git a/md2gost/__main__.py b/md2gost/__main__.py index 7db591b..bb1d358 100644 --- a/md2gost/__main__.py +++ b/md2gost/__main__.py @@ -1,41 +1,44 @@ #!/usr/bin/env python from argparse import ArgumentParser, BooleanOptionalAction -import os -import os.path import sys -from getpass import getuser -from docx import Document - -from .converter import Converter +from .pipeline import ConvertRequest, convert, should_launch_gui from .profiles import ( + DEFAULT_HEADING_NUMBERING, + DEFAULT_TABLE_CONTINUATION, + DEFAULT_LISTING_CONTINUATION, + DEFAULT_TOC_MODE, DOC_TYPES, HEADING_NUMBERING_MODES, - DEFAULT_HEADING_NUMBERING, - TOC_MODES, - DEFAULT_TOC_MODE, TABLE_CONTINUATION_MODES, - DEFAULT_TABLE_CONTINUATION, - get_profile, + LISTING_CONTINUATION_MODES, + TOC_MODES, ) -from .checker import check_markdown, format_report -def main(): +def build_parser() -> ArgumentParser: parser = ArgumentParser( prog="md2gost", description=( "Генерация DOCX-отчётов из Markdown по ТЗ МИРЭА / ГОСТ. " "Типы: coursework/practice/vkr, APID_coursework, PIS_custom. " + "Без файла или с --gui открывается окно. " "FODT: python -m md2fodt …" ), ) - parser.add_argument("filename", help="Путь до исходного markdown файла") + parser.add_argument( + "filename", nargs="?", + help="Путь до .md (или .docx с --check-pages). Без файла открывается GUI", + ) + parser.add_argument( + "--gui", action="store_true", + help="Открыть графический интерфейс (можно сразу передать .md)", + ) parser.add_argument("-o", "--output", help="Путь до сгенерированного .docx") parser.add_argument("-t", "--template", help="Путь до шаблона .docx") parser.add_argument( - "--type", dest="doc_type", choices=DOC_TYPES, default="coursework", - help="Тип: coursework | practice | vkr | PIS_custom | APID_coursework", + "--type", dest="doc_type", choices=DOC_TYPES, default="practice", + help="Тип: practice | coursework | vkr | PIS_custom | APID_coursework (по умолчанию practice)", ) parser.add_argument( "--heading-numbering", @@ -64,19 +67,53 @@ def main(): default=DEFAULT_TABLE_CONTINUATION, help=( "Таблицы длиннее страницы: " - "off/soft — одна таблица, пагинация Word, без авто«Продолжение» (по умолчанию); " + "word — после сохранения Word COM режет по реальной пагинации + «Продолжение…» " + "(по умолчанию; нужны Windows, Word, pywin32); " + "off/soft — одна таблица, пагинация Word, без авто«Продолжение»; " "legacy/caption — режем по оценке высоты и вставляем «Продолжение…» " "(оценка ≠ Word, возможны артефакты). " f"По умолчанию: {DEFAULT_TABLE_CONTINUATION}." ), ) + parser.add_argument( + "--listing-continuation", + choices=LISTING_CONTINUATION_MODES, + default=DEFAULT_LISTING_CONTINUATION, + help=( + "Листинги длиннее страницы: " + "word — после сохранения Word COM + «Продолжение Листинга…» " + "(по умолчанию; нужны Windows, Word, pywin32); " + "off/soft — один блок, пагинация Word, без авто«Продолжение»; " + "legacy/caption — режем по оценке высоты и вставляем «Продолжение Листинга…» " + "(оценка ≠ Word, возможны артефакты). " + f"По умолчанию: {DEFAULT_LISTING_CONTINUATION}." + ), + ) + parser.add_argument( + "--table-repeat-header", + action=BooleanOptionalAction, + default=False, + help=( + "При --table-continuation word: повторять шапку таблицы на каждом фрагменте " + "после разрыва. По умолчанию выкл." + ), + ) parser.add_argument( "--emdash-to-hyphen", action=BooleanOptionalAction, - default=True, + default=False, help=( "Автозамена типографского тире «—» на дефис «-» в тексте и подписях. " - "Включено по умолчанию; отключить: --no-emdash-to-hyphen." + "По умолчанию выключено (тире «—» по методичке); включить: --emdash-to-hyphen." + ), + ) + parser.add_argument( + "--hr-pagebreak", + action=BooleanOptionalAction, + default=False, + help=( + "Строка «---» / «***» / «___» — разрыв страницы Word. " + "По умолчанию такие строки игнорируются; включить: --hr-pagebreak." ), ) parser.add_argument("--title", help="DOCX титульного листа (вставляется перед телом)") @@ -85,6 +122,15 @@ def main(): action="store_true") parser.add_argument("--check-only", help="Только проверка, без генерации документа", action="store_true") + parser.add_argument( + "--check-pages", + help=( + "После конвертации (или для готового .docx) проверить полупустые страницы " + "через Microsoft Word. Эвристика — возможны ложные срабатывания. " + "Нужны Windows, Word и pywin32." + ), + action="store_true", + ) parser.add_argument("--strict", help="Код выхода 1 при ошибках проверки", action="store_true") parser.add_argument("--syntax-highlighting", help="Подсветка синтаксиса в листингах", @@ -103,108 +149,104 @@ def main(): default="remote", help="Если локальный рендер UML недоступен: remote (kroki.io), local (ошибка), off", ) + parser.add_argument( + "--diagram-format", + choices=["png", "svg"], + default="png", + help="Формат схем в Word: png (по умолчанию) или svg (вектор + PNG-запасной, Word 2016+)", + ) + parser.add_argument( + "--diagram-scale", + type=float, + default=2.0, + help="Масштаб рендера PlantUML PNG (качество); размер на странице как при 1. По умолчанию 2", + ) + parser.add_argument( + "--schemes", + dest="schemes_path", + help="Путь к md2gost.schemes.json (иначе рядом с приложением / с .md)", + ) parser.add_argument("--debug", help="Добавляет отладочные данные в документ", action="store_true") + return parser - args = parser.parse_args() - filename, output, template, debug = \ - args.filename, args.output, args.template, args.debug - if args.syntax_highlighting: - os.environ["SYNTAX_HIGHLIGHTING"] = "1" - from .diagram_renderer import configure_diagrams - configure_diagrams( - plantuml_jar=args.plantuml_jar, - kroki_url=args.kroki_url, - fallback=args.diagram_fallback, - ) - - if not filename.endswith(".md"): - print("Error: filename must have md format") - exit(1) - - os.environ["WORKING_DIR"] = os.path.dirname(os.path.abspath(filename)) or "." - - with open(filename, encoding="utf-8") as f: - md_text = f.read() - - if args.check or args.check_only: - issues = check_markdown(md_text, args.doc_type) - print(format_report(issues)) - errors = [i for i in issues if i.severity == "error"] - if args.strict and errors: - sys.exit(1) - if args.check_only: - sys.exit(0 if not errors else (1 if args.strict else 0)) - - if not output: - output = os.path.basename(filename).replace(".md", ".docx") - elif not output.endswith(".docx"): - print("Error: output file must have docx format") - exit(1) - - if not template: - from . import package_dir - template = os.path.join(package_dir(), "Template.docx") - - converter = Converter( - filename, output, template, debug, +def request_from_args(args) -> ConvertRequest: + return ConvertRequest( + filename=args.filename or "", + output=args.output, + template=args.template, doc_type=args.doc_type, heading_numbering=args.heading_numbering, - emdash_to_hyphen=args.emdash_to_hyphen, toc_mode=args.toc, table_continuation=args.table_continuation, + listing_continuation=args.listing_continuation, + table_repeat_header=bool(getattr(args, "table_repeat_header", False)), + emdash_to_hyphen=args.emdash_to_hyphen, + hr_pagebreak=args.hr_pagebreak, + title=args.title, + assignment=args.assignment, + check=args.check, + check_only=args.check_only, + check_pages=bool(getattr(args, "check_pages", False)), + strict=args.strict, + syntax_highlighting=bool(args.syntax_highlighting), + plantuml_jar=args.plantuml_jar, + kroki_url=args.kroki_url, + diagram_fallback=args.diagram_fallback, + diagram_format=args.diagram_format, + diagram_scale=float(args.diagram_scale), + schemes_path=args.schemes_path, + debug=args.debug, + open_when_done=bool(args.debug), ) - converter.convert() - document = converter.document - # Front matter is appended *into* a shell that already has coursework styles. - # Never use title.docx as compose base: python-docx default template has - # Calibri + accent-blue headings and would override ГОСТ стили. - if args.title or args.assignment: +def _argv_needs_console(argv: list[str]) -> bool: + """Frozen windowed exe: attach a console for CLI / --help, not for GUI.""" + args = argv[1:] + if not args: + return False + if "-h" in args or "--help" in args: + return True + if "--gui" in args: + return False + return any(not a.startswith("-") for a in args) + + +def _enable_windows_console() -> None: + if sys.platform != "win32" or not getattr(sys, "frozen", False): + return + try: + import ctypes + kernel32 = ctypes.windll.kernel32 + if not kernel32.AttachConsole(0xFFFFFFFF): + if not kernel32.GetConsoleWindow(): + kernel32.AllocConsole() + sys.stdout = open("CONOUT$", "w", encoding="utf-8", errors="replace") + sys.stderr = open("CONOUT$", "w", encoding="utf-8", errors="replace") try: - from docxcompose.composer import Composer - except ImportError: - print("Error: docxcompose required for --title/--assignment") - sys.exit(3) - from .styles import apply_document_styles + sys.stdin = open("CONIN$", "r", encoding="utf-8", errors="replace") + except OSError: + pass + except Exception: + pass - shell = Document(template) - apply_document_styles(shell, get_profile(args.doc_type).style_preset) - body = shell.element.body - for child in list(body): - if not child.tag.endswith("}sectPr"): - body.remove(child) - composer = Composer(shell) - if args.title: - composer.append(Document(args.title)) - shell.add_page_break() - if args.assignment: - composer.append(Document(args.assignment)) - shell.add_page_break() - composer.append(document) - document = composer.doc - apply_document_styles(document, get_profile(args.doc_type).style_preset) +def main(): + if _argv_needs_console(sys.argv): + _enable_windows_console() + parser = build_parser() + args = parser.parse_args() + req = request_from_args(args) - document.core_properties.author = getuser() - document.core_properties.comments = \ - "Создано при помощи md2gost (ТЗ МИРЭА)" + if should_launch_gui(args.filename, args.gui): + from .gui import run_gui + run_gui(req) + return - document.save(output) - print(f"Generated document: {os.path.abspath(output)}") - - if debug: - import platform - if platform.system() == 'Darwin': - import subprocess - subprocess.call(('open', output)) - elif platform.system() == 'Windows': - os.startfile(output) - else: - import subprocess - subprocess.call(('xdg-open', output)) + result = convert(req) + sys.exit(result.exit_code) if __name__ == "__main__": diff --git a/md2gost/checker/__init__.py b/md2gost/checker/__init__.py index e1b80b3..ce2ea11 100644 --- a/md2gost/checker/__init__.py +++ b/md2gost/checker/__init__.py @@ -258,12 +258,36 @@ def check_bibliography(text: str, profile: DocProfile) -> list[Issue]: n = len(entries) if profile.sectional_biblio: - # Count per ## section roughly - if n < profile.min_sources: + # Count per ## section inside bibliography + sections: list[tuple[str, int]] = [] + current_title: str | None = None + current_count = 0 + for line in block.splitlines(): + hm = re.match(r"^#{2,6}\s+(\*?)(.+)$", line) + if hm: + if current_title is not None: + sections.append((current_title, current_count)) + current_title = hm.group(2).strip() + current_count = 0 + continue + if BIBLIO_LINE_RE.match(line.strip()): + current_count += 1 + if current_title is not None: + sections.append((current_title, current_count)) + + if sections: + for title, cnt in sections: + if cnt < profile.min_sources: + issues.append(Issue( + "biblio.count", "warning", + f"ВКР: в разделе списка «{title}» желательно ≥{profile.min_sources} " + f"источников (сейчас {cnt})", + )) + elif n < profile.min_sources: issues.append(Issue( "biblio.count", "warning", - f"ВКР: в каждом разделе списка желательно ≥{profile.min_sources} источников " - f"(сейчас всего {n})", + f"ВКР: список должен делиться на разделы; в каждом ≥{profile.min_sources} " + f"источников (сейчас всего {n}, разделов нет)", )) else: if n < profile.min_sources: @@ -288,13 +312,10 @@ def check_bibliography(text: str, profile: DocProfile) -> list[Issue]: )) # Citation order vs first appearance - # Exclude intro/conclusion from citation scan for order body_for_cites = text cites = find_citations(body_for_cites) - # Filter cites that appear only in intro/conclusion — still listed keys = [e[0] for e in entries] if cites and keys: - # First N unique cites should match order of keys for simple lists if not profile.sectional_biblio: expected = cites[:len(keys)] if keys != expected and set(keys) == set(expected): @@ -313,16 +334,15 @@ def check_bibliography(text: str, profile: DocProfile) -> list[Issue]: def check_object_refs(text: str) -> list[Issue]: issues = [] - # Captions / images labels = set(re.findall(r"^%(\w+)", text, re.M)) - # image titles with %id labels.update(re.findall(r'!\[[^\]]*\]\([^)]*%(\w+)', text)) refs = set(re.findall(r"@[\wА-Яа-я]+:(\w+)", text)) for lab in labels: - # At least one @?:lab or word reference — soft check - if lab not in refs and f"@{lab}" not in text: - # only warn if label looks intentional - pass + if lab not in refs: + issues.append(Issue( + "ref.unused", "warning", + f"Метка «{lab}» объявлена, но в тексте нет ссылки @…:{lab}", + )) for ref in refs: if ref not in labels: issues.append(Issue( @@ -342,6 +362,66 @@ def check_appendices(text: str) -> list[Issue]: f"Буква «{letter}» не используется для обозначения приложений", _line_of(text, m.start()), )) + + # Multiple lettered appendices should have a list after # *ПРИЛОЖЕНИЯ + apps = list(re.finditer( + r"^#{1,6}\s+\*?Приложение\s+[А-ЯA-ZЁ]\b", + text, re.M | re.I, + )) + # Filter out the section header «ПРИЛОЖЕНИЯ» / bare «ПРИЛОЖЕНИЕ» + lettered = [] + for m in apps: + line = m.group(0) + if re.search(r"(?i)приложение\s+[А-ЯA-ZЁ]", line): + lettered.append(m) + if len(lettered) >= 2: + sec = re.search( + r"^#\s*\*?\s*ПРИЛОЖЕНИЯ?\s*$", + text, re.M | re.I, + ) + if sec: + between = text[sec.end(): lettered[0].start()] + # Expect a plain-text list (not only blank / headings) + has_list = bool(re.search(r"(?im)^\s*[-–—*]|\bприложение\s+[А-ЯA-ZЁ]\b", between)) + has_prose = bool(re.search(r"[А-Яа-яA-Za-z]{3,}", between)) + if not (has_list or has_prose): + issues.append(Issue( + "appendix.toc", "warning", + "При нескольких приложениях после «ПРИЛОЖЕНИЯ» нужен перечень " + "(основной текст) с номерами и названиями", + _line_of(text, sec.start()), + )) + return issues + + +def check_continuation_hints( + text: str, + *, + table_continuation: str = "off", + listing_continuation: str = "off", +) -> list[Issue]: + """Warn that Word cannot auto-insert «Продолжение…» when mode is off/soft.""" + issues: list[Issue] = [] + soft = {"off", "soft"} + if table_continuation in soft and _TABLE_BLOCK_RE.search(text): + issues.append(Issue( + "table.continuation", "warning", + "Word сам не вставит «Продолжение Таблицы N» при переносе. " + "Варианты: --table-continuation word (точный разрыв через Word COM) " + "или caption (оценка высоты ≠ вёрстка Word, возможны артефакты).", + )) + # Long fenced code blocks (likely listings) + long_listing = False + for m in re.finditer(r"^```[^\n]*\n([\s\S]*?)^```", text, re.M): + if m.group(1).count("\n") >= 40: + long_listing = True + break + if listing_continuation in soft and long_listing: + issues.append(Issue( + "listing.continuation", "warning", + "Длинный листинг: Word сам не вставит «Продолжение Листинга N». " + "Варианты: --listing-continuation word или caption.", + )) return issues @@ -404,7 +484,13 @@ def check_table_merge(text: str) -> list[Issue]: return issues -def check_markdown(text: str, doc_type: str = "coursework") -> list[Issue]: +def check_markdown( + text: str, + doc_type: str = "coursework", + *, + table_continuation: str = "off", + listing_continuation: str = "off", +) -> list[Issue]: profile = get_profile(doc_type) issues: list[Issue] = [] issues.extend(check_structure(text, profile)) @@ -417,6 +503,11 @@ def check_markdown(text: str, doc_type: str = "coursework") -> list[Issue]: issues.extend(check_object_refs(text)) issues.extend(check_appendices(text)) issues.extend(check_table_merge(text)) + issues.extend(check_continuation_hints( + text, + table_continuation=table_continuation, + listing_continuation=listing_continuation, + )) return issues diff --git a/md2gost/converter.py b/md2gost/converter.py index 17053ba..548eec1 100644 --- a/md2gost/converter.py +++ b/md2gost/converter.py @@ -15,7 +15,9 @@ from .profiles import ( DEFAULT_TOC_MODE, TOC_MODES, DEFAULT_TABLE_CONTINUATION, + DEFAULT_LISTING_CONTINUATION, TABLE_CONTINUATION_MODES, + LISTING_CONTINUATION_MODES, ) from .label_pass import ( assign_numbers, @@ -26,6 +28,8 @@ from .label_pass import ( from .renderable.heading import Heading from .renderable.toc import ToC from .renderable.table import Table +from .renderable.listing import Listing +from .renderable.diagram import DiagramFigure class Converter: @@ -33,11 +37,13 @@ class Converter: def __init__(self, input_path: str, output_path: str, template_path: str = None, debug: bool = False, - doc_type: str = "coursework", + doc_type: str = "practice", heading_numbering: str = DEFAULT_HEADING_NUMBERING, emdash_to_hyphen: bool = False, toc_mode: str = DEFAULT_TOC_MODE, - table_continuation: str = DEFAULT_TABLE_CONTINUATION): + table_continuation: str = DEFAULT_TABLE_CONTINUATION, + listing_continuation: str = DEFAULT_LISTING_CONTINUATION, + hr_pagebreak: bool = False): if heading_numbering not in HEADING_NUMBERING_MODES: raise ValueError( f"heading_numbering must be one of {HEADING_NUMBERING_MODES}, " @@ -52,12 +58,19 @@ class Converter: f"table_continuation must be one of {TABLE_CONTINUATION_MODES}, " f"got {table_continuation!r}" ) + if listing_continuation not in LISTING_CONTINUATION_MODES: + raise ValueError( + f"listing_continuation must be one of {LISTING_CONTINUATION_MODES}, " + f"got {listing_continuation!r}" + ) self._output_path = output_path self._doc_type = doc_type self._heading_numbering = heading_numbering self._emdash_to_hyphen = emdash_to_hyphen self._toc_mode = toc_mode self._table_continuation = table_continuation + self._listing_continuation = listing_continuation + self._hr_pagebreak = hr_pagebreak self._profile = get_profile(doc_type) self._document: Document = docx.Document(template_path) self._document._body.clear_content() @@ -67,7 +80,7 @@ class Converter: raw = f.read() self._raw_markdown = raw self._preprocessed = preprocess_markdown(raw, emdash_to_hyphen=emdash_to_hyphen) - self.parser = Parser(self._document, self._preprocessed) + self.parser = Parser(self._document, self._preprocessed, hr_pagebreak=hr_pagebreak) def convert(self): renderables = list(self.parser.parse()) @@ -85,6 +98,10 @@ class Converter: r.set_toc_mode(self._toc_mode) elif isinstance(r, Table): r.set_continuation_mode(self._table_continuation) + elif isinstance(r, Listing): + r.set_continuation_mode(self._listing_continuation) + elif isinstance(r, DiagramFigure) and r.listing: + r.listing.set_continuation_mode(self._listing_continuation) formula_refs = find_formula_refs(self._raw_markdown) registry = assign_numbers( diff --git a/md2gost/diagram_includes.py b/md2gost/diagram_includes.py new file mode 100644 index 0000000..7f44609 --- /dev/null +++ b/md2gost/diagram_includes.py @@ -0,0 +1,261 @@ +"""HTTP(S) include cache: index URL → local file, never overwrite existing cache files.""" + +from __future__ import annotations + +import hashlib +import json +import logging +import re +import sys +from pathlib import Path +from urllib.parse import urlparse, urljoin + +import requests + +_log = logging.getLogger(__name__) + +INCLUDE_CACHE_INDEX = "md2gost.include-cache.json" +INCLUDE_CACHE_DIR = "include-cache" +MAX_INCLUDE_DEPTH = 8 + +_HTTP_RE = re.compile(r"^https?://", re.I) +_INCLUDE_LINE_RE = re.compile( + r"^[ \t]*!(?:includeurl|include)[ \t]+(?P[\"']?)(?P[^\s\"']+)(?P=q)", + re.I | re.M, +) + + +def app_dir() -> Path: + """Directory next to the running application (exe or cwd for python -m).""" + if getattr(sys, "frozen", False): + return Path(sys.executable).resolve().parent + return Path.cwd() + + +def include_cache_index_path(base: Path | None = None) -> Path: + return (base or app_dir()) / INCLUDE_CACHE_INDEX + + +def include_cache_files_dir(base: Path | None = None) -> Path: + return (base or app_dir()) / INCLUDE_CACHE_DIR + + +def is_http_url(value: str) -> bool: + return bool(_HTTP_RE.match((value or "").strip())) + + +def _load_index(path: Path) -> dict[str, str]: + if not path.is_file(): + return {} + try: + data = json.loads(path.read_text(encoding="utf-8")) + except (OSError, json.JSONDecodeError) as exc: + _log.warning("Не удалось прочитать индекс кэша includes: %s", exc) + return {} + if not isinstance(data, dict): + return {} + out: dict[str, str] = {} + for key, val in data.items(): + if isinstance(key, str) and isinstance(val, str) and is_http_url(key): + out[key] = val + return out + + +def _save_index(path: Path, index: dict[str, str]) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text( + json.dumps(index, ensure_ascii=False, indent=2) + "\n", + encoding="utf-8", + ) + + +def _unique_cache_path(url: str, files_dir: Path) -> Path: + """New file path for URL; never reuse/overwrite an existing cache file.""" + files_dir.mkdir(parents=True, exist_ok=True) + parsed = urlparse(url) + base = Path(parsed.path).name or "include.puml" + if not base.lower().endswith((".puml", ".iuml", ".pu", ".txt")): + base = base + ".puml" if "." not in base else base + digest = hashlib.sha256(url.encode("utf-8")).hexdigest()[:10] + stem = Path(base).stem + suffix = Path(base).suffix or ".puml" + # sanitize stem + safe = re.sub(r"[^a-zA-Z0-9._-]+", "_", stem)[:40] or "include" + candidate = files_dir / f"{safe}_{digest}{suffix}" + if not candidate.exists(): + return candidate + n = 1 + while True: + alt = files_dir / f"{safe}_{digest}_{n}{suffix}" + if not alt.exists(): + return alt + n += 1 + + +def _download(url: str, dest: Path) -> None: + dest.parent.mkdir(parents=True, exist_ok=True) + tmp = dest.with_suffix(dest.suffix + ".part") + try: + resp = requests.get(url, timeout=60) + resp.raise_for_status() + tmp.write_bytes(resp.content) + tmp.replace(dest) + except Exception: + tmp.unlink(missing_ok=True) + raise + + +def resolve_url( + url: str, + *, + base: Path | None = None, + depth: int = 0, +) -> Path: + """ + Return local path for URL. Uses index if present and file exists; + otherwise downloads to a *new* file and records the mapping. + Never overwrites an existing cache file for a different URL. + """ + url = url.strip() + if not is_http_url(url): + raise ValueError(f"Не URL: {url}") + if depth > MAX_INCLUDE_DEPTH: + raise RuntimeError(f"Слишком глубокая цепочка includes ({MAX_INCLUDE_DEPTH}): {url}") + + root = base or app_dir() + index_path = include_cache_index_path(root) + files_dir = include_cache_files_dir(root) + index = _load_index(index_path) + + cached = index.get(url) + if cached: + path = Path(cached) + if path.is_file(): + _rewrite_nested_includes(path, parent_url=url, base=root, depth=depth) + return path + _log.warning("Файл кэша пропал (%s), скачаю заново: %s", path, url) + + dest = _unique_cache_path(url, files_dir) + try: + _download(url, dest) + except Exception as exc: + raise RuntimeError( + f"Не удалось скачать include {url}: {exc}. " + "Нет сети и нет кэша — положите файл вручную или проверьте URL." + ) from exc + + index[url] = str(dest.resolve()) + _save_index(index_path, index) + _log.info("Include cached: %s → %s", url, dest) + _rewrite_nested_includes(dest, parent_url=url, base=root, depth=depth) + return dest + + +def _absolute_include_url(ref: str, parent_url: str | None) -> str | None: + """Turn include ref into absolute http(s) URL, or None if local/stdlib.""" + ref = ref.strip() + if is_http_url(ref): + return ref + if ref.startswith("<") and ref.endswith(">"): + return None # PlantUML stdlib + if parent_url and not Path(ref).is_absolute(): + # relative to parent URL directory + return urljoin(parent_url, ref) + return None + + +def _rewrite_nested_includes( + path: Path, *, parent_url: str, base: Path, depth: int, +) -> None: + """Rewrite http(s) / relative !include inside a cached .puml to local paths.""" + try: + text = path.read_text(encoding="utf-8") + except OSError: + return + + changed = False + + def repl(match: re.Match[str]) -> str: + nonlocal changed + ref = match.group("ref") + abs_url = _absolute_include_url(ref, parent_url) + if not abs_url: + return match.group(0) + local = resolve_url(abs_url, base=base, depth=depth + 1) + changed = True + local_s = str(local.resolve()).replace("\\", "/") + return f"!include {local_s}" + + new_text = _INCLUDE_LINE_RE.sub(repl, text) + if changed and new_text != text: + path.write_text(new_text, encoding="utf-8") + + +def resolve_include_ref( + ref: str, + *, + base: Path | None = None, + schemes_dir: Path | None = None, +) -> str: + """ + Resolve include entry to a local path string suitable for !include. + Local paths are resolved relative to schemes_dir / diagrams / cwd. + """ + ref = (ref or "").strip() + if not ref: + raise ValueError("Пустой include") + if is_http_url(ref): + return str(resolve_url(ref, base=base).resolve()).replace("\\", "/") + + path = Path(ref) + if path.is_file(): + return str(path.resolve()).replace("\\", "/") + candidates: list[Path] = [] + if schemes_dir: + candidates.append(schemes_dir / ref) + from . import package_dir + candidates.append(Path(package_dir()) / "diagrams" / ref) + candidates.append(Path.cwd() / ref) + for cand in candidates: + if cand.is_file(): + return str(cand.resolve()).replace("\\", "/") + raise FileNotFoundError(f"Include не найден: {ref}") + + +def rewrite_http_includes_in_source(source: str, *, base: Path | None = None) -> str: + """Replace http(s) !include / !includeurl in prepared source with cached local paths.""" + + def repl(match: re.Match[str]) -> str: + ref = match.group("ref") + if not is_http_url(ref): + return match.group(0) + local = str(resolve_url(ref, base=base).resolve()).replace("\\", "/") + return f"!include {local}" + + return _INCLUDE_LINE_RE.sub(repl, source) + + +def reset_include_cache(base: Path | None = None) -> int: + """ + Delete index and only files listed in it. Returns number of files removed. + Other files in include-cache/ are left untouched. + """ + root = base or app_dir() + index_path = include_cache_index_path(root) + index = _load_index(index_path) + removed = 0 + for _url, path_s in list(index.items()): + path = Path(path_s) + try: + if path.is_file(): + path.unlink() + removed += 1 + except OSError as exc: + _log.warning("Не удалось удалить %s: %s", path, exc) + if index_path.is_file(): + index_path.unlink(missing_ok=True) + return removed + + +def cache_entry_count(base: Path | None = None) -> int: + return len(_load_index(include_cache_index_path(base or app_dir()))) diff --git a/md2gost/diagram_renderer.py b/md2gost/diagram_renderer.py index 6c82140..1d9f811 100644 --- a/md2gost/diagram_renderer.py +++ b/md2gost/diagram_renderer.py @@ -1,12 +1,14 @@ -"""Render UML/BPMN/C4 fenced blocks to PNG (PlantUML jar / Kroki local / remote).""" +"""Render UML / Mermaid / scheme fenced blocks to PNG (+ optional SVG).""" from __future__ import annotations import hashlib import logging import os +import re import shutil import subprocess +import sys import tempfile from dataclasses import dataclass from pathlib import Path @@ -15,13 +17,45 @@ from typing import Literal import requests from . import package_dir +from .diagram_schemes import ( + configure_schemes, + ensure_user_schemes, + is_diagram_lang, + prepare_with_schemes, +) -DIAGRAM_LANGS = frozenset({"uml", "plantuml", "bpmn", "c4"}) +# Back-compat: static set used by older tests; runtime uses is_diagram_lang(). +DIAGRAM_LANGS = frozenset( + { + "uml", + "plantuml", + "c4", + "c4context", + "c4component", + "usecase", + "bpmn", + "mermaid", + "mmd", + } +) FallbackMode = Literal["local", "remote", "off"] +DiagramFormat = Literal["png", "svg"] DEFAULT_KROKI_URL = "http://localhost:8000" REMOTE_KROKI_URL = "https://kroki.io" +# Sharper raster when Word shrinks the figure to page width (display size stays ×1). +DEFAULT_DIAGRAM_SCALE = 2.0 +# Avoid PlantUML clipping large scaled diagrams (default limit is 4096). +PLANTUML_LIMIT_SIZE = "8192" + +# Pinned official jar (GPL). Bundled at exe build; otherwise downloaded once to user cache. +PLANTUML_VERSION = "1.2025.4" +PLANTUML_JAR_URL = ( + f"https://github.com/plantuml/plantuml/releases/download/" + f"v{PLANTUML_VERSION}/plantuml-{PLANTUML_VERSION}.jar" +) + _log = logging.getLogger(__name__) @@ -31,6 +65,17 @@ class DiagramConfig: kroki_url: str | None = None fallback: FallbackMode = "remote" cache_dir: str | None = None + schemes_path: str | None = None + diagram_format: DiagramFormat = "png" + diagram_scale: float = DEFAULT_DIAGRAM_SCALE + + +@dataclass +class DiagramRenderResult: + png_path: str + svg_path: str | None = None + # PlantUML render scale; Image divides display size by this to keep ×1 layout. + pixel_scale: float = 1.0 _CONFIG = DiagramConfig() @@ -41,13 +86,26 @@ def configure_diagrams( kroki_url: str | None = None, fallback: FallbackMode = "remote", cache_dir: str | None = None, + schemes_path: str | None = None, + md_dir: str | None = None, + diagram_format: DiagramFormat = "png", + diagram_scale: float | None = None, ) -> None: global _CONFIG + ensure_user_schemes() + configure_schemes(schemes_path=schemes_path, md_dir=md_dir) + fmt: DiagramFormat = "svg" if diagram_format == "svg" else "png" + scale = DEFAULT_DIAGRAM_SCALE if diagram_scale is None else float(diagram_scale) + if scale < 1: + scale = 1.0 _CONFIG = DiagramConfig( - plantuml_jar=plantuml_jar or os.environ.get("PLANTUML_JAR"), + plantuml_jar=resolve_plantuml_jar(plantuml_jar or None, download=False), kroki_url=kroki_url or os.environ.get("KROKI_URL"), fallback=fallback, cache_dir=cache_dir, + schemes_path=schemes_path, + diagram_format=fmt, + diagram_scale=scale, ) @@ -57,65 +115,175 @@ def diagrams_dir() -> Path: def prepare_source(lang: str, source: str) -> tuple[str, str]: """Return (prepared_source, kroki_diagram_type).""" - lang = (lang or "uml").lower().strip() - text = source.strip() - - if lang == "bpmn": - if "@startbpmn" not in text.lower() and "\n" - ) - body = text - if body.lower().startswith("@startuml"): - lines = body.splitlines() - text = lines[0] + "\n" + includes + "\n".join(lines[1:]) - else: - text = f"@startuml\n{includes}{body}\n@enduml" - elif not text.lower().startswith("@start"): - text = f"@startuml\n{text}\n@enduml" - return text, "plantuml" - - # uml / plantuml - if not text.lower().startswith("@start"): - text = f"@startuml\n{text}\n@enduml" - return text, "plantuml" + return prepare_with_schemes(lang, source) -def _cache_path(source: str, cache_dir: str | None = None) -> Path: +def _cache_root(cache_dir: str | None = None) -> Path: root = cache_dir or _CONFIG.cache_dir if not root: wd = os.environ.get("WORKING_DIR", ".") root = os.path.join(wd, ".md2gost-cache") - Path(root).mkdir(parents=True, exist_ok=True) - digest = hashlib.sha256(source.encode("utf-8")).hexdigest()[:24] - return Path(root) / f"{digest}.png" + path = Path(root) + path.mkdir(parents=True, exist_ok=True) + return path + + +def _cache_digest(source: str) -> str: + return hashlib.sha256(source.encode("utf-8")).hexdigest()[:24] + + +def _cache_paths(source: str, cache_dir: str | None = None) -> tuple[Path, Path]: + root = _cache_root(cache_dir) + digest = _cache_digest(source) + return root / f"{digest}.png", root / f"{digest}.svg" def _java_available() -> bool: return shutil.which("java") is not None -def _render_plantuml_jar(source: str, out_png: Path, jar: str) -> bool: +def vendor_plantuml_path() -> Path: + return Path(package_dir()) / "vendor" / "plantuml.jar" + + +def cached_plantuml_path() -> Path: + if os.name == "nt": + root = Path(os.environ.get("LOCALAPPDATA") or Path.home()) / "md2gost" + else: + root = Path.home() / ".md2gost" + return root / "plantuml.jar" + + +def iter_plantuml_candidates(explicit: str | None = None) -> list[Path]: + paths: list[Path] = [] + if explicit: + paths.append(Path(explicit)) + env = os.environ.get("PLANTUML_JAR") + if env: + paths.append(Path(env)) + paths.append(vendor_plantuml_path()) + if getattr(sys, "frozen", False): + mei = getattr(sys, "_MEIPASS", None) + if mei: + paths.append(Path(mei) / "md2gost" / "vendor" / "plantuml.jar") + paths.append(Path(mei) / "vendor" / "plantuml.jar") + paths.append(Path(sys.executable).resolve().parent / "plantuml.jar") + paths.append(cached_plantuml_path()) + seen: set[str] = set() + out: list[Path] = [] + for path in paths: + key = str(path) + if key in seen: + continue + seen.add(key) + out.append(path) + return out + + +def resolve_plantuml_jar(explicit: str | None = None, *, download: bool = False) -> str | None: + """Find a plantuml.jar: explicit path, env, bundled vendor, user cache; optionally download.""" + for path in iter_plantuml_candidates(explicit): + if path.is_file() and path.stat().st_size > 1000: + return str(path) + if download: + dest = cached_plantuml_path() + if fetch_plantuml_jar(dest): + return str(dest) + return None + + +def fetch_plantuml_jar(dest: Path, url: str = PLANTUML_JAR_URL) -> bool: + """Download official plantuml.jar to dest. Returns True on success.""" + dest.parent.mkdir(parents=True, exist_ok=True) + tmp = dest.with_suffix(".jar.part") + try: + resp = requests.get(url, timeout=120, stream=True) + resp.raise_for_status() + size = 0 + with open(tmp, "wb") as fh: + for chunk in resp.iter_content(chunk_size=65536): + if chunk: + fh.write(chunk) + size += len(chunk) + if size < 1000: + tmp.unlink(missing_ok=True) + return False + tmp.replace(dest) + _log.info("PlantUML jar: %s", dest) + return True + except Exception as exc: + _log.warning("Не удалось скачать plantuml.jar: %s", exc) + tmp.unlink(missing_ok=True) + return False + + +def diagram_engine_status(explicit_jar: str | None = None) -> str: + """Human-readable status for the GUI.""" + java = shutil.which("java") + jar = resolve_plantuml_jar(explicit_jar, download=False) + if java: + java_line = f"Java: есть ({java})" + else: + java_line = ( + "Java: не найдена. Локальный PlantUML не запустится — " + "картинки пойдут через интернет (kroki.io)." + ) + if jar: + jar_line = f"PlantUML: {jar}" + else: + jar_line = ( + "PlantUML: файла нет. Нажмите «Скачать PlantUML» (нужна Java) " + "или оставьте как есть — картинки нарисует интернет (kroki.io)." + ) + return java_line + "\n" + jar_line + + +def _ensure_plantuml_png_scale(source: str, scale: float = DEFAULT_DIAGRAM_SCALE) -> str: + """Inject `scale N` into PlantUML source unless the author already set scale/dpi.""" + if scale <= 1: + return source + if re.search(r"(?im)^\s*scale\b", source): + return source + if re.search(r"(?im)^\s*skinparam\s+dpi\b", source): + return source + lines = source.splitlines() + if not lines: + return source + insert_at = 0 + if lines[0].strip().lower().startswith("@start"): + insert_at = 1 + scale_line = f"scale {scale:g}" + lines.insert(insert_at, scale_line) + return "\n".join(lines) + ("\n" if source.endswith("\n") else "") + + +def _is_png(data: bytes) -> bool: + return data.startswith(b"\x89PNG") + + +def _is_svg(data: bytes) -> bool: + head = data.lstrip()[:200].lower() + return head.startswith(b" bool: if not jar or not os.path.isfile(jar) or not _java_available(): return False with tempfile.TemporaryDirectory() as tmp: src = Path(tmp) / "diagram.puml" src.write_text(source, encoding="utf-8") cmd = [ - "java", "-jar", jar, - "-tpng", + "java", + f"-Dplantuml.include.path={diagrams_dir().resolve()}", + f"-DPLANTUML_LIMIT_SIZE={PLANTUML_LIMIT_SIZE}", + "-jar", jar, + f"-t{fmt}", "-charset", "UTF-8", - f"-I{diagrams_dir()}", "-o", tmp, str(src), ] @@ -126,16 +294,43 @@ def _render_plantuml_jar(source: str, out_png: Path, jar: str) -> bool: except (OSError, subprocess.TimeoutExpired) as e: _log.warning("PlantUML jar failed: %s", e) return False - produced = Path(tmp) / "diagram.png" + produced = Path(tmp) / f"diagram.{fmt}" if proc.returncode != 0 or not produced.is_file(): _log.warning("PlantUML jar error: %s", proc.stderr or proc.stdout) return False - shutil.copyfile(produced, out_png) + data = produced.read_bytes() + if fmt == "png" and not _is_png(data): + return False + if fmt == "svg" and not _is_svg(data): + return False + shutil.copyfile(produced, out_path) return True -def _render_kroki(source: str, diagram_type: str, base_url: str, out_png: Path) -> bool: - url = base_url.rstrip("/") + f"/{diagram_type}/png" +def _render_plantuml_jar( + source: str, + out_png: Path, + jar: str, + *, + out_svg: Path | None = None, +) -> bool: + """Render PNG; optionally also SVG from the same jar.""" + if not _render_plantuml_jar_one(source, out_png, jar, "png"): + return False + if out_svg is not None: + if not _render_plantuml_jar_one(source, out_svg, jar, "svg"): + _log.warning("PlantUML jar: PNG ok, SVG failed") + return True + + +def _render_kroki( + source: str, + diagram_type: str, + base_url: str, + out_path: Path, + fmt: Literal["png", "svg"] = "png", +) -> bool: + url = base_url.rstrip("/") + f"/{diagram_type}/{fmt}" try: resp = requests.post( url, @@ -143,16 +338,38 @@ def _render_kroki(source: str, diagram_type: str, base_url: str, out_png: Path) headers={"Content-Type": "text/plain"}, timeout=60, ) - if resp.status_code != 200 or not resp.content.startswith(b"\x89PNG"): + if resp.status_code != 200: _log.warning("Kroki %s → HTTP %s", url, resp.status_code) return False - out_png.write_bytes(resp.content) + data = resp.content + if fmt == "png" and not _is_png(data): + _log.warning("Kroki %s → not PNG", url) + return False + if fmt == "svg" and not _is_svg(data): + _log.warning("Kroki %s → not SVG", url) + return False + out_path.write_bytes(data) return True except requests.RequestException as e: _log.warning("Kroki request failed (%s): %s", url, e) return False +def _render_kroki_pair( + source: str, + diagram_type: str, + base_url: str, + out_png: Path, + out_svg: Path | None, +) -> bool: + if not _render_kroki(source, diagram_type, base_url, out_png, "png"): + return False + if out_svg is not None: + if not _render_kroki(source, diagram_type, base_url, out_svg, "svg"): + _log.warning("Kroki: PNG ok, SVG failed (%s)", base_url) + return True + + def render_diagram( lang: str, source: str, @@ -161,36 +378,91 @@ def render_diagram( kroki_url: str | None = None, fallback: FallbackMode | None = None, cache_dir: str | None = None, -) -> str: - """Render diagram to PNG path. Raises RuntimeError if all backends fail.""" + diagram_format: DiagramFormat | None = None, + diagram_scale: float | None = None, +) -> DiagramRenderResult: + """Render diagram to PNG (+ optional SVG). Raises RuntimeError if all backends fail.""" + ensure_user_schemes() prepared, kroki_type = prepare_source(lang, source) - out = _cache_path(prepared, cache_dir) - if out.is_file() and out.stat().st_size > 0: - return str(out) + scale = _CONFIG.diagram_scale if diagram_scale is None else float(diagram_scale) + if scale < 1: + scale = 1.0 + # pixel_scale: only when we injected scale (author override → treat as 1 for display). + pixel_scale = 1.0 + if kroki_type == "plantuml" and scale > 1: + before = prepared + prepared = _ensure_plantuml_png_scale(prepared, scale) + if prepared != before: + pixel_scale = scale + out_png, out_svg_path = _cache_paths(prepared, cache_dir) + fmt: DiagramFormat = ( + diagram_format + if diagram_format is not None + else _CONFIG.diagram_format + ) + want_svg = fmt == "svg" + svg_target = out_svg_path if want_svg else None + + if out_png.is_file() and out_png.stat().st_size > 0: + has_svg = out_svg_path.is_file() and out_svg_path.stat().st_size > 0 + if not want_svg or has_svg: + return DiagramRenderResult( + png_path=str(out_png), + svg_path=str(out_svg_path) if (want_svg and has_svg) else None, + pixel_scale=pixel_scale, + ) + # PNG cached but SVG missing in svg mode — fall through to fill SVG. jar = plantuml_jar if plantuml_jar is not None else _CONFIG.plantuml_jar - jar = jar or os.environ.get("PLANTUML_JAR") + jar = resolve_plantuml_jar(jar or None, download=False) local_kroki = kroki_url if kroki_url is not None else _CONFIG.kroki_url local_kroki = local_kroki or os.environ.get("KROKI_URL") or DEFAULT_KROKI_URL mode: FallbackMode = fallback if fallback is not None else _CONFIG.fallback - # 1) PlantUML jar - if _render_plantuml_jar(prepared, out, jar or ""): - return str(out) + def _result() -> DiagramRenderResult: + svg = None + if want_svg and out_svg_path.is_file() and out_svg_path.stat().st_size > 0: + svg = str(out_svg_path) + return DiagramRenderResult( + png_path=str(out_png), svg_path=svg, pixel_scale=pixel_scale, + ) + + # 1) PlantUML jar — only for plantuml type + if kroki_type == "plantuml": + if _render_plantuml_jar(prepared, out_png, jar or "", out_svg=svg_target): + return _result() # 2) Local Kroki - if _render_kroki(prepared, kroki_type, local_kroki, out): - return str(out) + if _render_kroki_pair(prepared, kroki_type, local_kroki, out_png, svg_target): + return _result() + + def _png_fallback_or_raise(message: str) -> DiagramRenderResult: + if out_png.is_file() and out_png.stat().st_size > 0: + _log.warning("Диаграмма: SVG недоступен, вставляю только PNG") + return DiagramRenderResult( + png_path=str(out_png), svg_path=None, pixel_scale=pixel_scale, + ) + raise RuntimeError(message) if mode == "off": - raise RuntimeError( - "Не удалось отрендерить диаграмму локально " - "(задайте --plantuml-jar или KROKI_URL; remote fallback отключён)" + if kroki_type == "plantuml": + return _png_fallback_or_raise( + "Не удалось отрендерить диаграмму локально " + "(задайте --plantuml-jar или KROKI_URL; remote fallback отключён)" + ) + return _png_fallback_or_raise( + "Не удалось отрендерить диаграмму через локальный Kroki " + "(задайте --kroki-url / KROKI_URL; remote fallback отключён)" ) if mode == "local": - raise RuntimeError( - "Локальный рендер диаграммы недоступен " - "(Java+plantuml.jar или локальный Kroki)" + if kroki_type == "plantuml": + return _png_fallback_or_raise( + "Локальный рендер диаграммы недоступен " + "(Java+plantuml.jar или локальный Kroki)" + ) + return _png_fallback_or_raise( + "Локальный Kroki недоступен для диаграммы " + f"(тип {kroki_type}; задайте работающий --kroki-url)" ) # 3) Remote fallback @@ -198,7 +470,26 @@ def render_diagram( "Диаграмма: локальный рендер недоступен, использую remote %s", REMOTE_KROKI_URL, ) - if _render_kroki(prepared, kroki_type, REMOTE_KROKI_URL, out): - return str(out) + if _render_kroki_pair(prepared, kroki_type, REMOTE_KROKI_URL, out_png, svg_target): + return _result() - raise RuntimeError("Не удалось отрендерить диаграмму (PlantUML/Kroki)") + return _png_fallback_or_raise( + "Не удалось отрендерить диаграмму (PlantUML/Kroki)" + ) + + +# Re-export for callers / tests +__all__ = [ + "DIAGRAM_LANGS", + "DiagramRenderResult", + "configure_diagrams", + "diagram_engine_status", + "diagrams_dir", + "fetch_plantuml_jar", + "is_diagram_lang", + "prepare_source", + "render_diagram", + "resolve_plantuml_jar", + "PLANTUML_JAR_URL", + "PLANTUML_VERSION", +] diff --git a/md2gost/diagram_schemes.py b/md2gost/diagram_schemes.py new file mode 100644 index 0000000..f1f2c78 --- /dev/null +++ b/md2gost/diagram_schemes.py @@ -0,0 +1,335 @@ +"""Configurable PlantUML diagram schemes (uml-c4, …) from md2gost.schemes.json.""" + +from __future__ import annotations + +import json +import logging +import re +import shutil +from dataclasses import dataclass, field +from pathlib import Path +from typing import Any + +from . import package_dir +from .diagram_includes import ( + app_dir, + resolve_include_ref, + rewrite_http_includes_in_source, +) + +_log = logging.getLogger(__name__) + +SCHEMES_FILENAME = "md2gost.schemes.json" +SCHEME_ID_RE = re.compile(r"^[a-z][a-z0-9_]*$") +BUILTIN_DIAGRAM_LANGS = frozenset({"uml", "plantuml"}) +# Rendered via Kroki only (not PlantUML jar / schemes). +KROKI_DIAGRAM_LANGS = frozenset({"mermaid", "mmd"}) +KROKI_TYPE_BY_LANG = {"mermaid": "mermaid", "mmd": "mermaid"} + + +@dataclass +class DiagramScheme: + id: str + title: str = "" + version: str = "" + author: str = "" + docs: str = "" + ai_prompt: str = "" + includes: list[str] = field(default_factory=list) + prefix: str = "" + postfix: str = "" + theme: str = "" + + def to_dict(self) -> dict[str, Any]: + data: dict[str, Any] = { + "title": self.title, + "version": self.version, + "author": self.author, + "docs": self.docs, + "ai-prompt": self.ai_prompt, + "includes": list(self.includes), + "prefix": self.prefix, + "postfix": self.postfix, + } + if self.theme: + data["theme"] = self.theme + return data + + @classmethod + def from_dict(cls, scheme_id: str, data: dict[str, Any]) -> DiagramScheme: + includes = data.get("includes") or [] + if isinstance(includes, str): + includes = [includes] + return cls( + id=scheme_id, + title=str(data.get("title") or scheme_id), + version=str(data.get("version") or ""), + author=str(data.get("author") or ""), + docs=str(data.get("docs") or ""), + ai_prompt=str(data.get("ai-prompt") or data.get("ai_prompt") or ""), + includes=[str(x) for x in includes], + prefix=str(data.get("prefix") or ""), + postfix=str(data.get("postfix") or ""), + theme=str(data.get("theme") or ""), + ) + + +def bundled_schemes_path() -> Path: + return Path(package_dir()) / "diagrams" / "schemes.json" + + +def user_schemes_path(base: Path | None = None) -> Path: + return (base or app_dir()) / SCHEMES_FILENAME + + +def ensure_user_schemes(base: Path | None = None) -> Path: + """ + On first run copy bundled template next to the app. + Never overwrite an existing user file. + """ + dest = user_schemes_path(base) + if dest.is_file(): + return dest + src = bundled_schemes_path() + dest.parent.mkdir(parents=True, exist_ok=True) + if src.is_file(): + shutil.copyfile(src, dest) + _log.info("Создан файл схем: %s", dest) + else: + dest.write_text("{}\n", encoding="utf-8") + _log.warning("Шаблон схем не найден (%s), создан пустой %s", src, dest) + return dest + + +def _load_schemes_file(path: Path) -> dict[str, DiagramScheme]: + if not path.is_file(): + return {} + try: + raw = json.loads(path.read_text(encoding="utf-8")) + except (OSError, json.JSONDecodeError) as exc: + _log.warning("Не удалось прочитать схемы %s: %s", path, exc) + return {} + if not isinstance(raw, dict): + return {} + out: dict[str, DiagramScheme] = {} + for key, val in raw.items(): + sid = str(key).lower().strip() + if not SCHEME_ID_RE.match(sid): + _log.warning("Пропуск схемы с недопустимым id: %s", key) + continue + if not isinstance(val, dict): + continue + out[sid] = DiagramScheme.from_dict(sid, val) + return out + + +def load_schemes_from_path(path: Path) -> dict[str, DiagramScheme]: + return _load_schemes_file(path) + + +def save_schemes(schemes: dict[str, DiagramScheme], path: Path | None = None) -> Path: + dest = path or user_schemes_path() + payload = {sid: scheme.to_dict() for sid, scheme in sorted(schemes.items())} + dest.parent.mkdir(parents=True, exist_ok=True) + dest.write_text( + json.dumps(payload, ensure_ascii=False, indent=2) + "\n", + encoding="utf-8", + ) + return dest + + +def scheme_id_from_lang(lang: str) -> str | None: + """Normalize fence lang to scheme id, or None for bare uml/plantuml.""" + lang = (lang or "").lower().strip() + if not lang: + return None + if lang in BUILTIN_DIAGRAM_LANGS: + return None + if lang.startswith("uml-"): + sid = lang[4:] + return sid if SCHEME_ID_RE.match(sid) else None + if SCHEME_ID_RE.match(lang): + return lang + return None + + +def load_merged_schemes( + *, + base: Path | None = None, + extra_path: Path | None = None, + md_dir: Path | None = None, +) -> dict[str, DiagramScheme]: + """ + Merge layers (later wins entirely per id): + 1) bundled template + 2) user file next to app (created on first run) + 3) md2gost.schemes.json next to .md + 4) explicit --schemes path + """ + ensure_user_schemes(base) + merged: dict[str, DiagramScheme] = {} + merged.update(_load_schemes_file(bundled_schemes_path())) + merged.update(_load_schemes_file(user_schemes_path(base))) + if md_dir: + near_md = Path(md_dir) / SCHEMES_FILENAME + if near_md.is_file(): + user = user_schemes_path(base).resolve() + try: + if near_md.resolve() != user: + merged.update(_load_schemes_file(near_md)) + except OSError: + merged.update(_load_schemes_file(near_md)) + if extra_path: + merged.update(_load_schemes_file(Path(extra_path))) + return merged + + +_SCHEMES_CACHE: dict[str, DiagramScheme] | None = None +_SCHEMES_EXTRA: Path | None = None +_SCHEMES_MD_DIR: Path | None = None + + +def configure_schemes( + *, + schemes_path: str | None = None, + md_dir: str | None = None, + base: Path | None = None, +) -> dict[str, DiagramScheme]: + global _SCHEMES_CACHE, _SCHEMES_EXTRA, _SCHEMES_MD_DIR + _SCHEMES_EXTRA = Path(schemes_path) if schemes_path else None + _SCHEMES_MD_DIR = Path(md_dir) if md_dir else None + _SCHEMES_CACHE = load_merged_schemes( + base=base, + extra_path=_SCHEMES_EXTRA, + md_dir=_SCHEMES_MD_DIR, + ) + return _SCHEMES_CACHE + + +def get_schemes() -> dict[str, DiagramScheme]: + global _SCHEMES_CACHE + if _SCHEMES_CACHE is None: + _SCHEMES_CACHE = load_merged_schemes() + return _SCHEMES_CACHE + + +def reload_schemes(**kwargs) -> dict[str, DiagramScheme]: + return configure_schemes(**kwargs) + + +def get_scheme(scheme_id: str) -> DiagramScheme | None: + return get_schemes().get(scheme_id) + + +def is_diagram_lang(lang: str) -> bool: + """True if fence should render as a diagram (not a plain listing).""" + lang = (lang or "").lower().strip() + if lang in BUILTIN_DIAGRAM_LANGS or lang in KROKI_DIAGRAM_LANGS: + return True + if lang.startswith("uml-"): + # Force diagram path so missing scheme becomes an error, not a listing. + return bool(SCHEME_ID_RE.match(lang[4:])) + return lang in get_schemes() + + +def apply_scheme( + scheme: DiagramScheme, + body: str, + *, + base: Path | None = None, +) -> str: + """Wrap body with includes / prefix / postfix / theme; resolve URL includes.""" + text = body.strip() + has_start = text.lower().startswith("@start") + + include_lines: list[str] = [] + schemes_dir = user_schemes_path(base).parent + for ref in scheme.includes: + local = resolve_include_ref(ref, base=base, schemes_dir=schemes_dir) + include_lines.append(f"!include {local}") + + theme_line = "" + if scheme.theme and "!theme" not in text.lower(): + t = scheme.theme.strip() + if not t.lower().startswith("!theme"): + t = f"!theme {t}" + theme_line = t + + prefix = scheme.prefix or "" + postfix = scheme.postfix or "" + + # Avoid double @startuml / @enduml when body already has @start… + if has_start: + prefix_use = _strip_start_end_wrappers(prefix) + postfix_use = _strip_start_end_wrappers(postfix) + head_bits = [ln for ln in include_lines if ln] + if theme_line: + head_bits.append(theme_line) + if prefix_use.strip(): + head_bits.append(prefix_use.strip()) + if head_bits: + lines = text.splitlines() + text = lines[0] + "\n" + "\n".join(head_bits) + "\n" + "\n".join(lines[1:]) + if postfix_use.strip(): + text = text.rstrip() + "\n" + postfix_use.strip() + else: + parts: list[str] = [] + p = prefix.rstrip("\n") if prefix else "" + pf = postfix.lstrip("\n") if postfix else "" + if not p.lstrip().lower().startswith("@start"): + parts.append("@startuml") + if p: + parts.append(p) + parts.extend(include_lines) + if theme_line: + parts.append(theme_line) + parts.append(text) + if pf: + parts.append(pf) + elif "@enduml" not in text.lower(): + parts.append("@enduml") + text = "\n".join(parts) + + text = rewrite_http_includes_in_source(text, base=base) + return text + + +def _strip_start_end_wrappers(chunk: str) -> str: + """Remove leading @start… and trailing @end… lines from prefix/postfix.""" + lines = chunk.splitlines() + while lines and lines[0].strip().lower().startswith("@start"): + lines = lines[1:] + while lines and lines[-1].strip().lower().startswith("@end"): + lines = lines[:-1] + return "\n".join(lines) + + +def prepare_with_schemes(lang: str, source: str, *, base: Path | None = None) -> tuple[str, str]: + """ + Prepare diagram source using schemes. + Returns (prepared_source, kroki_diagram_type). + Raises ValueError if uml- / named scheme is missing. + """ + lang = (lang or "uml").lower().strip() + text = source.strip() + + if lang in KROKI_DIAGRAM_LANGS: + return text, KROKI_TYPE_BY_LANG[lang] + + sid = scheme_id_from_lang(lang) + + if sid is None: + # bare uml / plantuml + if not text.lower().startswith("@start"): + text = f"@startuml\n{text}\n@enduml" + text = rewrite_http_includes_in_source(text, base=base) + return text, "plantuml" + + scheme = get_scheme(sid) + if scheme is None: + raise ValueError( + f"Схема диаграммы «{sid}» не найдена " + f"(оградка ```{lang}). Добавьте её в {SCHEMES_FILENAME}." + ) + prepared = apply_scheme(scheme, text, base=base) + return prepared, "plantuml" diff --git a/md2gost/diagrams/BPMN.puml b/md2gost/diagrams/BPMN.puml new file mode 100644 index 0000000..02b8c5b --- /dev/null +++ b/md2gost/diagrams/BPMN.puml @@ -0,0 +1,1126 @@ +' md2gost BPMN 2.0 macros for PlantUML +' Notation: OMG BPMN 2.0.2 (formal/2013-12-09), Ch. 7 graphical elements, +' Ch. 10 Process (events, activities, gateways), Ch. 9 Collaboration (pools, message flow). +' PlantUML cannot attach boundary events to the activity border or draw a true +' double-circle; thickness + stereotypes approximate start / intermediate / end. +' Gateways use hexagon — in this renderer it reads as a BPMN diamond. +' +' Usage (scheme ```bpmn / ```uml-bpmn wraps @startuml + this include): +' Pool(company, "Компания") { +' Lane(op, "Оператор") { +' Start(s) +' UserTask(t, "Проверить") +' XOR(gw) +' End(e) +' Flow(s, t) +' Flow(t, gw) +' CondFlow(gw, e, "нет") +' } +' } + +!ifndef BPMN_PUML +!define BPMN_PUML + +hide stereotype +skinparam shadowing false +skinparam linetype polyline +skinparam nodesep 28 +skinparam ranksep 42 +skinparam defaultTextAlignment center +skinparam wrapWidth 140 +skinparam ArrowColor #212121 +skinparam Padding 2 + +' --------------------------------------------------------------------------- +' Sprites (event / task markers, BPMN 2.0 Table 7.2–7.4) +' --------------------------------------------------------------------------- + +sprite $bpmnMsg [16x11/16] { +0000000000000000 +0FFFFFFFFFFFFFF0 +0F000000000000F0 +0FF0000000000FF0 +0F0FF000000FF0F0 +0F000FFFFFF000F0 +0F0000FFFF0000F0 +0F000000000000F0 +0F000000000000F0 +0FFFFFFFFFFFFFF0 +0000000000000000 +} + +sprite $bpmnMsgFill [16x11/16] { +0000000000000000 +0FFFFFFFFFFFFFF0 +0FFFFFFFFFFFFFF0 +0FFFFFFFFFFFFFF0 +0FFFFFFFFFFFFFF0 +0FFF0FFFFFF0FFF0 +0FF000FFFF000FF0 +0F00000FF00000F0 +0F000000000000F0 +0FFFFFFFFFFFFFF0 +0000000000000000 +} + +sprite $bpmnTimer [16x10/16] { +000000FFFF000000 +0000FF0000FF0000 +000F000FF000F000 +00F0000FF0000F00 +00F0000FF0000F00 +00F0000FFFF00F00 +00F0000000000F00 +000F00000000F000 +0000FF0000FF0000 +000000FFFF000000 +} + +sprite $bpmnError [16x9/16] { +0000000FF0000000 +000000FF00000000 +00000FFFFF000000 +0000FF0000000000 +000FFFFF00000000 +000000FF00000000 +00000FF000000000 +0000FF0000000000 +000FF00000000000 +} + +sprite $bpmnSignal [16x8/16] { +00000000F0000000 +0000000FFF000000 +000000FF0FF00000 +00000FF000FF0000 +0000FF00000FF000 +000FF0000000FF00 +00FF000000000FF0 +0FFFFFFFFFFFFFFF +} + +sprite $bpmnSignalFill [16x8/16] { +00000000F0000000 +0000000FFF000000 +000000FFFFF00000 +00000FFFFFFF0000 +0000FFFFFFFFF000 +000FFFFFFFFFFF00 +00FFFFFFFFFFFFF0 +0FFFFFFFFFFFFFFF +} + +sprite $bpmnTerminate [16x9/16] { +00000FFFFFF00000 +000FFFFFFFFFF000 +00FFFFFFFFFFFF00 +0FFFFFFFFFFFFFF0 +0FFFFFFFFFFFFFF0 +0FFFFFFFFFFFFFF0 +00FFFFFFFFFFFF00 +000FFFFFFFFFF000 +00000FFFFFF00000 +} + +sprite $bpmnEscalation [16x9/16] { +00000000F0000000 +0000000FFF000000 +000000FF0FF00000 +00000FF000FF0000 +0000FFFFFFFFF000 +000000F000F00000 +000000F000F00000 +000000F000F00000 +000000FFFFF00000 +} + +sprite $bpmnComp [16x7/16] { +00F0000F00000000 +0FF000FF00000000 +FFF00FFF00000000 +FFFF0FFFF0000000 +FFF00FFF00000000 +0FF000FF00000000 +00F0000F00000000 +} + +sprite $bpmnLink [16x7/16] { +0000000000000000 +00000000000F0000 +00000000000FF000 +0FFFFFFFFFFFFF00 +00000000000FF000 +00000000000F0000 +0000000000000000 +} + +sprite $bpmnCond [16x10/16] { +0FFFFFFFFFF00000 +0F00000000FF0000 +0F00000000F0F000 +0F00000000FFF000 +0F00FFFF0000F000 +0F0000000000F000 +0F00FFFF0000F000 +0F0000000000F000 +0F00FFFF0000F000 +0FFFFFFFFFFFF000 +} + +sprite $bpmnMulti [16x8/16] { +00000000F0000000 +000000FF0FF00000 +00000F00000F0000 +0000F0000000F000 +000F000000000F00 +000F000000000F00 +0000F0000000F000 +00000FFFFFFF0000 +} + +sprite $bpmnParMulti [16x9/16] { +00000FFFFFF00000 +000FF000000FF000 +00F0000FF0000F00 +0F00000FF00000F0 +0F00FFFFFFFF00F0 +0F00000FF00000F0 +00F0000FF0000F00 +000FF000000FF000 +00000FFFFFF00000 +} + +sprite $bpmnCancel [16x11/16] { +0FF0000000000FF0 +00FF00000000FF00 +000FF000000FF000 +0000FF0000FF0000 +00000FF00FF00000 +000000FFFF000000 +00000FF00FF00000 +0000FF0000FF0000 +000FF000000FF000 +00FF00000000FF00 +0FF0000000000FF0 +} + +sprite $bpmnUser [16x10/16] { +000000FFFF000000 +00000FFFFFF00000 +00000FFFFFF00000 +000000FFFF000000 +0000000000000000 +0000FFFFFFFF0000 +000FF000000FF000 +000FF000000FF000 +000FF000000FF000 +000FF000000FF000 +} + +sprite $bpmnService [16x9/16] { +000000FFFF000000 +0000FFF00FFF0000 +000FF0FFFF0FF000 +00FF00FFFF00FF00 +00F0000000000F00 +00FF00FFFF00FF00 +000FF0FFFF0FF000 +0000FFF00FFF0000 +000000FFFF000000 +} + +sprite $bpmnScript [16x9/16] { +0FFFFFFFFFF00000 +0F00000000FF0000 +0F00000000F0F000 +0F00FFFF00FFF000 +0F0000000000F000 +0F00FFFF0000F000 +0F0000000000F000 +0F00FFFF0000F000 +0FFFFFFFFFFFF000 +} + +sprite $bpmnManual [16x7/16] { +000000000FF00000 +00000000FFFF0000 +0000FF0FF0FF0000 +000FFFFFFFFFF000 +000FFFFFFFFFF000 +0000FFFFFFFF0000 +00000FFFFFF00000 +} + +sprite $bpmnRule [16x7/16] { +0FFFFFFFFFFFFFF0 +0F000F000F0000F0 +0FFFFFFFFFFFFFF0 +0F000F000F0000F0 +0FFFFFFFFFFFFFF0 +0F000F000F0000F0 +0FFFFFFFFFFFFFF0 +} + +sprite $bpmnPlusBox [12x9/16] { +FFFFFFFFFFFF +F0000000000F +F0000FF0000F +F0000FF0000F +F0FFFFFFFF0F +F0000FF0000F +F0000FF0000F +F0000000000F +FFFFFFFFFFFF +} + +sprite $bpmnLoop [16x7/16] { +0000FFFFFF000000 +000F000000F00000 +00F000000000000F +0F00000000000FF0 +0F000000000F0000 +00F0000000F00000 +000FFFFFF0000000 +} + +sprite $bpmnAdhoc [16x5/16] { +0000000000000000 +0FF0000FFF000FF0 +000FF0F000FF0000 +00000F00000F0000 +0000000000000000 +} + +sprite $bpmnMIPar [13x5/16] { +00F000F000F00 +00F000F000F00 +00F000F000F00 +00F000F000F00 +00F000F000F00 +} + +sprite $bpmnMISeq [13x7/16] { +0000000000000 +0FFFFFFFFFFF0 +0000000000000 +0FFFFFFFFFFF0 +0000000000000 +0FFFFFFFFFFF0 +0000000000000 +} + +' --------------------------------------------------------------------------- +' Skin (colours are conventional, not mandated by the spec) +' --------------------------------------------------------------------------- + +skinparam circle<> { + BackgroundColor #C8E6C9 + BorderColor #2E7D32 + BorderThickness 1.5 + FontSize 10 +} + +skinparam circle<> { + BackgroundColor #C8E6C9 + BorderColor #2E7D32 + BorderThickness 1.5 + BorderStyle dashed + FontSize 10 +} + +skinparam circle<> { + BackgroundColor #FFF3E0 + BorderColor #EF6C00 + BorderThickness 2 + FontSize 10 +} + +skinparam circle<> { + BackgroundColor #FFE0B2 + BorderColor #E65100 + BorderThickness 2 + FontSize 10 +} + +skinparam circle<> { + BackgroundColor #FFCDD2 + BorderColor #B71C1C + BorderThickness 3.5 + FontSize 10 +} + +skinparam circle<> { + BackgroundColor #FFF3E0 + BorderColor #EF6C00 + BorderThickness 2 + FontSize 9 +} + +skinparam circle<> { + BackgroundColor #FFF3E0 + BorderColor #EF6C00 + BorderThickness 2 + BorderStyle dashed + FontSize 9 +} + +skinparam hexagon<> { + BackgroundColor #FFF8E1 + BorderColor #F9A825 + BorderThickness 1.5 + FontSize 12 +} + +skinparam rectangle<> { + RoundCorner 22 + BackgroundColor #FFFFFF + BorderColor #1565C0 + BorderThickness 1.4 + FontSize 11 +} + +skinparam rectangle<> { + RoundCorner 22 + BackgroundColor #FAFAFA + BorderColor #1565C0 + BorderThickness 1.4 + FontSize 11 +} + +skinparam rectangle<> { + RoundCorner 22 + BackgroundColor #FFFFFF + BorderColor #0D47A1 + BorderThickness 3 + FontSize 11 +} + +skinparam rectangle<> { + RoundCorner 22 + BackgroundColor #FAFAFA + BorderColor #0D47A1 + BorderThickness 2.5 + FontSize 11 +} + +skinparam rectangle<> { + RoundCorner 22 + BackgroundColor #FAFAFA + BorderColor #6A1B9A + BorderThickness 1.4 + BorderStyle dashed + FontSize 11 +} + +skinparam rectangle<> { + RoundCorner 0 + BackgroundColor #F5F5F5 + BorderColor #212121 + BorderThickness 1.6 + FontSize 12 + FontStyle bold +} + +skinparam rectangle<> { + RoundCorner 0 + BackgroundColor #FFFFFF + BorderColor #757575 + BorderThickness 1 + FontSize 11 +} + +skinparam rectangle<> { + RoundCorner 0 + BackgroundColor #EEEEEE + BorderColor #212121 + BorderThickness 1.6 + FontSize 12 + FontStyle bold +} + +skinparam rectangle<> { + RoundCorner 8 + BackgroundColor transparent + BorderColor #9E9E9E + BorderThickness 1.2 + BorderStyle dashed + FontSize 10 +} + +skinparam file<> { + BackgroundColor #E3F2FD + BorderColor #1565C0 + FontSize 10 +} + +skinparam database<> { + BackgroundColor #E8F5E9 + BorderColor #2E7D32 + FontSize 10 +} + +skinparam note { + BackgroundColor #FFFDE7 + BorderColor #F9A825 + FontSize 10 +} + +' --------------------------------------------------------------------------- +' Internals +' --------------------------------------------------------------------------- + +!unquoted procedure $bpmnCircle($alias, $stereo, $icon, $label) + !if ($icon == "") + !if ($label == "") + circle " " as $alias <<$stereo>> + !else + circle "$label" as $alias <<$stereo>> + !endif + !else + !if ($label == "") + circle "<$$icon>" as $alias <<$stereo>> + !else + circle "<$$icon>\n$label" as $alias <<$stereo>> + !endif + !endif +!endprocedure + +!unquoted procedure $bpmnGW($alias, $mark, $label) + !if ($label == "") + hexagon "$mark" as $alias <> + !else + hexagon "$mark\n$label" as $alias <> + !endif +!endprocedure + +!unquoted procedure $bpmnRect($alias, $stereo, $icon, $label, $marker="") + !if ($icon == "") + !if ($marker == "") + rectangle "$label" as $alias <<$stereo>> + !else + rectangle "$label\n\n<$$marker>" as $alias <<$stereo>> + !endif + !else + !if ($marker == "") + rectangle "<$$icon> $label" as $alias <<$stereo>> + !else + rectangle "<$$icon> $label\n\n<$$marker>" as $alias <<$stereo>> + !endif + !endif +!endprocedure + +' --------------------------------------------------------------------------- +' Swimlanes — BPMN 2.0 §9.2 Pool / §9.3 Lane +' Pool(...) { ... } Lane(...) { ... } +' --------------------------------------------------------------------------- + +!unquoted procedure Pool($alias, $label) + rectangle "$label" as $alias <> +!endprocedure + +!unquoted procedure Lane($alias, $label) + rectangle "$label" as $alias <> +!endprocedure + +!unquoted procedure BlackBoxPool($alias, $label) + rectangle "$label" as $alias <> +!endprocedure + +!unquoted procedure Participant($alias, $label) + BlackBoxPool($alias, $label) +!endprocedure + +!unquoted procedure Group($alias, $label) + rectangle "$label" as $alias <> +!endprocedure + +' --------------------------------------------------------------------------- +' Start events — §10.5.2 (None, Message, Timer, Conditional, Signal, Error, +' Escalation, Multiple, Parallel Multiple). Error/Escalation only in event sub-process. +' --------------------------------------------------------------------------- + +!unquoted procedure Start($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "", $label) +!endprocedure + +!unquoted procedure StartEvent($alias, $label="") + Start($alias, $label) +!endprocedure + +!unquoted procedure StartMessage($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnMsg", $label) +!endprocedure + +!unquoted procedure StartTimer($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnTimer", $label) +!endprocedure + +!unquoted procedure StartCondition($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnCond", $label) +!endprocedure + +!unquoted procedure StartConditional($alias, $label="") + StartCondition($alias, $label) +!endprocedure + +!unquoted procedure StartSignal($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnSignal", $label) +!endprocedure + +!unquoted procedure StartError($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnError", $label) +!endprocedure + +!unquoted procedure StartEscalation($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnEscalation", $label) +!endprocedure + +!unquoted procedure StartMultiple($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnMulti", $label) +!endprocedure + +!unquoted procedure StartParallelMultiple($alias, $label="") + $bpmnCircle($alias, "bpmnStart", "bpmnParMulti", $label) +!endprocedure + +!unquoted procedure StartNI($alias, $label="") + $bpmnCircle($alias, "bpmnStartNI", "", $label) +!endprocedure + +!unquoted procedure StartMessageNI($alias, $label="") + $bpmnCircle($alias, "bpmnStartNI", "bpmnMsg", $label) +!endprocedure + +!unquoted procedure StartTimerNI($alias, $label="") + $bpmnCircle($alias, "bpmnStartNI", "bpmnTimer", $label) +!endprocedure + +!unquoted procedure StartSignalNI($alias, $label="") + $bpmnCircle($alias, "bpmnStartNI", "bpmnSignal", $label) +!endprocedure + +' --------------------------------------------------------------------------- +' Intermediate catching / throwing — §10.5.4 +' --------------------------------------------------------------------------- + +!unquoted procedure Intermediate($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "", $label) +!endprocedure + +!unquoted procedure CatchMessage($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnMsg", $label) +!endprocedure + +!unquoted procedure ThrowMessage($alias, $label="") + $bpmnCircle($alias, "bpmnThrow", "bpmnMsgFill", $label) +!endprocedure + +!unquoted procedure CatchTimer($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnTimer", $label) +!endprocedure + +!unquoted procedure CatchSignal($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnSignal", $label) +!endprocedure + +!unquoted procedure ThrowSignal($alias, $label="") + $bpmnCircle($alias, "bpmnThrow", "bpmnSignalFill", $label) +!endprocedure + +!unquoted procedure CatchError($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnError", $label) +!endprocedure + +!unquoted procedure CatchEscalation($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnEscalation", $label) +!endprocedure + +!unquoted procedure ThrowEscalation($alias, $label="") + $bpmnCircle($alias, "bpmnThrow", "bpmnEscalation", $label) +!endprocedure + +!unquoted procedure CatchCondition($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnCond", $label) +!endprocedure + +!unquoted procedure CatchLink($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnLink", $label) +!endprocedure + +!unquoted procedure ThrowLink($alias, $label="") + $bpmnCircle($alias, "bpmnThrow", "bpmnLink", $label) +!endprocedure + +!unquoted procedure CatchCompensation($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnComp", $label) +!endprocedure + +!unquoted procedure ThrowCompensation($alias, $label="") + $bpmnCircle($alias, "bpmnThrow", "bpmnComp", $label) +!endprocedure + +!unquoted procedure CatchCancel($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnCancel", $label) +!endprocedure + +!unquoted procedure CatchMultiple($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnMulti", $label) +!endprocedure + +!unquoted procedure ThrowMultiple($alias, $label="") + $bpmnCircle($alias, "bpmnThrow", "bpmnMulti", $label) +!endprocedure + +!unquoted procedure CatchParallelMultiple($alias, $label="") + $bpmnCircle($alias, "bpmnInter", "bpmnParMulti", $label) +!endprocedure + +' --------------------------------------------------------------------------- +' Boundary events — interrupting (solid) / non-interrupting (dashed). Attach() +' --------------------------------------------------------------------------- + +!unquoted procedure BoundaryMessage($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnMsg", $label) +!endprocedure + +!unquoted procedure BoundaryTimer($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnTimer", $label) +!endprocedure + +!unquoted procedure BoundaryError($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnError", $label) +!endprocedure + +!unquoted procedure BoundaryEscalation($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnEscalation", $label) +!endprocedure + +!unquoted procedure BoundarySignal($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnSignal", $label) +!endprocedure + +!unquoted procedure BoundaryCancel($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnCancel", $label) +!endprocedure + +!unquoted procedure BoundaryCompensation($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnComp", $label) +!endprocedure + +!unquoted procedure BoundaryCondition($alias, $label="") + $bpmnCircle($alias, "bpmnBoundary", "bpmnCond", $label) +!endprocedure + +!unquoted procedure BoundaryMessageNI($alias, $label="") + $bpmnCircle($alias, "bpmnBoundaryNI", "bpmnMsg", $label) +!endprocedure + +!unquoted procedure BoundaryTimerNI($alias, $label="") + $bpmnCircle($alias, "bpmnBoundaryNI", "bpmnTimer", $label) +!endprocedure + +!unquoted procedure BoundaryEscalationNI($alias, $label="") + $bpmnCircle($alias, "bpmnBoundaryNI", "bpmnEscalation", $label) +!endprocedure + +!unquoted procedure BoundarySignalNI($alias, $label="") + $bpmnCircle($alias, "bpmnBoundaryNI", "bpmnSignal", $label) +!endprocedure + +!unquoted procedure BoundaryConditionNI($alias, $label="") + $bpmnCircle($alias, "bpmnBoundaryNI", "bpmnCond", $label) +!endprocedure + +!unquoted procedure Attach($activity, $event) + $activity -[hidden]down- $event +!endprocedure + +!unquoted procedure Attach_R($activity, $event) + $activity -[hidden]right- $event +!endprocedure + +' --------------------------------------------------------------------------- +' End events — §10.5.3 (None, Message, Error, Escalation, Cancel, Compensation, +' Signal, Multiple, Terminate) +' --------------------------------------------------------------------------- + +!unquoted procedure End($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "", $label) +!endprocedure + +!unquoted procedure EndEvent($alias, $label="") + End($alias, $label) +!endprocedure + +!unquoted procedure EndMessage($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnMsgFill", $label) +!endprocedure + +!unquoted procedure EndError($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnError", $label) +!endprocedure + +!unquoted procedure EndEscalation($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnEscalation", $label) +!endprocedure + +!unquoted procedure EndCancel($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnCancel", $label) +!endprocedure + +!unquoted procedure EndCompensation($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnComp", $label) +!endprocedure + +!unquoted procedure EndSignal($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnSignalFill", $label) +!endprocedure + +!unquoted procedure EndMultiple($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnMulti", $label) +!endprocedure + +!unquoted procedure EndTerminate($alias, $label="") + $bpmnCircle($alias, "bpmnEnd", "bpmnTerminate", $label) +!endprocedure + +!unquoted procedure Terminate($alias, $label="") + EndTerminate($alias, $label) +!endprocedure + +' --------------------------------------------------------------------------- +' Activities — §10.3 Task types + markers (loop, MI, compensation, ad-hoc) +' --------------------------------------------------------------------------- + +!unquoted procedure Task($alias, $label, $type="none", $marker="") + !if ($type == "user") + $bpmnRect($alias, "bpmnTask", "bpmnUser", $label, $marker) + !elseif ($type == "service") + $bpmnRect($alias, "bpmnTask", "bpmnService", $label, $marker) + !elseif ($type == "script") + $bpmnRect($alias, "bpmnTask", "bpmnScript", $label, $marker) + !elseif ($type == "manual") + $bpmnRect($alias, "bpmnTask", "bpmnManual", $label, $marker) + !elseif ($type == "send") + $bpmnRect($alias, "bpmnTask", "bpmnMsgFill", $label, $marker) + !elseif ($type == "receive") + $bpmnRect($alias, "bpmnTask", "bpmnMsg", $label, $marker) + !elseif ($type == "rule") + $bpmnRect($alias, "bpmnTask", "bpmnRule", $label, $marker) + !elseif ($type == "businessrule") + $bpmnRect($alias, "bpmnTask", "bpmnRule", $label, $marker) + !else + $bpmnRect($alias, "bpmnTask", "", $label, $marker) + !endif +!endprocedure + +!unquoted procedure UserTask($alias, $label, $marker="") + Task($alias, $label, "user", $marker) +!endprocedure + +!unquoted procedure ServiceTask($alias, $label, $marker="") + Task($alias, $label, "service", $marker) +!endprocedure + +!unquoted procedure ScriptTask($alias, $label, $marker="") + Task($alias, $label, "script", $marker) +!endprocedure + +!unquoted procedure ManualTask($alias, $label, $marker="") + Task($alias, $label, "manual", $marker) +!endprocedure + +!unquoted procedure SendTask($alias, $label, $marker="") + Task($alias, $label, "send", $marker) +!endprocedure + +!unquoted procedure ReceiveTask($alias, $label, $marker="") + Task($alias, $label, "receive", $marker) +!endprocedure + +!unquoted procedure BusinessRuleTask($alias, $label, $marker="") + Task($alias, $label, "rule", $marker) +!endprocedure + +!unquoted procedure LoopTask($alias, $label) + Task($alias, $label, "none", "bpmnLoop") +!endprocedure + +!unquoted procedure SubProcess($alias, $label) + $bpmnRect($alias, "bpmnSubProcess", "", $label, "bpmnPlusBox") +!endprocedure + +!unquoted procedure SubProcessExpanded($alias, $label) + rectangle "$label" as $alias <> +!endprocedure + +!unquoted procedure CallActivity($alias, $label) + $bpmnRect($alias, "bpmnCall", "", $label, "bpmnPlusBox") +!endprocedure + +!unquoted procedure Transaction($alias, $label) + $bpmnRect($alias, "bpmnTransaction", "", $label, "bpmnPlusBox") +!endprocedure + +!unquoted procedure EventSubProcess($alias, $label) + rectangle "$label" as $alias <> +!endprocedure + +!unquoted procedure AdHocSubProcess($alias, $label) + $bpmnRect($alias, "bpmnSubProcess", "", $label, "bpmnAdhoc") +!endprocedure + +' --------------------------------------------------------------------------- +' Gateways — §10.6 (Exclusive, Parallel, Inclusive, Complex, Event-Based) +' --------------------------------------------------------------------------- + +!unquoted procedure Exclusive($alias, $label="") + $bpmnGW($alias, "×", $label) +!endprocedure + +!unquoted procedure XOR($alias, $label="") + Exclusive($alias, $label) +!endprocedure + +!unquoted procedure Xor($alias, $label="") + Exclusive($alias, $label) +!endprocedure + +!unquoted procedure Gateway($alias, $label="") + Exclusive($alias, $label) +!endprocedure + +!unquoted procedure Parallel($alias, $label="") + $bpmnGW($alias, "+", $label) +!endprocedure + +!unquoted procedure AND($alias, $label="") + Parallel($alias, $label) +!endprocedure + +!unquoted procedure And($alias, $label="") + Parallel($alias, $label) +!endprocedure + +!unquoted procedure Inclusive($alias, $label="") + $bpmnGW($alias, "○", $label) +!endprocedure + +!unquoted procedure OR($alias, $label="") + Inclusive($alias, $label) +!endprocedure + +!unquoted procedure Or($alias, $label="") + Inclusive($alias, $label) +!endprocedure + +!unquoted procedure ComplexGW($alias, $label="") + $bpmnGW($alias, "*", $label) +!endprocedure + +!unquoted procedure Complex($alias, $label="") + ComplexGW($alias, $label) +!endprocedure + +!unquoted procedure EventBased($alias, $label="") + $bpmnGW($alias, "◇", $label) +!endprocedure + +!unquoted procedure EventBasedGateway($alias, $label="") + EventBased($alias, $label) +!endprocedure + +!unquoted procedure ExclusiveEventBased($alias, $label="") + $bpmnGW($alias, "◇", $label) +!endprocedure + +!unquoted procedure ParallelEventBased($alias, $label="") + $bpmnGW($alias, "⊕", $label) +!endprocedure + +' --------------------------------------------------------------------------- +' Connecting objects — §8.4.13 Sequence Flow, Message Flow, Association +' Default = slash; conditional = mini-diamond (label prefixes as stand-in) +' --------------------------------------------------------------------------- + +!unquoted procedure Flow($from, $to, $label="") + !if ($label == "") + $from --> $to + !else + $from --> $to : $label + !endif +!endprocedure + +!unquoted procedure Flow_R($from, $to, $label="") + !if ($label == "") + $from -right-> $to + !else + $from -right-> $to : $label + !endif +!endprocedure + +!unquoted procedure Flow_L($from, $to, $label="") + !if ($label == "") + $from -left-> $to + !else + $from -left-> $to : $label + !endif +!endprocedure + +!unquoted procedure Flow_D($from, $to, $label="") + !if ($label == "") + $from -down-> $to + !else + $from -down-> $to : $label + !endif +!endprocedure + +!unquoted procedure Flow_U($from, $to, $label="") + !if ($label == "") + $from -up-> $to + !else + $from -up-> $to : $label + !endif +!endprocedure + +!unquoted procedure SequenceFlow($from, $to, $label="") + Flow($from, $to, $label) +!endprocedure + +!unquoted procedure CondFlow($from, $to, $cond) + $from --> $to : ◇ $cond +!endprocedure + +!unquoted procedure DefaultFlow($from, $to, $label="") + !if ($label == "") + $from --> $to : ╱ + !else + $from --> $to : ╱ $label + !endif +!endprocedure + +!unquoted procedure MessageFlow($from, $to, $label="") + !if ($label == "") + $from ..> $to + !else + $from ..> $to : $label + !endif +!endprocedure + +!unquoted procedure MessageFlow_R($from, $to, $label="") + !if ($label == "") + $from -[dashed]right-> $to + !else + $from -[dashed]right-> $to : $label + !endif +!endprocedure + +!unquoted procedure Assoc($from, $to, $label="") + !if ($label == "") + $from .. $to + !else + $from .. $to : $label + !endif +!endprocedure + +!unquoted procedure Association($from, $to, $label="") + Assoc($from, $to, $label) +!endprocedure + +!unquoted procedure DataAssoc($from, $to, $label="") + !if ($label == "") + $from ..> $to + !else + $from ..> $to : $label + !endif +!endprocedure + +' --------------------------------------------------------------------------- +' Data / artifacts — §7.1.1.7 Data, Group, Text Annotation +' --------------------------------------------------------------------------- + +!unquoted procedure DataObject($alias, $label) + file "$label" as $alias <> +!endprocedure + +!unquoted procedure DataInput($alias, $label) + file "▷ $label" as $alias <> +!endprocedure + +!unquoted procedure DataOutput($alias, $label) + file "$label ▷" as $alias <> +!endprocedure + +!unquoted procedure Collection($alias, $label) + file "$label\n<$bpmnMIPar>" as $alias <> +!endprocedure + +!unquoted procedure DataStore($alias, $label) + database "$label" as $alias <> +!endprocedure + +!unquoted procedure Annotation($alias, $text) + note "$text" as $alias +!endprocedure + +!unquoted procedure TextAnnotation($alias, $text) + Annotation($alias, $text) +!endprocedure + +' --------------------------------------------------------------------------- +' Layout helpers +' --------------------------------------------------------------------------- + +!unquoted procedure Lay_R($from, $to) + $from -[hidden]right-> $to +!endprocedure + +!unquoted procedure Lay_L($from, $to) + $from -[hidden]left-> $to +!endprocedure + +!unquoted procedure Lay_D($from, $to) + $from -[hidden]down-> $to +!endprocedure + +!unquoted procedure Lay_U($from, $to) + $from -[hidden]up-> $to +!endprocedure + +!procedure BPMN_HORIZONTAL() + left to right direction +!endprocedure + +!procedure BPMN_VERTICAL() + top to bottom direction +!endprocedure + +!procedure BPMN_ORTHO() + skinparam linetype ortho +!endprocedure + +!procedure BPMN_POLYLINE() + skinparam linetype polyline +!endprocedure + +!procedure BPMN_LEGEND() +legend right + BPMN 2.0 + |= Элемент |= Смысл | + | тонкий круг | Start Event | + | двойная толщина | Intermediate | + | жирный круг | End Event | + | ● внутри конца | Terminate | + | скруглённый прямоугольник | Activity / Task | + | ромб × | Exclusive (XOR) | + | ромб + | Parallel (AND) | + | ромб ○ | Inclusive (OR) | + | ромб ◇ | Event-Based | + | сплошная стрелка | Sequence Flow | + | пунктир | Message Flow | + | ╱ | Default Flow | + | ◇ на стрелке | Conditional Flow | +endlegend +!endprocedure + +!endif diff --git a/md2gost/diagrams/schemes.json b/md2gost/diagrams/schemes.json new file mode 100644 index 0000000..e786982 --- /dev/null +++ b/md2gost/diagrams/schemes.json @@ -0,0 +1,60 @@ +{ + "c4": { + "title": "C4 Container", + "version": "1.0.0", + "author": "md2gost", + "docs": "Person(alias, \"Label\", \"descr?\")\nSystem(alias, \"Label\", \"descr?\")\nSystem_Ext(alias, \"Label\")\nContainer(alias, \"Label\", \"techn\", \"descr?\")\nContainerDb(alias, \"Label\", \"techn\")\nRel(from, to, \"label\", \"techn?\")\nRel_R / Rel_L / Rel_U / Rel_D — направление\nLAYOUT_WITH_LEGEND()", + "ai-prompt": "Рисуй C4 Container diagram. В блоке ```uml-c4 (или ```c4) пиши только макросы C4: Person, System, Container, Rel. Без @startuml и без !include — схема добавит сама.", + "includes": [ + "https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml" + ], + "prefix": "@startuml\n", + "postfix": "\nLAYOUT_WITH_LEGEND()\n@enduml" + }, + "c4context": { + "title": "C4 Context", + "version": "1.0.0", + "author": "md2gost", + "docs": "Person(alias, \"Label\")\nSystem(alias, \"Label\", \"descr?\")\nSystem_Ext(alias, \"Label\")\nSystem_Boundary(alias, \"Label\") { … }\nRel(from, to, \"label\")\nLAYOUT_WITH_LEGEND()", + "ai-prompt": "Рисуй C4 System Context. В блоке ```uml-c4context только макросы C4 Context. Без @startuml и !include.", + "includes": [ + "https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml" + ], + "prefix": "@startuml\n", + "postfix": "\nLAYOUT_WITH_LEGEND()\n@enduml" + }, + "c4component": { + "title": "C4 Component", + "version": "1.0.0", + "author": "md2gost", + "docs": "Container_Boundary(alias, \"Label\") { … }\nComponent(alias, \"Label\", \"techn\", \"descr?\")\nComponentDb(alias, \"Label\", \"techn\")\nRel(from, to, \"label\")\nLAYOUT_WITH_LEGEND()", + "ai-prompt": "Рисуй C4 Component diagram. В блоке ```uml-c4component только макросы C4 Component. Без @startuml и !include.", + "includes": [ + "https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml" + ], + "prefix": "@startuml\n", + "postfix": "\nLAYOUT_WITH_LEGEND()\n@enduml" + }, + "usecase": { + "title": "Прецеденты (Use Case)", + "version": "1.0.0", + "author": "md2gost", + "docs": "left to right direction\nactor \"Имя\" as A\nrectangle Система {\n usecase \"Сценарий\" as UC1\n}\nA --> UC1\nUC1 .> UC2 : <>\nUC3 .> UC1 : <>", + "ai-prompt": "Рисуй UML Use Case. В блоке ```uml-usecase (или ```usecase) — actor, usecase, связи. Без @startuml — схема обернёт сама.", + "includes": [], + "prefix": "@startuml\nleft to right direction\nskinparam actorStyle awesome\n", + "postfix": "\n@enduml" + }, + "bpmn": { + "title": "BPMN 2.0", + "version": "1.0.0", + "author": "md2gost", + "docs": "Pool(alias, \"Участник\") { Lane(alias, \"Роль\") { … } }\nStart / StartMessage / StartTimer / StartSignal\nCatchMessage / ThrowMessage / CatchTimer / CatchError\nEnd / EndMessage / EndError / EndTerminate\nTask(alias, \"Имя\") / UserTask / ServiceTask / ScriptTask / ManualTask / SendTask / ReceiveTask / BusinessRuleTask\nSubProcess / SubProcessExpanded { … } / CallActivity\nXOR / AND / OR / EventBased / ComplexGW\nFlow / Flow_R/L/U/D / CondFlow(from, to, \"условие\") / DefaultFlow / MessageFlow\nDataObject / DataStore / Annotation\nBoundaryError + Attach(task, event)\nBPMN_VERTICAL() / BPMN_LEGEND()", + "ai-prompt": "Рисуй BPMN 2.0 (OMG). В блоке ```uml-bpmn (или ```bpmn) только макросы библиотеки md2gost. Без @startuml и без !include.\n\nПравила: Sequence Flow (Flow) только внутри одного пула. Между пулами — MessageFlow. У процесса есть Start и хотя бы один End. Развилка и слияние — шлюзы (XOR/AND/OR), не рисуй ветвление со стрелок задачи без шлюза, если это решение. Подпись условия — на CondFlow/Flow от шлюза. DefaultFlow — ветка «иначе». Не используй activity-syntax (start/:task/;), mxgraph и чистый UML.\n\nМакросы:\nПул: Pool(alias, \"Имя\") { Lane(alias, \"Роль\") { ... } }\nСобытия: Start, StartMessage, StartTimer, StartSignal, StartCondition, Intermediate, CatchMessage, ThrowMessage, CatchTimer, CatchSignal, ThrowSignal, CatchError, End, EndMessage, EndError, EndTerminate, EndSignal\nЗадачи: Task, UserTask, ServiceTask, ScriptTask, ManualTask, SendTask, ReceiveTask, BusinessRuleTask, SubProcess, SubProcessExpanded { ... }, CallActivity\nШлюзы: Exclusive/XOR, Parallel/AND, Inclusive/OR, EventBased, ComplexGW\nПотоки: Flow, Flow_R, Flow_L, Flow_U, Flow_D, CondFlow(from,to,\"условие\"), DefaultFlow, MessageFlow, Assoc, DataAssoc\nДанные: DataObject, DataStore, Annotation\nГраница: BoundaryError/Timer/Message + Attach(task, event)\nМакет: Lay_R/L/U/D, BPMN_VERTICAL(), BPMN_LEGEND()\nПсевдонимы элементов — латиница (s, t1, gw, e_ok). Не называй alias зарезервированными словами end/start/group.", + "includes": [ + "BPMN.puml" + ], + "prefix": "@startuml\nleft to right direction\n", + "postfix": "\n@enduml" + } +} diff --git a/md2gost/dnd.py b/md2gost/dnd.py new file mode 100644 index 0000000..7ce61cb --- /dev/null +++ b/md2gost/dnd.py @@ -0,0 +1,326 @@ +"""File-drop helpers for the md2gost GUI (tkinterdnd2 or Windows WM_DROPFILES).""" + +from __future__ import annotations + +import os +import sys +from collections.abc import Callable +from urllib.parse import unquote, urlparse + +DropCallback = Callable[[list[str]], None] + + +def parse_tkdnd_files(data: str) -> list[str]: + """Parse a TkDND file list (`{C:\\a b.md} C:\\c.md`).""" + files: list[str] = [] + text = (data or "").strip() + i = 0 + n = len(text) + while i < n: + if text[i].isspace(): + i += 1 + continue + if text[i] == "{": + j = text.find("}", i + 1) + if j < 0: + files.append(text[i + 1 :]) + break + files.append(text[i + 1 : j]) + i = j + 1 + continue + j = i + while j < n and not text[j].isspace(): + j += 1 + files.append(text[i:j]) + i = j + return files + + +def normalize_drop_paths(items: list[str] | str) -> list[str]: + if isinstance(items, str): + items = parse_tkdnd_files(items) + out: list[str] = [] + for raw in items: + if isinstance(raw, bytes): + try: + raw = raw.decode("utf-8") + except UnicodeDecodeError: + raw = raw.decode(sys.getfilesystemencoding() or "utf-8", errors="replace") + path = raw.strip().strip('"') + if not path: + continue + if path.lower().startswith("file:"): + parsed = urlparse(path) + path = unquote(parsed.path) + if sys.platform == "win32" and path.startswith("/") and len(path) > 3 and path[2] == ":": + path = path[1:] + out.append(os.path.normpath(path)) + return out + + +def first_markdown(paths: list[str]) -> str | None: + for path in paths: + if path.lower().endswith(".md") and os.path.isfile(path): + return path + return None + + +def enable_file_drop(widget, callback: DropCallback) -> str: + """Enable dropping files onto widget. Returns backend name: tkdnd | win32 | none.""" + def _deliver(items: list[str] | str) -> None: + callback(normalize_drop_paths(items)) + + if _try_tkdnd(widget, _deliver): + return "tkdnd" + if sys.platform == "win32" and _WinDropHook.attach(widget, _deliver): + return "win32" + return "none" + + +def _try_tkdnd(widget, deliver: DropCallback) -> bool: + try: + from tkinterdnd2 import DND_FILES + except ImportError: + return False + register = getattr(widget, "drop_target_register", None) + bind = getattr(widget, "dnd_bind", None) + if register is None or bind is None: + root = widget.winfo_toplevel() + register = getattr(root, "drop_target_register", None) + bind = getattr(root, "dnd_bind", None) + target = root + else: + target = widget + if register is None or bind is None: + return False + try: + register(DND_FILES) + bind("<>", lambda event: deliver(getattr(event, "data", "") or "")) + bind("<>", lambda event: widget.event_generate("<>")) + bind("<>", lambda event: widget.event_generate("<>")) + except Exception: + return False + return True + + +class _WinDropHook: + """Subclass a Win32 HWND and accept WM_DROPFILES. Keep a strong ref on the widget.""" + + _hooks: list[_WinDropHook] = [] + + def __init__(self, widget, callback: DropCallback): + self.widget = widget + self.callback = callback + self._pending: list[str] = [] + self._old_proc = None + self._wndproc = None + self._hwnd = 0 + self._alive = True + + @classmethod + def attach(cls, widget, callback: DropCallback) -> bool: + try: + toplevel = widget.winfo_toplevel() + except Exception: + toplevel = widget + if getattr(toplevel, "_md2gost_dnd_hooked", False): + return True + + hook = cls(widget, callback) + + def start(_event=None): + if getattr(toplevel, "_md2gost_dnd_hooked", False): + return + if hook._install(): + toplevel._md2gost_dnd_hooked = True + toplevel._md2gost_dnd_hook = hook + cls._hooks.append(hook) + + widget.bind("", start, add="+") + widget.bind("", lambda e: hook._detach(), add="+") + try: + if widget.winfo_ismapped(): + start() + else: + widget.after_idle(start) + except Exception: + widget.after(200, start) + return True + + def _install(self) -> bool: + try: + api = _win32_drop_api() + except Exception: + return False + + hwnd = _toplevel_hwnd(self.widget) + if not hwnd: + return False + + WM_DROPFILES = 0x0233 + GWLP_WNDPROC = -4 + WS_EX_ACCEPTFILES = 0x00000010 + GWL_EXSTYLE = -20 + + def wndproc(hw, msg, wp, lp): + if msg == WM_DROPFILES: + try: + hdrop = int(wp) if wp is not None else 0 + if hdrop: + self._pending.extend(_query_drop_files(hdrop, api=api)) + api.DragFinish(hdrop) + except Exception: + pass + return 0 + if self._old_proc: + return api.CallWindowProc(self._old_proc, hw, msg, wp, lp) + return api.DefWindowProc(hw, msg, wp, lp) + + self._wndproc = api.WNDPROC(wndproc) + try: + ex = api.GetWindowLong(hwnd, GWL_EXSTYLE) or 0 + api.SetWindowLong(hwnd, GWL_EXSTYLE, int(ex) | WS_EX_ACCEPTFILES) + api.DragAcceptFiles(hwnd, True) + self._old_proc = api.GetWindowLongPtr(hwnd, GWLP_WNDPROC) + api.SetWindowLongPtr(hwnd, GWLP_WNDPROC, api.as_ptr(self._wndproc)) + except Exception: + return False + + self._hwnd = hwnd + self._poll() + return True + + def _poll(self) -> None: + if not self._alive: + return + if self._pending: + files = self._pending[:] + self._pending.clear() + try: + self.callback(files) + except Exception: + pass + try: + self.widget.after(120, self._poll) + except Exception: + self._alive = False + + def _detach(self) -> None: + self._alive = False + if not self._hwnd or self._old_proc is None: + return + try: + api = _win32_drop_api() + api.SetWindowLongPtr(self._hwnd, -4, self._old_proc) + except Exception: + pass + self._old_proc = None + + +class _Win32DropApi: + def __init__(self): + import ctypes + from ctypes import wintypes + + self._ctypes = ctypes + is64 = ctypes.sizeof(ctypes.c_void_p) == 8 + # wintypes.WPARAM/LPARAM historically were 32-bit; force pointer width. + WPARAM = ctypes.c_uint64 if is64 else ctypes.c_uint + LPARAM = ctypes.c_int64 if is64 else ctypes.c_long + HWND = ctypes.c_void_p + LRESULT = ctypes.c_int64 if is64 else ctypes.c_long + + user32 = ctypes.WinDLL("user32", use_last_error=True) + shell32 = ctypes.WinDLL("shell32", use_last_error=True) + + get_ptr = user32.GetWindowLongPtrW if is64 else user32.GetWindowLongW + set_ptr = user32.SetWindowLongPtrW if is64 else user32.SetWindowLongW + get_ptr.argtypes = [HWND, ctypes.c_int] + get_ptr.restype = ctypes.c_void_p + set_ptr.argtypes = [HWND, ctypes.c_int, ctypes.c_void_p] + set_ptr.restype = ctypes.c_void_p + + # GWL_EXSTYLE is a 32-bit style mask; Get/SetWindowLongW is enough. + get_long = user32.GetWindowLongW + set_long = user32.SetWindowLongW + get_long.argtypes = [HWND, ctypes.c_int] + get_long.restype = ctypes.c_long + set_long.argtypes = [HWND, ctypes.c_int, ctypes.c_long] + set_long.restype = ctypes.c_long + + call_proc = user32.CallWindowProcW + call_proc.argtypes = [ctypes.c_void_p, HWND, wintypes.UINT, WPARAM, LPARAM] + call_proc.restype = LRESULT + + def_proc = user32.DefWindowProcW + def_proc.argtypes = [HWND, wintypes.UINT, WPARAM, LPARAM] + def_proc.restype = LRESULT + + accept = shell32.DragAcceptFiles + accept.argtypes = [HWND, wintypes.BOOL] + accept.restype = None + + finish = shell32.DragFinish + finish.argtypes = [ctypes.c_void_p] + finish.restype = None + + query = shell32.DragQueryFileW + query.argtypes = [ctypes.c_void_p, wintypes.UINT, ctypes.c_wchar_p, wintypes.UINT] + query.restype = wintypes.UINT + + self.shell32 = shell32 + self.WNDPROC = ctypes.WINFUNCTYPE(LRESULT, HWND, wintypes.UINT, WPARAM, LPARAM) + self.GetWindowLongPtr = get_ptr + self.SetWindowLongPtr = set_ptr + self.GetWindowLong = get_long + self.SetWindowLong = set_long + self.CallWindowProc = call_proc + self.DefWindowProc = def_proc + self.DragAcceptFiles = accept + self.DragFinish = finish + self.DragQueryFileW = query + + def as_ptr(self, wndproc): + return self._ctypes.cast(wndproc, self._ctypes.c_void_p).value + + +_WIN32_DROP_API = None + + +def _win32_drop_api() -> _Win32DropApi: + global _WIN32_DROP_API + if _WIN32_DROP_API is None: + _WIN32_DROP_API = _Win32DropApi() + return _WIN32_DROP_API + + +def _toplevel_hwnd(widget) -> int: + try: + import ctypes + hwnd = int(widget.winfo_id()) + GA_ROOT = 2 + root = ctypes.windll.user32.GetAncestor(hwnd, GA_ROOT) + if root: + return int(root) + parent = ctypes.windll.user32.GetParent(hwnd) + return int(parent or hwnd) + except Exception: + try: + return int(widget.winfo_id()) + except Exception: + return 0 + + +def _query_drop_files(hdrop: int, api: _Win32DropApi | None = None) -> list[str]: + import ctypes + + query = (api or _win32_drop_api()).DragQueryFileW + count = query(hdrop, 0xFFFFFFFF, None, 0) + files: list[str] = [] + for i in range(count): + length = query(hdrop, i, None, 0) + buf = ctypes.create_unicode_buffer(length + 1) + query(hdrop, i, buf, length + 1) + if buf.value: + files.append(buf.value) + return files diff --git a/md2gost/docx_elements.py b/md2gost/docx_elements.py index f580403..4751610 100644 --- a/md2gost/docx_elements.py +++ b/md2gost/docx_elements.py @@ -24,6 +24,7 @@ __all__ = [ "create_table_row", "create_table_cell", "apply_cell_merge", + "set_table_box_borders", ] @@ -117,3 +118,27 @@ def apply_cell_merge(cell: _Cell, v_merge: str | None = None, grid_span: int | N tcPr.append(create_element("w:vMerge")) if grid_span and grid_span > 1: tcPr.append(create_element("w:gridSpan", {"w:val": str(grid_span)})) + + +def set_table_box_borders(table: Table, *, sz: str = "4", color: str = "000000") -> None: + """Outer frame only — no inside H/V lines (listings look like text in a box).""" + tbl = table._tbl + tblPr = tbl.tblPr + if tblPr is None: + tblPr = create_element("w:tblPr") + tbl.insert(0, tblPr) + for el in list(tblPr.findall(qn("w:tblBorders"))): + tblPr.remove(el) + solid = {"w:val": "single", "w:sz": sz, "w:space": "0", "w:color": color} + none = {"w:val": "nil"} + borders = create_element("w:tblBorders") + for edge, attrs in ( + ("w:top", solid), + ("w:left", solid), + ("w:bottom", solid), + ("w:right", solid), + ("w:insideH", none), + ("w:insideV", none), + ): + borders.append(create_element(edge, attrs)) + tblPr.append(borders) \ No newline at end of file diff --git a/md2gost/docx_svg.py b/md2gost/docx_svg.py new file mode 100644 index 0000000..864940e --- /dev/null +++ b/md2gost/docx_svg.py @@ -0,0 +1,55 @@ +"""Attach SVG as Word svgBlip alongside a PNG InlineShape (Office 2016+).""" + +from __future__ import annotations + +from pathlib import Path + +from docx.opc.constants import RELATIONSHIP_TYPE as RT +from docx.opc.part import Part +from docx.oxml import OxmlElement +from docx.oxml.ns import qn +from lxml import etree + +SVG_CONTENT_TYPE = "image/svg+xml" +SVG_BLIP_URI = "{96DAC541-7B7A-43C6-8E14-B03AE682B59D}" +ASVG_NS = "http://schemas.microsoft.com/office/drawing/2016/SVG/main" +ASVG_SVG_BLIP = f"{{{ASVG_NS}}}svgBlip" + + +def attach_svg_blip(run, inline_shape, svg_path: str | Path) -> bool: + """ + After run.add_picture(png), add an SVG part and asvg:svgBlip on the PNG blip. + Word 2016+ uses the vector; older apps keep the PNG. + Returns True if the SVG was attached. + """ + path = Path(svg_path) + if not path.is_file() or path.stat().st_size <= 0: + return False + data = path.read_bytes() + head = data.lstrip()[:200].lower() + if not (head.startswith(b" tuple[str | None, bool, bool]: + """Return (clean_text, with_listing, landscape) from caption / image-title tail.""" + text = (raw or "").strip() + with_listing = bool(_LISTING_FLAG_RE.search(text)) + landscape = bool(_LANDSCAPE_FLAG_RE.search(text)) + if with_listing: + text = _LISTING_FLAG_RE.sub(" ", text) + if landscape: + text = _LANDSCAPE_FLAG_RE.sub(" ", text) + text = " ".join(text.split()).strip() + return (text or None), with_listing, landscape class Caption(BlockElement): """Represents caption element - Syntax: %label Caption text [+listing] + Syntax: %label Caption text [+listing] [+landscape] """ + # Interrupt an open paragraph so «текст:\\n%id …» still becomes a Caption + # (otherwise marko treats the % line as paragraph continuation / plain text). + breaks_paragraph = True + priority = 6 pattern = r"\%(\w+)( (.+))?" def __init__(self, match: Match[str]): self.unique_name = match.group(1) raw = (match.group(3) or "").strip() - self.with_listing = bool(_LISTING_FLAG_RE.search(raw)) - if self.with_listing: - raw = _LISTING_FLAG_RE.sub(" ", raw).strip() - self.text = raw or None + self.text, self.with_listing, self.landscape = strip_caption_flags(raw) @classmethod def match(cls, source: Source) -> Match[str] | None: diff --git a/md2gost/extended_markdown/image.py b/md2gost/extended_markdown/image.py index fe0280e..2450318 100644 --- a/md2gost/extended_markdown/image.py +++ b/md2gost/extended_markdown/image.py @@ -2,6 +2,8 @@ import re from marko.inline import Image as Image_ +from .caption import strip_caption_flags + class Image(Image_): override = True @@ -9,7 +11,11 @@ class Image(Image_): super().__init__(match) self.unique_name = None + self.with_listing = False + self.landscape = False if self.title and (m := re.match(r"\%(\w+)( (.+))?", self.title)): self.unique_name = m.group(1) - self.title = (m.group(3) or "").strip() or None + self.title, self.with_listing, self.landscape = strip_caption_flags( + (m.group(3) or "").strip() + ) diff --git a/md2gost/gui.py b/md2gost/gui.py new file mode 100644 index 0000000..7504176 --- /dev/null +++ b/md2gost/gui.py @@ -0,0 +1,1260 @@ +"""Tkinter GUI for md2gost: drop a .md, pick options, convert.""" + +from __future__ import annotations + +import os +import sys +import threading +import tkinter as tk +from tkinter import filedialog, messagebox, ttk + +from .diagram_includes import cache_entry_count, reset_include_cache +from .diagram_renderer import diagram_engine_status +from .diagram_schemes import ( + DiagramScheme, + SCHEME_ID_RE, + ensure_user_schemes, + load_schemes_from_path, + reload_schemes, + save_schemes, + user_schemes_path, +) +from .dnd import enable_file_drop, first_markdown +from .help_content import SCHEMES_HELP, USAGE_HELP, load_prompt_catalog +from .pipeline import ConvertRequest, convert, default_output_path +from .profiles import ( + DEFAULT_HEADING_NUMBERING, + DEFAULT_TABLE_CONTINUATION, + DEFAULT_LISTING_CONTINUATION, + DEFAULT_TOC_MODE, + DOC_TYPES, + HEADING_NUMBERING_MODES, + TABLE_CONTINUATION_MODES, + LISTING_CONTINUATION_MODES, + TOC_MODES, +) + +DOC_TYPE_LABELS = { + "coursework": "Курсовая (ГОСТ / МИРЭА)", + "practice": "Практика", + "vkr": "ВКР", + "PIS_custom": "Отчёт по практическим (ПИС)", + "APID_coursework": "Курсовая АПИД", +} +HEADING_LABELS = { + "manual": "Из markdown (цифры уже в заголовках)", + "auto": "Автонумерация Word", +} +TOC_LABELS = { + "native": "Поле Word (обновить при открытии)", + "manual": "Собрать в md2gost", +} +TABLE_LABELS = { + "off": "Не резать", + "soft": "Как «не резать»", + "word": "Через Word после сборки (по умолчанию)", + "legacy": "Резать + «Продолжение»", + "caption": "Резать + разрыв страницы + «Продолжение»", +} +FALLBACK_LABELS = { + "remote": "Авто: локально, иначе интернет (kroki.io)", + "local": "Только этот компьютер (нужна Java)", + "off": "Не рисовать диаграммы", +} +FORMAT_LABELS = { + "png": "PNG (растр, совместимо везде)", + "svg": "SVG + PNG (вектор в Word 2016+)", +} + +NAVY = "#1e3a5f" +NAVY_DIM = "#4a6583" +PAPER = "#f6f3ec" +ZONE = "#e8eef5" +ZONE_OK = "#dceee3" +INK = "#243044" +MUTED = "#5c6b7a" +TIP_BG = "#ffffe1" + + +def _make_root() -> tuple[tk.Tk, str]: + try: + from tkinterdnd2 import TkinterDnD + return TkinterDnD.Tk(), "tkdnd" + except ImportError: + return tk.Tk(), "tk" + + +def _combo_values(mapping: dict[str, str], keys: tuple[str, ...]) -> list[str]: + return [f"{key} — {mapping.get(key, key)}" for key in keys] + + +def _combo_key(display: str, allowed: tuple[str, ...], default: str) -> str: + key = (display or "").split(" — ", 1)[0].strip() + return key if key in allowed else default + + +def _display(mapping: dict[str, str], key: str) -> str: + return f"{key} — {mapping.get(key, key)}" + + +class _Tooltip: + """Simple balloon tip on hover (Tk has no built-in tooltip).""" + + def __init__(self, widget, text: str, delay_ms: int = 400): + self.widget = widget + self.text = text + self.delay_ms = delay_ms + self._after_id: str | None = None + self._tip: tk.Toplevel | None = None + widget.bind("", self._on_enter, add="+") + widget.bind("", self._on_leave, add="+") + widget.bind("", self._on_leave, add="+") + + def _on_enter(self, _event=None) -> None: + self._cancel() + self._after_id = self.widget.after(self.delay_ms, self._show) + + def _on_leave(self, _event=None) -> None: + self._cancel() + self._hide() + + def _cancel(self) -> None: + if self._after_id is not None: + try: + self.widget.after_cancel(self._after_id) + except tk.TclError: + pass + self._after_id = None + + def _show(self) -> None: + self._after_id = None + if self._tip is not None or not self.text: + return + try: + x = self.widget.winfo_rootx() + 16 + y = self.widget.winfo_rooty() + self.widget.winfo_height() + 4 + except tk.TclError: + return + tip = tk.Toplevel(self.widget) + tip.wm_overrideredirect(True) + tip.wm_geometry(f"+{x}+{y}") + try: + tip.attributes("-topmost", True) + except tk.TclError: + pass + label = tk.Label( + tip, + text=self.text, + justify=tk.LEFT, + background=TIP_BG, + foreground=INK, + relief=tk.SOLID, + borderwidth=1, + padx=6, + pady=4, + font=("Segoe UI", 9) if os.name == "nt" else ("Helvetica", 9), + wraplength=320, + ) + label.pack() + self._tip = tip + + def _hide(self) -> None: + if self._tip is not None: + try: + self._tip.destroy() + except tk.TclError: + pass + self._tip = None + + +def _tip(widget, text: str) -> None: + if text: + _Tooltip(widget, text) + + +class Md2GostApp: + def __init__(self, initial: ConvertRequest | None = None): + self.req = initial or ConvertRequest() + self.root, _ = _make_root() + self.root.title("md2gost — Markdown → DOCX") + self.root.minsize(680, 560) + self.root.geometry("780x700") + self.root.configure(bg=PAPER) + + self._busy = False + self._auto_output = True + self._dnd_backend = "none" + self._last_md = "" + self._schemes: dict[str, DiagramScheme] = {} + self._scheme_ids: list[str] = [] + self._scheme_selecting = False + self._debug_next = False + + self._win_files: tk.Toplevel | None = None + self._win_diagrams: tk.Toplevel | None = None + self._win_schemes: tk.Toplevel | None = None + self._win_help: dict[str, tk.Toplevel] = {} + + ensure_user_schemes() + self._build_style() + self._init_vars() + self._build_menu() + self._build() + self._apply_request(self.req) + self.root.after(300, self._setup_dnd) + + if self.req.filename: + self._set_markdown(self.req.filename, from_user_output=bool(self.req.output)) + + def _build_style(self) -> None: + style = ttk.Style(self.root) + try: + style.theme_use("vista" if os.name == "nt" else "clam") + except tk.TclError: + pass + font = ("Segoe UI", 10) if os.name == "nt" else ("Helvetica", 10) + font_title = ("Segoe UI", 16, "bold") if os.name == "nt" else ("Helvetica", 16, "bold") + style.configure(".", background=PAPER, foreground=INK, font=font) + style.configure("TFrame", background=PAPER) + style.configure("TLabelframe", background=PAPER, foreground=NAVY) + style.configure("TLabelframe.Label", background=PAPER, foreground=NAVY, font=font) + style.configure("TLabel", background=PAPER, foreground=INK, font=font) + style.configure("Title.TLabel", font=font_title, foreground=NAVY, background=PAPER) + style.configure("Hint.TLabel", foreground=MUTED, background=PAPER) + style.configure("TCheckbutton", background=PAPER, font=font) + style.configure("TButton", font=font, padding=(10, 4)) + style.configure("TEntry", padding=3) + style.configure("TCombobox", padding=3) + + def _init_vars(self) -> None: + self.output_var = tk.StringVar() + self.type_var = tk.StringVar() + self.heading_var = tk.StringVar() + self.toc_var = tk.StringVar() + self.table_var = tk.StringVar() + self.listing_var = tk.StringVar() + self.emdash_var = tk.BooleanVar(value=False) + self.hr_pagebreak_var = tk.BooleanVar(value=False) + self.open_var = tk.BooleanVar(value=True) + self.check_var = tk.BooleanVar(value=False) + self.check_only_var = tk.BooleanVar(value=False) + self.strict_var = tk.BooleanVar(value=False) + self.check_pages_var = tk.BooleanVar(value=False) + self.table_repeat_header_var = tk.BooleanVar(value=False) + self.template_var = tk.StringVar() + self.title_var = tk.StringVar() + self.assignment_var = tk.StringVar() + self.fallback_var = tk.StringVar() + self.format_var = tk.StringVar() + self.plantuml_var = tk.StringVar() + self.kroki_var = tk.StringVar() + self.scale_var = tk.StringVar(value="2") + self.highlight_var = tk.BooleanVar(value=False) + self.debug_var = tk.BooleanVar(value=False) + self.output_var.trace_add("write", self._on_output_edited) + + def _build_menu(self) -> None: + # tearoff=0 обязателен: иначе index 0 — пунктир, и «Дебаг» перезаписывает «Справку» + menubar = tk.Menu(self.root, tearoff=0) + + settings = tk.Menu(menubar, tearoff=0) + settings.add_command(label="Файлы…", command=self._open_files_window) + settings.add_command(label="Диаграммы…", command=self._open_diagrams_window) + menubar.add_cascade(label="Настройки", menu=settings) + + menubar.add_command(label="Шаблоны UML", command=self._open_schemes_window) + + help_menu = tk.Menu(menubar, tearoff=0) + help_menu.add_command(label="Инструкция", command=lambda: self._open_help_window("usage")) + help_menu.add_command(label="Схемы", command=lambda: self._open_help_window("schemes")) + help_menu.add_command(label="Промпт для ИИ", command=lambda: self._open_help_window("prompts")) + menubar.add_cascade(label="Справка", menu=help_menu) + + menubar.add_command(label="Дебаг", command=self._toggle_debug) + self._debug_menu_index = int(menubar.index("end")) + self._menubar = menubar + self.root.config(menu=menubar) + + def _raise_or_create(self, existing: tk.Toplevel | None, factory) -> tk.Toplevel: + if existing is not None: + try: + if existing.winfo_exists(): + existing.deiconify() + existing.lift() + existing.focus_force() + return existing + except tk.TclError: + pass + return factory() + + def _open_files_window(self) -> None: + self._win_files = self._raise_or_create(self._win_files, self._create_files_window) + + def _open_diagrams_window(self) -> None: + self._win_diagrams = self._raise_or_create(self._win_diagrams, self._create_diagrams_window) + + def _open_schemes_window(self) -> None: + self._win_schemes = self._raise_or_create(self._win_schemes, self._create_schemes_window) + + def _open_help_window(self, kind: str) -> None: + win = self._win_help.get(kind) + if win is not None: + try: + if win.winfo_exists(): + win.deiconify() + win.lift() + win.focus_force() + return + except tk.TclError: + pass + self._win_help[kind] = self._create_help_window(kind) + + def _create_files_window(self) -> tk.Toplevel: + win = tk.Toplevel(self.root) + win.title("Настройки — Файлы") + win.configure(bg=PAPER) + win.minsize(520, 200) + win.geometry("620x240") + win.transient(self.root) + frame = ttk.Frame(win, padding=12) + frame.pack(fill=tk.BOTH, expand=True) + frame.columnconfigure(1, weight=1) + self._row_path(frame, 0, "Шаблон DOCX", self.template_var, self._browse_template, clearable=True, + tip="Пусто — встроенный Template.docx") + self._row_path(frame, 1, "Титульный лист", self.title_var, self._browse_title, clearable=True, + tip="DOCX титула, вставляется перед телом отчёта") + self._row_path(frame, 2, "Бланк задания", self.assignment_var, self._browse_assignment, clearable=True, + tip="DOCX бланка задания, вставляется перед телом отчёта") + hint = ttk.Label( + frame, + text="Пустой шаблон — встроенный Template.docx. Титул и задание вставляются перед телом отчёта.", + style="Hint.TLabel", + wraplength=560, + ) + hint.grid(row=3, column=0, columnspan=2, sticky="w", pady=(8, 0)) + win.protocol("WM_DELETE_WINDOW", lambda: self._close_toplevel(win, "_win_files")) + return win + + def _create_diagrams_window(self) -> tk.Toplevel: + win = tk.Toplevel(self.root) + win.title("Настройки — Диаграммы") + win.configure(bg=PAPER) + win.minsize(560, 420) + win.geometry("680x520") + win.transient(self.root) + extra = ttk.Frame(win, padding=12) + extra.pack(fill=tk.BOTH, expand=True) + extra.columnconfigure(1, weight=1) + + hint = ttk.Label( + extra, + text=( + "Блоки ```uml / ```uml-c4 / ```bpmn / ```mermaid сами станут рисунками.\n" + "Схемы редактируются в меню «Шаблоны UML» (файл md2gost.schemes.json).\n" + "UML: сначала PlantUML + Java, иначе интернет (kroki.io). Mermaid — только через Kroki." + ), + style="Hint.TLabel", + wraplength=640, + justify=tk.LEFT, + ) + hint.grid(row=0, column=0, columnspan=2, sticky="w", pady=(0, 8)) + + status_row = ttk.Frame(extra) + status_row.grid(row=1, column=0, columnspan=2, sticky="ew", pady=(0, 8)) + status_row.columnconfigure(0, weight=1) + self.diag_status = ttk.Label(status_row, text="", style="Hint.TLabel", wraplength=480, justify=tk.LEFT) + self.diag_status.grid(row=0, column=0, sticky="w") + btn_dl = ttk.Button(status_row, text="Скачать PlantUML", command=self._download_plantuml) + btn_dl.grid(row=0, column=1, sticky="e", padx=(8, 0)) + _tip(btn_dl, "Скачать plantuml.jar для локальной отрисовки (нужна Java)") + + self._combo( + extra, 2, "Как рисовать", + self.fallback_var, + _combo_values(FALLBACK_LABELS, ("remote", "local", "off")), + tip="Локально (PlantUML+Java), через интернет или не рисовать", + ) + self._combo( + extra, 3, "Формат схем", + self.format_var, + _combo_values(FORMAT_LABELS, ("png", "svg")), + tip="PNG везде; SVG — вектор в Word 2016+ (PNG рядом как запасной)", + ) + + ttk.Label(extra, text="Scale PNG (PlantUML)").grid(row=4, column=0, sticky="w", padx=(0, 8), pady=3) + scale_row = ttk.Frame(extra) + scale_row.grid(row=4, column=1, sticky="w", pady=3) + scale_entry = ttk.Entry(scale_row, textvariable=self.scale_var, width=8) + scale_entry.pack(side=tk.LEFT) + _tip(scale_entry, "Качество растра PlantUML; на странице размер как при 1") + ttk.Label( + scale_row, + text=" качество; на странице размер как при 1", + style="Hint.TLabel", + ).pack(side=tk.LEFT) + + ttk.Label( + extra, + text="SVG — вектор в Word 2016+ (PNG всегда рядом как запасной). LibreOffice покажет растр.\n" + "+landscape у %подписи — альбомная A4 под широкий рисунок/таблицу.", + style="Hint.TLabel", + wraplength=640, + ).grid(row=5, column=0, columnspan=2, sticky="w", pady=(2, 0)) + ttk.Label( + extra, + text="Свой plantuml.jar — только если хотите другой файл. Пусто = вшитый или скачаем сами.", + style="Hint.TLabel", + wraplength=640, + ).grid(row=6, column=0, columnspan=2, sticky="w", pady=(6, 0)) + self._row_path(extra, 7, "Свой plantuml.jar", self.plantuml_var, self._browse_jar, clearable=True, + tip="Пусто — вшитый jar или скачанный автоматически") + ttk.Label( + extra, + text="Свой Kroki — только если у вас крутится свой сервер. Пусто = сначала localhost:8000, потом kroki.io.", + style="Hint.TLabel", + wraplength=640, + ).grid(row=8, column=0, columnspan=2, sticky="w", pady=(6, 0)) + ttk.Label(extra, text="Свой Kroki URL").grid(row=9, column=0, sticky="w", padx=(0, 8), pady=3) + kroki_entry = ttk.Entry(extra, textvariable=self.kroki_var) + kroki_entry.grid(row=9, column=1, sticky="ew", pady=3) + _tip(kroki_entry, "URL своего Kroki; пусто — localhost:8000, затем kroki.io") + + extra_flags = ttk.Frame(extra) + extra_flags.grid(row=10, column=0, columnspan=2, sticky="w", pady=(8, 0)) + cb_hl = ttk.Checkbutton(extra_flags, text="Подсветка синтаксиса в листингах", variable=self.highlight_var) + cb_hl.pack(side=tk.LEFT, padx=(0, 16)) + _tip(cb_hl, "Цветная подсветка кода в листингах DOCX") + + cache_row = ttk.Frame(extra) + cache_row.grid(row=11, column=0, columnspan=2, sticky="w", pady=(10, 0)) + btn_open = ttk.Button(cache_row, text="Открыть файл схем", command=self._open_schemes_file) + btn_open.pack(side=tk.LEFT, padx=(0, 8)) + _tip(btn_open, "Открыть md2gost.schemes.json во внешней программе") + btn_cache = ttk.Button(cache_row, text="Сбросить кэш includes", command=self._reset_include_cache) + btn_cache.pack(side=tk.LEFT) + _tip(btn_cache, "Удалить скачанные !include файлы; при следующем рендере скачаются снова") + + self._refresh_diagram_status() + win.protocol("WM_DELETE_WINDOW", lambda: self._close_toplevel(win, "_win_diagrams")) + return win + + def _create_schemes_window(self) -> tk.Toplevel: + win = tk.Toplevel(self.root) + win.title("Шаблоны UML") + win.configure(bg=PAPER) + win.minsize(700, 480) + win.geometry("820x560") + win.transient(self.root) + parent = ttk.Frame(win, padding=12) + parent.pack(fill=tk.BOTH, expand=True) + parent.columnconfigure(0, weight=1) + parent.rowconfigure(1, weight=1) + self._build_schemes_tab(parent) + win.protocol("WM_DELETE_WINDOW", lambda: self._close_toplevel(win, "_win_schemes")) + return win + + def _create_help_window(self, kind: str) -> tk.Toplevel: + titles = { + "usage": "Справка — Инструкция", + "schemes": "Справка — Схемы", + "prompts": "Справка — Промпт для ИИ", + } + win = tk.Toplevel(self.root) + win.title(titles.get(kind, "Справка")) + win.configure(bg=PAPER) + win.minsize(560, 400) + win.geometry("700x560") + win.transient(self.root) + frame = ttk.Frame(win, padding=12) + frame.pack(fill=tk.BOTH, expand=True) + if kind == "usage": + self._build_help(frame) + elif kind == "schemes": + self._build_schemes_help(frame) + else: + self._build_prompts(frame) + + def on_close(): + self._win_help.pop(kind, None) + try: + win.destroy() + except tk.TclError: + pass + + win.protocol("WM_DELETE_WINDOW", on_close) + return win + + def _close_toplevel(self, win: tk.Toplevel, attr: str) -> None: + setattr(self, attr, None) + try: + win.destroy() + except tk.TclError: + pass + + def _toggle_debug(self) -> None: + if self.debug_var.get(): + self.debug_var.set(False) + self._debug_next = False + self._sync_debug_menu() + self._append_log("Дебаг выключен.") + return + self.debug_var.set(True) + self._debug_next = True + self._sync_debug_menu() + messagebox.showinfo( + "md2gost", + "Следующая сборка будет с отладкой.\n" + "В документ добавятся отладочные данные.\n" + "После этой конвертации режим сбросится.", + ) + self._append_log("Дебаг: следующая конвертация с отладочными данными.") + + def _sync_debug_menu(self) -> None: + label = "✓ Дебаг" if self.debug_var.get() else "Дебаг" + try: + idx = self._debug_menu_index + if self._menubar.type(idx) != "command": + return + self._menubar.entryconfigure(idx, label=label) + except tk.TclError: + pass + + def _build(self) -> None: + outer = ttk.Frame(self.root, padding=12) + outer.pack(fill=tk.BOTH, expand=True) + self._build_convert(outer) + self.root.bind("", self._on_return) + + def _on_return(self, event) -> str | None: + if isinstance(event.widget, tk.Text): + return None + self._convert() + return "break" + + def _build_help(self, parent) -> None: + ttk.Label( + parent, + text="Как пользоваться и синтаксис markdown", + style="Hint.TLabel", + ).pack(anchor=tk.W, pady=(0, 6)) + box = self._readonly_text(parent, USAGE_HELP.strip() + "\n") + box.pack(fill=tk.BOTH, expand=True) + + def _build_schemes_help(self, parent) -> None: + ttk.Label( + parent, + text="Настраиваемые схемы диаграмм (uml-c4, bpmn, …)", + style="Hint.TLabel", + ).pack(anchor=tk.W, pady=(0, 6)) + box = self._readonly_text(parent, SCHEMES_HELP.strip() + "\n") + box.pack(fill=tk.BOTH, expand=True) + + def _build_prompts(self, parent) -> None: + catalog = load_prompt_catalog() + ttk.Label( + parent, + text="Скопируйте промпт целиком и вставьте в ChatGPT / Cursor / Copilot. Следующим сообщением — тип, тема, черновик.", + style="Hint.TLabel", + wraplength=640, + ).pack(anchor=tk.W, pady=(0, 8)) + + if not catalog: + ttk.Label( + parent, + text="Файлы промптов не найдены (папка prompts/ рядом с программой).", + style="Hint.TLabel", + ).pack(anchor=tk.W) + return + + self._prompt_texts = {title: text for _name, title, text in catalog} + titles = [title for _name, title, _text in catalog] + self._prompt_choice = tk.StringVar(value=titles[0]) + + row = ttk.Frame(parent) + row.pack(fill=tk.X, pady=(0, 6)) + ttk.Label(row, text="Промпт").pack(side=tk.LEFT, padx=(0, 8)) + box = ttk.Combobox(row, textvariable=self._prompt_choice, values=titles, state="readonly") + box.pack(side=tk.LEFT, fill=tk.X, expand=True) + box.bind("<>", lambda _e: self._show_selected_prompt()) + btn = ttk.Button(row, text="Скопировать", command=self._copy_selected_prompt) + btn.pack(side=tk.LEFT, padx=(8, 0)) + _tip(btn, "Скопировать выбранный промпт в буфер обмена") + + self._prompt_view = self._readonly_text(parent, self._prompt_texts[titles[0]]) + self._prompt_view.pack(fill=tk.BOTH, expand=True) + self._copy_status = ttk.Label(parent, text="", style="Hint.TLabel") + self._copy_status.pack(anchor=tk.W, pady=(6, 0)) + + def _show_selected_prompt(self) -> None: + text = self._prompt_texts.get(self._prompt_choice.get(), "") + self._prompt_view.configure(state=tk.NORMAL) + self._prompt_view.delete("1.0", tk.END) + self._prompt_view.insert("1.0", text) + self._prompt_view.configure(state=tk.DISABLED) + self._copy_status.configure(text="") + + def _copy_selected_prompt(self) -> None: + text = self._prompt_texts.get(self._prompt_choice.get(), "") + if not text: + return + self.root.clipboard_clear() + self.root.clipboard_append(text) + self.root.update_idletasks() + self._copy_status.configure(text="Скопировано в буфер обмена — можно вставлять в ИИ.") + + def _readonly_text(self, parent, content: str) -> tk.Text: + wrap = ttk.Frame(parent) + text = tk.Text( + wrap, wrap=tk.WORD, relief=tk.FLAT, + bg="#fffdf8", fg=INK, padx=10, pady=8, + font=("Consolas", 9) if os.name == "nt" else ("monospace", 9), + ) + scroll = ttk.Scrollbar(wrap, command=text.yview) + text.configure(yscrollcommand=scroll.set) + text.insert("1.0", content) + text.configure(state=tk.DISABLED) + text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) + scroll.pack(side=tk.RIGHT, fill=tk.Y) + text._md2gost_wrap = wrap # type: ignore[attr-defined] + + def pack(**kwargs): + wrap.pack(**kwargs) + + text.pack = pack # type: ignore[method-assign] + return text + + def _build_convert(self, outer) -> None: + self.zone = tk.Frame( + outer, bg=ZONE, highlightthickness=2, + highlightbackground=NAVY, highlightcolor=NAVY, cursor="hand2", + ) + self.zone.pack(fill=tk.X, pady=(0, 8)) + self.zone_label = tk.Label( + self.zone, + text="Перетащите .md сюда · или нажмите, чтобы выбрать файл", + bg=ZONE, fg=NAVY, font=("Segoe UI", 11) if os.name == "nt" else ("Helvetica", 11), + justify=tk.CENTER, pady=14, + ) + self.zone_label.pack(fill=tk.X) + self.zone_path = tk.Label( + self.zone, text="", bg=ZONE, fg=NAVY_DIM, + font=("Segoe UI", 9) if os.name == "nt" else ("Helvetica", 9), + ) + self.zone_path.pack(fill=tk.X, pady=(0, 8)) + for w in (self.zone, self.zone_label, self.zone_path): + w.bind("", lambda _e: self._browse_md()) + _tip(self.zone, "Перетащите .md или кликните, чтобы выбрать файл") + _tip(self.zone_label, "Перетащите .md или кликните, чтобы выбрать файл") + + grid = ttk.Frame(outer) + grid.pack(fill=tk.X) + grid.columnconfigure(1, weight=1) + self._row_path(grid, 0, "Выходной DOCX", self.output_var, self._browse_output, + tip="Куда сохранить документ; пусто — рядом с .md") + + main = ttk.LabelFrame(outer, text="Основные", padding=8) + main.pack(fill=tk.X, pady=(10, 8)) + main.columnconfigure(1, weight=1) + + self._combo(main, 0, "Тип документа", self.type_var, _combo_values(DOC_TYPE_LABELS, DOC_TYPES), + tip="Профиль оформления: ГОСТ МИРЭА, ПИС, АПИД…") + self._combo(main, 1, "Нумерация заголовков", self.heading_var, _combo_values(HEADING_LABELS, HEADING_NUMBERING_MODES), + tip="Цифры уже в markdown или автонумерация Word") + self._combo(main, 2, "Содержание", self.toc_var, _combo_values(TOC_LABELS, TOC_MODES), + tip="Поле Word или собранное md2gost") + self._combo(main, 3, "Продолжение таблиц", self.table_var, _combo_values(TABLE_LABELS, TABLE_CONTINUATION_MODES), + tip="off — Word сам переносит; word — Split + «Продолжение» после сборки (нужен Word)") + self._combo(main, 4, "Продолжение листингов", self.listing_var, _combo_values(TABLE_LABELS, LISTING_CONTINUATION_MODES), + tip="То же для листингов; word требует Windows + Word + pywin32") + + flags = ttk.Frame(main) + flags.grid(row=5, column=0, columnspan=2, sticky="w", pady=(8, 0)) + checks = [ + ("Заменять «—» на «-»", self.emdash_var, "Типографское тире → дефис (методичка обычно требует «—»)"), + ("--- → разрыв страницы", self.hr_pagebreak_var, "Строка --- станет page break в Word"), + ("Открыть после конвертации", self.open_var, "Открыть DOCX после успешной сборки"), + ("Проверить по ТЗ", self.check_var, "Замечания по структуре, «рис.», источникам"), + ("Только проверка", self.check_only_var, "Проверить без записи DOCX"), + ("Строгий режим (код 1 при ошибках)", self.strict_var, "Ненулевой код выхода при ошибках проверки"), + ("Проверить вёрстку в Word (эвристика)", self.check_pages_var, "Полупустые страницы; нужны Word + pywin32"), + ( + "Повторять шапку таблицы при word-разрыве", + self.table_repeat_header_var, + "Только для «Продолжение таблиц = word»; по умолчанию выкл", + ), + ] + for i, (text, var, tip) in enumerate(checks): + r, c = divmod(i, 3) + cb = ttk.Checkbutton(flags, text=text, variable=var) + span = 2 if c == 0 and i >= 6 else 1 + cb.grid(row=r, column=c, columnspan=span, sticky="w", padx=(0, 16), pady=2) + _tip(cb, tip) + + actions = ttk.Frame(outer) + actions.pack(fill=tk.X, pady=(4, 8)) + self.convert_btn = tk.Button( + actions, text="Конвертировать", + command=self._convert, + bg=NAVY, fg="white", activebackground="#16304d", activeforeground="white", + disabledforeground="#d0d5dc", + font=("Segoe UI", 12, "bold") if os.name == "nt" else ("Helvetica", 12, "bold"), + relief=tk.FLAT, padx=22, pady=7, cursor="hand2", + ) + self.convert_btn.pack(side=tk.LEFT) + _tip(self.convert_btn, "Собрать DOCX из выбранного markdown") + self.progress = ttk.Progressbar(actions, mode="indeterminate", length=180) + self.progress.pack(side=tk.LEFT, padx=8, fill=tk.X, expand=True) + + log_frame = ttk.LabelFrame(outer, text="Журнал", padding=4) + log_frame.pack(fill=tk.BOTH, expand=True, pady=(0, 0)) + self.log = tk.Text( + log_frame, height=7, wrap=tk.WORD, relief=tk.FLAT, + bg="#fffdf8", fg=INK, padx=8, pady=6, + font=("Consolas", 9) if os.name == "nt" else ("monospace", 9), + ) + scroll = ttk.Scrollbar(log_frame, command=self.log.yview) + self.log.configure(yscrollcommand=scroll.set) + self.log.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) + scroll.pack(side=tk.RIGHT, fill=tk.Y) + self.log.insert("1.0", "Готово к работе. Перетащите markdown-файл в верхнюю область.\n") + self.log.configure(state=tk.DISABLED) + + def _build_schemes_tab(self, parent) -> None: + ttk.Label( + parent, + text="В markdown: ```uml- или ```. Сохраняется в md2gost.schemes.json рядом с программой.", + style="Hint.TLabel", + wraplength=780, + ).grid(row=0, column=0, sticky="w", pady=(0, 6)) + + body = ttk.Frame(parent) + body.grid(row=1, column=0, sticky="nsew") + body.columnconfigure(1, weight=1) + body.rowconfigure(0, weight=1) + + left = ttk.Frame(body) + left.grid(row=0, column=0, sticky="nsw", padx=(0, 10)) + self._scheme_list = tk.Listbox(left, height=14, width=22, exportselection=False) + self._scheme_list.pack(side=tk.TOP, fill=tk.Y) + self._scheme_list.bind("<>", self._on_scheme_select) + _tip(self._scheme_list, "Список схем из md2gost.schemes.json") + btns = ttk.Frame(left) + btns.pack(fill=tk.X, pady=(6, 0)) + for text, cmd, tip in ( + ("Добавить", self._scheme_add, "Новая схема с id customN"), + ("Дублировать", self._scheme_dup, "Копия выбранной схемы"), + ("Удалить", self._scheme_del, "Удалить схему из файла пользователя"), + ("Сохранить", self._scheme_save_all, "Записать все схемы в md2gost.schemes.json"), + ("Открыть JSON", self._open_schemes_file, "Открыть файл схем во внешней программе"), + ("Сброс кэша", self._reset_include_cache, "Сбросить кэш скачанных includes"), + ): + b = ttk.Button(btns, text=text, command=cmd) + b.pack(fill=tk.X, pady=1) + _tip(b, tip) + + form = ttk.Frame(body) + form.grid(row=0, column=1, sticky="nsew") + form.columnconfigure(1, weight=1) + + self._sch_id = tk.StringVar() + self._sch_title = tk.StringVar() + self._sch_version = tk.StringVar() + self._sch_author = tk.StringVar() + row = 0 + for label, var, tip in ( + ("id", self._sch_id, "Латиница, цифры, _; начинается с буквы"), + ("title", self._sch_title, "Подпись в списке схем"), + ("version", self._sch_version, "Версия схемы"), + ("author", self._sch_author, "Автор схемы"), + ): + ttk.Label(form, text=label).grid(row=row, column=0, sticky="w", padx=(0, 8), pady=2) + e = ttk.Entry(form, textvariable=var) + e.grid(row=row, column=1, sticky="ew", pady=2) + _tip(e, tip) + row += 1 + + for label, attr, height, tip in ( + ("docs", "_sch_docs", 4, "Шпаргалка синтаксиса / макросов"), + ("ai-prompt", "_sch_ai", 3, "Заготовка промпта для ИИ"), + ("includes", "_sch_includes", 3, "Файлы или URL .puml, по одному в строке"), + ("prefix", "_sch_prefix", 3, "Текст перед телом (часто @startuml)"), + ("postfix", "_sch_postfix", 2, "Текст после тела (часто @enduml)"), + ): + ttk.Label(form, text=label).grid(row=row, column=0, sticky="nw", padx=(0, 8), pady=2) + w = tk.Text(form, height=height, wrap=tk.WORD, font=("Consolas", 9) if os.name == "nt" else ("monospace", 9)) + w.grid(row=row, column=1, sticky="ew", pady=2) + setattr(self, attr, w) + _tip(w, tip) + row += 1 + + self._scheme_fence_hint = ttk.Label(parent, text="", style="Hint.TLabel") + self._scheme_fence_hint.grid(row=2, column=0, sticky="w", pady=(6, 0)) + self._reload_schemes_ui() + + def _text_set(self, widget: tk.Text, value: str) -> None: + widget.delete("1.0", tk.END) + if value: + widget.insert("1.0", value) + + def _text_get(self, widget: tk.Text) -> str: + return widget.get("1.0", tk.END).rstrip("\n") + + def _reload_schemes_ui(self, select_id: str | None = None) -> None: + if not hasattr(self, "_scheme_list"): + return + path = ensure_user_schemes() + self._schemes = load_schemes_from_path(path) + self._scheme_ids = sorted(self._schemes.keys()) + self._scheme_list.delete(0, tk.END) + for sid in self._scheme_ids: + title = self._schemes[sid].title or sid + self._scheme_list.insert(tk.END, title) + if not self._scheme_ids: + self._clear_scheme_form() + return + target = select_id if select_id in self._scheme_ids else self._scheme_ids[0] + idx = self._scheme_ids.index(target) + self._scheme_list.selection_clear(0, tk.END) + self._scheme_list.selection_set(idx) + self._scheme_list.see(idx) + self._fill_scheme_form(self._schemes[target]) + + def _clear_scheme_form(self) -> None: + self._scheme_selecting = True + self._sch_id.set("") + self._sch_title.set("") + self._sch_version.set("") + self._sch_author.set("") + self._text_set(self._sch_docs, "") + self._text_set(self._sch_ai, "") + self._text_set(self._sch_includes, "") + self._text_set(self._sch_prefix, "") + self._text_set(self._sch_postfix, "") + self._scheme_fence_hint.configure(text="") + self._scheme_selecting = False + + def _fill_scheme_form(self, scheme: DiagramScheme) -> None: + self._scheme_selecting = True + self._sch_id.set(scheme.id) + self._sch_title.set(scheme.title) + self._sch_version.set(scheme.version) + self._sch_author.set(scheme.author) + self._text_set(self._sch_docs, scheme.docs) + self._text_set(self._sch_ai, scheme.ai_prompt) + self._text_set(self._sch_includes, "\n".join(scheme.includes)) + self._text_set(self._sch_prefix, scheme.prefix) + self._text_set(self._sch_postfix, scheme.postfix) + self._scheme_fence_hint.configure(text=f"Оградка: ```uml-{scheme.id} или ```{scheme.id}") + self._scheme_selecting = False + + def _on_scheme_select(self, _event=None) -> None: + if self._scheme_selecting: + return + sel = self._scheme_list.curselection() + if not sel: + return + sid = self._scheme_ids[sel[0]] + self._fill_scheme_form(self._schemes[sid]) + + def _scheme_from_form(self, old_id: str | None = None) -> DiagramScheme | None: + sid = self._sch_id.get().strip().lower() + if not SCHEME_ID_RE.match(sid): + messagebox.showerror("md2gost", "id схемы: латиница, цифры, _; начинается с буквы.") + return None + includes_raw = self._text_get(self._sch_includes) + includes = [ln.strip() for ln in includes_raw.splitlines() if ln.strip()] + return DiagramScheme( + id=sid, + title=self._sch_title.get().strip() or sid, + version=self._sch_version.get().strip(), + author=self._sch_author.get().strip(), + docs=self._text_get(self._sch_docs), + ai_prompt=self._text_get(self._sch_ai), + includes=includes, + prefix=self._text_get(self._sch_prefix), + postfix=self._text_get(self._sch_postfix), + ) + + def _scheme_commit_current(self) -> str | None: + """Write form into self._schemes. Returns new id or None on error.""" + sel = self._scheme_list.curselection() + old_id = self._scheme_ids[sel[0]] if sel else None + scheme = self._scheme_from_form(old_id) + if scheme is None: + return None + if old_id and old_id != scheme.id and old_id in self._schemes: + del self._schemes[old_id] + self._schemes[scheme.id] = scheme + return scheme.id + + def _scheme_add(self) -> None: + n = 1 + while f"custom{n}" in self._schemes: + n += 1 + sid = f"custom{n}" + self._schemes[sid] = DiagramScheme( + id=sid, + title="Новая схема", + version="1.0.0", + author="", + docs="", + ai_prompt="", + includes=[], + prefix="@startuml\n", + postfix="\n@enduml", + ) + self._reload_schemes_ui(select_id=sid) + + def _scheme_dup(self) -> None: + sel = self._scheme_list.curselection() + if not sel: + return + src = self._schemes[self._scheme_ids[sel[0]]] + n = 1 + while f"{src.id}_copy{n}" in self._schemes: + n += 1 + sid = f"{src.id}_copy{n}" + self._schemes[sid] = DiagramScheme( + id=sid, + title=src.title, + version=src.version, + author=src.author, + docs=src.docs, + ai_prompt=src.ai_prompt, + includes=list(src.includes), + prefix=src.prefix, + postfix=src.postfix, + theme=src.theme, + ) + self._reload_schemes_ui(select_id=sid) + + def _scheme_del(self) -> None: + sel = self._scheme_list.curselection() + if not sel: + return + sid = self._scheme_ids[sel[0]] + if not messagebox.askyesno("md2gost", f"Удалить схему «{sid}» из файла пользователя?"): + return + del self._schemes[sid] + path = user_schemes_path() + save_schemes(self._schemes, path) + reload_schemes() + self._reload_schemes_ui() + self._append_log(f"Схема удалена: {sid}") + + def _scheme_save_all(self) -> None: + sid = self._scheme_commit_current() + if sid is None and self._scheme_ids: + return + path = user_schemes_path() + save_schemes(self._schemes, path) + reload_schemes() + self._reload_schemes_ui(select_id=sid) + self._append_log(f"Схемы сохранены: {path}") + messagebox.showinfo("md2gost", f"Сохранено:\n{path}") + + def _open_schemes_file(self) -> None: + path = ensure_user_schemes() + try: + if os.name == "nt": + os.startfile(str(path)) # type: ignore[attr-defined] + elif sys.platform == "darwin": + import subprocess + subprocess.call(("open", str(path))) + else: + import subprocess + subprocess.call(("xdg-open", str(path))) + except OSError as exc: + messagebox.showerror("md2gost", f"Не удалось открыть:\n{path}\n{exc}") + + def _reset_include_cache(self) -> None: + n = cache_entry_count() + if not messagebox.askyesno( + "md2gost", + f"Сбросить кэш includes ({n} записей)?\n" + "Удалятся индекс и только файлы из него.\n" + "При следующем рендере URL скачаются снова.", + ): + return + removed = reset_include_cache() + self._append_log(f"Кэш includes сброшен, удалено файлов: {removed}") + messagebox.showinfo("md2gost", f"Кэш сброшен. Удалено файлов: {removed}") + + def _combo(self, parent, row: int, label: str, var: tk.StringVar, values: list[str], tip: str = "") -> None: + ttk.Label(parent, text=label).grid(row=row, column=0, sticky="w", padx=(0, 8), pady=3) + box = ttk.Combobox(parent, textvariable=var, values=values, state="readonly") + box.grid(row=row, column=1, sticky="ew", pady=3) + if tip: + _tip(box, tip) + + def _row_path(self, parent, row, label, var, browse, clearable=False, tip: str = ""): + ttk.Label(parent, text=label).grid(row=row, column=0, sticky="w", padx=(0, 8), pady=3) + cell = ttk.Frame(parent) + cell.grid(row=row, column=1, sticky="ew", pady=3) + cell.columnconfigure(0, weight=1) + entry = ttk.Entry(cell, textvariable=var) + entry.grid(row=0, column=0, sticky="ew") + if tip: + _tip(entry, tip) + btn = ttk.Button(cell, text="Обзор…", command=browse) + btn.grid(row=0, column=1, padx=(6, 0)) + _tip(btn, "Выбрать файл") + if clearable: + clear_btn = ttk.Button(cell, text="Сброс", command=lambda: var.set("")) + clear_btn.grid(row=0, column=2, padx=(4, 0)) + _tip(clear_btn, "Очистить поле") + + def _setup_dnd(self) -> None: + backend = enable_file_drop(self.zone, self._on_drop) + if backend == "none": + backend = enable_file_drop(self.root, self._on_drop) + self._dnd_backend = backend + if backend == "none": + self._append_log("Перетаскивание недоступно — выберите файл кликом по области.") + else: + self._append_log("Можно перетаскивать .md из проводника в окно.") + + def _on_drop(self, paths: list[str]) -> None: + md = first_markdown(paths) + if md: + self._set_markdown(md) + self._flash_zone(ZONE_OK) + return + if paths: + self._append_log("Нужен файл .md, а не: " + ", ".join(os.path.basename(p) for p in paths)) + self._flash_zone("#f8d7da") + + def _flash_zone(self, color: str) -> None: + self.zone.configure(bg=color) + self.zone_label.configure(bg=color) + self.zone_path.configure(bg=color) + self.root.after(700, lambda: self._set_zone_colors(ZONE if self._last_md else ZONE)) + + def _set_zone_colors(self, color: str) -> None: + self.zone.configure(bg=color) + self.zone_label.configure(bg=color) + self.zone_path.configure(bg=color) + + def _browse_md(self) -> None: + path = filedialog.askopenfilename( + title="Исходный Markdown", + filetypes=[("Markdown", "*.md"), ("Все файлы", "*.*")], + ) + if path: + self._set_markdown(path) + + def _browse_output(self) -> None: + initial = self.output_var.get() or (default_output_path(self._last_md) if self._last_md else "report.docx") + path = filedialog.asksaveasfilename( + title="Сохранить DOCX", + defaultextension=".docx", + initialfile=os.path.basename(initial), + initialdir=os.path.dirname(os.path.abspath(initial)) if initial else "", + filetypes=[("Word", "*.docx")], + ) + if path: + self._auto_output = False + self.output_var.set(path) + + def _browse_template(self) -> None: + self._pick_into(self.template_var, "Шаблон DOCX", [("Word", "*.docx")]) + + def _browse_title(self) -> None: + self._pick_into(self.title_var, "Титульный лист", [("Word", "*.docx")]) + + def _browse_assignment(self) -> None: + self._pick_into(self.assignment_var, "Бланк задания", [("Word", "*.docx")]) + + def _browse_jar(self) -> None: + self._pick_into(self.plantuml_var, "Свой plantuml.jar", [("JAR", "*.jar"), ("Все файлы", "*.*")]) + self._refresh_diagram_status() + + def _refresh_diagram_status(self) -> None: + label = getattr(self, "diag_status", None) + if label is None: + return + try: + if not label.winfo_exists(): + return + except tk.TclError: + return + explicit = self.plantuml_var.get().strip() or None + label.configure(text=diagram_engine_status(explicit)) + + def _download_plantuml(self) -> None: + from .diagram_renderer import cached_plantuml_path, fetch_plantuml_jar, vendor_plantuml_path + dest = vendor_plantuml_path() + try: + dest.parent.mkdir(parents=True, exist_ok=True) + probe = dest.parent / ".write_test" + probe.write_text("ok", encoding="utf-8") + probe.unlink() + except OSError: + dest = cached_plantuml_path() + self._append_log(f"Скачиваю PlantUML → {dest}") + if fetch_plantuml_jar(dest): + self._refresh_diagram_status() + messagebox.showinfo("md2gost", f"PlantUML сохранён:\n{dest}\n\nДля локальной отрисовки нужна Java.") + else: + messagebox.showerror( + "md2gost", + "Не удалось скачать plantuml.jar.\n" + "Можно ничего не делать — диаграммы нарисует kroki.io.", + ) + + def _pick_into(self, var: tk.StringVar, title: str, types) -> None: + path = filedialog.askopenfilename(title=title, filetypes=types) + if path: + var.set(path) + + def _on_output_edited(self, *_args) -> None: + if not self._last_md: + return + current = self.output_var.get().strip() + auto = default_output_path(self._last_md) + self._auto_output = (not current) or os.path.normcase(os.path.abspath(current)) == os.path.normcase(auto) + + def _set_markdown(self, path: str, from_user_output: bool = False) -> None: + path = os.path.abspath(path) + self._last_md = path + self.zone_label.configure(text=os.path.basename(path)) + self.zone_path.configure(text=path) + if not from_user_output and self._auto_output: + self.output_var.set(default_output_path(path)) + self._auto_output = True + self._append_log(f"Файл: {path}") + + def _apply_request(self, req: ConvertRequest) -> None: + self.type_var.set(_display(DOC_TYPE_LABELS, req.doc_type if req.doc_type in DOC_TYPES else "practice")) + self.heading_var.set(_display(HEADING_LABELS, req.heading_numbering or DEFAULT_HEADING_NUMBERING)) + self.toc_var.set(_display(TOC_LABELS, req.toc_mode or DEFAULT_TOC_MODE)) + self.table_var.set(_display(TABLE_LABELS, req.table_continuation or DEFAULT_TABLE_CONTINUATION)) + self.listing_var.set(_display(TABLE_LABELS, req.listing_continuation or DEFAULT_LISTING_CONTINUATION)) + self.fallback_var.set(_display(FALLBACK_LABELS, req.diagram_fallback or "remote")) + self.format_var.set(_display(FORMAT_LABELS, req.diagram_format or "png")) + scale = getattr(req, "diagram_scale", 2.0) or 2.0 + self.scale_var.set(str(scale).rstrip("0").rstrip(".") if isinstance(scale, float) else str(scale)) + self.emdash_var.set(bool(req.emdash_to_hyphen)) + self.hr_pagebreak_var.set(bool(req.hr_pagebreak)) + self.open_var.set(True) + self.check_var.set(bool(req.check)) + self.check_only_var.set(bool(req.check_only)) + self.strict_var.set(bool(req.strict)) + self.check_pages_var.set(bool(getattr(req, "check_pages", False))) + self.table_repeat_header_var.set(bool(getattr(req, "table_repeat_header", False))) + self.highlight_var.set(bool(req.syntax_highlighting)) + self.debug_var.set(bool(req.debug)) + self._debug_next = bool(req.debug) + self._sync_debug_menu() + self.template_var.set(req.template or "") + self.title_var.set(req.title or "") + self.assignment_var.set(req.assignment or "") + self.plantuml_var.set(req.plantuml_jar or "") + self.kroki_var.set(req.kroki_url or "") + self._refresh_diagram_status() + if req.output: + self.output_var.set(req.output) + self._auto_output = False + + def _collect(self) -> ConvertRequest: + return ConvertRequest( + filename=self._last_md, + output=self.output_var.get().strip() or None, + template=self.template_var.get().strip() or None, + doc_type=_combo_key(self.type_var.get(), DOC_TYPES, "coursework"), + heading_numbering=_combo_key(self.heading_var.get(), HEADING_NUMBERING_MODES, DEFAULT_HEADING_NUMBERING), + toc_mode=_combo_key(self.toc_var.get(), TOC_MODES, DEFAULT_TOC_MODE), + table_continuation=_combo_key(self.table_var.get(), TABLE_CONTINUATION_MODES, DEFAULT_TABLE_CONTINUATION), + listing_continuation=_combo_key(self.listing_var.get(), LISTING_CONTINUATION_MODES, DEFAULT_LISTING_CONTINUATION), + emdash_to_hyphen=self.emdash_var.get(), + hr_pagebreak=self.hr_pagebreak_var.get(), + title=self.title_var.get().strip() or None, + assignment=self.assignment_var.get().strip() or None, + check=self.check_var.get() or self.check_only_var.get(), + check_only=self.check_only_var.get(), + check_pages=self.check_pages_var.get(), + table_repeat_header=self.table_repeat_header_var.get(), + strict=self.strict_var.get(), + syntax_highlighting=self.highlight_var.get(), + plantuml_jar=self.plantuml_var.get().strip() or None, + kroki_url=self.kroki_var.get().strip() or None, + diagram_fallback=_combo_key(self.fallback_var.get(), ("remote", "local", "off"), "remote"), + diagram_format=_combo_key(self.format_var.get(), ("png", "svg"), "png"), + diagram_scale=self._parse_diagram_scale(), + debug=self.debug_var.get(), + open_when_done=self.open_var.get(), + ) + + def _parse_diagram_scale(self) -> float: + raw = (self.scale_var.get() or "2").strip().replace(",", ".") + try: + value = float(raw) + except ValueError: + return 2.0 + return value if value >= 1 else 1.0 + + def _convert(self) -> None: + if self._busy: + return + req = self._collect() + if not req.filename: + messagebox.showinfo("md2gost", "Сначала перетащите или выберите markdown-файл.") + return + if not req.check_only and req.output and os.path.isfile(req.output): + if not messagebox.askyesno("md2gost", f"Файл уже есть:\n{req.output}\n\nПерезаписать?"): + return + self._busy = True + self.convert_btn.configure(state=tk.DISABLED, bg=NAVY_DIM) + self.progress.start(12) + self._append_log("Конвертация…") + + def work(): + result = convert(req, log=lambda m: self.root.after(0, self._append_log, m)) + self.root.after(0, self._on_done, result) + + threading.Thread(target=work, daemon=True).start() + + def _on_done(self, result) -> None: + self._busy = False + self.convert_btn.configure(state=tk.NORMAL, bg=NAVY) + self.progress.stop() + if self._debug_next or self.debug_var.get(): + self.debug_var.set(False) + self._debug_next = False + self._sync_debug_menu() + self._append_log("Дебаг сброшен после этой сборки.") + if result.ok: + if result.output_path: + self._append_log("Готово.") + elif result.check_report: + self._append_log("Проверка завершена.") + else: + self._append_log(result.message or "Ошибка") + messagebox.showerror("md2gost", result.message or "Ошибка конвертации") + + def _append_log(self, text: str) -> None: + if not text: + return + if not hasattr(self, "log"): + return + self.log.configure(state=tk.NORMAL) + if not text.endswith("\n"): + text += "\n" + self.log.insert(tk.END, text) + self.log.see(tk.END) + self.log.configure(state=tk.DISABLED) + + def run(self) -> None: + self.root.mainloop() + + +def run_gui(initial: ConvertRequest | None = None) -> None: + Md2GostApp(initial).run() + + +def main() -> None: + run_gui() + + +if __name__ == "__main__": + main() diff --git a/md2gost/help_content.py b/md2gost/help_content.py new file mode 100644 index 0000000..8cfc18d --- /dev/null +++ b/md2gost/help_content.py @@ -0,0 +1,258 @@ +"""Usage text and AI prompt files for the GUI pages.""" + +from __future__ import annotations + +import sys +from pathlib import Path + +from . import package_dir + +USAGE_HELP = """md2gost — Markdown → DOCX (ТЗ МИРЭА / ГОСТ 7.32) + +КАК ПОЛЬЗОВАТЬСЯ ОКНОМ +1. Перетащите .md в верхнюю область (или кликните по ней). +2. Выберите тип документа и параметры в блоке «Основные». + Шаблон / титул / задание — Настройки → Файлы. + PlantUML / Kroki — Настройки → Диаграммы. + Свои UML-схемы — меню «Шаблоны UML». +3. Нажмите «Конвертировать». Документ сохранится рядом с исходником (или по пути «Выходной DOCX»). + Дебаг (меню сверху) — следующая сборка с отладочными данными в документе. + +Типы: practice (по умолчанию) / coursework / vkr — ГОСТ МИРЭА; PIS_custom — отчёт по практикам; APID_coursework — курсовая АПИД. + +Полезные галочки +• «—» → «-» — заменить типографское тире на дефис (по умолчанию **выкл.**; методичка требует «—»). +• --- → разрыв страницы — по умолчанию выкл. (строка --- игнорируется). Вкл. — page break в Word. +• Проверить по ТЗ — замечания по структуре, «рис.», источникам. +• Проверить вёрстку в Word — полупустые страницы (эвристика, возможны ложные срабатывания; нужны Word + pywin32). +• Титул / задание — отдельные DOCX, вставляются перед телом отчёта. + +CLI (тот же движок) + python -m md2gost report.md -o report.docx --type coursework --check + python -m md2gost --gui + md2gost.exe report.md --type PIS_custom --title title.docx + md2gost.exe report.md --schemes path/to/md2gost.schemes.json + +СИНТАКСИС MARKDOWN + +Спецразделы (без номера, ПРОПИСНЫЕ, звёздочка): + # *СОДЕРЖАНИЕ + [TOC] + # *ВВЕДЕНИЕ + # *ЗАКЛЮЧЕНИЕ + # *СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ + # *ПРИЛОЖЕНИЯ + (после ПРИЛОЖЕНИЯ — перечень основным текстом, затем ## Приложение А Название) + +Нумерованные разделы: # 1 Название ## 1.1 Подраздел +Точку в конце заголовка не ставить. +СОДЕРЖАНИЕ и СПИСОК — по центру; Введение / Заключение / ПРИЛОЖЕНИЯ — слева. + +Рисунок + Текст со ссылкой на @Рисунок:arch. + ![описание](images/arch.png "%arch Название рисунка") +В тексте пишите «Рисунок», не «рис.» + +Таблица + %tbl1 Название + | A | B | + |---|---| + | 1 | 2 | +Ссылка: @Таблица:tbl1 +Склеивание: ^ — ячейка сверху (rowspan), > — ячейка слева (colspan). +Не ставить ^/> в шапке; > — не в первом столбце. + +Листинг + %code1 Название + ```python + print("ok") + ``` + +Диаграмма (PlantUML / Mermaid / схемы) → рисунок + %usecase1 Диаграмма прецедентов +listing + ```uml + @startuml + actor User + User --> (Login) + @enduml + ``` + + Широкая схема/таблица на альбомной странице: + %arch1 Архитектура +landscape + ```uml-c4 + … + ``` + + Mermaid (через Kroki, свой URL или kroki.io): + %seq Последовательность +listing + ```mermaid + sequenceDiagram + Alice->>Bob: hello + ``` + ++listing — ещё и листинг с исходником. ++landscape — отдельная альбомная страница (A4, повёрт на 90°) вокруг рисунка/таблицы, затем снова книжная. +Языки: uml, plantuml, mermaid / mmd, или uml- / из файла схем (c4, usecase, bpmn, …). +BPMN 2.0: оградка ```bpmn / ```uml-bpmn, макросы Start, UserTask, XOR, Flow, Pool. +Формат в Word: PNG по умолчанию (PlantUML рисуется ~2× для чёткости); --diagram-format svg — вектор + PNG-запасной (Word 2016+). +IDEF0 конвертер не рисует — вставляйте готовый PNG как обычный Рисунок. +Подробнее — Справка → Схемы и раздел ниже в инструкции. + +Формула (номер только если есть ссылка) + %eq1 + $$ E = mc^2 $$ + См. @Формула:eq1 + +Источники + В тексте: [1] + В списке: [1]: Иванов И. И. Название. — М.: Наука, 2023. — 120 с. + +Разрыв страницы + По умолчанию --- игнорируется. + Галочка «--- → разрыв страницы» или --hr-pagebreak: пустая строка, ---, пустая строка. + +Нумерация заголовков + manual — цифры уже в md (# 1 …); auto — нумерует Word. + +Содержание + native — поле Word (обновить при открытии); manual — собирает md2gost. + +Продолжение таблиц / листингов + word — после сборки Word COM режет по реальной пагинации и вставляет «Продолжение…» + (по умолчанию; нужны Windows + Word + pywin32). + off — не резать, Word сам переносит. + legacy / caption — режем по оценке высоты в md2gost (может не совпасть с Word). + +Промпт для ИИ — Справка → Промпт для ИИ: скопируйте и вставьте в ChatGPT / Cursor / Copilot, затем дайте тему и черновик. +""" + +SCHEMES_HELP = """СХЕМЫ ДИАГРАММ (PlantUML) + +Зачем +В markdown пишете только «тело» диаграммы. Обёртка (@startuml, !include, тема) +берётся из схемы в файле md2gost.schemes.json. + +Первый запуск +Рядом с программой (рядом с md2gost.exe или в текущей папке при python -m) +создаётся md2gost.schemes.json из встроенного шаблона. +Если файл уже есть — программа его не перезаписывает (ваши схемы сохраняются). + +Оградка в markdown + ```uml — обычный PlantUML (или ```plantuml) + ```uml-c4 — схема с id «c4» (то же, что ```c4) + ```uml-usecase — схема «usecase» + ```bpmn / ```uml-bpmn — BPMN 2.0 (макросы в diagrams/BPMN.puml) + ```mermaid / ```mmd — Mermaid через Kroki (не PlantUML) +Встроенные пресеты PlantUML: c4, c4context, c4component, usecase, bpmn. + +Пример + +%arch Архитектура +listing + +```uml-c4 +Person(user, "Студент") +System(app, "Портал") +Rel(user, app, "логин") +``` + +```bpmn +StartMessage(s, "заявка") +UserTask(t, "Проверить") +XOR(gw) +End(e_ok) +End(e_no) +Flow(s, t) +Flow(t, gw) +CondFlow(gw, e_ok, "да") +DefaultFlow(gw, e_no) +``` + +Поля схемы в JSON + title — подпись в GUI + version — версия схемы + author — автор + docs — шпаргалка синтаксиса (чтобы вспомнить макросы) + ai-prompt — заготовка промпта для ИИ / будущего MCP + includes — список файлов или http(s):// URL на .puml + prefix — текст перед телом (часто @startuml) + postfix — текст после тела (часто @enduml) + theme — опционально !theme … + +Свои схемы +1. Меню «Шаблоны UML» в GUI — добавьте / отредактируйте и сохраните. +2. Или откройте md2gost.schemes.json в редакторе («Открыть JSON» / «Открыть файл схем»). +3. CLI: --schemes путь.json; также подхватывается md2gost.schemes.json рядом с .md. + +Кэш includes из интернета +URL из includes (и !include https://… внутри .puml) при первом рендере +скачиваются. Индекс — md2gost.include-cache.json (только пары URL → файл). +Файлы лежат в папке include-cache/. Уже скачанные файлы не перезаписываются. +Повторный рендер без сети берёт путь из индекса. +«Сбросить кэш includes» в Настройки → Диаграммы или в «Шаблоны UML» удаляет индекс +и только файлы, перечисленные в нём. + +BPMN 2.0 (```bpmn) + Пул: Pool(alias, "Участник") { Lane(alias, "Роль") { … } } + События: Start, StartMessage, StartTimer, CatchMessage, ThrowMessage, + CatchTimer, CatchError, End, EndMessage, EndError, EndTerminate + Задачи: Task / UserTask / ServiceTask / ScriptTask / ManualTask / + SendTask / ReceiveTask / BusinessRuleTask / SubProcess + Шлюзы: XOR (Exclusive), AND (Parallel), OR (Inclusive), EventBased + Потоки: Flow, CondFlow(from, to, "условие"), DefaultFlow, MessageFlow + Данные: DataObject, DataStore, Annotation + Граница: BoundaryError/Timer/Message + Attach(task, event) + Sequence Flow только внутри пула; между пулами — MessageFlow. + +Чего нет + IDEF0 / DFD — PlantUML не умеет; вставляйте готовый PNG как Рисунок. + У BPMN нет «прилипания» boundary-события к кромке задачи (ставьте Attach) + и нет настоящей двойной окружности у intermediate (толщина линии). + +Рендер +UML: Java + plantuml.jar (локально) → иначе локальный Kroki → иначе kroki.io. +Mermaid: только Kroki (свой --kroki-url / localhost / kroki.io). +Формат: PNG по умолчанию (PlantUML ~scale 2 для чёткости, размер на странице как при 1; --diagram-scale); --diagram-format svg — PNG + SVG (svgBlip в Word 2016+). ++landscape у %подписи — альбомная страница под широкий рисунок/таблицу. +""" + +PROMPT_FILES = ( + ("generate-mirea-report.md", "МИРЭА / ГОСТ (курсовая, практика, ВКР)"), + ("generate-pis-custom-report.md", "ПИС — отчёт по практическим работам"), +) + + +def prompt_search_dirs() -> list[Path]: + dirs: list[Path] = [] + here = Path(package_dir()) + dirs.append(here / "prompts") + dirs.append(here.parent / "prompts") + if getattr(sys, "frozen", False): + mei = getattr(sys, "_MEIPASS", None) + if mei: + dirs.append(Path(mei) / "prompts") + dirs.append(Path(sys.executable).resolve().parent / "prompts") + seen: set[str] = set() + out: list[Path] = [] + for path in dirs: + key = str(path.resolve()) if path.exists() else str(path) + if key in seen: + continue + seen.add(key) + out.append(path) + return out + + +def load_prompt_catalog() -> list[tuple[str, str, str]]: + """Return list of (filename, title, text). Missing files are skipped.""" + catalog: list[tuple[str, str, str]] = [] + dirs = prompt_search_dirs() + for name, title in PROMPT_FILES: + text = None + for folder in dirs: + candidate = folder / name + if candidate.is_file(): + text = candidate.read_text(encoding="utf-8") + break + if text: + catalog.append((name, title, text)) + return catalog diff --git a/md2gost/layout_tracker.py b/md2gost/layout_tracker.py index 57aec08..4290516 100644 --- a/md2gost/layout_tracker.py +++ b/md2gost/layout_tracker.py @@ -51,3 +51,13 @@ class LayoutTracker: def new_page(self): self._state.new_page() + + def set_page_size(self, max_height: Length, max_width: Length) -> None: + """Switch usable area (e.g. portrait ↔ landscape) and start a fresh page.""" + self._state.max_height = max_height + self._state.max_width = max_width + # Align to a page boundary under the *new* geometry. + rem = self._state.remaining_page_height + if rem != max_height: + self._state.add_height(rem) + self._is_new_page = True diff --git a/md2gost/page_fill_check.py b/md2gost/page_fill_check.py new file mode 100644 index 0000000..0708eab --- /dev/null +++ b/md2gost/page_fill_check.py @@ -0,0 +1,226 @@ +"""Post-conversion heuristic: half-empty pages inside an unfinished section. + +Requires Windows + Microsoft Word + pywin32. Findings are ALWAYS heuristic — +false positives are expected (large figures, end of subsection, odd breaks). +Never treat as --strict errors. +""" + +from __future__ import annotations + +from dataclasses import dataclass + +# Unused fraction of the text area below the last content on the page. +EMPTY_FRACTION_THRESHOLD = 0.40 + +FRONT_MATTER_HINTS = ( + "СОДЕРЖАНИЕ", + "ТИТУЛ", + "ЗАДАНИЕ", +) + + +@dataclass +class PageMetric: + """Synthetic / measured metrics for one page (CI-friendly).""" + + page_index: int # 1-based + content_bottom_frac: float # 0..1, how far down the text area content reaches + section_title: str + next_section_title: str | None + is_landscape: bool = False + is_last_doc_page: bool = False + mostly_figure_or_table: bool = False + + +@dataclass +class PageFillIssue: + page_index: int + message: str + severity: str = "heuristic" + + +def evaluate_page_fill( + pages: list[PageMetric], + *, + empty_threshold: float = EMPTY_FRACTION_THRESHOLD, +) -> list[PageFillIssue]: + """Pure heuristic over page metrics (no Word). Safe for unit tests.""" + issues: list[PageFillIssue] = [] + for i, page in enumerate(pages): + if page.is_landscape: + continue + if page.mostly_figure_or_table: + continue + if page.is_last_doc_page: + continue + title_u = (page.section_title or "").upper() + if any(h in title_u for h in FRONT_MATTER_HINTS): + continue + # Last page of this section (next page starts a different H1) + if page.next_section_title and page.next_section_title != page.section_title: + continue + empty_frac = 1.0 - page.content_bottom_frac + if empty_frac <= empty_threshold: + continue + # Same section continues on the next page + if i + 1 >= len(pages): + continue + nxt = pages[i + 1] + if nxt.section_title != page.section_title: + continue + issues.append(PageFillIssue( + page_index=page.page_index, + message=( + f"[heuristic] page.fill: на стр. {page.page_index} пустой низ " + f"~{empty_frac:.0%} полосы, а раздел «{page.section_title}» " + f"продолжается на следующей странице. " + f"Проверка эвристическая — возможны ложные срабатывания " + f"(крупный рисунок, конец пункта, нестандартный разрыв)." + ), + )) + return issues + + +def check_docx_page_fill(path: str) -> tuple[list[PageFillIssue], str]: + """ + Open DOCX in Word, repaginate, collect metrics, evaluate. + + Returns (issues, status_message). On missing Word/pywin32 returns ([], reason). + """ + try: + import win32com.client # type: ignore + except ImportError: + return [], ( + "Проверка вёрстки пропущена: нужен пакет pywin32 " + "(pip install pywin32) и Microsoft Word." + ) + + word = None + doc = None + try: + word = win32com.client.DispatchEx("Word.Application") + word.Visible = False + word.DisplayAlerts = 0 + abs_path = str(path) + doc = word.Documents.Open(abs_path, ReadOnly=True) + doc.Repaginate() + + pages_metrics: list[PageMetric] = [] + page_count = int(doc.ComputeStatistics(2)) # wdStatisticPages + for page_no in range(1, page_count + 1): + try: + metric = _measure_page(doc, page_no, page_count) + except Exception: + continue + if metric is not None: + pages_metrics.append(metric) + + issues = evaluate_page_fill(pages_metrics) + if not issues: + return [], ( + "Проверка вёрстки (Word): замечаний по полупустым страницам нет " + "(эвристика; возможны пропуски)." + ) + return issues, ( + f"Проверка вёрстки (Word): найдено замечаний — {len(issues)} " + f"(все эвристические, могут быть ложными)." + ) + except Exception as exc: + return [], f"Проверка вёрстки пропущена: не удалось открыть Word ({exc})." + finally: + try: + if doc is not None: + doc.Close(False) + except Exception: + pass + try: + if word is not None: + word.Quit() + except Exception: + pass + + +def _measure_page(doc, page_no: int, page_count: int) -> PageMetric | None: + """Best-effort measurement via Word COM selection / page setup.""" + selection = doc.Application.Selection + selection.GoTo(What=1, Which=1, Count=page_no) # wdGoToPage, wdGoToAbsolute + + section = selection.Sections(1) + ps = section.PageSetup + is_landscape = bool(int(ps.Orientation) == 1) # wdOrientLandscape + + page_h = float(ps.PageHeight) + top = float(ps.TopMargin) + bottom = float(ps.BottomMargin) + text_h = max(page_h - top - bottom, 1.0) + + start = int(selection.Start) + if page_no < page_count: + selection.GoTo(What=1, Which=1, Count=page_no + 1) + end = int(selection.Start) - 1 + else: + end = int(doc.Content.End) + if end < start: + end = start + rng = doc.Range(start, end) + + try: + # wdVerticalPositionRelativeToPage = 6 + vpos = float(rng.Information(6)) + content_bottom = max(0.0, min(1.0, (vpos - top) / text_h)) + except Exception: + content_bottom = 1.0 + + section_title = _heading_near(doc, start) + next_title = None + if page_no < page_count: + try: + selection.GoTo(What=1, Which=1, Count=page_no + 1) + next_title = _heading_near(doc, int(selection.Start)) + except Exception: + next_title = None + + mostly_object = False + try: + text_len = len((rng.Text or "").strip()) + if rng.Tables.Count >= 1 and text_len < 80: + mostly_object = True + if rng.InlineShapes.Count >= 1 and text_len < 80: + mostly_object = True + except Exception: + pass + + return PageMetric( + page_index=page_no, + content_bottom_frac=content_bottom, + section_title=section_title or "", + next_section_title=next_title, + is_landscape=is_landscape, + is_last_doc_page=(page_no == page_count), + mostly_figure_or_table=mostly_object, + ) + + +def _heading_near(doc, pos: int) -> str: + """Walk backwards for nearest Heading 1 style paragraph.""" + try: + p = doc.Range(pos, pos).Paragraphs(1) + for _ in range(80): + style = str(p.Style) + if "Heading 1" in style or "Заголовок 1" in style: + return (p.Range.Text or "").strip().replace("\r", "") + if p.Range.Start <= 1: + break + p = p.Previous() + if p is None: + break + except Exception: + pass + return "" + + +def format_page_fill_report(issues: list[PageFillIssue], status: str) -> str: + lines = [status] + for i in issues: + lines.append(f" [{i.severity}] page:{i.page_index}: {i.message}") + return "\n".join(lines) diff --git a/md2gost/page_geometry.py b/md2gost/page_geometry.py new file mode 100644 index 0000000..2e68ace --- /dev/null +++ b/md2gost/page_geometry.py @@ -0,0 +1,142 @@ +"""A4 page geometry helpers for portrait / landscape sections.""" + +from __future__ import annotations + +from docx.enum.section import WD_ORIENT +from docx.enum.text import WD_PARAGRAPH_ALIGNMENT +from docx.oxml.ns import qn +from docx.shared import Mm, Pt + +from .util import create_element + +# GOST-like A4 margins (same as styles._apply_common_page_and_body) +MARGIN_LEFT = Mm(30) +MARGIN_RIGHT = Mm(10) +MARGIN_TOP = Mm(20) +MARGIN_BOTTOM = Mm(20) + +A4_SHORT = Mm(210) +A4_LONG = Mm(297) + + +def is_landscape_section(section) -> bool: + """True if section is (or should be treated as) landscape A4.""" + try: + if section.orientation == WD_ORIENT.LANDSCAPE: + return True + except Exception: + pass + return int(section.page_width) > int(section.page_height) + + +def apply_section_geometry(section, *, landscape: bool) -> None: + """ + Set orientation and page size. + + Set orientation first (python-docx may swap w/h on change), then force A4 dims. + """ + target = WD_ORIENT.LANDSCAPE if landscape else WD_ORIENT.PORTRAIT + try: + section.orientation = target + except Exception: + pass + + if landscape: + section.page_width = A4_LONG + section.page_height = A4_SHORT + else: + section.page_width = A4_SHORT + section.page_height = A4_LONG + + section.left_margin = MARGIN_LEFT + section.right_margin = MARGIN_RIGHT + section.top_margin = MARGIN_TOP + section.bottom_margin = MARGIN_BOTTOM + + # Explicit orient on pgSz for Word. + pg_sz = section._sectPr.find(qn("w:pgSz")) + if pg_sz is None: + pg_sz = section._sectPr._add_pgSz() + if landscape: + pg_sz.set(qn("w:orient"), "landscape") + # Re-assert after XML tweak (some builds reshuffle). + section.page_width = A4_LONG + section.page_height = A4_SHORT + else: + if pg_sz.get(qn("w:orient")) is not None: + del pg_sz.attrib[qn("w:orient")] + section.page_width = A4_SHORT + section.page_height = A4_LONG + + # Vertical align: center on landscape (figures/tables only); top on portrait + sect_pr = section._sectPr + for el in list(sect_pr.findall(qn("w:vAlign"))): + sect_pr.remove(el) + if landscape: + sect_pr.append(create_element("w:vAlign", {"w:val": "center"})) + + +def content_size(*, landscape: bool) -> tuple: + """Return (max_height, max_width) usable content area for LayoutTracker.""" + if landscape: + page_w, page_h = A4_LONG, A4_SHORT + else: + page_w, page_h = A4_SHORT, A4_LONG + max_height = page_h - MARGIN_TOP - MARGIN_BOTTOM + max_width = page_w - MARGIN_LEFT - MARGIN_RIGHT + return max_height, max_width + + +def apply_centered_page_footer(section) -> None: + """Centered PAGE field, Times New Roman 12 (body section style).""" + footer = section.footer + footer.is_linked_to_previous = False + if not footer.paragraphs: + footer.add_paragraph() + paragraph = footer.paragraphs[0] + paragraph.clear() + paragraph.paragraph_format.first_line_indent = 0 + paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER + run = paragraph.add_run() + run.font.name = "Times New Roman" + run.font.size = Pt(12) + paragraph._p.append(create_element("w:fldSimple", { + "w:instr": "PAGE \\* MERGEFORMAT", + })) + + +def clear_section_footer(section) -> None: + """Empty footer (no PAGE) — for title / assignment / TOC sections.""" + footer = section.footer + footer.is_linked_to_previous = False + for p in footer.paragraphs: + p.clear() + if not footer.paragraphs: + footer.add_paragraph() + + +def ensure_continuous_page_numbers(document) -> None: + """ + After docxcompose of title/assignment: no PAGE on early sections, + continuous numbering (do not restart at 1 on body section). + """ + from docx.oxml.ns import qn + + sections = list(document.sections) + if not sections: + return + + # Heuristic: sections before the first that already has a PAGE field / + # or first N-1 if title was prepended — clear footer on all but keep + # continuous pgNumType. Body renderer already puts PAGE on body section; + # after compose, early sections may inherit footers — clear empty ones + # that belong to front matter (no Heading-like body content is hard to + # detect), so: clear footer on every section that has no PAGE field, and + # strip w:pgNumType start=1 everywhere. + for section in sections: + sect_pr = section._sectPr + for child in list(sect_pr): + if child.tag == qn("w:pgNumType"): + # Keep continuous: remove start attribute if present + if child.get(qn("w:start")) is not None: + del child.attrib[qn("w:start")] diff --git a/md2gost/parser_.py b/md2gost/parser_.py index a4a9421..832c26a 100644 --- a/md2gost/parser_.py +++ b/md2gost/parser_.py @@ -1,7 +1,7 @@ from collections.abc import Generator from docx import Document -from marko.block import BlankLine +from marko.block import BlankLine, ThematicBreak from .extended_markdown import markdown, Caption from .renderable.caption import CaptionInfo @@ -12,13 +12,14 @@ from .renderable_factory import RenderableFactory class Parser: """Parses given markdown string and returns Renderable elements""" - def __init__(self, document: Document, text: str): + def __init__(self, document: Document, text: str, hr_pagebreak: bool = False): self._document = document self._parsed = markdown.parse(text) self._caption_info: CaptionInfo | None = None + self._hr_pagebreak = hr_pagebreak def parse(self) -> Generator[Renderable, None, None]: - factory = RenderableFactory(self._document._body) + factory = RenderableFactory(self._document._body, hr_pagebreak=self._hr_pagebreak) for marko_element in self._parsed.children: if isinstance(marko_element, BlankLine): @@ -29,8 +30,12 @@ class Parser: marko_element.unique_name, marko_element.text, getattr(marko_element, "with_listing", False), + getattr(marko_element, "landscape", False), ) continue + if isinstance(marko_element, ThematicBreak) and not self._hr_pagebreak: + continue + yield factory.create(marko_element, self._caption_info) self._caption_info = None diff --git a/md2gost/pipeline.py b/md2gost/pipeline.py new file mode 100644 index 0000000..d276609 --- /dev/null +++ b/md2gost/pipeline.py @@ -0,0 +1,303 @@ +"""Shared Markdown → DOCX pipeline for CLI and GUI.""" + +from __future__ import annotations + +import logging +import os +import platform +import subprocess +import traceback +from dataclasses import dataclass +from getpass import getuser +from typing import Callable + +from docx import Document + +from . import package_dir +from .checker import check_markdown, format_report +from .converter import Converter +from .profiles import ( + DEFAULT_HEADING_NUMBERING, + DEFAULT_TABLE_CONTINUATION, + DEFAULT_LISTING_CONTINUATION, + DEFAULT_TOC_MODE, + get_profile, +) + +LogFn = Callable[[str], None] + + +@dataclass +class ConvertRequest: + filename: str = "" + output: str | None = None + template: str | None = None + doc_type: str = "practice" + heading_numbering: str = DEFAULT_HEADING_NUMBERING + toc_mode: str = DEFAULT_TOC_MODE + table_continuation: str = DEFAULT_TABLE_CONTINUATION + listing_continuation: str = DEFAULT_LISTING_CONTINUATION + emdash_to_hyphen: bool = False + hr_pagebreak: bool = False + title: str | None = None + assignment: str | None = None + check: bool = False + check_only: bool = False + strict: bool = False + syntax_highlighting: bool = False + plantuml_jar: str | None = None + kroki_url: str | None = None + diagram_fallback: str = "remote" + diagram_format: str = "png" + diagram_scale: float = 2.0 + schemes_path: str | None = None + debug: bool = False + open_when_done: bool = False + check_pages: bool = False + table_repeat_header: bool = False + + +@dataclass +class ConvertResult: + ok: bool + exit_code: int = 0 + output_path: str | None = None + check_report: str = "" + message: str = "" + + +def default_output_path(filename: str) -> str: + base = os.path.basename(filename) + if base.lower().endswith(".md"): + base = base[:-3] + return os.path.join(os.path.dirname(os.path.abspath(filename)), base + ".docx") + + +def default_template_path() -> str: + return os.path.join(package_dir(), "Template.docx") + + +def open_document(path: str) -> None: + system = platform.system() + if system == "Darwin": + subprocess.call(("open", path)) + elif system == "Windows": + os.startfile(path) # type: ignore[attr-defined] + else: + subprocess.call(("xdg-open", path)) + + +def _fix_front_matter_after_compose(document, *, had_title: bool, had_assignment: bool) -> None: + """Clear PAGE on title/assignment sections; keep continuous page numbers.""" + from .page_geometry import clear_section_footer, ensure_continuous_page_numbers + + ensure_continuous_page_numbers(document) + n_front = int(bool(had_title)) + int(bool(had_assignment)) + for i, section in enumerate(document.sections): + if i < n_front: + clear_section_footer(section) + else: + break + ensure_continuous_page_numbers(document) + + +def convert(req: ConvertRequest, log: LogFn | None = None) -> ConvertResult: + """Run check and/or conversion. Does not re-raise; errors go into ConvertResult.""" + emit: LogFn = log if log is not None else print + + def fail(code: int, message: str, check_report: str = "") -> ConvertResult: + emit(message) + return ConvertResult(False, code, check_report=check_report, message=message) + + filename = (req.filename or "").strip() + # Standalone page-fill check on an existing DOCX + if req.check_pages and filename.lower().endswith(".docx") and not filename.lower().endswith(".md"): + from .page_fill_check import check_docx_page_fill, format_page_fill_report + issues, status = check_docx_page_fill(filename) + report = format_page_fill_report(issues, status) + emit(report) + return ConvertResult(True, 0, check_report=report, message=report) + + if not filename: + return fail(2, "Укажите исходный markdown-файл") + if not filename.lower().endswith(".md"): + return fail(1, "Исходный файл должен быть в формате .md") + if not os.path.isfile(filename): + return fail(2, f"Файл не найден: {filename}") + + output = (req.output or "").strip() or None + if output and not output.lower().endswith(".docx"): + return fail(1, "Выходной файл должен быть в формате .docx") + + for label, path in (("титул", req.title), ("задание", req.assignment), ("шаблон", req.template)): + if path and not os.path.isfile(path): + return fail(2, f"Файл ({label}) не найден: {path}") + + if req.syntax_highlighting: + os.environ["SYNTAX_HIGHLIGHTING"] = "1" + else: + os.environ.pop("SYNTAX_HIGHLIGHTING", None) + + from .diagram_renderer import configure_diagrams + + md_dir = os.path.dirname(os.path.abspath(filename)) or "." + configure_diagrams( + plantuml_jar=req.plantuml_jar or None, + kroki_url=req.kroki_url or None, + fallback=req.diagram_fallback, + schemes_path=req.schemes_path or None, + md_dir=md_dir, + diagram_format=req.diagram_format if req.diagram_format in ("png", "svg") else "png", + diagram_scale=req.diagram_scale, + ) + + os.environ["WORKING_DIR"] = md_dir + + with open(filename, encoding="utf-8") as f: + md_text = f.read() + + check_report = "" + if req.check or req.check_only: + issues = check_markdown( + md_text, + req.doc_type, + table_continuation=req.table_continuation, + listing_continuation=req.listing_continuation, + ) + check_report = format_report(issues) + emit(check_report) + errors = [i for i in issues if i.severity == "error"] + if req.strict and errors: + return fail(1, "Проверка ТЗ: есть ошибки (--strict)", check_report) + if req.check_only: + return ConvertResult( + True, 0, check_report=check_report, + message=check_report, + ) + + if not output: + output = default_output_path(filename) + + template = (req.template or "").strip() or default_template_path() + + handler = _CallbackLogHandler(emit) + handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) + root_log = logging.getLogger("md2gost") + root_log.addHandler(handler) + attached_diag = logging.getLogger("md2gost.diagram_renderer") + prev_diag_level = attached_diag.level + attached_diag.setLevel(logging.INFO) + attached_diag.addHandler(handler) + + try: + converter = Converter( + filename, output, template, req.debug, + doc_type=req.doc_type, + heading_numbering=req.heading_numbering, + emdash_to_hyphen=req.emdash_to_hyphen, + toc_mode=req.toc_mode, + table_continuation=req.table_continuation, + listing_continuation=req.listing_continuation, + hr_pagebreak=req.hr_pagebreak, + ) + converter.convert() + document = converter.document + + if req.title or req.assignment: + try: + from docxcompose.composer import Composer + except ImportError: + return fail(3, "Для титула/задания нужен пакет docxcompose", check_report) + from .styles import apply_document_styles + + shell = Document(template) + apply_document_styles(shell, get_profile(req.doc_type).style_preset) + body = shell.element.body + for child in list(body): + if not child.tag.endswith("}sectPr"): + body.remove(child) + + composer = Composer(shell) + if req.title: + composer.append(Document(req.title)) + shell.add_page_break() + if req.assignment: + composer.append(Document(req.assignment)) + shell.add_page_break() + composer.append(document) + document = composer.doc + apply_document_styles(document, get_profile(req.doc_type).style_preset) + _fix_front_matter_after_compose( + document, + had_title=bool(req.title), + had_assignment=bool(req.assignment), + ) + + document.core_properties.author = getuser() + document.core_properties.comments = "Создано при помощи md2gost (ТЗ МИРЭА)" + document.save(output) + except Exception as exc: + emit(traceback.format_exc()) + return ConvertResult( + False, 1, check_report=check_report, + message=f"Ошибка конвертации: {exc}", + ) + finally: + root_log.removeHandler(handler) + attached_diag.removeHandler(handler) + attached_diag.setLevel(prev_diag_level) + + abs_out = os.path.abspath(output) + emit(f"Generated document: {abs_out}") + + if req.table_continuation == "word" or req.listing_continuation == "word": + from .word_fix import fix_continuations + fix = fix_continuations( + abs_out, + tables=(req.table_continuation == "word"), + listings=(req.listing_continuation == "word"), + repeat_header=bool(req.table_repeat_header), + ) + emit(fix.message) + if fix.details: + for line in fix.details: + emit(line) + if not fix.ok: + check_report = ( + (check_report + "\n" + fix.message).strip() if check_report else fix.message + ) + + if req.check_pages: + from .page_fill_check import check_docx_page_fill, format_page_fill_report + issues, status = check_docx_page_fill(abs_out) + page_report = format_page_fill_report(issues, status) + emit(page_report) + check_report = (check_report + "\n" + page_report).strip() if check_report else page_report + + if req.debug or req.open_when_done: + try: + open_document(abs_out) + except Exception as exc: + emit(f"Не удалось открыть файл: {exc}") + + return ConvertResult( + True, 0, output_path=abs_out, check_report=check_report, + message=f"Generated document: {abs_out}", + ) + + +class _CallbackLogHandler(logging.Handler): + def __init__(self, emit: LogFn): + super().__init__() + self._emit = emit + + def emit(self, record: logging.LogRecord) -> None: + try: + self._emit(self.format(record)) + except Exception: + pass + + +def should_launch_gui(filename: str | None, gui_flag: bool) -> bool: + """GUI if --gui, or if no input file was given (interactive default).""" + return bool(gui_flag or not filename) diff --git a/md2gost/profiles.py b/md2gost/profiles.py index 3e78e7c..ebdb16e 100644 --- a/md2gost/profiles.py +++ b/md2gost/profiles.py @@ -19,12 +19,17 @@ DEFAULT_HEADING_NUMBERING = "manual" TOC_MODES = ("manual", "native") DEFAULT_TOC_MODE = "native" -# off — одна таблица Word, пагинацию делает Word (по умолчанию; без автоподписи) +# off — одна таблица Word, пагинацию делает Word (без автоподписи) # legacy — режем по оценке высоты + «Продолжение…» с page_break_before # caption — режем по оценке + явный PageBreak + «Продолжение…» # soft — синоним off (автоподпись mid-page без точной вёрстки Word невозможна в DOCX) -TABLE_CONTINUATION_MODES = ("off", "legacy", "caption", "soft") -DEFAULT_TABLE_CONTINUATION = "off" +# word — как off при рендере; после save Word COM режет по реальной пагинации + «Продолжение…» +TABLE_CONTINUATION_MODES = ("off", "legacy", "caption", "soft", "word") +DEFAULT_TABLE_CONTINUATION = "word" + +# Same modes as tables (word = post-process via Word COM after save). +LISTING_CONTINUATION_MODES = TABLE_CONTINUATION_MODES +DEFAULT_LISTING_CONTINUATION = DEFAULT_TABLE_CONTINUATION # section — Рисунок 1.1 / 2.1 (ТЗ МИРЭА); continuous — Рисунок 1, 2, 3 (ПИС) NUMBERING_SCOPES = ("section", "continuous") diff --git a/md2gost/renderable/caption.py b/md2gost/renderable/caption.py index 2116194..3825caf 100644 --- a/md2gost/renderable/caption.py +++ b/md2gost/renderable/caption.py @@ -16,7 +16,7 @@ from ..util import create_element # Map category → Word style name CAPTION_STYLES = { "Рисунок": "Caption Figure", - "Таблица": "Caption Table", + "Таблица": "Название таблицы", "Листинг": "Caption Listing", } @@ -26,6 +26,7 @@ class CaptionInfo: unique_name: str | None text: str | None with_listing: bool = False + landscape: bool = False class Caption(Renderable): @@ -40,7 +41,10 @@ class Caption(Renderable): try: self._docx_paragraph.style = style_name except KeyError: - self._docx_paragraph.style = "Caption" + try: + self._docx_paragraph.style = "Caption Table" if category == "Таблица" else "Caption" + except KeyError: + self._docx_paragraph.style = "Caption" # Format: «Рисунок 1.1 — Название» (or « - » if --emdash-to-hyphen) from ..profiles import dash_separator diff --git a/md2gost/renderable/diagram.py b/md2gost/renderable/diagram.py index db2a023..4cfb827 100644 --- a/md2gost/renderable/diagram.py +++ b/md2gost/renderable/diagram.py @@ -14,7 +14,7 @@ from ..rendered_info import RenderedInfo class DiagramFigure(Renderable, RequiresNumbering): - """UML/BPMN/C4 fence → PNG figure (+ optional source listing).""" + """UML / Mermaid / scheme fence → figure (+ optional source listing).""" def __init__( self, @@ -34,6 +34,7 @@ class DiagramFigure(Renderable, RequiresNumbering): ) self._number = None self._listing_number = None + self.landscape = bool(caption_info and caption_info.landscape) if caption_info and caption_info.unique_name: self.unique_name = caption_info.unique_name @@ -56,8 +57,14 @@ class DiagramFigure(Renderable, RequiresNumbering): def render(self, previous_rendered: RenderedInfo, layout_state: LayoutState) \ -> Generator[RenderedInfo, None, None]: - png_path = render_diagram(self._lang, self._source) - image = Image(self._parent, png_path, self._caption_info) + result = render_diagram(self._lang, self._source) + image = Image( + self._parent, + result.png_path, + self._caption_info, + svg_path=result.svg_path, + pixel_scale=result.pixel_scale, + ) if self._number is not None: image.set_number(self._number) yield from image.render(previous_rendered, layout_state) diff --git a/md2gost/renderable/heading.py b/md2gost/renderable/heading.py index 629c498..aa464f3 100644 --- a/md2gost/renderable/heading.py +++ b/md2gost/renderable/heading.py @@ -2,7 +2,6 @@ from copy import copy from typing import Generator import re -from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.text.paragraph import Paragraph as DocxParagraph from docx.shared import Parented, Length @@ -35,7 +34,8 @@ class Heading(Paragraph): if not numbered: self._remove_numbering() - self._docx_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER + # Alignment decided later in Renderer: only СОДЕРЖАНИЕ / СПИСОК centered. + # ВВЕДЕНИЕ / ЗАКЛЮЧЕНИЕ / ПРИЛОЖЕНИЯ stay left like Heading 1 (1.25 cm indent). elif numbering_mode == "manual": # Digits already in markdown text — kill Word list numbering to avoid "1 1 …" self._remove_numbering() diff --git a/md2gost/renderable/image.py b/md2gost/renderable/image.py index 2c1db73..e1e0252 100644 --- a/md2gost/renderable/image.py +++ b/md2gost/renderable/image.py @@ -7,20 +7,32 @@ import os.path import requests from docx.enum.text import WD_PARAGRAPH_ALIGNMENT -from docx.shared import Parented, Length +from docx.shared import Parented, Length, Mm from docx.text.paragraph import Paragraph from .caption import Caption, CaptionInfo from .renderable import Renderable from .requires_numbering import RequiresNumbering +from ..docx_svg import attach_svg_blip from ..layout_tracker import LayoutState from ..rendered_info import RenderedInfo from ..sub_renderable import SubRenderable from ..util import create_element +# Leave room under the figure so «Рисунок N — …» stays on the same page. +_CAPTION_RESERVE = Mm(12) + class Image(Renderable, RequiresNumbering): - def __init__(self, parent: Parented, path: str, caption_info: CaptionInfo | None = None): + def __init__( + self, + parent: Parented, + path: str, + caption_info: CaptionInfo | None = None, + svg_path: str | None = None, + *, + pixel_scale: float = 1.0, + ): super().__init__("Рисунок") self._parent = parent self._caption_info = caption_info @@ -31,6 +43,8 @@ class Image(Renderable, RequiresNumbering): self._docx_paragraph.paragraph_format.line_spacing = 1 self._docx_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER self._invalid = False + self._native_width: Length | None = None + self._native_height: Length | None = None run = self._docx_paragraph.add_run() @@ -47,36 +61,82 @@ class Image(Renderable, RequiresNumbering): except FileNotFoundError: logging.warning(f"Invalid image path: {path}, skipping...") self._invalid = True + self._image = None + + # High-res PlantUML/Kroki PNG: keep on-page size as if scale were 1. + if not self._invalid and pixel_scale and pixel_scale > 1: + self._image.width = Length(int(self._image.width / pixel_scale)) + self._image.height = Length(int(self._image.height / pixel_scale)) + + if not self._invalid: + self._native_width = Length(int(self._image.width)) + self._native_height = Length(int(self._image.height)) + + if not self._invalid and svg_path: + try: + attach_svg_blip(run, self._image, svg_path) + except Exception as exc: + logging.warning("SVG blip attach failed (%s): %s", svg_path, exc) self._number = None + self.landscape = bool(caption_info and caption_info.landscape) if caption_info and caption_info.unique_name: self.unique_name = caption_info.unique_name + # Keep figure + caption together across Word pagination. + if not self._invalid and caption_info is not None: + self._docx_paragraph.paragraph_format.keep_with_next = True + def set_number(self, number: str): self._number = number + def _reset_native_size(self) -> None: + if self._image is None or self._native_width is None or self._native_height is None: + return + self._image.width = Length(int(self._native_width)) + self._image.height = Length(int(self._native_height)) + def render(self, previous_rendered: RenderedInfo, layout_state: LayoutState)\ -> Generator[RenderedInfo | SubRenderable, None, None]: if self._invalid: yield from [] return + # Re-fit from native size each time (Paragraph may have measured us earlier). + self._reset_native_size() + + has_caption = self._caption_info is not None + caption_reserve = _CAPTION_RESERVE if has_caption else Length(0) + max_w = layout_state.max_width + max_h = Length(max(0, int(layout_state.max_height) - int(caption_reserve))) + # limit width - if self._image.width > layout_state.max_width: + if self._image.width > max_w: height_by_width = self._image.height / self._image.width - self._image.width = layout_state.max_width + self._image.width = max_w self._image.height = Length(self._image.width * height_by_width) - # limit height - if self._image.height > layout_state.max_height: + # limit height (leave room for caption on the same page) + if self._image.height > max_h: width_by_height = self._image.width / self._image.height - self._image.height = layout_state.max_height + self._image.height = max_h self._image.width = Length(self._image.height * width_by_height) height = self._image.height - - if layout_state.remaining_page_height < height: - height += layout_state.remaining_page_height + need = Length(int(height) + int(caption_reserve)) + remaining = layout_state.remaining_page_height + if remaining < need: + if self.landscape: + # Already on a fresh landscape section — shrink instead of soft page-break + # (soft break + section break = empty landscape page before the figure). + avail = Length(max(0, int(remaining) - int(caption_reserve))) + if avail > 0 and self._image.height > avail: + ratio = int(avail) / int(self._image.height) + self._image.height = avail + self._image.width = Length(int(self._image.width * ratio)) + height = self._image.height + else: + height = Length(int(height) + int(remaining)) yield (rendered_image := RenderedInfo(self._docx_paragraph, Length(height))) diff --git a/md2gost/renderable/list.py b/md2gost/renderable/list.py index dd626ea..ad520d0 100644 --- a/md2gost/renderable/list.py +++ b/md2gost/renderable/list.py @@ -85,6 +85,10 @@ class List(Renderable): if self._paragraphs: self._paragraphs[-1]._docx_paragraph.paragraph_format.space_after = self._last_paragraph_space_after + if getattr(self, "_space_before_mm6", False) and self._paragraphs: + from docx.shared import Mm + self._paragraphs[0]._docx_paragraph.paragraph_format.space_before = Mm(6) + for paragraph in self._paragraphs: for x in paragraph.render(previous_rendered, copy(layout_state)): layout_state.add_height(x.height) diff --git a/md2gost/renderable/listing.py b/md2gost/renderable/listing.py index 11b3a27..8cc187c 100644 --- a/md2gost/renderable/listing.py +++ b/md2gost/renderable/listing.py @@ -2,23 +2,25 @@ from copy import copy import os from typing import Generator, Callable -from docx.oxml import CT_Tbl from docx.shared import Length, Pt, RGBColor, Twips -from docx.table import Table from pygments import highlight from pygments.formatter import Formatter from pygments.lexers import get_lexer_by_name from .caption import Caption, CaptionInfo +from .page_break import PageBreak from .paragraph import Paragraph from .renderable import Renderable from .requires_numbering import RequiresNumbering -from ..docx_elements import create_table, _twips +from ..docx_elements import create_table, create_table_row, create_table_cell, set_table_box_borders, _twips from ..layout_tracker import LayoutState +from ..profiles import DEFAULT_LISTING_CONTINUATION, LISTING_CONTINUATION_MODES from ..rendered_info import RenderedInfo from ..sub_renderable import SubRenderable +_WORD_PAGED_MODES = frozenset({"off", "soft", "word"}) + class DocxParagraphPygmentsFormatter(Formatter): def __init__(self, paragraphs: list[Paragraph], creator: Callable[[], Paragraph], **options): @@ -55,13 +57,14 @@ class Listing(Renderable, RequiresNumbering): self._caption_info = caption_info self._language = language self._parent = parent + self._continuation_mode = DEFAULT_LISTING_CONTINUATION self.paragraphs: list[Paragraph] = [] self._number = None if caption_info and caption_info.unique_name: self.unique_name = caption_info.unique_name def _create_table(self, parent, width: Length): - # todo: style inheritance + # Kept for tests / callers that still expect the helper; render uses multi-row. left_margin = Twips(int( parent.part.styles["Normal Table"]._element.xpath("w:tblPr/w:tblCellMar/w:left")[0].attrib[ "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}w"])) @@ -94,6 +97,51 @@ class Listing(Renderable, RequiresNumbering): def set_number(self, number: str): self._number = number + def set_continuation_mode(self, mode: str) -> None: + if mode not in LISTING_CONTINUATION_MODES: + raise ValueError( + f"listing continuation must be one of {LISTING_CONTINUATION_MODES}, got {mode!r}" + ) + self._continuation_mode = mode + + def _should_split_fragment( + self, line_height, layout_state: LayoutState, lines_in_fragment: int + ) -> bool: + if self._continuation_mode in _WORD_PAGED_MODES: + return False + if lines_in_fragment == 0: + return False + return line_height > layout_state.remaining_page_height + + def _make_continuation_paragraph(self) -> Paragraph: + continuation_paragraph = Paragraph(self._parent) + continuation_paragraph.add_run(f"Продолжение Листинга {self._number}") + continuation_paragraph.style = "Caption Listing" + continuation_paragraph.first_line_indent = 0 + return continuation_paragraph + + def _emit_page_break_and_optional_caption( + self, layout_state: LayoutState + ) -> Generator[RenderedInfo, None, None]: + mode = self._continuation_mode + if mode == "legacy": + continuation_paragraph = self._make_continuation_paragraph() + continuation_paragraph.page_break_before = True + info = next(continuation_paragraph.render(None, copy(layout_state))) + layout_state.add_height(info.height) + yield info + return + + page_break_info = next(PageBreak(self._parent).render(None, layout_state)) + layout_state.add_height(page_break_info.height) + yield page_break_info + + continuation_paragraph = self._make_continuation_paragraph() + continuation_paragraph._docx_paragraph.paragraph_format.keep_with_next = True + info = next(continuation_paragraph.render(None, copy(layout_state))) + layout_state.add_height(info.height) + yield info + def render(self, previous_rendered: RenderedInfo, layout_state: LayoutState)\ -> Generator[RenderedInfo | SubRenderable, None, None]: caption_rendered_infos = list( @@ -103,54 +151,65 @@ class Listing(Renderable, RequiresNumbering): layout_state.add_height(sum([info.height for info in caption_rendered_infos])) yield from caption_rendered_infos - table = self._create_table(self._parent, layout_state.max_width) + # One code line = one table row so Word can Split at real page breaks (mode word). + # Outer box only — no grid lines between lines (looks like text in a frame). + table = create_table(self._parent, 0, 1, self._listing_width(layout_state)) + set_table_box_borders(table) previous = None table_height = Pt(1) # table borders, 4 eights of point for each border + lines_in_fragment = 0 + col_w = self._listing_width(layout_state) - # if first line doesn't fit move listing to the next page - paragraph_layout_state = copy(layout_state) - paragraph_layout_state.max_width -= LISTING_OFFSET - paragraph_rendered_info = next(self.paragraphs[0].render(previous, paragraph_layout_state)) - if paragraph_rendered_info.height + table_height > layout_state.remaining_page_height: - table_height += layout_state.remaining_page_height - layout_state.add_height(layout_state.remaining_page_height) + # legacy/caption: if first line doesn't fit, burn the rest of the page + if self.paragraphs and self._continuation_mode not in _WORD_PAGED_MODES: + paragraph_layout_state = copy(layout_state) + paragraph_layout_state.max_width -= LISTING_OFFSET + first = next(self.paragraphs[0].render(previous, paragraph_layout_state)) + if first.height + table_height > layout_state.remaining_page_height: + table_height += layout_state.remaining_page_height + layout_state.add_height(layout_state.remaining_page_height) for paragraph in self.paragraphs: paragraph_layout_state = copy(layout_state) paragraph_layout_state.max_width -= LISTING_OFFSET paragraph_rendered_info = next(paragraph.render(previous, paragraph_layout_state)) - if paragraph_rendered_info.height > layout_state.remaining_page_height: # todo add before after - table_rendered_info = RenderedInfo(table, table_height) - yield table_rendered_info - - table_height = Pt(1) # table borders, 4 eights of point for each border - - continuation_paragraph = Paragraph(self._parent) - continuation_paragraph.add_run(f"Продолжение Листинга {self._number}") - continuation_paragraph.style = "Caption Listing" - continuation_paragraph.first_line_indent = 0 - continuation_paragraph.page_break_before = True - - continuation_rendered_info = next( - continuation_paragraph.render(None, copy(layout_state))) - - layout_state.add_height(continuation_rendered_info.height) - yield continuation_rendered_info - - table = self._create_table(self._parent, layout_state.max_width) + if self._should_split_fragment( + paragraph_rendered_info.height, layout_state, lines_in_fragment + ): + yield RenderedInfo(table, table_height) + yield from self._emit_page_break_and_optional_caption(layout_state) + table_height = Pt(1) + table = create_table(self._parent, 0, 1, col_w) + set_table_box_borders(table) previous = None + lines_in_fragment = 0 paragraph_layout_state = copy(layout_state) paragraph_layout_state.max_width -= LISTING_OFFSET paragraph_rendered_info = next(paragraph.render(previous, paragraph_layout_state)) - table._cells[0]._element.append(paragraph_rendered_info.docx_element._element) + row = create_table_row(table, header=False) + cell = create_table_cell(row, col_w) + cell._element.append(paragraph_rendered_info.docx_element._element) + row._element.append(cell._element) + table._element.append(row._element) + layout_state.add_height(paragraph_rendered_info.height) table_height += paragraph_rendered_info.height + lines_in_fragment += 1 previous = paragraph_rendered_info yield RenderedInfo(table, table_height) + + def _listing_width(self, layout_state: LayoutState) -> Length: + left_margin = Twips(int( + self._parent.part.styles["Normal Table"]._element.xpath("w:tblPr/w:tblCellMar/w:left")[0].attrib[ + "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}w"])) + right_margin = Twips(int( + self._parent.part.styles["Normal Table"]._element.xpath("w:tblPr/w:tblCellMar/w:right")[0].attrib[ + "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}w"])) + return Twips(_twips(layout_state.max_width) + _twips(left_margin) + _twips(right_margin)) diff --git a/md2gost/renderable/paragraph.py b/md2gost/renderable/paragraph.py index 7b61008..bdb5049 100644 --- a/md2gost/renderable/paragraph.py +++ b/md2gost/renderable/paragraph.py @@ -89,14 +89,16 @@ class Paragraph(Renderable): return link def add_inline_equation(self, formula: str): - # omml = inline_omml(latex_to_omml(formula)) - # for r in omml.xpath("//m:r", namespaces=omml.nsmap): - # r.append(create_element("w:rPr", [ - # create_element("w:sz", {"w:val": "24"}), - # create_element("w:szCs", {"w:val": "24"}), - # ])) - # self._docx_paragraph._element.append(omml) - self.add_run(formula, is_italic=True) + try: + omml = inline_omml(latex_to_omml(formula)) + for r in omml.xpath("//m:r", namespaces=omml.nsmap): + r.append(create_element("w:rPr", [ + create_element("w:sz", {"w:val": "28"}), + create_element("w:szCs", {"w:val": "28"}), + ])) + self._docx_paragraph._element.append(omml) + except Exception: + self.add_run(formula, is_italic=True) @property def page_break_before(self) -> bool: @@ -170,6 +172,12 @@ class Paragraph(Renderable): images = iter(self._images) for image in images: + # +landscape: section break handles the new page. Do NOT measure against + # portrait remaining (that queues add_to_new_page and leaves an empty page). + if getattr(image, "landscape", False): + yield SubRenderable(image, False) + continue + rendered_image = list(image.render(previous_rendered, copy(layout_state))) rendered_image_height = sum([x.height for x in rendered_image]) if rendered_image: diff --git a/md2gost/renderable/table.py b/md2gost/renderable/table.py index 074afb2..0b7d8ad 100644 --- a/md2gost/renderable/table.py +++ b/md2gost/renderable/table.py @@ -18,8 +18,9 @@ CELL_OFFSET = Pt(9) - Twips(108 * 2) # Slack only for modes that fragment by our height estimate (legacy/caption). ROW_HEIGHT_SLACK = Pt(4) -# Modes that do NOT cut the table into fragments — Word owns page breaks. -_WORD_PAGED_MODES = frozenset({"off", "soft"}) +# Modes that do NOT cut the table into fragments — Word owns page breaks +# (word: post-split via COM after save). +_WORD_PAGED_MODES = frozenset({"off", "soft", "word"}) class Table(Renderable, RequiresNumbering): @@ -35,6 +36,7 @@ class Table(Renderable, RequiresNumbering): self._cell_margin_lr = left_margin + right_margin self._number = "?" + self.landscape = bool(caption_info and caption_info.landscape) if caption_info and caption_info.unique_name: self.unique_name = caption_info.unique_name @@ -144,7 +146,7 @@ class Table(Renderable, RequiresNumbering): def _make_continuation_paragraph(self) -> Paragraph: continuation_paragraph = Paragraph(self._parent) continuation_paragraph.add_run(f"Продолжение Таблицы {self._number}") - continuation_paragraph.style = "Caption Table" + continuation_paragraph.style = "Название таблицы" continuation_paragraph.first_line_indent = 0 return continuation_paragraph diff --git a/md2gost/renderable/toc.py b/md2gost/renderable/toc.py index 8334767..e481804 100644 --- a/md2gost/renderable/toc.py +++ b/md2gost/renderable/toc.py @@ -116,7 +116,12 @@ class ToC(Renderable): continue display = title.strip() - if display.upper() in SPECIAL_TITLES or display.upper().startswith("ПРИЛОЖЕНИЕ"): + # Special sections and numbered H1 → uppercase in TOC (method guide) + if ( + display.upper() in SPECIAL_TITLES + or display.upper().startswith("ПРИЛОЖЕНИЕ") + or (level == 1 and numbered) + ): display = display.upper() p.add_run(" " * (level - 1)) diff --git a/md2gost/renderable_factory.py b/md2gost/renderable_factory.py index eae97f9..1ceeac9 100644 --- a/md2gost/renderable_factory.py +++ b/md2gost/renderable_factory.py @@ -15,12 +15,13 @@ from .renderable.list import List from .renderable.toc import ToC from .renderable.diagram import DiagramFigure from .label_pass import resolve_reference -from .diagram_renderer import DIAGRAM_LANGS +from .diagram_renderer import is_diagram_lang class RenderableFactory: - def __init__(self, parent: Parented): + def __init__(self, parent: Parented, hr_pagebreak: bool = False): self._parent = parent + self._hr_pagebreak = hr_pagebreak @singledispatchmethod def create(self, marko_element: extended_markdown.BlockElement, @@ -43,7 +44,12 @@ class RenderableFactory: elif isinstance(child, extended_markdown.CodeSpan): paragraph_or_link.add_run(child.children, is_italic=True) elif isinstance(child, extended_markdown.Image): - caption = CaptionInfo(child.unique_name, child.title) + caption = CaptionInfo( + child.unique_name, + child.title, + getattr(child, "with_listing", False), + getattr(child, "landscape", False), + ) paragraph_or_link.add_image(child.dest, caption) elif isinstance(child, extended_markdown.LineBreak): pass @@ -82,7 +88,7 @@ class RenderableFactory: def _(self, marko_code_block: extended_markdown.FencedCode, caption_info: CaptionInfo): lang = (marko_code_block.lang or "").strip().lower() source = marko_code_block.children[0].children - if lang in DIAGRAM_LANGS: + if is_diagram_lang(lang): return DiagramFigure( self._parent, lang, @@ -98,7 +104,7 @@ class RenderableFactory: def _(self, marko_code_block: extended_markdown.CodeBlock, caption_info: CaptionInfo): lang = (getattr(marko_code_block, "lang", "") or "").strip().lower() source = marko_code_block.children[0].children - if lang in DIAGRAM_LANGS: + if is_diagram_lang(lang): return DiagramFigure( self._parent, lang, @@ -161,3 +167,16 @@ class RenderableFactory: def _(self, marko_toc: extended_markdown.TOC, caption_info: CaptionInfo): toc = ToC(self._parent) return toc + + @create.register + def _(self, marko_hr: extended_markdown.ThematicBreak, caption_info: CaptionInfo): + if self._hr_pagebreak: + from .renderable.page_break import PageBreak + return PageBreak(self._parent) + paragraph = Paragraph(self._parent) + paragraph.add_run( + "ThematicBreak is not supported", + color=RGBColor.from_string("ff0000"), + ) + logging.warning("ThematicBreak is not supported") + return paragraph diff --git a/md2gost/renderer.py b/md2gost/renderer.py index cbea6c9..98ac382 100644 --- a/md2gost/renderer.py +++ b/md2gost/renderer.py @@ -3,18 +3,24 @@ from itertools import chain import re from docx.document import Document -from docx.shared import Length, Cm, Parented, Pt, Mm +from docx.shared import Length, Parented, Mm, Cm from docx.enum.text import WD_PARAGRAPH_ALIGNMENT +from docx.enum.section import WD_SECTION from .numberer import Numberer, APPENDIX_LETTERS from .renderable import Renderable from .renderable.requires_numbering import RequiresNumbering from .renderable.heading import Heading from .renderable.equation import Equation +from .renderable.paragraph import Paragraph from .rendered_info import RenderedInfo from .sub_renderable import SubRenderable -from .util import create_element from .layout_tracker import LayoutTracker +from .page_geometry import ( + apply_centered_page_footer, + apply_section_geometry, + content_size, +) if TYPE_CHECKING: from .debugger import Debugger @@ -22,7 +28,12 @@ if TYPE_CHECKING: BOTTOM_MARGIN = Mm(20) APPENDIX_RE = re.compile( - r"^ПРИЛОЖЕНИЕ\s+([А-ЯA-Z])\b", + r"^ПРИЛОЖЕНИЕ\s+([А-ЯA-ZЁ])\b", + re.IGNORECASE, +) +# Lettered appendix title: «Приложение А» or «Приложение А Название» +APPENDIX_ITEM_RE = re.compile( + r"^ПРИЛОЖЕНИЕ\s+([А-ЯA-ZЁ])(?:\s+(.+))?$", re.IGNORECASE, ) SPECIAL_CENTER = { @@ -48,13 +59,9 @@ class Renderer: self._appendix_index = 0 self._after_toc = False self._body_section_started = False + self._landscape_depth = 0 - max_height = (document.sections[0].page_height - - document.sections[0].top_margin - - BOTTOM_MARGIN) - max_width = (self._document.sections[0].page_width - - self._document.sections[0].left_margin - - self._document.sections[0].right_margin) + max_height, max_width = content_size(landscape=False) self._layout_tracker = LayoutTracker(max_height, max_width) # Front-matter section: no page numbers (титул / задание / содержание) @@ -62,6 +69,8 @@ class Renderer: self.previous_rendered = None self._to_new_page: list[Renderable] = [] + self._after_current: list[Renderable] = [] + self._need_space_after_object = False @staticmethod def _clear_footer(section): @@ -77,27 +86,39 @@ class Renderer: if self._body_section_started: return self._body_section_started = True - # Continuous/new page section break is inserted via last paragraph sectPr; - # python-docx: add_section creates new section. - from docx.enum.section import WD_ORIENT, WD_SECTION new_section = self._document.add_section(WD_SECTION.NEW_PAGE) - new_section.page_width = self._document.sections[0].page_width - new_section.page_height = self._document.sections[0].page_height - new_section.left_margin = Mm(30) - new_section.right_margin = Mm(10) - new_section.top_margin = Mm(20) - new_section.bottom_margin = Mm(20) + apply_section_geometry(new_section, landscape=False) + apply_centered_page_footer(new_section) - paragraph = new_section.footer.paragraphs[0] - paragraph.paragraph_format.first_line_indent = 0 - paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER - run = paragraph.add_run() - run.font.name = "Times New Roman" - run.font.size = Pt(12) - # PAGE field - paragraph._p.append(create_element("w:fldSimple", { - "w:instr": "PAGE \\* MERGEFORMAT" - })) + def _enter_landscape(self) -> None: + if self._landscape_depth > 0: + self._landscape_depth += 1 + return + self._flush_to_new_screen() + if self._after_toc: + self._ensure_body_section_with_page_numbers() + elif not self._body_section_started: + # No TOC — still need page numbers on subsequent sections. + self._body_section_started = True + apply_centered_page_footer(self._document.sections[0]) + section = self._document.add_section(WD_SECTION.NEW_PAGE) + apply_section_geometry(section, landscape=True) + apply_centered_page_footer(section) + max_height, max_width = content_size(landscape=True) + self._layout_tracker.set_page_size(max_height, max_width) + self._landscape_depth = 1 + + def _exit_landscape(self) -> None: + if self._landscape_depth <= 0: + return + self._landscape_depth -= 1 + if self._landscape_depth > 0: + return + section = self._document.add_section(WD_SECTION.NEW_PAGE) + apply_section_geometry(section, landscape=False) + apply_centered_page_footer(section) + max_height, max_width = content_size(landscape=False) + self._layout_tracker.set_page_size(max_height, max_width) def process(self, renderables: list[Renderable]): for i in range(len(renderables)): @@ -107,46 +128,84 @@ class Renderer: # If document had no TOC, still add page numbers to the only section if not self._body_section_started: section = self._document.sections[0] - paragraph = section.footer.paragraphs[0] - paragraph.paragraph_format.first_line_indent = 0 - paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER - paragraph._p.append(create_element("w:fldSimple", { - "w:instr": "PAGE \\* MERGEFORMAT" - })) + apply_centered_page_footer(section) if self._debugger: self._debugger.after_rendered() + @staticmethod + def _rewrite_heading_text(heading: Heading, text: str) -> None: + runs = heading._docx_paragraph.runs + if runs: + runs[0].text = text + for r in runs[1:]: + r.text = "" + else: + heading.add_run(text) + + def _make_appendix_title_paragraph(self, title: str) -> Paragraph: + """Title line under «Приложение А»: Normal, centered, no first-line indent.""" + p = Paragraph(self._document._body) + p.add_run(title) + p.style = "Normal" + p.first_line_indent = Cm(0) + pf = p._docx_paragraph.paragraph_format + pf.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER + pf.left_indent = Cm(0) + pf.keep_with_next = True + return p + def _handle_heading(self, heading: Heading): text = (heading.text or "").strip() - upper = text.upper() + upper = text.upper().replace("Ё", "Е") if heading.level == 1 and heading.is_numbered: self._section_count += 1 self._numberer.enter_section(self._section_count) - # Appendix: «Приложение А» / «ПРИЛОЖЕНИЕ А» - m = APPENDIX_RE.match(upper.replace("Ё", "Е")) - if m or (heading.level <= 3 and upper.startswith("ПРИЛОЖЕНИЕ")): - letter = None - if m: - letter = m.group(1).upper() - else: - parts = upper.split() - if len(parts) >= 2 and parts[1] in APPENDIX_LETTERS: - letter = parts[1] - elif self._appendix_index < len(APPENDIX_LETTERS): - letter = APPENDIX_LETTERS[self._appendix_index] - self._appendix_index += 1 - if letter: + # Letter appendix item: «Приложение А» / «Приложение А Название» + # (not the section header «ПРИЛОЖЕНИЯ») + item = APPENDIX_ITEM_RE.match(upper) if upper.startswith("ПРИЛОЖЕНИЕ ") else None + if item: + letter = item.group(1).upper().replace("Ё", "Е") + title_tail = (item.group(2) or "").strip() + if letter in APPENDIX_LETTERS: + self._numberer.enter_appendix(letter) + elif self._appendix_index < len(APPENDIX_LETTERS): + letter = APPENDIX_LETTERS[self._appendix_index] + self._appendix_index += 1 self._numberer.enter_appendix(letter) - # Center special unnumbered headings that must be centered (already centered if unnumbered) - if upper in SPECIAL_CENTER or upper.startswith("ПРИЛОЖЕНИЕ"): + # Style as Heading 3, centered, new page (method guide §6) + heading.style = "Heading 3" + heading._level = 3 + heading._remove_numbering() heading._docx_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER + heading._docx_paragraph.paragraph_format.left_indent = Cm(0) + heading._docx_paragraph.paragraph_format.first_line_indent = Cm(0) + heading.page_break_before = True + heading._docx_paragraph.paragraph_format.keep_with_next = True - # СОДЕРЖАНИЕ / СПИСОК — center even if somehow numbered - if upper in ("СОДЕРЖАНИЕ", "СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ"): + orig = (heading.text or "").strip() + m_orig = re.match(r"(?i)^Приложение\s+([А-ЯA-ZЁ])\b", orig) + letter_display = m_orig.group(1).upper().replace("Ё", "Е") if m_orig else letter + self._rewrite_heading_text(heading, f"Приложение {letter_display}") + + if title_tail: + m_tail = re.match(r"(?i)^Приложение\s+[А-ЯA-ZЁ]\s+(.+)$", orig) + title_text = m_tail.group(1).strip() if m_tail else title_tail + self._after_current.append(self._make_appendix_title_paragraph(title_text)) + return + + # Section «ПРИЛОЖЕНИЯ» / bare «ПРИЛОЖЕНИЕ» — left like H1, not centered + if upper in ("ПРИЛОЖЕНИЯ", "ПРИЛОЖЕНИЕ"): + heading._docx_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT + return + + # Only СОДЕРЖАНИЕ / СПИСОК … are centered (method guide p. 8) + if upper in SPECIAL_CENTER: heading._docx_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER + heading._docx_paragraph.paragraph_format.left_indent = Cm(0) + heading._docx_paragraph.paragraph_format.first_line_indent = Cm(0) # Native Word TOC picks up Heading 1–3; «СОДЕРЖАНИЕ» must not list itself if upper == "СОДЕРЖАНИЕ": @@ -159,69 +218,113 @@ class Renderer: # After ToC page-break renderable we open body section — detected via ToC's PageBreak from .renderable.toc import ToC from .renderable.page_break import PageBreak + from .renderable.table import Table + from .renderable.listing import Listing + from .renderable.diagram import DiagramFigure + from .renderable.list import List as RList + if isinstance(renderable, PageBreak) and self._after_toc: self._ensure_body_section_with_page_numbers() if isinstance(renderable, ToC): self._after_toc = True - if not self._skip_numbering and isinstance(renderable, RequiresNumbering): - if isinstance(renderable, Equation): - label = renderable.unique_name - if renderable.needs_numbering or (label and label in self._numbered_equations): - renderable.enable_numbering() - number = self._numberer.next_number( - renderable.numbering_category, label) - renderable.set_number(number) - else: - number = self._numberer.next_number( - renderable.numbering_category, - getattr(renderable, "unique_name", None), - ) - renderable.set_number(number) + # Space 6 mm before next body paragraph after table/listing + if self._need_space_after_object: + self._need_space_after_object = False + if isinstance(renderable, (Paragraph, RList)) and not isinstance(renderable, Heading): + if isinstance(renderable, RList): + # Apply to first list item when rendered — mark on list + setattr(renderable, "_space_before_mm6", True) + else: + renderable._docx_paragraph.paragraph_format.space_before = Mm(6) - infos = renderable.render(self.previous_rendered, self._layout_tracker.current_state) + wants_landscape = bool(getattr(renderable, "landscape", False)) + deferred_listing = None + if wants_landscape and isinstance(renderable, DiagramFigure) and renderable.listing is not None: + # Method guide: landscape pages are for figures/tables only — listing after + deferred_listing = renderable.listing + renderable.listing = None + + if wants_landscape: + self._enter_landscape() try: - first = next(infos) - if isinstance(first, RenderedInfo) and first.height \ - >= self._layout_tracker.current_state.remaining_page_height: - self._flush_to_new_screen() - infos = renderable.render(self.previous_rendered, self._layout_tracker.current_state) - else: - infos = chain([first], infos) - except StopIteration: - pass - - for info in infos: - if isinstance(info, SubRenderable): - if info.add_to_new_page: - self._to_new_page.append(info.renderable) + if not self._skip_numbering and isinstance(renderable, RequiresNumbering): + if isinstance(renderable, Equation): + label = renderable.unique_name + if renderable.needs_numbering or (label and label in self._numbered_equations): + renderable.enable_numbering() + number = self._numberer.next_number( + renderable.numbering_category, label) + renderable.set_number(number) else: - self.render(info.renderable) - else: - self._add(info.docx_element, info.height) - self.previous_rendered = info + number = self._numberer.next_number( + renderable.numbering_category, + getattr(renderable, "unique_name", None), + ) + renderable.set_number(number) + + infos = renderable.render(self.previous_rendered, self._layout_tracker.current_state) + + try: + first = next(infos) + if isinstance(first, RenderedInfo) and first.height \ + >= self._layout_tracker.current_state.remaining_page_height: + self._flush_to_new_screen() + infos = renderable.render(self.previous_rendered, self._layout_tracker.current_state) + else: + infos = chain([first], infos) + except StopIteration: + pass + + for info in infos: + if isinstance(info, SubRenderable): + if info.add_to_new_page: + self._to_new_page.append(info.renderable) + else: + self.render(info.renderable) + else: + self._add(info.docx_element, info.height) + self.previous_rendered = info + finally: + if wants_landscape: + self._exit_landscape() + + # Appendix title line queued by _handle_heading + while self._after_current: + extra = self._after_current.pop(0) + self.render(extra) + + if deferred_listing is not None: + self.render(deferred_listing) + + if isinstance(renderable, (Table, Listing)): + self._need_space_after_object = True + elif isinstance(renderable, DiagramFigure) and deferred_listing is None and renderable.listing is None: + # Diagram figure alone — no table/listing spacing needed after image caption + pass def _flush_to_new_screen(self): while self._to_new_page: renderable = self._to_new_page.pop(0) - if not self._skip_numbering and isinstance(renderable, RequiresNumbering): - number = self._numberer.next_number( - renderable.numbering_category, - getattr(renderable, "unique_name", None), - ) - renderable.set_number(number) - for info_ in renderable.render(self.previous_rendered, self._layout_tracker.current_state): - if isinstance(info_, SubRenderable): - continue - self._add(info_.docx_element, info_.height) - self.previous_rendered = info_ + self.render(renderable) def _add(self, element: Parented, height: Length): - self._document._body._element.append( - element._element - ) + # MUST insert before the body-level w:sectPr. append() puts content after it, + # so section breaks from +landscape never wrap the figure (Word shows portrait). + body = self._document._body._element + el = element._element + from docx.oxml.ns import qn + sect_pr = None + for child in body: + if child.tag == qn("w:sectPr"): + sect_pr = child + break + if sect_pr is not None: + sect_pr.addprevious(el) + else: + body.append(el) self._layout_tracker.add_height(height) if self._debugger: diff --git a/md2gost/styles.py b/md2gost/styles.py index 910030e..8d42ef3 100644 --- a/md2gost/styles.py +++ b/md2gost/styles.py @@ -173,13 +173,11 @@ def apply_document_styles(document: Document, style_preset: str = "mirea") -> No def _apply_common_page_and_body(document: Document) -> None: + from .page_geometry import apply_section_geometry, is_landscape_section + for section in document.sections: - section.page_width = Mm(210) - section.page_height = Mm(297) - section.left_margin = Mm(30) - section.right_margin = Mm(10) - section.top_margin = Mm(20) - section.bottom_margin = Mm(20) + # Do not wipe landscape sections created for +landscape figures/tables. + apply_section_geometry(section, landscape=is_landscape_section(section)) _fix_toc_tab_stops(document) @@ -209,7 +207,7 @@ def _apply_common_captions_and_misc(document: Document) -> None: cpf.line_spacing_rule = WD_LINE_SPACING.SINGLE cpf.widow_control = True - # --- Caption Table: 12pt italic, left, above table --- + # --- Caption Table (legacy EN name) + «Название таблицы» (основной) --- caption_tbl = _ensure_style(document, "Caption Table", "Caption") _set_run_font(caption_tbl, "Times New Roman", 12, italic=True) tpf = caption_tbl.paragraph_format @@ -219,8 +217,22 @@ def _apply_common_captions_and_misc(document: Document) -> None: tpf.space_before = Mm(6) tpf.space_after = Mm(0) tpf.line_spacing_rule = WD_LINE_SPACING.SINGLE + tpf.keep_with_next = True tpf.widow_control = True + # ГОСТ-имя стиля подписи таблицы (те же параметры, что Caption Table) + caption_tbl_ru = _ensure_style(document, "Название таблицы", "Caption Table") + _set_run_font(caption_tbl_ru, "Times New Roman", 12, italic=True) + tpf_ru = caption_tbl_ru.paragraph_format + tpf_ru.alignment = WD_ALIGN_PARAGRAPH.LEFT + tpf_ru.first_line_indent = Cm(0) + tpf_ru.left_indent = Cm(0) + tpf_ru.space_before = Mm(6) + tpf_ru.space_after = Mm(0) + tpf_ru.line_spacing_rule = WD_LINE_SPACING.SINGLE + tpf_ru.keep_with_next = True + tpf_ru.widow_control = True + # --- Caption Listing (как таблицы) --- caption_lst = _ensure_style(document, "Caption Listing", "Caption") _set_run_font(caption_lst, "Times New Roman", 12, italic=True) @@ -256,7 +268,9 @@ def _apply_common_captions_and_misc(document: Document) -> None: table_text = _ensure_style(document, "Table Text", "Normal") _set_run_font(table_text, "Times New Roman", 12) ttf = table_text.paragraph_format + ttf.alignment = WD_ALIGN_PARAGRAPH.LEFT ttf.first_line_indent = Cm(0) + ttf.left_indent = Cm(0) ttf.space_before = Mm(0) ttf.space_after = Mm(0) ttf.line_spacing_rule = WD_LINE_SPACING.SINGLE @@ -276,12 +290,28 @@ def _apply_common_captions_and_misc(document: Document) -> None: bhpf = biblio_h.paragraph_format bhpf.alignment = WD_ALIGN_PARAGRAPH.CENTER bhpf.first_line_indent = Cm(0) - bhpf.left_indent = Cm(0) + bhpf.left_indent = Cm(1.25) # табл. 5.1 bhpf.space_before = Mm(6) bhpf.space_after = Mm(6) bhpf.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE bhpf.keep_with_next = True + # TOC styles: TNR 14, 1.5, no bold, no first-line indent; toc 1 = ALL CAPS + for toc_name, all_caps in (("toc 1", True), ("toc 2", False), ("toc 3", False)): + try: + toc_style = document.styles[toc_name] + except KeyError: + toc_style = _ensure_style(document, toc_name, "Normal") + _set_run_font(toc_style, "Times New Roman", 14, bold=False) + toc_style.font.all_caps = all_caps + toc_style.font.bold = False + tpf_toc = toc_style.paragraph_format + tpf_toc.alignment = WD_ALIGN_PARAGRAPH.LEFT + tpf_toc.first_line_indent = Cm(0) + tpf_toc.space_before = Pt(0) + tpf_toc.space_after = Pt(0) + tpf_toc.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE + try: footer_style = document.styles["Footer"] _set_run_font(footer_style, "Times New Roman", 12) @@ -301,4 +331,6 @@ def _apply_common_captions_and_misc(document: Document) -> None: after = _ensure_style(document, "Space After Table", "Normal") apf = after.paragraph_format apf.space_before = Mm(6) + apf.space_after = Pt(0) apf.first_line_indent = Cm(1.25) + apf.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE diff --git a/md2gost/vendor/.gitkeep b/md2gost/vendor/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/md2gost/word_fix.py b/md2gost/word_fix.py new file mode 100644 index 0000000..e52f669 --- /dev/null +++ b/md2gost/word_fix.py @@ -0,0 +1,525 @@ +"""Post-process DOCX in Word: split tables/listings at real page breaks + «Продолжение…». + +Requires Windows + Microsoft Word + pywin32. Pure helpers below are unit-testable +without Word. +""" + +from __future__ import annotations + +import os +import re +import sys +from dataclasses import dataclass, field + +# wdActiveEndPageNumber +_WD_ACTIVE_END_PAGE_NUMBER = 3 + +_CAPTION_RE = re.compile( + r"^(?:Продолжение\s+)?" + r"(?PТаблица|Таблицы|Листинг|Листинга)\s+" + r"(?P[\d.]+)", + re.IGNORECASE, +) +_CONTINUATION_RE = re.compile(r"^Продолжение\s+(?:Таблицы|Листинга)\b", re.IGNORECASE) + +MAX_PASSES = 5 + + +@dataclass +class CaptionInfo: + kind: str # "table" | "listing" + number: str + is_continuation: bool = False + + +@dataclass +class FixResult: + ok: bool + splits: int = 0 + skipped: int = 0 + message: str = "" + details: list[str] = field(default_factory=list) + + +def parse_caption_text(text: str) -> CaptionInfo | None: + """Parse «Таблица 2.1 — …» / «Продолжение Таблицы 2.1» / «Листинг 1 …».""" + raw = (text or "").replace("\r", "").replace("\x07", "").strip() + if not raw: + return None + first = raw.split("\n", 1)[0].strip() + m = _CAPTION_RE.match(first) + if not m: + return None + kind_raw = m.group("kind").lower() + if kind_raw.startswith("табл"): + kind = "table" + elif kind_raw.startswith("лист"): + kind = "listing" + else: + return None + return CaptionInfo( + kind=kind, + number=m.group("number"), + is_continuation=bool(_CONTINUATION_RE.match(first)), + ) + + +def find_page_break_row(page_numbers: list[int]) -> int | None: + """ + Return 1-based Word row index where a new page starts. + + page_numbers[i] is the page of row i+1. None if the table does not cross pages. + """ + if len(page_numbers) < 2: + return None + for i in range(1, len(page_numbers)): + if page_numbers[i] > page_numbers[i - 1]: + row_1based = i + 1 + if row_1based <= 1: + return None + return row_1based + return None + + +def continuation_label(kind: str, number: str) -> str: + if kind == "listing": + return f"Продолжение Листинга {number}" + return f"Продолжение Таблицы {number}" + + +def caption_style_name(kind: str) -> str: + return "Caption Listing" if kind == "listing" else "Название таблицы" + + +def fix_continuations( + path: str, + *, + tables: bool = True, + listings: bool = True, + repeat_header: bool = False, +) -> FixResult: + """ + Open DOCX in Word, split cross-page tables/listings, insert continuation captions. + + On missing Word/pywin32 returns ok=False with a reason (caller should not fail convert). + """ + if sys.platform != "win32": + return FixResult( + False, + message="Пост-разрыв таблиц (word): только Windows + Microsoft Word.", + ) + try: + import win32com.client # type: ignore + except ImportError: + return FixResult( + False, + message=( + "Пост-разрыв таблиц пропущен: нужен pywin32 " + "(pip install pywin32) и Microsoft Word." + ), + ) + + abs_path = os.path.abspath(path) + if not os.path.isfile(abs_path): + return FixResult(False, message=f"Файл не найден: {abs_path}") + + word = None + doc = None + splits = 0 + details: list[str] = [] + try: + word = win32com.client.DispatchEx("Word.Application") + word.Visible = False + word.DisplayAlerts = 0 + doc = word.Documents.Open(abs_path, ReadOnly=False) + for _pass in range(MAX_PASSES): + doc.Repaginate() + made = _fix_pass( + doc, + tables=tables, + listings=listings, + repeat_header=repeat_header, + details=details, + ) + if made == 0: + break + splits += made + + skipped = sum(1 for d in details if d.startswith("skip:")) + doc.Save() + msg = ( + f"Пост-разрыв Word: разрезов {splits}" + + (f", пропусков {skipped}" if skipped else "") + + "." + ) + return FixResult(True, splits=splits, skipped=skipped, message=msg, details=details) + except Exception as exc: + skipped = sum(1 for d in details if d.startswith("skip:")) + return FixResult( + False, + splits=splits, + skipped=skipped, + message=f"Пост-разрыв таблиц не удался: {exc}", + details=details, + ) + finally: + if doc is not None: + try: + doc.Close(False) + except Exception: + pass + if word is not None: + try: + word.Quit() + except Exception: + pass + + +def _row_page_numbers(table) -> list[int]: + """Page number at the start of each row (more reliable than end-of-range).""" + pages: list[int] = [] + n = int(table.Rows.Count) + for i in range(1, n + 1): + try: + rng = table.Rows(i).Range + # Collapse to start so a tall row reports where it begins + start = int(rng.Start) + page = int(rng.Document.Range(start, start).Information(_WD_ACTIVE_END_PAGE_NUMBER)) + except Exception: + try: + page = int(table.Rows(i).Range.Information(_WD_ACTIVE_END_PAGE_NUMBER)) + except Exception: + page = pages[-1] if pages else 1 + pages.append(page) + return pages + + +def _paragraph_page_numbers_in_cell(table) -> list[int]: + """Fallback: page of each paragraph in a single-cell table (legacy 1-row listings).""" + try: + if int(table.Rows.Count) != 1: + return [] + cell = table.Cell(1, 1) + paras = cell.Range.Paragraphs + pages: list[int] = [] + for i in range(1, int(paras.Count) + 1): + try: + start = int(paras(i).Range.Start) + page = int(paras(i).Range.Document.Range(start, start).Information( + _WD_ACTIVE_END_PAGE_NUMBER + )) + except Exception: + page = pages[-1] if pages else 1 + pages.append(page) + return pages + except Exception: + return [] + + +def _expand_single_cell_listing_to_rows(table) -> bool: + """ + Convert 1-row listing (many paragraphs in one cell) into one row per paragraph. + Returns True if the table was rewritten. + """ + try: + if int(table.Rows.Count) != 1: + return False + cell = table.Cell(1, 1) + paras = cell.Range.Paragraphs + count = int(paras.Count) + if count <= 1: + return False + # Collect plain texts first (mutating while iterating is unsafe) + texts: list[str] = [] + for i in range(1, count + 1): + t = (paras(i).Range.Text or "").replace("\r", "").replace("\x07", "") + texts.append(t) + # Clear cell, keep first paragraph as first row content + cell.Range.Text = texts[0] if texts else "" + # Add rows for remaining lines + for t in texts[1:]: + row = table.Rows.Add() + row.Cells(1).Range.Text = t + return True + except Exception: + return False + + +def _fix_pass( + doc, + *, + tables: bool, + listings: bool, + repeat_header: bool, + details: list[str], +) -> int: + """One pass over tables (bottom-up). Returns number of splits performed.""" + made = 0 + count = int(doc.Tables.Count) + for ti in range(count, 0, -1): + try: + table = doc.Tables(ti) + except Exception: + details.append(f"skip: table[{ti}] inaccessible") + continue + try: + if int(table.NestingLevel) > 1: + continue + except Exception: + pass + + caption = _caption_before_table(table) + if caption is None: + continue + if caption.kind == "table" and not tables: + continue + if caption.kind == "listing" and not listings: + continue + + # Legacy single-cell listings: expand to rows so Split works + if caption.kind == "listing" and int(table.Rows.Count) == 1: + para_pages = _paragraph_page_numbers_in_cell(table) + if find_page_break_row(para_pages) is not None: + if _expand_single_cell_listing_to_rows(table): + details.append(f"expand: listing {caption.number} → {table.Rows.Count} rows") + doc.Repaginate() + + pages = _row_page_numbers(table) + break_at = find_page_break_row(pages) + if break_at is None: + continue + if break_at > int(table.Rows.Count): + continue + + had_header = False + try: + had_header = bool(table.Rows(1).HeadingFormat) + except Exception: + had_header = False + + try: + table.Split(break_at) + except Exception as exc: + details.append(f"skip: split table[{ti}] row {break_at}: {exc}") + continue + + try: + cont = doc.Tables(ti + 1) + except Exception as exc: + details.append(f"skip: after split cannot get continuation table[{ti}+1]: {exc}") + made += 1 + continue + + before_cont = _paragraph_text_before_table(cont) + first_line = before_cont.strip().split("\n", 1)[0] if before_cont else "" + if not (first_line and _CONTINUATION_RE.match(first_line)): + try: + _insert_continuation_before(doc, cont, caption) + except Exception as exc: + details.append(f"skip: insert caption after split: {exc}") + + # Open bottom of first fragment (tables only — listings keep a full frame) + if caption.kind == "table": + try: + _clear_table_bottom_border(table) + except Exception as exc: + details.append(f"skip: clear bottom border: {exc}") + + if caption.kind == "listing": + try: + _apply_listing_box_borders(table) + _apply_listing_box_borders(cont) + except Exception as exc: + details.append(f"skip: listing borders: {exc}") + + # Header repeat is opt-in (default off) + if repeat_header and had_header and caption.kind == "table": + try: + _ensure_header_on_continuation(first_table=table, cont_table=cont) + except Exception as exc: + details.append(f"skip: header copy: {exc}") + + made += 1 + details.append(f"split: {caption.kind} {caption.number} @row {break_at}") + + return made + +def _caption_before_table(table) -> CaptionInfo | None: + text = _paragraph_text_before_table(table) + if not text: + return None + return parse_caption_text(text) + + +def _paragraph_text_before_table(table) -> str: + try: + rng = table.Range + if rng.Start <= 1: + return "" + doc = table.Range.Document + prev = doc.Range(rng.Start - 1, rng.Start) + p = prev.Paragraphs(1) + return (p.Range.Text or "").replace("\r", "").replace("\x07", "").strip() + except Exception: + return "" + + +def _insert_continuation_before(doc, table, caption: CaptionInfo) -> None: + """Insert caption paragraph *outside* the table (before its start). + + ``InsertBefore`` at ``table.Range.Start`` puts text into the first cell — + Word treats the table start as inside the table. Move one character before + the table, insert a paragraph break, then fill that new paragraph. + """ + label = continuation_label(caption.kind, caption.number) + style = caption_style_name(caption.kind) + + # wdCollapseStart=1, wdCharacter=1 + rng = table.Range.Duplicate + rng.Collapse(1) + start0 = int(table.Range.Start) + if start0 > 0: + rng.Move(1, -1) # land on the paragraph mark before the table + rng.InsertParagraphAfter() + # New empty paragraph sits between previous content and the table. + # Refresh table start — it moved forward by one paragraph mark. + table_start = int(table.Range.Start) + if table_start < 1: + raise RuntimeError("table at document start after insert") + # Paragraph immediately before the table + para = doc.Range(table_start - 1, table_start - 1).Paragraphs(1) + # Write into the paragraph without including the trailing \r that borders the table + text_rng = para.Range.Duplicate + # Exclude final paragraph mark so we don't merge into the table + if int(text_rng.End) > int(text_rng.Start): + text_rng.End = int(text_rng.End) - 1 + text_rng.Text = label + + try: + para.Style = style + except Exception: + # Fallback if RU style missing in older docs + try: + para.Style = "Caption Table" if caption.kind == "table" else "Caption" + except Exception: + pass + try: + para.Range.Font.Italic = True + para.Range.Font.Bold = False + para.Range.Font.Underline = 0 # wdUnderlineNone + para.Range.Font.Name = "Times New Roman" + para.Range.Font.Size = 12 + except Exception: + pass + try: + para.Format.FirstLineIndent = 0 + para.Format.SpaceAfter = 0 + para.Format.SpaceBefore = 6 # pt ≈ Mm(6) for first continuation look + para.Format.KeepWithNext = True + para.Format.Alignment = 0 # wdAlignParagraphLeft + except Exception: + pass + + # Sanity: caption must not live inside a table cell + try: + if int(para.Range.Tables.Count) > 0: + raise RuntimeError("continuation caption landed inside a table") + except AttributeError: + pass + + +# WdBorderType (Word): top=-1, left=-2, bottom=-3, right=-4, insideH=-5, insideV=-6 +_WD_BORDER_TOP = -1 +_WD_BORDER_LEFT = -2 +_WD_BORDER_BOTTOM = -3 +_WD_BORDER_RIGHT = -4 +_WD_BORDER_HORIZONTAL = -5 +_WD_BORDER_VERTICAL = -6 +_WD_LINE_STYLE_NONE = 0 +_WD_LINE_STYLE_SINGLE = 1 + + +def _set_border(table, border_id: int, *, line_style: int, line_width: float = 0.5) -> None: + b = table.Borders(border_id) + b.LineStyle = line_style + if line_style != _WD_LINE_STYLE_NONE: + try: + b.LineWidth = line_width + except Exception: + pass + + +def _clear_table_bottom_border(table) -> None: + _set_border(table, _WD_BORDER_BOTTOM, line_style=_WD_LINE_STYLE_NONE) + + +def _apply_listing_box_borders(table) -> None: + """Outer frame only — no inside H/V (code block look).""" + _set_border(table, _WD_BORDER_TOP, line_style=_WD_LINE_STYLE_SINGLE) + _set_border(table, _WD_BORDER_LEFT, line_style=_WD_LINE_STYLE_SINGLE) + _set_border(table, _WD_BORDER_BOTTOM, line_style=_WD_LINE_STYLE_SINGLE) + _set_border(table, _WD_BORDER_RIGHT, line_style=_WD_LINE_STYLE_SINGLE) + try: + _set_border(table, _WD_BORDER_HORIZONTAL, line_style=_WD_LINE_STYLE_NONE) + _set_border(table, _WD_BORDER_VERTICAL, line_style=_WD_LINE_STYLE_NONE) + except Exception: + pass + + +def _cell_plain_text(cell) -> str: + """Cell text without end-of-cell markers.""" + raw = cell.Range.Text or "" + return raw.replace("\r", "").replace("\x07", "").replace("\a", "").strip("\n") + + +def _ensure_header_on_continuation(*, first_table, cont_table) -> None: + """Prepend a copy of the first fragment's header row onto the continuation table.""" + try: + if int(cont_table.Rows.Count) < 1: + return + if bool(cont_table.Rows(1).HeadingFormat): + return + except Exception: + pass + + try: + hdr = first_table.Rows(1) + n_hdr = int(hdr.Cells.Count) + # Insert empty row above first data row + new_row = cont_table.Rows.Add(BeforeRow=cont_table.Rows(1)) + n_new = int(new_row.Cells.Count) + n = min(n_hdr, n_new) + for ci in range(1, n + 1): + try: + # Prefer FormattedText but strip the cell's terminal markers by + # assigning only the in-cell paragraph text. + src_cell = hdr.Cells(ci) + dst_cell = new_row.Cells(ci) + # Clear destination cell paragraphs then copy plain text + dst_cell.Range.Text = "" + plain = _cell_plain_text(src_cell) + # Setting Range.Text on a cell appends \r\a — pass plain only + if plain: + dst_cell.Range.Text = plain + # Best-effort: copy bold/italic from first paragraph of source + try: + src_font = src_cell.Range.Paragraphs(1).Range.Font + dst_p = dst_cell.Range.Paragraphs(1).Range + dst_p.Font.Bold = src_font.Bold + dst_p.Font.Italic = False # header data, not caption + dst_p.Font.Name = src_font.Name + dst_p.Font.Size = src_font.Size + except Exception: + pass + except Exception: + continue + new_row.HeadingFormat = True + # Ensure data rows are not marked as header + try: + for ri in range(2, int(cont_table.Rows.Count) + 1): + cont_table.Rows(ri).HeadingFormat = False + except Exception: + pass + except Exception: + # Don't leave a half-broken row — best effort only + pass diff --git a/prompts/generate-mirea-report.md b/prompts/generate-mirea-report.md index b0c0f9a..8218515 100644 --- a/prompts/generate-mirea-report.md +++ b/prompts/generate-mirea-report.md @@ -54,6 +54,7 @@ Правила заголовков: - Спецразделы **без номера**: `# *СОДЕРЖАНИЕ`, `# *ВВЕДЕНИЕ`, `# *ЗАКЛЮЧЕНИЕ`, `# *СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ`, `# *ПРИЛОЖЕНИЯ` — ПРОПИСНЫМИ. +- По центру в DOCX будут только «СОДЕРЖАНИЕ» и «СПИСОК…»; Введение / Заключение / ПРИЛОЖЕНИЯ — слева с отступом 1,25 см. - Нумерованные разделы основной части: `# 1 …`, `## 1.1 …` (или без цифр в тексте — нумерацию даст конвертер/Word; предпочтительно осмысленные названия без точки в конце). - В конце названия заголовка точка не ставится. @@ -99,9 +100,9 @@ | ^ | Требование 2 | ``` -### Диаграмма (UML / BPMN / C4) +### Диаграмма (PlantUML / Mermaid / схемы) -Перед fenced-блоком с языком `uml`, `plantuml`, `bpmn` или `c4` — `%id Подпись`. Конвертер рисует PNG как **Рисунок**. Опционально `+listing` — ещё и **Листинг** с исходником. +Перед fenced-блоком с языком `uml`, `plantuml`, `c4`, `uml-c4`, `usecase`, `bpmn` / `uml-bpmn`, `mermaid` / `mmd` и т.п. — `%id Подпись`. Конвертер рисует **Рисунок** (PNG; опционально SVG через `--diagram-format svg`). Опционально `+listing` — ещё и **Листинг** с исходником; `+landscape` — альбомная страница под широкий рисунок/таблицу. Схемы (`c4`, `bpmn`, …) берутся из `md2gost.schemes.json` (создаётся при первом запуске). Mermaid идёт через Kroki (не PlantUML). **IDEF0** не рисуется — вставляйте готовый PNG. ~~~markdown См. @Рисунок:usecase1 и @Листинг:usecase1. @@ -114,6 +115,28 @@ actor Student Student --> (Login) @enduml ``` + +%arch C4 контейнеры + +```uml-c4 +Person(user, "Студент") +System(app, "Портал") +Rel(user, app, "логин") +``` + +%bpmn1 Процесс заявки + +```bpmn +StartMessage(s, "заявка") +UserTask(t, "Проверить") +XOR(gw, "ок?") +End(e_ok) +End(e_no) +Flow(s, t) +Flow(t, gw) +CondFlow(gw, e_ok, "да") +DefaultFlow(gw, e_no) +``` ~~~ ### Листинг @@ -170,15 +193,27 @@ $$ ```markdown # *ПРИЛОЖЕНИЯ -## Приложение А Название +Приложение А — Листинг модуля +Приложение Б — Графический материал + +## Приложение А Листинг модуля + +… + +## Приложение Б Графический материал + +… ``` -Буквы: А, Б, В, Г, Д, Е, Ж, И, К… **Нельзя:** Ё, З, Й, О, Ч, Ь, Ы, Ъ. +- Раздел `# *ПРИЛОЖЕНИЯ` — ПРОПИСНЫМИ, **слева** (как H1), не по центру. +- При нескольких приложениях сразу после заголовка — **перечень** основным текстом. +- Каждое `## Приложение А Название` конвертер оформит как «Приложение А» (H3, по центру) + название следующей строкой. +- Буквы: А, Б, В, Г, Д, Е, Ж, И, К… **Нельзя:** Ё, З, Й, О, Ч, Ь, Ы, Ъ. ## Оформление текста (смысловые правила markdown) - Кавычки русские: «…». -- Тире в предложениях: «—» (с пробелами). Дефис в сложных словах и диапазонах: «-» без пробелов (100-150). +- Тире в предложениях: «—» (с пробелами). Дефис в сложных словах и диапазонах: «-» без пробелов (100-150). **Не заменяйте «—» на «-»** (в md2gost по умолчанию тире сохраняется). - Пробел после знака препинания, не перед ним; без пробела после «» и перед «». - Маркированный список: единообразный маркер; пункты со **строчной** буквы, в конце `;`, у последнего `.`. - Нумерованный список: с **прописной**, в конце `.`. diff --git a/prompts/generate-pis-custom-report.md b/prompts/generate-pis-custom-report.md index 728e137..f2c5db8 100644 --- a/prompts/generate-pis-custom-report.md +++ b/prompts/generate-pis-custom-report.md @@ -49,7 +49,7 @@ Листинг: `%id Название` + fenced code. -Диаграмма (Рисунок из PlantUML/BPMN/C4): +Диаграмма (Рисунок из PlantUML / Mermaid / схем): ``` %usecase1 Диаграмма прецедентов +listing @@ -62,7 +62,7 @@ User --> (Login) ``` ``` -Языки fence: `uml`, `plantuml`, `bpmn`, `c4`. Флаг `+listing` в строке `%` добавляет ещё Листинг с исходником. +Языки fence: `uml`, `plantuml`, `mermaid` / `mmd`, `c4` / `uml-c4`, `usecase`, `bpmn` / `uml-bpmn` и другие id из `md2gost.schemes.json`. Mermaid — через Kroki. IDEF0 не поддерживается. Флаг `+listing` в строке `%` добавляет ещё Листинг с исходником; `+landscape` — альбомная страница. Ссылки: `@Рисунок:usecase1`, `@Листинг:usecase1`. Формула (обычно работа №8): `$$ … $$` с `%eq_id` и ссылкой `@Формула:eq_id`. diff --git a/pyproject.toml b/pyproject.toml index 22fd3c7..aa674ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ dependencies = [ [project.scripts] md2gost = "md2gost.__main__:main" +md2gost-gui = "md2gost.gui:main" md2latex = "md2latex.__main__:main" md2fodt = "md2fodt.__main__:main" @@ -26,6 +27,11 @@ dev = [ "pytest>=7.0", ] +[project.optional-dependencies] +word = [ + "pywin32>=306; sys_platform == 'win32'", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" @@ -38,6 +44,8 @@ packages = ["md2gost", "md2latex", "md2fodt"] "md2gost/mml2omml" = "md2gost/mml2omml" "md2gost/diagrams" = "md2gost/diagrams" "latex/mirea" = "latex/mirea" +"prompts/generate-mirea-report.md" = "md2gost/prompts/generate-mirea-report.md" +"prompts/generate-pis-custom-report.md" = "md2gost/prompts/generate-pis-custom-report.md" # Legacy Poetry metadata (optional; prefer uv + [project] above) [tool.poetry] @@ -61,3 +69,4 @@ pygments = "^2.16.1" [tool.poetry.scripts] md2gost = "md2gost.__main__:main" +md2gost-gui = "md2gost.gui:main" diff --git a/scripts/_gen_bpmn_sprites.py b/scripts/_gen_bpmn_sprites.py new file mode 100644 index 0000000..b535935 --- /dev/null +++ b/scripts/_gen_bpmn_sprites.py @@ -0,0 +1,461 @@ +"""One-shot generator for BPMN.puml geometric sprites. Run from repo root.""" +from __future__ import annotations + +import math +from pathlib import Path + +N = 48 +HEX = "0123456789ABCDEF" +SS = 2 + + +def clamp01(v: float) -> float: + return 0.0 if v < 0 else 1.0 if v > 1 else v + + +def mix(grid: list[list[float]], x: int, y: int, v: float) -> None: + if 0 <= x < N and 0 <= y < N: + grid[y][x] = max(grid[y][x], clamp01(v)) + + +def ring(d: float, r: float, hw: float) -> float: + return clamp01(1.0 - abs(d - r) / hw) + + +def disk(d: float, r: float, hw: float = 0.65) -> float: + if d <= r - hw: + return 1.0 + if d >= r + hw: + return 0.0 + return clamp01((r + hw - d) / (2 * hw)) + + +def line_cov(px: float, py: float, x0: float, y0: float, x1: float, y1: float, hw: float) -> float: + dx, dy = x1 - x0, y1 - y0 + len2 = dx * dx + dy * dy + if len2 < 1e-6: + return disk(math.hypot(px - x0, py - y0), 0, hw) + t = clamp01(((px - x0) * dx + (py - y0) * dy) / len2) + qx, qy = x0 + t * dx, y0 + t * dy + return disk(math.hypot(px - qx, py - qy), 0, hw) + + +def diamond_m(px: float, py: float, cx: float, cy: float) -> float: + return abs(px - cx) + abs(py - cy) + + +def sample_event( + px: float, + py: float, + *, + kind: str, + dashed: bool, +) -> float: + cx = cy = (N - 1) / 2 + d = math.hypot(px - cx, py - cy) + v = 0.0 + if kind == "start": + v = max(v, ring(d, 18.2, 1.15)) + elif kind == "inter": + v = max(v, ring(d, 18.4, 1.05)) + v = max(v, ring(d, 14.6, 1.05)) + elif kind == "end": + v = max(v, ring(d, 17.6, 2.55)) + elif kind == "endfill": + v = max(v, ring(d, 17.6, 2.55)) + v = max(v, disk(d, 7.2, 0.7)) + if dashed and v > 0: + ang = (math.atan2(py - cy, px - cx) + math.pi) / (2 * math.pi) + if int(ang * 18) % 2 == 1: + v *= 0.08 + return v + + +def icon_msg(px: float, py: float, cx: float, cy: float, filled: bool) -> float: + # envelope 16x10 around center + x0, y0, x1, y1 = cx - 8, cy - 5, cx + 8, cy + 5 + v = 0.0 + # outer rect + inside = (x0 + 0.8 <= px <= x1 - 0.8) and (y0 + 0.8 <= py <= y1 - 0.8) + on_border = ( + (abs(px - x0) < 1.1 or abs(px - x1) < 1.1) and (y0 - 0.4 <= py <= y1 + 0.4) + ) or ( + (abs(py - y0) < 1.1 or abs(py - y1) < 1.1) and (x0 - 0.4 <= px <= x1 + 0.4) + ) + if filled: + if inside or on_border: + v = 1.0 + # inverted flap (white cut) approximated by not drawing center of flap + v = max(v, line_cov(px, py, x0, y0, cx, cy + 1.5, 0.9)) + v = max(v, line_cov(px, py, x1, y0, cx, cy + 1.5, 0.9)) + return v + v = max(v, 1.0 if on_border else 0.0) + v = max(v, line_cov(px, py, x0, y0, cx, cy + 1.8, 0.95)) + v = max(v, line_cov(px, py, x1, y0, cx, cy + 1.8, 0.95)) + return v + + +def icon_timer(px: float, py: float, cx: float, cy: float) -> float: + d = math.hypot(px - cx, py - cy) + v = ring(d, 7.2, 1.0) + v = max(v, line_cov(px, py, cx, cy, cx, cy - 5.2, 0.9)) + v = max(v, line_cov(px, py, cx, cy, cx + 3.6, cy, 0.9)) + return v + + +def icon_error(px: float, py: float, cx: float, cy: float) -> float: + pts = [ + (cx + 1, cy - 8), + (cx - 2, cy - 1), + (cx + 3, cy - 1), + (cx - 1, cy + 8), + (cx + 0.5, cy + 1.5), + (cx - 3.5, cy + 1.5), + ] + v = 0.0 + for a, b in zip(pts, pts[1:] + pts[:1]): + v = max(v, line_cov(px, py, a[0], a[1], b[0], b[1], 1.0)) + return v + + +def icon_signal(px: float, py: float, cx: float, cy: float, filled: bool) -> float: + a, b, c = (cx, cy - 7.5), (cx - 7.2, cy + 6), (cx + 7.2, cy + 6) + v = 0.0 + v = max(v, line_cov(px, py, *a, *b, 1.05)) + v = max(v, line_cov(px, py, *b, *c, 1.05)) + v = max(v, line_cov(px, py, *c, *a, 1.05)) + if filled: + # barycentric fill + def area(p, q, r): + return (q[0] - p[0]) * (r[1] - p[1]) - (q[1] - p[1]) * (r[0] - p[0]) + + p = (px, py) + a0 = area(a, b, c) + if abs(a0) > 0.1: + w1 = area(p, b, c) / a0 + w2 = area(a, p, c) / a0 + w3 = area(a, b, p) / a0 + if min(w1, w2, w3) >= -0.02: + v = max(v, 1.0) + return v + + +def icon_esc(px: float, py: float, cx: float, cy: float) -> float: + v = 0.0 + v = max(v, line_cov(px, py, cx, cy + 7, cx, cy - 2, 1.1)) + v = max(v, line_cov(px, py, cx, cy - 2, cx - 6, cy + 4, 1.05)) + v = max(v, line_cov(px, py, cx, cy - 2, cx + 6, cy + 4, 1.05)) + v = max(v, line_cov(px, py, cx - 6, cy + 4, cx + 6, cy + 4, 1.0)) + return v + + +def icon_link(px: float, py: float, cx: float, cy: float) -> float: + v = line_cov(px, py, cx - 8, cy, cx + 5, cy, 1.1) + v = max(v, line_cov(px, py, cx + 5, cy, cx + 1, cy - 4, 1.05)) + v = max(v, line_cov(px, py, cx + 5, cy, cx + 1, cy + 4, 1.05)) + return v + + +def icon_comp(px: float, py: float, cx: float, cy: float) -> float: + v = 0.0 + for ox in (-4.2, 3.2): + a, b, c = (cx + ox + 4, cy), (cx + ox - 3.5, cy - 6), (cx + ox - 3.5, cy + 6) + v = max(v, line_cov(px, py, *a, *b, 1.0)) + v = max(v, line_cov(px, py, *a, *c, 1.0)) + v = max(v, line_cov(px, py, *b, *c, 1.0)) + return v + + +def icon_cond(px: float, py: float, cx: float, cy: float) -> float: + x0, y0, x1, y1 = cx - 6, cy - 8, cx + 6, cy + 8 + v = 0.0 + on = ( + (abs(px - x0) < 1.0 or abs(px - x1) < 1.0) and (y0 <= py <= y1) + ) or ( + (abs(py - y0) < 1.0 or abs(py - y1) < 1.0) and (x0 <= px <= x1) + ) + if on: + v = 1.0 + for yy in (cy - 3, cy, cy + 3): + v = max(v, line_cov(px, py, cx - 3.5, yy, cx + 3.5, yy, 0.8)) + return v + + +def icon_multi(px: float, py: float, cx: float, cy: float) -> float: + r = 7.4 + pts = [] + for i in range(5): + a = -math.pi / 2 + i * 2 * math.pi / 5 + pts.append((cx + r * math.cos(a), cy + r * math.sin(a))) + v = 0.0 + for a, b in zip(pts, pts[1:] + pts[:1]): + v = max(v, line_cov(px, py, *a, *b, 1.0)) + return v + + +def icon_par_multi(px: float, py: float, cx: float, cy: float) -> float: + v = ring(math.hypot(px - cx, py - cy), 7.4, 1.0) + v = max(v, line_cov(px, py, cx, cy - 5, cx, cy + 5, 1.05)) + v = max(v, line_cov(px, py, cx - 5, cy, cx + 5, cy, 1.05)) + return v + + +def icon_cancel(px: float, py: float, cx: float, cy: float) -> float: + v = line_cov(px, py, cx - 6, cy - 6, cx + 6, cy + 6, 1.15) + v = max(v, line_cov(px, py, cx + 6, cy - 6, cx - 6, cy + 6, 1.15)) + return v + + +def icon_user(px: float, py: float, cx: float, cy: float) -> float: + v = disk(math.hypot(px - cx, py - (cy - 3.2)), 3.1, 0.7) + v = max(v, ring(math.hypot(px - cx, py - (cy - 3.2)), 3.1, 0.9)) + # shoulders + v = max(v, line_cov(px, py, cx - 6, cy + 7, cx + 6, cy + 7, 1.1)) + v = max(v, line_cov(px, py, cx - 6, cy + 7, cx - 4, cy + 1.5, 1.0)) + v = max(v, line_cov(px, py, cx + 6, cy + 7, cx + 4, cy + 1.5, 1.0)) + return v + + +def icon_service(px: float, py: float, cx: float, cy: float) -> float: + v = ring(math.hypot(px - cx, py - cy), 4.2, 1.15) + for i in range(8): + a = i * math.pi / 4 + v = max( + v, + line_cov( + px, py, + cx + 3.2 * math.cos(a), cy + 3.2 * math.sin(a), + cx + 7.4 * math.cos(a), cy + 7.4 * math.sin(a), + 1.05, + ), + ) + return v + + +def icon_script(px: float, py: float, cx: float, cy: float) -> float: + return icon_cond(px, py, cx, cy) + + +def icon_manual(px: float, py: float, cx: float, cy: float) -> float: + v = line_cov(px, py, cx - 7, cy + 2, cx + 7, cy + 2, 1.2) + v = max(v, line_cov(px, py, cx - 7, cy + 2, cx - 5, cy - 4, 1.0)) + v = max(v, line_cov(px, py, cx - 2, cy + 2, cx - 1, cy - 6, 1.0)) + v = max(v, line_cov(px, py, cx + 2, cy + 2, cx + 3, cy - 5.5, 1.0)) + v = max(v, line_cov(px, py, cx + 6, cy + 2, cx + 7, cy - 3, 1.0)) + return v + + +def icon_rule(px: float, py: float, cx: float, cy: float) -> float: + v = 0.0 + for yy in (cy - 6, cy, cy + 6): + v = max(v, line_cov(px, py, cx - 7, yy, cx + 7, yy, 0.95)) + for xx in (cx - 7, cx, cx + 7): + v = max(v, line_cov(px, py, xx, cy - 6, xx, cy + 6, 0.95)) + return v + + +def icon_plusbox(px: float, py: float, cx: float, cy: float) -> float: + x0, y0, x1, y1 = cx - 7, cy - 7, cx + 7, cy + 7 + v = 0.0 + on = ( + (abs(px - x0) < 1.05 or abs(px - x1) < 1.05) and (y0 <= py <= y1) + ) or ( + (abs(py - y0) < 1.05 or abs(py - y1) < 1.05) and (x0 <= px <= x1) + ) + if on: + v = 1.0 + v = max(v, line_cov(px, py, cx, cy - 4.5, cx, cy + 4.5, 1.05)) + v = max(v, line_cov(px, py, cx - 4.5, cy, cx + 4.5, cy, 1.05)) + return v + + +ICONS = { + "": None, + "msg": lambda px, py, cx, cy: icon_msg(px, py, cx, cy, False), + "msgf": lambda px, py, cx, cy: icon_msg(px, py, cx, cy, True), + "timer": icon_timer, + "error": icon_error, + "signal": lambda px, py, cx, cy: icon_signal(px, py, cx, cy, False), + "signalf": lambda px, py, cx, cy: icon_signal(px, py, cx, cy, True), + "esc": icon_esc, + "link": icon_link, + "comp": icon_comp, + "cond": icon_cond, + "multi": icon_multi, + "par": icon_par_multi, + "cancel": icon_cancel, + "user": icon_user, + "service": icon_service, + "script": icon_script, + "manual": icon_manual, + "rule": icon_rule, + "plusbox": icon_plusbox, +} + + +def raster(draw) -> list[list[float]]: + acc = [[0.0] * N for _ in range(N)] + big = N * SS + for y in range(big): + for x in range(big): + v = draw((x + 0.5) / SS, (y + 0.5) / SS) + acc[y // SS][x // SS] += v + s = float(SS * SS) + return [[acc[y][x] / s for x in range(N)] for y in range(N)] + + +def to_sprite(name: str, grid: list[list[float]]) -> str: + lines = [f"sprite ${name} [{N}x{N}/16] {{"] + for row in grid: + lines.append("".join(HEX[min(15, int(round(v * 15)))] for v in row)) + lines.append("}") + return "\n".join(lines) + + +def event_grid(kind: str, icon: str, dashed: bool = False) -> list[list[float]]: + cx = cy = (N - 1) / 2.0 + fn = ICONS[icon] + + def draw(px, py): + v = sample_event(px, py, kind=kind, dashed=dashed) + if fn is not None: + v = max(v, fn(px, py, cx, cy)) + return v + + return raster(draw) + + +def gateway_grid(mark: str) -> list[list[float]]: + cx = cy = (N - 1) / 2.0 + r = 21.0 + + def draw(px, py): + m = diamond_m(px, py, cx, cy) + v = ring(m, r, 1.25) + if mark == "x": + v = max(v, line_cov(px, py, cx - 8, cy - 8, cx + 8, cy + 8, 1.25)) + v = max(v, line_cov(px, py, cx + 8, cy - 8, cx - 8, cy + 8, 1.25)) + elif mark == "+": + v = max(v, line_cov(px, py, cx, cy - 9, cx, cy + 9, 1.3)) + v = max(v, line_cov(px, py, cx - 9, cy, cx + 9, cy, 1.3)) + elif mark == "o": + v = max(v, ring(math.hypot(px - cx, py - cy), 7.0, 1.15)) + elif mark == "*": + for i in range(4): + a = i * math.pi / 4 + v = max( + v, + line_cov( + px, py, + cx - 7 * math.cos(a), cy - 7 * math.sin(a), + cx + 7 * math.cos(a), cy + 7 * math.sin(a), + 1.05, + ), + ) + elif mark == "ev": + v = max(v, icon_multi(px, py, cx, cy)) + v = max(v, ring(math.hypot(px - cx, py - cy), 10.5, 0.95)) + elif mark == "pev": + v = max(v, icon_par_multi(px, py, cx, cy)) + return v + + return raster(draw) + + +EVENTS = [ + ("evStart", "start", "", False), + ("evStartMsg", "start", "msg", False), + ("evStartTimer", "start", "timer", False), + ("evStartSignal", "start", "signal", False), + ("evStartCond", "start", "cond", False), + ("evStartError", "start", "error", False), + ("evStartEsc", "start", "esc", False), + ("evStartMulti", "start", "multi", False), + ("evStartPar", "start", "par", False), + ("evStartNI", "start", "", True), + ("evStartMsgNI", "start", "msg", True), + ("evStartTimerNI", "start", "timer", True), + ("evStartSignalNI", "start", "signal", True), + ("evInter", "inter", "", False), + ("evCatchMsg", "inter", "msg", False), + ("evCatchTimer", "inter", "timer", False), + ("evCatchSignal", "inter", "signal", False), + ("evCatchError", "inter", "error", False), + ("evCatchEsc", "inter", "esc", False), + ("evCatchCond", "inter", "cond", False), + ("evCatchLink", "inter", "link", False), + ("evCatchComp", "inter", "comp", False), + ("evCatchCancel", "inter", "cancel", False), + ("evCatchMulti", "inter", "multi", False), + ("evCatchPar", "inter", "par", False), + ("evThrowMsg", "inter", "msgf", False), + ("evThrowSignal", "inter", "signalf", False), + ("evThrowEsc", "inter", "esc", False), + ("evThrowLink", "inter", "link", False), + ("evThrowComp", "inter", "comp", False), + ("evThrowMulti", "inter", "multi", False), + ("evEnd", "end", "", False), + ("evEndMsg", "end", "msgf", False), + ("evEndError", "end", "error", False), + ("evEndEsc", "end", "esc", False), + ("evEndCancel", "end", "cancel", False), + ("evEndComp", "end", "comp", False), + ("evEndSignal", "end", "signalf", False), + ("evEndMulti", "end", "multi", False), + ("evTerminate", "endfill", "", False), + ("evBoundMsg", "inter", "msg", False), + ("evBoundTimer", "inter", "timer", False), + ("evBoundError", "inter", "error", False), + ("evBoundEsc", "inter", "esc", False), + ("evBoundSignal", "inter", "signal", False), + ("evBoundCancel", "inter", "cancel", False), + ("evBoundComp", "inter", "comp", False), + ("evBoundCond", "inter", "cond", False), + ("evBoundMsgNI", "inter", "msg", True), + ("evBoundTimerNI", "inter", "timer", True), + ("evBoundEscNI", "inter", "esc", True), + ("evBoundSignalNI", "inter", "signal", True), + ("evBoundCondNI", "inter", "cond", True), +] + +GATES = [ + ("gwXor", "x"), + ("gwAnd", "+"), + ("gwOr", "o"), + ("gwComplex", "*"), + ("gwEvent", "ev"), + ("gwParEvent", "pev"), +] + +TASK_ICONS = ["user", "service", "script", "manual", "rule", "plusbox", "msg", "msgf"] + + +def main() -> None: + chunks = ["' auto-generated geometric sprites (BPMN 2.0 notation)"] + for name, kind, icon, dashed in EVENTS: + chunks.append(to_sprite(name, event_grid(kind, icon, dashed))) + chunks.append("") + for name, mark in GATES: + chunks.append(to_sprite(name, gateway_grid(mark))) + chunks.append("") + cx = cy = (N - 1) / 2.0 + for icon in TASK_ICONS: + fn = ICONS[icon] + grid = raster(lambda px, py, fn=fn: fn(px, py, cx, cy)) + chunks.append(to_sprite("ic" + icon.capitalize() if icon != "msgf" else "icMsgf", grid)) + chunks.append("") + # plusbox already as icPlusbox; loop/adhoc/mi as simple extra + def loop_draw(px, py): + v = ring(math.hypot(px - cx, py - (cy - 1)), 8.5, 1.1) + v = max(v, line_cov(px, py, cx + 6, cy + 2, cx + 10, cy + 6, 1.05)) + v = max(v, line_cov(px, py, cx + 6, cy + 2, cx + 2, cy + 6, 1.05)) + return v + + chunks.append(to_sprite("icLoop", raster(loop_draw))) + chunks.append("") + Path("_bpmn_sprites.puml").write_text("\n".join(chunks), encoding="utf-8") + print("wrote", len(chunks), "chunks") + + +if __name__ == "__main__": + main() diff --git a/scripts/check_page_fill.bas b/scripts/check_page_fill.bas new file mode 100644 index 0000000..42bc75f --- /dev/null +++ b/scripts/check_page_fill.bas @@ -0,0 +1,85 @@ +Attribute VB_Name = "CheckPageFill" +' Heuristic check for half-empty pages inside an unfinished section (MIREA method guide, app. V). +' Run from Word: Tools → Macro → Macros → CheckPageFill_Run +' Findings may be FALSE POSITIVES (large figures, end of subsection, odd breaks). + +Option Explicit + +Private Const EMPTY_THRESHOLD As Double = 0.4 + +Public Sub CheckPageFill_Run() + Dim doc As Document + Dim i As Long, n As Long + Dim msg As String + Dim issues As Long + Dim secTitle As String, nextTitle As String + Dim emptyFrac As Double + Dim contentBottom As Double + Dim textH As Double, topM As Double, pageH As Double + Dim rng As Range + Dim vpos As Double + + Set doc = ActiveDocument + doc.Repaginate + n = doc.ComputeStatistics(wdStatisticPages) + issues = 0 + msg = "Проверка полупустых страниц (эвристика; возможны ложные срабатывания)" & vbCrLf + + For i = 1 To n + Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i + If Selection.Sections(1).PageSetup.Orientation = wdOrientLandscape Then GoTo NextPage + + pageH = Selection.Sections(1).PageSetup.PageHeight + topM = Selection.Sections(1).PageSetup.TopMargin + textH = pageH - topM - Selection.Sections(1).PageSetup.BottomMargin + If textH <= 0 Then GoTo NextPage + + Set rng = doc.Bookmarks("\page").Range + On Error Resume Next + vpos = rng.Information(wdVerticalPositionRelativeToPage) + On Error GoTo 0 + contentBottom = (vpos - topM) / textH + If contentBottom < 0 Then contentBottom = 0 + If contentBottom > 1 Then contentBottom = 1 + emptyFrac = 1# - contentBottom + + If emptyFrac <= EMPTY_THRESHOLD Then GoTo NextPage + If i = n Then GoTo NextPage + + secTitle = HeadingNear(doc, rng.Start) + Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i + 1 + nextTitle = HeadingNear(doc, Selection.Start) + If StrComp(secTitle, nextTitle, vbTextCompare) <> 0 Then GoTo NextPage + If InStr(1, UCase$(secTitle), "СОДЕРЖАНИЕ", vbTextCompare) > 0 Then GoTo NextPage + + issues = issues + 1 + msg = msg & "стр. " & i & ": пустой низ ~" & Format(emptyFrac, "0%") & _ + ", раздел «" & secTitle & "» продолжается" & vbCrLf +NextPage: + Next i + + If issues = 0 Then + MsgBox msg & vbCrLf & "Замечаний нет.", vbInformation + Else + MsgBox msg & vbCrLf & "Всего: " & issues & " (эвристика).", vbExclamation + End If +End Sub + +Private Function HeadingNear(doc As Document, pos As Long) As String + Dim p As Paragraph + Dim s As String + On Error Resume Next + Set p = doc.Range(pos, pos).Paragraphs(1) + Dim k As Long + For k = 1 To 80 + s = p.Style + If InStr(1, s, "Heading 1", vbTextCompare) > 0 Or InStr(1, s, "Заголовок 1", vbTextCompare) > 0 Then + HeadingNear = Replace(Trim$(p.Range.Text), vbCr, "") + Exit Function + End If + If p.Range.Start <= 1 Then Exit For + Set p = p.Previous + If p Is Nothing Then Exit For + Next k + HeadingNear = "" +End Function diff --git a/scripts/fetch_plantuml.py b/scripts/fetch_plantuml.py new file mode 100644 index 0000000..dbf22a3 --- /dev/null +++ b/scripts/fetch_plantuml.py @@ -0,0 +1,30 @@ +"""Download official plantuml.jar into md2gost/vendor (for exe builds).""" + +from __future__ import annotations + +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +if str(ROOT) not in sys.path: + sys.path.insert(0, str(ROOT)) + +from md2gost.diagram_renderer import PLANTUML_JAR_URL, fetch_plantuml_jar, vendor_plantuml_path + + +def main() -> int: + dest = vendor_plantuml_path() + print(f"PlantUML: {PLANTUML_JAR_URL}") + print(f"Куда: {dest}") + if dest.is_file() and dest.stat().st_size > 1000: + print("Уже скачан.") + return 0 + if fetch_plantuml_jar(dest): + print(f"Готово: {dest} ({dest.stat().st_size} байт)") + return 0 + print("Не удалось скачать plantuml.jar (exe соберётся, диаграммы пойдут через kroki.io).") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/md2gost_exe.py b/scripts/md2gost_exe.py new file mode 100644 index 0000000..27558a4 --- /dev/null +++ b/scripts/md2gost_exe.py @@ -0,0 +1,6 @@ +"""PyInstaller entry point: GUI by default, CLI if a .md is passed.""" + +from md2gost.__main__ import main + +if __name__ == "__main__": + main() diff --git a/scripts/pyi_rth_mplbackend.py b/scripts/pyi_rth_mplbackend.py new file mode 100644 index 0000000..2c24357 --- /dev/null +++ b/scripts/pyi_rth_mplbackend.py @@ -0,0 +1,4 @@ +"""Runtime hook: matplotlib only needs Agg for font_manager on a foreign PC.""" +import os + +os.environ.setdefault("MPLBACKEND", "Agg") diff --git a/tests/test_diagram_renderer.py b/tests/test_diagram_renderer.py index f1a674c..e4ca478 100644 --- a/tests/test_diagram_renderer.py +++ b/tests/test_diagram_renderer.py @@ -1,16 +1,35 @@ -"""Tests for diagram renderer and factory routing.""" +"""Tests for diagram renderer, schemes, and include cache.""" from __future__ import annotations +from pathlib import Path from unittest.mock import patch import pytest +from md2gost.diagram_includes import ( + include_cache_index_path, + reset_include_cache, + resolve_url, + rewrite_http_includes_in_source, +) from md2gost.diagram_renderer import ( DIAGRAM_LANGS, + configure_diagrams, + diagram_engine_status, + is_diagram_lang, prepare_source, render_diagram, - configure_diagrams, + resolve_plantuml_jar, +) +from md2gost.diagram_schemes import ( + DiagramScheme, + apply_scheme, + configure_schemes, + ensure_user_schemes, + prepare_with_schemes, + scheme_id_from_lang, + user_schemes_path, ) from md2gost.extended_markdown import markdown from md2gost.extended_markdown.caption import Caption as CapEl @@ -26,16 +45,148 @@ def test_prepare_uml_wraps_startuml(): assert dtype == "plantuml" -def test_prepare_c4_adds_include(): - src, dtype = prepare_source("c4", "Person(user, \"User\")") - assert "!include" in src +def test_prepare_c4_uses_scheme(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + ensure_user_schemes(tmp_path) + configure_schemes(base=tmp_path) + + def fake_resolve(ref, *, base=None, schemes_dir=None): + return str(tmp_path / "C4_Container.puml") + + with patch("md2gost.diagram_schemes.resolve_include_ref", side_effect=fake_resolve): + src, dtype = prepare_with_schemes("c4", 'Person(user, "U")', base=tmp_path) assert dtype == "plantuml" + assert "Person(user" in src + assert "@startuml" in src.lower() + assert "!include" in src -def test_prepare_bpmn(): - src, dtype = prepare_source("bpmn", "start -> end") - assert dtype == "bpmn" - assert "@startbpmn" in src.lower() or "start" in src +def test_prepare_uml_c4_alias(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + ensure_user_schemes(tmp_path) + configure_schemes(base=tmp_path) + + def fake_resolve(ref, *, base=None, schemes_dir=None): + return str(tmp_path / "stub.puml") + + with patch("md2gost.diagram_schemes.resolve_include_ref", side_effect=fake_resolve): + src, dtype = prepare_with_schemes("uml-c4", 'Person(user, "U")', base=tmp_path) + assert dtype == "plantuml" + assert "Person(user" in src + + +def test_unknown_scheme_raises(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + ensure_user_schemes(tmp_path) + configure_schemes(base=tmp_path) + with pytest.raises(ValueError, match="не найдена"): + prepare_with_schemes("uml-nosuch", "A -> B", base=tmp_path) + + +def test_bpmn_scheme_prepare(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + ensure_user_schemes(tmp_path) + configure_schemes(base=tmp_path) + assert is_diagram_lang("bpmn") + assert is_diagram_lang("uml-bpmn") + src, dtype = prepare_with_schemes("bpmn", "Start(s)\nEnd(e)\nFlow(s, e)", base=tmp_path) + assert dtype == "plantuml" + assert "Start(s)" in src + assert "!include" in src + assert "BPMN.puml" in src.replace("\\", "/") + assert src.lower().count("@startuml") == 1 + + +def test_bundled_bpmn_survives_user_file_without_it(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + path = ensure_user_schemes(tmp_path) + path.write_text('{"mine":{"title":"x","prefix":"","postfix":""}}\n', encoding="utf-8") + configure_schemes(base=tmp_path) + assert is_diagram_lang("mine") + assert is_diagram_lang("bpmn") + + +def test_scheme_id_from_lang(): + assert scheme_id_from_lang("uml") is None + assert scheme_id_from_lang("uml-c4") == "c4" + assert scheme_id_from_lang("c4") == "c4" + assert scheme_id_from_lang("bpmn") == "bpmn" + assert scheme_id_from_lang("uml-bpmn") == "bpmn" + + +def test_ensure_user_schemes_once(tmp_path): + path = ensure_user_schemes(tmp_path) + assert path.is_file() + assert "c4" in path.read_text(encoding="utf-8") + path.write_text('{"mine":{"title":"x","prefix":"","postfix":""}}\n', encoding="utf-8") + again = ensure_user_schemes(tmp_path) + assert again == path + assert "mine" in path.read_text(encoding="utf-8") + assert path == user_schemes_path(tmp_path) + + +def test_apply_scheme_no_double_start(): + scheme = DiagramScheme( + id="t", + prefix="@startuml\nskinparam monochrome true\n", + postfix="\n@enduml", + includes=[], + ) + out = apply_scheme(scheme, "@startuml\nA -> B\n@enduml") + assert out.lower().count("@startuml") == 1 + assert "skinparam monochrome true" in out + + +def test_include_cache_index_no_overwrite(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + calls = [] + + def fake_get(url, timeout=60): + calls.append(url) + + class Resp: + content = f"' from {url}\n".encode("utf-8") + + def raise_for_status(self): + return None + + return Resp() + + with patch("md2gost.diagram_includes.requests.get", side_effect=fake_get): + p1 = resolve_url("https://example.com/a.puml", base=tmp_path) + p2 = resolve_url("https://example.com/b.puml", base=tmp_path) + assert p1 != p2 + assert p1.is_file() and p2.is_file() + content1 = p1.read_bytes() + # second resolve same URL — no new download + p1b = resolve_url("https://example.com/a.puml", base=tmp_path) + assert p1b == p1 + assert p1.read_bytes() == content1 + assert calls.count("https://example.com/a.puml") == 1 + assert include_cache_index_path(tmp_path).is_file() + + removed = reset_include_cache(tmp_path) + assert removed >= 2 + assert not include_cache_index_path(tmp_path).is_file() + + +def test_rewrite_http_in_source(tmp_path, monkeypatch): + monkeypatch.chdir(tmp_path) + + def fake_get(url, timeout=60): + class Resp: + content = b"rectangle x\n" + + def raise_for_status(self): + return None + + return Resp() + + with patch("md2gost.diagram_includes.requests.get", side_effect=fake_get): + src = "@startuml\n!include https://example.com/x.puml\nA->B\n@enduml" + out = rewrite_http_includes_in_source(src, base=tmp_path) + assert "https://example.com" not in out + assert "!include " in out def test_caption_plus_listing(): @@ -47,6 +198,45 @@ def test_caption_plus_listing(): assert caps[0].unique_name == "fig" +def test_caption_plus_landscape(): + doc = markdown.parse("%wide Big scheme +landscape\n\n```uml\nA->B\n```\n") + caps = [c for c in doc.children if isinstance(c, CapEl)] + assert caps[0].landscape is True + assert caps[0].with_listing is False + assert caps[0].text == "Big scheme" + + doc2 = markdown.parse("%t1 Широкая +listing +landscape\n\n|a|b|\n|-|-|\n|1|2|\n") + caps2 = [c for c in doc2.children if isinstance(c, CapEl)] + assert caps2[0].landscape is True + assert caps2[0].with_listing is True + assert caps2[0].text == "Широкая" + + +def test_caption_interrupts_paragraph(): + """% line right after text (no blank line) must still be Caption, not plain text.""" + from marko.block import FencedCode, Paragraph + + doc = markdown.parse( + "Пишите так:\n" + "%testuml test +landscape\n" + "\n" + "```uml\nA->B\n```\n" + ) + caps = [c for c in doc.children if isinstance(c, CapEl)] + assert len(caps) == 1 + assert caps[0].landscape is True + assert caps[0].unique_name == "testuml" + joined = "" + for p in doc.children: + if not isinstance(p, Paragraph): + continue + for ch in getattr(p, "children", []) or []: + if hasattr(ch, "children") and isinstance(ch.children, str): + joined += ch.children + assert "%testuml" not in joined + assert any(isinstance(c, FencedCode) and c.lang == "uml" for c in doc.children) + + def test_factory_routes_uml_to_diagram(): from docx import Document from md2gost import package_dir @@ -77,8 +267,8 @@ def test_factory_routes_uml_to_diagram(): def test_render_diagram_uses_cache(tmp_path): png = b"\x89PNG\r\n\x1a\n" + b"\x00" * 20 - def fake_kroki(source, diagram_type, base_url, out_png): - out_png.write_bytes(png) + def fake_kroki(source, diagram_type, base_url, out_path, fmt="png"): + out_path.write_bytes(png if fmt == "png" else b"") return True configure_diagrams(fallback="remote", cache_dir=str(tmp_path)) @@ -86,8 +276,8 @@ def test_render_diagram_uses_cache(tmp_path): patch("md2gost.diagram_renderer._render_kroki", side_effect=fake_kroki): path1 = render_diagram("uml", "A -> B", cache_dir=str(tmp_path)) path2 = render_diagram("uml", "A -> B", cache_dir=str(tmp_path)) - assert path1 == path2 - assert open(path1, "rb").read().startswith(b"\x89PNG") + assert path1.png_path == path2.png_path + assert open(path1.png_path, "rb").read().startswith(b"\x89PNG") def test_render_diagram_off_raises(tmp_path): @@ -98,7 +288,202 @@ def test_render_diagram_off_raises(tmp_path): render_diagram("uml", "A -> B", fallback="off", cache_dir=str(tmp_path)) +def test_prepare_mermaid_no_startuml(): + src, dtype = prepare_source("mermaid", "flowchart LR\nA-->B") + assert "@startuml" not in src.lower() + assert dtype == "mermaid" + assert "flowchart LR" in src + src2, dtype2 = prepare_source("mmd", "sequenceDiagram\nA->>B: hi") + assert dtype2 == "mermaid" + assert "@startuml" not in src2.lower() + + +def test_plantuml_scale_injected_into_render_cache(tmp_path): + from md2gost.diagram_renderer import _ensure_plantuml_png_scale + + boosted = _ensure_plantuml_png_scale("@startuml\nA -> B\n@enduml") + assert "scale 2" in boosted + # author override kept + custom = _ensure_plantuml_png_scale("@startuml\nscale 1.5\nA -> B\n@enduml") + assert custom.count("scale") == 1 + assert "scale 1.5" in custom + + png = b"\x89PNG\r\n\x1a\n" + b"\x00" * 20 + seen = [] + + def fake_kroki(source, diagram_type, base_url, out_path, fmt="png"): + seen.append(source) + out_path.write_bytes(png if fmt == "png" else b"") + return True + + configure_diagrams(fallback="remote", cache_dir=str(tmp_path), diagram_scale=3) + with patch("md2gost.diagram_renderer._render_plantuml_jar", return_value=False), \ + patch("md2gost.diagram_renderer._render_kroki", side_effect=fake_kroki): + result = render_diagram("uml", "A -> B", cache_dir=str(tmp_path)) + assert seen and "scale 3" in seen[0] + assert result.pixel_scale == 3 + + +def test_diagram_scale_one_skips_inject(tmp_path): + png = b"\x89PNG\r\n\x1a\n" + b"\x00" * 20 + seen = [] + + def fake_kroki(source, diagram_type, base_url, out_path, fmt="png"): + seen.append(source) + out_path.write_bytes(png) + return True + + configure_diagrams(fallback="remote", cache_dir=str(tmp_path), diagram_scale=1) + with patch("md2gost.diagram_renderer._render_plantuml_jar", return_value=False), \ + patch("md2gost.diagram_renderer._render_kroki", side_effect=fake_kroki): + result = render_diagram("uml", "A -> B", cache_dir=str(tmp_path), diagram_scale=1) + assert seen and "scale " not in seen[0].split("@startuml", 1)[-1].split("A -> B")[0] + assert result.pixel_scale == 1 + + +def test_is_diagram_lang_mermaid(): + assert is_diagram_lang("mermaid") + assert is_diagram_lang("mmd") + assert "mermaid" in DIAGRAM_LANGS + assert "mmd" in DIAGRAM_LANGS + + +def test_render_mermaid_skips_jar(tmp_path): + png = b"\x89PNG\r\n\x1a\n" + b"\x00" * 20 + calls = {"jar": 0, "kroki": []} + + def fake_jar(*args, **kwargs): + calls["jar"] += 1 + return False + + def fake_kroki(source, diagram_type, base_url, out_path, fmt="png"): + calls["kroki"].append((diagram_type, fmt, base_url)) + if fmt == "png": + out_path.write_bytes(png) + else: + out_path.write_bytes(b"") + return True + + configure_diagrams(fallback="remote", cache_dir=str(tmp_path)) + with patch("md2gost.diagram_renderer._render_plantuml_jar", side_effect=fake_jar), \ + patch("md2gost.diagram_renderer._render_kroki", side_effect=fake_kroki): + result = render_diagram("mermaid", "flowchart LR\nA-->B", cache_dir=str(tmp_path)) + assert calls["jar"] == 0 + assert any(t == "mermaid" and f == "png" for t, f, _ in calls["kroki"]) + assert Path(result.png_path).read_bytes().startswith(b"\x89PNG") + assert result.svg_path is None + + +def test_render_diagram_svg_asks_both_formats(tmp_path): + png = b"\x89PNG\r\n\x1a\n" + b"\x00" * 20 + svg = b'' + fmts = [] + + def fake_kroki(source, diagram_type, base_url, out_path, fmt="png"): + fmts.append(fmt) + out_path.write_bytes(png if fmt == "png" else svg) + return True + + configure_diagrams(fallback="remote", cache_dir=str(tmp_path), diagram_format="svg") + with patch("md2gost.diagram_renderer._render_plantuml_jar", return_value=False), \ + patch("md2gost.diagram_renderer._render_kroki", side_effect=fake_kroki): + result = render_diagram( + "uml", "A -> B", cache_dir=str(tmp_path), diagram_format="svg", + ) + assert "png" in fmts and "svg" in fmts + assert result.svg_path is not None + assert Path(result.svg_path).read_bytes().startswith(b"' + '', + encoding="utf-8", + ) + assert attach_svg_blip(run, picture, svg) + + xml = picture._inline.xml + assert "svgBlip" in xml + assert SVG_BLIP_URI in xml + # two image relationships on the document part + image_rels = [ + r for r in doc.part.rels.values() + if "image" in (r.reltype or "") + ] + assert len(image_rels) >= 2 + + +def test_resolve_plantuml_jar_explicit(tmp_path): + jar = tmp_path / "plantuml.jar" + jar.write_bytes(b"PK" + b"\x00" * 2000) + assert resolve_plantuml_jar(str(jar), download=False) == str(jar) + missing = tmp_path / "nope.jar" + assert resolve_plantuml_jar(str(missing), download=False) is None or ( + resolve_plantuml_jar(str(missing), download=False) != str(missing) + ) + + +def test_diagram_engine_status_mentions_java_or_kroki(): + text = diagram_engine_status() + assert "Java" in text + assert "PlantUML" in text + + def test_diagram_langs(): assert "uml" in DIAGRAM_LANGS assert "c4" in DIAGRAM_LANGS assert "bpmn" in DIAGRAM_LANGS + assert is_diagram_lang("uml") + assert is_diagram_lang("uml-c4") + assert is_diagram_lang("uml-bpmn") + + +def test_render_bpmn_with_jar(tmp_path, monkeypatch): + import shutil + + monkeypatch.chdir(tmp_path) + ensure_user_schemes(tmp_path) + configure_schemes(base=tmp_path) + jar = resolve_plantuml_jar(download=False) + if not shutil.which("java") or not jar: + pytest.skip("нужны Java и plantuml.jar") + configure_diagrams(fallback="off", cache_dir=str(tmp_path), plantuml_jar=jar) + body = "\n".join( + [ + "Start(s)", + "StartMessage(sm, \"msg\")", + "UserTask(t, \"Шаг\")", + "XOR(gw)", + "AND(p)", + "OR(o)", + "End(e)", + "EndTerminate(et)", + "Flow(s, t)", + "Flow(t, gw)", + "CondFlow(gw, e, \"да\")", + "DefaultFlow(gw, et)", + ] + ) + result = render_diagram("bpmn", body, cache_dir=str(tmp_path), fallback="off") + data = Path(result.png_path).read_bytes() + assert data.startswith(b"\x89PNG") + assert len(data) > 500 diff --git a/tests/test_landscape.py b/tests/test_landscape.py new file mode 100644 index 0000000..4354631 --- /dev/null +++ b/tests/test_landscape.py @@ -0,0 +1,200 @@ +"""Tests for landscape section around wide figures/tables.""" + +from __future__ import annotations + +import os +from pathlib import Path + +from docx import Document +from docx.enum.section import WD_ORIENT +from PIL import Image as PILImage + +from md2gost import package_dir +from md2gost.page_geometry import content_size +from md2gost.parser_ import Parser +from md2gost.renderable.caption import CaptionInfo +from md2gost.renderable.image import Image +from md2gost.renderable.table import Table +from md2gost.renderer import Renderer + + +def test_content_size_landscape_wider(): + h_p, w_p = content_size(landscape=False) + h_l, w_l = content_size(landscape=True) + assert w_l > w_p + assert h_l < h_p + + +def test_renderer_landscape_section_for_table(): + doc = Document(os.path.join(package_dir(), "Template.docx")) + body = doc._body._element + for child in list(body): + if child.tag.endswith("}sectPr"): + continue + body.remove(child) + + renderer = Renderer(doc, skip_numbering=False) + table = Table(doc._body, 2, 4, CaptionInfo("t1", "Wide", landscape=True)) + for r in range(2): + for c in range(4): + table.add_paragraph_to_cell(r, c).add_run(f"{r},{c}") + + before = len(doc.sections) + renderer.process([table]) + after = len(doc.sections) + assert after >= before + 2 + + land = [s for s in doc.sections if s.orientation == WD_ORIENT.LANDSCAPE] + assert land, "no landscape section" + assert int(land[0].page_width) > int(land[0].page_height) + + from md2gost.styles import apply_document_styles + apply_document_styles(doc, "mirea") + land2 = [s for s in doc.sections if s.orientation == WD_ORIENT.LANDSCAPE] + assert land2 + assert int(land2[0].page_width) > int(land2[0].page_height) + + assert doc.sections[-1].orientation == WD_ORIENT.PORTRAIT + assert int(doc.sections[-1].page_width) < int(doc.sections[-1].page_height) + + +def test_parser_propagates_landscape_to_table(): + doc = Document(os.path.join(package_dir(), "Template.docx")) + md = "%t1 Широкая +landscape\n\n|A|B|C|\n|---|---|---|\n|1|2|3|\n" + renderables = list(Parser(doc, md).parse()) + assert len(renderables) == 1 + assert isinstance(renderables[0], Table) + assert renderables[0].landscape is True + + +def test_landscape_image_not_queued_for_soft_pagebreak(tmp_path, monkeypatch): + """Portrait fit-check must not queue +landscape images (empty page before figure).""" + monkeypatch.chdir(tmp_path) + png = tmp_path / "wide.png" + # Wide image that is tall when forced into portrait width + PILImage.new("RGB", (2000, 1400), color=(0, 128, 255)).save(png) + os.environ["WORKING_DIR"] = str(tmp_path) + + doc = Document(os.path.join(package_dir(), "Template.docx")) + body = doc._body._element + for child in list(body): + if child.tag.endswith("}sectPr"): + continue + body.remove(child) + + from md2gost.renderable.paragraph import Paragraph as RParagraph + from md2gost.sub_renderable import SubRenderable + + para = RParagraph(doc._body) + para.add_run("Before text that fills some space. " * 20) + img = Image( + doc._body, + str(png), + CaptionInfo("deploy", "Диаграмма", landscape=True), + ) + # Mimic factory: image attached to paragraph + para._images.append(img) + + from md2gost.layout_tracker import LayoutState + from md2gost.page_geometry import content_size + from docx.shared import Length + + max_h, max_w = content_size(landscape=False) + state = LayoutState(max_h, max_w) + # Pretend most of the page is already used so a portrait fit-check would fail + state.add_height(Length(int(max_h) - 100000)) + + infos = list(para.render(None, state)) + subs = [i for i in infos if isinstance(i, SubRenderable)] + assert len(subs) == 1 + assert subs[0].renderable is img + assert subs[0].add_to_new_page is False + + +def test_landscape_places_figure_inside_landscape_section(tmp_path, monkeypatch): + """Content must sit BEFORE body sectPr or Word ignores landscape.""" + monkeypatch.chdir(tmp_path) + png = tmp_path / "x.png" + PILImage.new("RGB", (40, 20), color=(0, 128, 255)).save(png) + + doc = Document(os.path.join(package_dir(), "Template.docx")) + body = doc._body._element + for child in list(body): + if child.tag.endswith("}sectPr"): + continue + body.remove(child) + + os.environ["WORKING_DIR"] = str(tmp_path) + img = Image( + doc._body, + str(png), + CaptionInfo("fig", "wide", landscape=True), + ) + renderer = Renderer(doc, skip_numbering=False) + renderer.process([img]) + + A = "{http://schemas.openxmlformats.org/drawingml/2006/main}" + W = "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}" + section_idx = 0 + image_section = None + for child in doc.element.body: + tag = child.tag.split("}")[-1] + if child.findall(f".//{A}blip"): + image_section = section_idx + sect = None + if tag == "sectPr": + sect = child + elif tag == "p": + pPr = child.find(f"{W}pPr") + if pPr is not None: + sect = pPr.find(f"{W}sectPr") + if sect is not None: + section_idx += 1 + + assert any(s.orientation == WD_ORIENT.LANDSCAPE for s in doc.sections) + assert image_section is not None + assert image_section == 1 + + +def test_landscape_listing_deferred_after_section(tmp_path, monkeypatch): + """+landscape +listing → listing must not sit in the landscape section.""" + from unittest.mock import patch + + from md2gost.renderable.caption import CaptionInfo + from md2gost.renderable.diagram import DiagramFigure + from md2gost.renderer import Renderer + from md2gost.styles import apply_mirea_styles + + monkeypatch.chdir(tmp_path) + png = tmp_path / "d.png" + PILImage.new("RGB", (40, 20), color=(0, 128, 255)).save(png) + + doc = Document(os.path.join(package_dir(), "Template.docx")) + body = doc._body._element + for child in list(body): + if child.tag.endswith("}sectPr"): + continue + body.remove(child) + apply_mirea_styles(doc) + + class FakeResult: + png_path = str(png) + svg_path = None + pixel_scale = 1.0 + + fig = DiagramFigure( + doc._body, + "uml", + "@startuml\nA->B\n@enduml", + CaptionInfo("d1", "Схема", with_listing=True, landscape=True), + with_listing=True, + ) + assert fig.listing is not None + renderer = Renderer(doc, skip_numbering=False) + with patch("md2gost.renderable.diagram.render_diagram", return_value=FakeResult()): + renderer.process([fig]) + + assert any(s.orientation == WD_ORIENT.LANDSCAPE for s in doc.sections) + texts = [p.text for p in doc.paragraphs] + listing_caps = [t for t in texts if t.startswith("Листинг")] + assert listing_caps, f"no listing caption in {texts!r}" diff --git a/tests/test_mirea_tz.py b/tests/test_mirea_tz.py index a05aad7..ca82765 100644 --- a/tests/test_mirea_tz.py +++ b/tests/test_mirea_tz.py @@ -378,3 +378,164 @@ def test_apid_biblio_min_seven(): assert any(i.id == "biblio.count" for i in issues) +def test_special_heading_alignment_soderzhanie_vs_vvedenie(): + import docx + from docx.enum.text import WD_ALIGN_PARAGRAPH + from docx.shared import Cm + from md2gost.renderable.heading import Heading + from md2gost.renderer import Renderer + from md2gost.styles import apply_mirea_styles + + doc = docx.Document(r"md2gost/Template.docx") + doc._body.clear_content() + apply_mirea_styles(doc) + renderer = Renderer(doc, skip_numbering=True) + + h_toc = Heading(doc._body, 1, False) + h_toc.add_run("СОДЕРЖАНИЕ") + renderer._handle_heading(h_toc) + assert h_toc._docx_paragraph.alignment == WD_ALIGN_PARAGRAPH.CENTER + assert abs(h_toc._docx_paragraph.paragraph_format.left_indent.cm - 0) < 0.01 + + h_intro = Heading(doc._body, 1, False) + h_intro.add_run("ВВЕДЕНИЕ") + renderer._handle_heading(h_intro) + # Left like Heading 1 (style indent 1.25), not forced center + assert h_intro._docx_paragraph.alignment != WD_ALIGN_PARAGRAPH.CENTER + + +def test_appendix_item_becomes_h3_plus_title(): + import docx + from docx.enum.text import WD_ALIGN_PARAGRAPH + from md2gost.renderable.heading import Heading + from md2gost.renderer import Renderer + from md2gost.styles import apply_mirea_styles + + doc = docx.Document(r"md2gost/Template.docx") + doc._body.clear_content() + apply_mirea_styles(doc) + renderer = Renderer(doc, skip_numbering=True) + + h = Heading(doc._body, 2, True) + h.add_run("Приложение А Листинг модуля") + renderer._handle_heading(h) + assert h.style.name == "Heading 3" + assert h.text == "Приложение А" + assert h._docx_paragraph.alignment == WD_ALIGN_PARAGRAPH.CENTER + assert len(renderer._after_current) == 1 + title_p = renderer._after_current[0] + assert "Листинг модуля" in title_p._docx_paragraph.text + assert title_p._docx_paragraph.alignment == WD_ALIGN_PARAGRAPH.CENTER + + +def test_caption_table_keep_with_next_and_toc_styles(): + import docx + from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_LINE_SPACING + from md2gost.styles import apply_mirea_styles + + doc = docx.Document(r"md2gost/Template.docx") + apply_mirea_styles(doc) + assert doc.styles["Caption Table"].paragraph_format.keep_with_next is True + assert doc.styles["Table Text"].paragraph_format.alignment == WD_ALIGN_PARAGRAPH.LEFT + bh = doc.styles["Bibliography Heading"] + assert abs(bh.paragraph_format.left_indent.cm - 1.25) < 0.01 + toc1 = doc.styles["toc 1"] + assert toc1.font.all_caps is True + assert toc1.font.bold is False + assert toc1.paragraph_format.line_spacing_rule == WD_LINE_SPACING.ONE_POINT_FIVE + + +def test_emdash_default_false_in_pipeline(): + from md2gost.pipeline import ConvertRequest + assert ConvertRequest().emdash_to_hyphen is False + + +def test_object_ref_unused_warning(): + text = SAMPLE_OK.replace("@Рисунок:arch", "схема") + issues = check_markdown(text, "coursework") + assert any(i.id == "ref.unused" for i in issues) + + +def test_table_continuation_warning(): + issues = check_markdown(SAMPLE_OK, "coursework", table_continuation="off") + assert any(i.id == "table.continuation" for i in issues) + issues2 = check_markdown(SAMPLE_OK, "coursework", table_continuation="caption") + assert not any(i.id == "table.continuation" for i in issues2) + issues3 = check_markdown(SAMPLE_OK, "coursework", table_continuation="word") + assert not any(i.id == "table.continuation" for i in issues3) + + +def test_appendix_list_warning(): + text = SAMPLE_OK + "\n## Приложение Б Ещё\n\nТекст.\n" + # No list between ПРИЛОЖЕНИЯ and first appendix + issues = check_markdown(text, "coursework") + assert any(i.id == "appendix.toc" for i in issues) + + +def test_vkr_biblio_per_section(): + text = """ +# *СОДЕРЖАНИЕ +[TOC] +# *ВВЕДЕНИЕ +Текст. +# 1 Раздел +См. [1.1]. +# *ЗАКЛЮЧЕНИЕ +Выводы. +# *СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ +## Нормативные +[1.1]: ГОСТ 7.32-2017. — М., 2022. +## Научные +[2.1]: Иванов И. И. Книга. — М., 2023. +# *ПРИЛОЖЕНИЯ +## Приложение А Графический материал +Слайды. +""" + issues = check_markdown(text, "vkr") + assert any(i.id == "biblio.count" for i in issues) + + +def test_page_fill_evaluate_heuristic(): + from md2gost.page_fill_check import PageMetric, evaluate_page_fill + + pages = [ + PageMetric(1, 0.4, "1 Анализ", "1 Анализ"), + PageMetric(2, 0.9, "1 Анализ", "2 Проект", is_last_doc_page=False), + PageMetric(3, 0.5, "2 Проект", None, is_last_doc_page=True), + ] + issues = evaluate_page_fill(pages) + assert len(issues) == 1 + assert issues[0].page_index == 1 + assert "heuristic" in issues[0].message + + # Last page of section — no issue + pages2 = [ + PageMetric(1, 0.3, "1 Анализ", "2 Проект"), + PageMetric(2, 0.9, "2 Проект", None, is_last_doc_page=True), + ] + assert evaluate_page_fill(pages2) == [] + + # Landscape skipped + pages3 = [ + PageMetric(1, 0.2, "1 Анализ", "1 Анализ", is_landscape=True), + PageMetric(2, 0.9, "1 Анализ", None, is_last_doc_page=True), + ] + assert evaluate_page_fill(pages3) == [] + + +def test_landscape_valign_center(): + from docx import Document + from docx.oxml.ns import qn + from md2gost import package_dir + import os + from md2gost.page_geometry import apply_section_geometry + + doc = Document(os.path.join(package_dir(), "Template.docx")) + section = doc.sections[0] + apply_section_geometry(section, landscape=True) + valign = section._sectPr.find(qn("w:vAlign")) + assert valign is not None + assert valign.get(qn("w:val")) == "center" + apply_section_geometry(section, landscape=False) + assert section._sectPr.find(qn("w:vAlign")) is None + diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py new file mode 100644 index 0000000..57236e9 --- /dev/null +++ b/tests/test_pipeline.py @@ -0,0 +1,186 @@ +"""CLI/GUI shared pipeline helpers.""" + +import os +import sys + +from md2gost.dnd import first_markdown, normalize_drop_paths, parse_tkdnd_files +from md2gost.pipeline import ConvertRequest, convert, default_output_path, should_launch_gui +from md2gost.__main__ import build_parser, request_from_args + + +def test_should_launch_gui(): + assert should_launch_gui(None, False) is True + assert should_launch_gui("", False) is True + assert should_launch_gui("a.md", True) is True + assert should_launch_gui("a.md", False) is False + + +def test_default_output_path(): + path = default_output_path(r"C:\docs\report.md") + assert path.endswith("report.docx") + + +def test_parse_tkdnd_files(): + raw = r"{C:\My Files\a.md} C:\tmp\b.md" + assert parse_tkdnd_files(raw) == [r"C:\My Files\a.md", r"C:\tmp\b.md"] + + +def test_normalize_and_first_markdown(tmp_path): + md = tmp_path / "note.md" + png = tmp_path / "pic.png" + md.write_text("# hi\n", encoding="utf-8") + png.write_text("x", encoding="utf-8") + paths = normalize_drop_paths([str(png), str(md)]) + assert first_markdown(paths) == os.path.normpath(str(md)) + + +def test_convert_rejects_non_md(tmp_path): + txt = tmp_path / "file.txt" + txt.write_text("nope", encoding="utf-8") + result = convert(ConvertRequest(filename=str(txt))) + assert result.ok is False + assert result.exit_code == 1 + + +def test_convert_missing_file(): + result = convert(ConvertRequest(filename="definitely-missing.md")) + assert result.ok is False + assert result.exit_code == 2 + + +def test_parser_gui_and_optional_file(): + parser = build_parser() + args = parser.parse_args(["--gui", "report.md", "--type", "PIS_custom"]) + assert args.gui is True + assert args.filename == "report.md" + req = request_from_args(args) + assert req.doc_type == "PIS_custom" + assert req.filename == "report.md" + + +def test_win32_drop_api_pointer_width(): + if sys.platform != "win32": + return + import ctypes + from md2gost.dnd import _win32_drop_api + api = _win32_drop_api() + assert api.CallWindowProc.argtypes[0] is ctypes.c_void_p + huge = (1 << 40) | 0x1234 + api.CallWindowProc.argtypes[0](huge) # must not OverflowError + + +def test_win32_drop_hook_survives_window_messages(): + if sys.platform != "win32": + return + import tkinter as tk + from md2gost.dnd import enable_file_drop + root = tk.Tk() + try: + root.geometry("240x160+40+40") + root.update() + kind = enable_file_drop(root, lambda _paths: None) + root.update() + root.event_generate("", x=12, y=12) + root.update() + assert kind in {"win32", "tkdnd", "none"} + finally: + root.destroy() + + +def test_argv_needs_console(): + from md2gost.__main__ import _argv_needs_console + assert _argv_needs_console(["md2gost"]) is False + assert _argv_needs_console(["md2gost", "--gui"]) is False + assert _argv_needs_console(["md2gost", "--help"]) is True + assert _argv_needs_console(["md2gost", "report.md"]) is True + assert _argv_needs_console(["md2gost", "--gui", "report.md"]) is False + + +def test_gui_module_imports(): + from md2gost import gui + assert hasattr(gui, "run_gui") + assert hasattr(gui, "main") + + +def test_hr_pagebreak_becomes_page_break(): + import os + import docx + from md2gost import package_dir + from md2gost.parser_ import Parser + from md2gost.renderable.page_break import PageBreak + + doc = docx.Document(os.path.join(package_dir(), "Template.docx")) + doc._body.clear_content() + text = "До разрыва.\n\n---\n\nПосле разрыва.\n" + items = list(Parser(doc, text, hr_pagebreak=True).parse()) + assert any(isinstance(x, PageBreak) for x in items) + + doc2 = docx.Document(os.path.join(package_dir(), "Template.docx")) + doc2._body.clear_content() + items_off = list(Parser(doc2, text, hr_pagebreak=False).parse()) + assert not any(isinstance(x, PageBreak) for x in items_off) + texts = [] + for item in items_off: + para = getattr(item, "_docx_paragraph", None) + if para is not None: + texts.append(para.text) + assert not any("ThematicBreak" in t for t in texts) + + +def test_prompt_catalog_loads(): + from md2gost.help_content import load_prompt_catalog + catalog = load_prompt_catalog() + names = {name for name, _title, text in catalog} + assert "generate-mirea-report.md" in names + assert "generate-pis-custom-report.md" in names + assert all(text.strip() for _n, _t, text in catalog) + + +def test_listing_continuation_mode(): + import os + import docx + from md2gost import package_dir + from md2gost.profiles import DEFAULT_LISTING_CONTINUATION + from md2gost.renderable.caption import CaptionInfo + from md2gost.renderable.listing import Listing + + doc = docx.Document(os.path.join(package_dir(), "Template.docx")) + doc._body.clear_content() + listing = Listing(doc._body, "python", CaptionInfo("c1", "Код")) + listing.set_text("print(1)\n") + assert listing._continuation_mode == DEFAULT_LISTING_CONTINUATION + listing.set_continuation_mode("caption") + assert listing._continuation_mode == "caption" + try: + listing.set_continuation_mode("nope") + raise AssertionError("expected ValueError") + except ValueError: + pass + + +def test_parser_listing_continuation_flag(): + parser = build_parser() + args = parser.parse_args(["report.md", "--listing-continuation", "legacy"]) + req = request_from_args(args) + assert req.listing_continuation == "legacy" + args2 = parser.parse_args(["report.md"]) + assert request_from_args(args2).listing_continuation == "word" + + +def test_parser_hr_pagebreak_flag(): + parser = build_parser() + args = parser.parse_args(["report.md", "--no-hr-pagebreak"]) + req = request_from_args(args) + assert req.hr_pagebreak is False + args2 = parser.parse_args(["report.md"]) + assert request_from_args(args2).hr_pagebreak is False + assert request_from_args(args2).doc_type == "practice" + args3 = parser.parse_args(["report.md", "--hr-pagebreak"]) + assert request_from_args(args3).hr_pagebreak is True + + +def test_parser_no_file_is_ok(): + parser = build_parser() + args = parser.parse_args([]) + assert args.filename is None + assert args.gui is False diff --git a/tests/test_table_merge.py b/tests/test_table_merge.py index f142f7f..63b70a0 100644 --- a/tests/test_table_merge.py +++ b/tests/test_table_merge.py @@ -157,14 +157,14 @@ def test_checker_merge_ok(): def test_table_continuation_modes(): from md2gost.profiles import TABLE_CONTINUATION_MODES, DEFAULT_TABLE_CONTINUATION - assert DEFAULT_TABLE_CONTINUATION == "off" - assert TABLE_CONTINUATION_MODES == ("off", "legacy", "caption", "soft") + assert DEFAULT_TABLE_CONTINUATION == "word" + assert TABLE_CONTINUATION_MODES == ("off", "legacy", "caption", "soft", "word") doc = Document(os.path.join(package_dir(), "Template.docx")) from md2gost.renderable.table import Table as RTable from md2gost.renderable.caption import CaptionInfo t = RTable(doc._body, 1, 2, CaptionInfo("x", "y")) - assert t._continuation_mode == "off" + assert t._continuation_mode == "word" t.set_continuation_mode("legacy") assert t._continuation_mode == "legacy" t.set_continuation_mode("caption") diff --git a/tests/test_word_fix.py b/tests/test_word_fix.py new file mode 100644 index 0000000..adfce33 --- /dev/null +++ b/tests/test_word_fix.py @@ -0,0 +1,110 @@ +"""Tests for Word COM table/listing continuation post-process (pure + optional COM).""" + +from __future__ import annotations + +import os +import sys +import tempfile + +import pytest + +from md2gost.profiles import LISTING_CONTINUATION_MODES, TABLE_CONTINUATION_MODES +from md2gost.word_fix import ( + continuation_label, + find_page_break_row, + fix_continuations, + parse_caption_text, +) + + +def test_word_mode_in_profiles(): + assert "word" in TABLE_CONTINUATION_MODES + assert "word" in LISTING_CONTINUATION_MODES + + +@pytest.mark.parametrize( + "text, kind, number, cont", + [ + ("Таблица 2.1 — Название", "table", "2.1", False), + ("Таблица 1", "table", "1", False), + ("Продолжение Таблицы 2.1", "table", "2.1", True), + ("Листинг 3 — Код", "listing", "3", False), + ("Продолжение Листинга 3", "listing", "3", True), + ("Таблицы 1.2", "table", "1.2", False), + ], +) +def test_parse_caption_text(text, kind, number, cont): + info = parse_caption_text(text) + assert info is not None + assert info.kind == kind + assert info.number == number + assert info.is_continuation is cont + + +def test_parse_caption_rejects_noise(): + assert parse_caption_text("") is None + assert parse_caption_text("Рисунок 1 — x") is None + assert parse_caption_text("просто текст") is None + + +def test_find_page_break_row(): + assert find_page_break_row([]) is None + assert find_page_break_row([1]) is None + assert find_page_break_row([1, 1, 1]) is None + assert find_page_break_row([1, 1, 2, 2]) == 3 + assert find_page_break_row([2, 2, 3]) == 3 + assert find_page_break_row([1, 2]) == 2 + + +def test_continuation_label(): + assert continuation_label("table", "2.1") == "Продолжение Таблицы 2.1" + assert continuation_label("listing", "4") == "Продолжение Листинга 4" + + +def test_word_paged_modes_include_word(): + from md2gost.renderable.table import _WORD_PAGED_MODES as t + from md2gost.renderable.listing import _WORD_PAGED_MODES as L + assert "word" in t + assert "word" in L + + +def test_fix_continuations_missing_file(): + r = fix_continuations(os.path.join(tempfile.gettempdir(), "md2gost-no-such.docx")) + assert r.ok is False + assert "не найден" in r.message.lower() or "Файл" in r.message + + +@pytest.mark.skipif(sys.platform != "win32", reason="Windows only") +@pytest.mark.skipif(os.environ.get("MD2GOST_TEST_WORD") != "1", reason="set MD2GOST_TEST_WORD=1 to run Word COM smoke") +def test_fix_continuations_com_smoke(tmp_path): + """Build a tall table DOCX via python-docx, then run Word fix (opt-in).""" + try: + import win32com.client # noqa: F401 + except ImportError: + pytest.skip("pywin32 not installed") + + from docx import Document + from docx.shared import Pt + + path = tmp_path / "tall_table.docx" + doc = Document() + p = doc.add_paragraph("Таблица 1 — Длинная") + try: + p.style = "Caption" + except KeyError: + pass + table = doc.add_table(rows=1, cols=2) + table.rows[0].cells[0].text = "A" + table.rows[0].cells[1].text = "B" + for i in range(80): + row = table.add_row() + row.cells[0].text = f"row {i}" + row.cells[1].text = "x" * 20 + for cell in row.cells: + for para in cell.paragraphs: + para.paragraph_format.space_after = Pt(6) + doc.save(str(path)) + + result = fix_continuations(str(path), tables=True, listings=False) + assert result.ok, result.message + assert path.is_file() diff --git a/tmp_listing_word.docx b/tmp_listing_word.docx new file mode 100644 index 0000000..700a46a Binary files /dev/null and b/tmp_listing_word.docx differ diff --git a/tmp_listing_word.md b/tmp_listing_word.md new file mode 100644 index 0000000..6133a80 --- /dev/null +++ b/tmp_listing_word.md @@ -0,0 +1,13 @@ +# *ВВЕДЕНИЕ + +Текст. + +%code1 Пример + +```bash +line1 +line2 +line3 +line4 +line5 +``` diff --git a/tmp_readme_word.docx b/tmp_readme_word.docx new file mode 100644 index 0000000..3e5f9fd Binary files /dev/null and b/tmp_readme_word.docx differ diff --git a/tmp_readme_word2.docx b/tmp_readme_word2.docx new file mode 100644 index 0000000..50da13f Binary files /dev/null and b/tmp_readme_word2.docx differ diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000..ed00b42 --- /dev/null +++ b/todo.txt @@ -0,0 +1,2 @@ +- Ожидаем внедрение BPMN в mermaid +- Оценки с текстом через сам Word а не предугадываание \ No newline at end of file