molvector 1.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,30 @@
1
+ Metadata-Version: 2.4
2
+ Name: molvector
3
+ Version: 1.0.4
4
+ Summary: Interactive 3D Molecule Viewer and Builder
5
+ Author-email: Corentin Rossi <corentin.mj.rossi@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/CorentinRossi/Molvector
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: numpy>=1.21
11
+ Requires-Dist: svgwrite
12
+ Requires-Dist: PyQt6>=6.5
13
+ Requires-Dist: mol_strudel
14
+ Provides-Extra: spectra
15
+ Requires-Dist: matplotlib; extra == "spectra"
16
+ Provides-Extra: openbabel
17
+ Requires-Dist: openbabel; extra == "openbabel"
18
+
19
+ # Molvector
20
+
21
+ Molvector is an interactive 3D molecule viewer, builder, and Gaussian input generator.
22
+
23
+ You can install the software by downloading or cloning the repository and running
24
+ ```bash
25
+ pip install .
26
+ ```
27
+ inside the folder. Then, you can start the software with the command
28
+ ```bash
29
+ molvector
30
+ ```
@@ -0,0 +1,12 @@
1
+ # Molvector
2
+
3
+ Molvector is an interactive 3D molecule viewer, builder, and Gaussian input generator.
4
+
5
+ You can install the software by downloading or cloning the repository and running
6
+ ```bash
7
+ pip install .
8
+ ```
9
+ inside the folder. Then, you can start the software with the command
10
+ ```bash
11
+ molvector
12
+ ```
@@ -0,0 +1,3 @@
1
+ """Molvector — Interactive 3D Molecule Viewer and Builder."""
2
+ __version__ = "1.0.0"
3
+ from molvector.gui import main
@@ -0,0 +1,108 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="33.894112mm"
6
+ height="31.507118mm"
7
+ viewBox="-8.5 -7.9 50.9 47.3"
8
+ version="1.1"
9
+ id="svg1"
10
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
11
+ sodipodi:docname="icon.svg"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ inkscape:zoom="2.9540685"
27
+ inkscape:cx="131.00577"
28
+ inkscape:cy="88.8605"
29
+ inkscape:window-width="1920"
30
+ inkscape:window-height="1009"
31
+ inkscape:window-x="-8"
32
+ inkscape:window-y="-8"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="layer1" />
35
+ <defs
36
+ id="defs1" />
37
+ <g
38
+ inkscape:label="Calque 1"
39
+ inkscape:groupmode="layer"
40
+ id="layer1"
41
+ transform="translate(-110.59574,-82.02083)">
42
+ <ellipse
43
+ style="opacity:0.4;fill:#6c5d53;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:square;stroke-miterlimit:4.6;stroke-dasharray:none;stroke-opacity:1"
44
+ id="ellipse32"
45
+ cx="127.72514"
46
+ cy="100.19217"
47
+ rx="12.892541"
48
+ ry="12.608728" />
49
+ <g
50
+ id="g39"
51
+ transform="translate(-265.374,391.78689)">
52
+ <circle
53
+ style="fill:#6c5d53;fill-opacity:1;stroke:#000000;stroke-width:2.22089;stroke-linecap:square;stroke-dasharray:none"
54
+ id="circle32-9"
55
+ cx="-448.4603"
56
+ cy="206.1183"
57
+ r="6.2542462"
58
+ transform="matrix(-0.49930055,0.86642886,0.86642886,0.49930055,0,0)" />
59
+ <circle
60
+ style="fill:#6c5d53;fill-opacity:1;stroke:#000000;stroke-width:2.22089;stroke-linecap:square;stroke-dasharray:none"
61
+ id="circle33-9"
62
+ cx="-458.23981"
63
+ cy="189.51845"
64
+ r="6.2542462"
65
+ transform="matrix(-0.49930055,0.86642886,0.86642886,0.49930055,0,0)" />
66
+ <circle
67
+ style="fill:#000000;fill-opacity:1;stroke-width:1.86164;stroke-linecap:square"
68
+ id="circle34-3"
69
+ cx="-458.23981"
70
+ cy="189.51845"
71
+ r="1.8004649"
72
+ transform="matrix(-0.49930055,0.86642886,0.86642886,0.49930055,0,0)" />
73
+ <circle
74
+ style="fill:#6c5d53;fill-opacity:1;stroke:#000000;stroke-width:2.22089;stroke-linecap:square;stroke-dasharray:none"
75
+ id="circle35-3"
76
+ cx="-438.86597"
77
+ cy="189.51845"
78
+ r="6.2542462"
79
+ transform="matrix(-0.49930055,0.86642886,0.86642886,0.49930055,0,0)" />
80
+ <circle
81
+ style="fill:#000000;fill-opacity:1;stroke-width:1.86164;stroke-linecap:square"
82
+ id="circle36-44"
83
+ cx="-438.86597"
84
+ cy="189.51845"
85
+ r="1.8004649"
86
+ transform="matrix(-0.49930055,0.86642886,0.86642886,0.49930055,0,0)" />
87
+ <path
88
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.82897;stroke-linecap:square;stroke-dasharray:none"
89
+ d="m 392.96919,-302.34574 -9.39527,16.30348"
90
+ id="path36-1" />
91
+ <path
92
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.82897;stroke-linecap:square;stroke-dasharray:none"
93
+ d="m 392.96919,-302.34574 9.39527,16.30346"
94
+ id="path38-0" />
95
+ <circle
96
+ style="fill:#000000;fill-opacity:1;stroke-width:1.86164;stroke-linecap:square"
97
+ id="circle38-5"
98
+ cx="402.79428"
99
+ cy="285.39844"
100
+ r="1.8004649"
101
+ transform="matrix(0.99999967,-8.075488e-4,-8.075488e-4,-0.99999967,0,0)" />
102
+ <path
103
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.82897;stroke-linecap:square;stroke-dasharray:none"
104
+ d="m 383.88133,-285.70857 18.81685,-0.0152"
105
+ id="path39-7" />
106
+ </g>
107
+ </g>
108
+ </svg>
@@ -0,0 +1,108 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="33.766289mm"
6
+ height="31.616709mm"
7
+ viewBox="0 0 33.766288 31.616709"
8
+ version="1.1"
9
+ id="svg1"
10
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
11
+ sodipodi:docname="icon_align.svg"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ showguides="true"
27
+ inkscape:zoom="5.9081368"
28
+ inkscape:cx="76.335402"
29
+ inkscape:cy="54.416479"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1009"
32
+ inkscape:window-x="-8"
33
+ inkscape:window-y="-8"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="layer1" />
36
+ <defs
37
+ id="defs1" />
38
+ <g
39
+ inkscape:label="Calque 1"
40
+ inkscape:groupmode="layer"
41
+ id="layer1"
42
+ transform="translate(4.0541167,-18.05142)">
43
+ <rect
44
+ style="fill:none;stroke:none;stroke-width:3.59899"
45
+ id="rect5"
46
+ width="33.766289"
47
+ height="31.616709"
48
+ x="-4.0541167"
49
+ y="18.05142"
50
+ rx="0" />
51
+ <path
52
+ d="m 15.645456,33.459782 c -0.943158,-0.707106 -2.13843,-1.298421 -3.7021,-1.67225 l -8.6072261,12.60905 1.6515788,1.128096 1.651062,1.12758 z"
53
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
54
+ id="path18" />
55
+ <path
56
+ d="m 14.827935,27.561951 c 1.354704,0.501583 2.542803,1.136476 3.574459,1.858284 l 2.753837,-4.033345 -1.652613,-1.127063 -1.652095,-1.127063 z"
57
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
58
+ id="path17" />
59
+ <g
60
+ id="path2"
61
+ style="opacity:1;stroke-width:0.8;stroke-dasharray:none;stroke:#000000;fill:#000000">
62
+ <g
63
+ id="path6"
64
+ style="opacity:1;fill:#000000">
65
+ <path
66
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;stroke:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
67
+ d="m 6.3007812,27.898437 0.1035157,1.996094 c 7.4708031,-0.388654 10.9582051,2.416253 12.7988281,5.285156 1.840623,2.868904 1.912109,5.828126 1.912109,5.828125 l 2,-0.04102 c 0,0 -0.06107,-3.48888 -2.228515,-6.867188 C 18.719274,30.721302 14.324852,27.481 6.3007812,27.898437 Z"
68
+ id="path19" />
69
+ <path
70
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;stroke:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
71
+ d="m 6.2792969,27.498047 -0.3984375,0.02148 0.1445312,2.794922 0.4003906,-0.01953 c 7.3646388,-0.383131 10.6607978,2.326201 12.4414058,5.101562 1.775658,2.767645 1.847657,5.621094 1.847657,5.621094 l 0.0098,0.398438 2.796875,-0.05664 -0.0059,-0.400391 c 0,0 -0.05978,-3.59539 -2.292969,-7.076172 -2.237363,-3.48728 -6.804471,-6.808175 -14.9433591,-6.384765 z m 0.4453125,0.824219 c 7.6204316,-0.270958 11.7687276,2.787292 13.8261716,5.99414 1.902419,2.965222 2.080445,5.707553 2.107422,6.259766 l -1.199219,0.02344 C 21.428577,40.056127 21.245137,37.622079 19.539062,34.962891 17.676948,32.06049 14.056536,29.258979 6.7871094,29.515625 Z"
72
+ id="path20" />
73
+ </g>
74
+ <g
75
+ id="g2"
76
+ style="stroke-width:0.8;stroke-dasharray:none;stroke:#000000;fill:#000000">
77
+ <g
78
+ id="path3"
79
+ style="opacity:1;stroke-width:0.8;stroke-dasharray:none;stroke:#000000;fill:#000000">
80
+ <g
81
+ id="path4"
82
+ style="opacity:1;fill:#000000">
83
+ <path
84
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;fill-rule:evenodd;stroke:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
85
+ d="m 3.4711854,29.046443 4.189277,-2.72132 0.2597644,4.993248 z"
86
+ id="path21" />
87
+ <path
88
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;fill-rule:evenodd;stroke:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
89
+ d="m 8.0234375,25.611328 -5.3496094,3.476563 5.6816407,2.902343 z M 7.296875,27.037109 7.4863281,30.648437 4.2695312,29.005859 Z"
90
+ id="path22" />
91
+ </g>
92
+ <g
93
+ id="path5"
94
+ style="opacity:1;fill:#000000">
95
+ <path
96
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;fill-rule:evenodd;stroke:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
97
+ d="m 7.9628906,25.730469 -5.15625,3.349609 5.4765625,2.798828 z m -0.6054687,1.189453 0.2011718,3.839844 -3.421875,-1.748047 z"
98
+ id="path23" />
99
+ <path
100
+ style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;fill-rule:evenodd;stroke:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1;fill:#000000"
101
+ d="M 8.3261719,25.017578 2.0078125,29.121094 8.71875,32.550781 Z m -1.3320313,2.617188 0.1269531,2.453125 -2.1855468,-1.117188 z"
102
+ id="path24" />
103
+ </g>
104
+ </g>
105
+ </g>
106
+ </g>
107
+ </g>
108
+ </svg>
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="33.766289mm"
6
+ height="31.616709mm"
7
+ viewBox="0 0 33.766288 31.616709"
8
+ version="1.1"
9
+ id="svg1"
10
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
11
+ sodipodi:docname="icon_draw.svg"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ showguides="true"
27
+ inkscape:zoom="2.9540684"
28
+ inkscape:cx="86.152372"
29
+ inkscape:cy="103.4167"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1009"
32
+ inkscape:window-x="-8"
33
+ inkscape:window-y="-8"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="layer1" />
36
+ <defs
37
+ id="defs1" />
38
+ <g
39
+ inkscape:label="Calque 1"
40
+ inkscape:groupmode="layer"
41
+ id="layer1"
42
+ transform="translate(4.0541167,-18.05142)">
43
+ <rect
44
+ style="fill:none;stroke:none;stroke-width:3.59899"
45
+ id="rect5"
46
+ width="33.766289"
47
+ height="31.616709"
48
+ x="-4.0541167"
49
+ y="18.05142"
50
+ rx="0" />
51
+ <path
52
+ d="M 16.077353,21.921017 4.9721131,38.188314 4.9869886,45.524946 11.824578,42.8663 22.929817,26.599003 Z M 5.9549997,39.67517 10.081768,42.49229 5.9634277,44.094407 Z"
53
+ style="fill:#000000;stroke-width:3.59899"
54
+ id="path5" />
55
+ </g>
56
+ </svg>
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="33.766289mm"
6
+ height="31.616709mm"
7
+ viewBox="0 0 33.766288 31.616709"
8
+ version="1.1"
9
+ id="svg1"
10
+ sodipodi:docname="icon_select.svg"
11
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ showguides="true"
27
+ inkscape:zoom="2.0888418"
28
+ inkscape:cx="62.953547"
29
+ inkscape:cy="111.3057"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1009"
32
+ inkscape:window-x="-8"
33
+ inkscape:window-y="-8"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="layer1" />
36
+ <defs
37
+ id="defs1" />
38
+ <g
39
+ inkscape:label="Calque 1"
40
+ inkscape:groupmode="layer"
41
+ id="layer1"
42
+ transform="translate(4.3022451,-17.522253)">
43
+ <path
44
+ d="m 6.8506493,21.562073 -0.014989,20.328104 5.3346407,-2.174369 2.612805,6.3995 3.414933,-1.394258 -2.612158,-6.397915 5.334641,-2.174369 z"
45
+ style="fill:#000000;stroke-width:3.599"
46
+ id="path8" />
47
+ <rect
48
+ style="fill:none;stroke:none;stroke-width:3.59899"
49
+ id="rect5"
50
+ width="33.766289"
51
+ height="31.616709"
52
+ x="-4.3022451"
53
+ y="17.522253"
54
+ rx="0" />
55
+ </g>
56
+ </svg>