effectual 0.3.2__py3-none-any.whl → 0.3.4__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
effectual/__init__.py CHANGED
@@ -1,24 +1,29 @@
1
1
  import click
2
2
 
3
+
3
4
  @click.group()
4
- def main():
5
- """Effectual CLI - A simple command-line interface."""
5
+ def main() -> None:
6
6
  pass
7
7
 
8
+
8
9
  @click.command("dist")
9
- def dist():
10
+ def dist() -> None:
10
11
  """Bundles your source directory."""
11
12
  from . import build
13
+
12
14
  build.main()
13
15
 
16
+
14
17
  @click.command("dev")
15
- def dev():
18
+ def dev() -> None:
16
19
  """Bundles your source directory."""
17
- from . import dev
18
- dev.main()
20
+ from . import developer
21
+
22
+ developer.main()
23
+
19
24
 
20
25
  main.add_command(dist)
21
26
  main.add_command(dev)
22
27
 
23
28
  if __name__ == "__main__":
24
- main()
29
+ main()
effectual/build.py CHANGED
@@ -5,6 +5,7 @@ from pathlib import Path
5
5
  from time import perf_counter
6
6
 
7
7
  import rtoml
8
+
8
9
  from .colors import completeColor, fileColor, folderColor, tagColor
9
10
  from .config import loadConfig
10
11
  from .fileHash import getFilehash
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.3
2
+ Name: effectual
3
+ Version: 0.3.4
4
+ Summary: A python package/script bundler
5
+ Project-URL: Homepage, https://github.com/effectualpy/effectual
6
+ Author-email: jake <jakewdr@proton.me>
7
+ License: MIT
8
+ Classifier: Programming Language :: Python :: 3.8
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: Implementation :: CPython
15
+ Requires-Python: >=3.8
16
+ Requires-Dist: click>=8.1.7
17
+ Requires-Dist: python-minifier>=2.11.3
18
+ Requires-Dist: rtoml>=0.11.0
19
+ Requires-Dist: ruff>=0.8.0
20
+ Requires-Dist: termcolor>=2.4.0
21
+ Description-Content-Type: text/markdown
22
+
23
+ # effectual
24
+
25
+ */ɪˈfek.tʃu.əl/ meaning effective and successful*
26
+
27
+ ## Why?
28
+
29
+ Sometimes you want a single portable python file without having to make a platform specific executable or a dependency-less .pyz! Basically me trying to make [Vite](https://vite.dev/) for python (badly) :(
30
+
31
+ ## When not to use this
32
+
33
+ - The python package requires access to specific files like [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter/wiki/Packaging#windows-pyinstaller-auto-py-to-exe) and [Pillow](https://python-pillow.org/)
34
+ - Incredibly version specific code, for example something that won't run on a slightly different python version or operating system
35
+
36
+ # Setup
37
+
38
+ If you haven't already, run:
39
+
40
+ uv init
41
+
42
+ Then to install effectual run:
43
+
44
+ uv add effectual --dev
45
+
46
+ Finally add the following lines to your pyproject.toml and configure to your hearts desire
47
+
48
+ ```TOML
49
+ [tool.effectual]
50
+
51
+ sourceDirectory = "./src/"
52
+ outputDirectory = "./dist/"
53
+ outputFileName = "bundle.pyz"
54
+ minification = true
55
+ compressionLevel=5
56
+ ```
57
+
58
+ Note you must have a \_\_main\_\_.py entrypoint for this to work
59
+
60
+ # Bundling
61
+
62
+ ## Development
63
+
64
+ To bundle in dev mode use:
65
+
66
+ uv run efec dev
67
+
68
+ This is like what [esBuild](https://esbuild.github.io/) does for vite
69
+
70
+ ## Production
71
+
72
+ To build a distributable .pyz file run:
73
+
74
+ uv run efec dist
75
+
76
+ This is like what what [Rollup](https://rollupjs.org/) does for vite
77
+
78
+ # To be added
79
+
80
+ - [Treeshaking](https://webpack.js.org/guides/tree-shaking/)
81
+ - [Pre-bundling](https://vite.dev/guide/dep-pre-bundling)
82
+ - Plugin and loader system
83
+
84
+ # Contributions
85
+
86
+ All contributions are welcome, I'm not the best in the world at project management but if you think you can add or improve anything please send over a pull request
@@ -0,0 +1,12 @@
1
+ effectual/__init__.py,sha256=9hA5S-390BtY7m-NojGHioaBJJ8vEM3IXuMvmzWBv0E,407
2
+ effectual/build.py,sha256=AfeQXckE2dhEpJAZg7T0dxYKudg7n7Ghy1BVc4f6L9A,5517
3
+ effectual/colors.py,sha256=na7SEUSXM7aHvEKeIAn5shrZJtrBYq_ZUp121GRO_PQ,1411
4
+ effectual/config.py,sha256=LzGT8e-zq7Rc-HOp3-r6g1XRiN9v0sCq5aeWL0bqFLY,754
5
+ effectual/developer.py,sha256=Ia6LPvDbO5kkF9dRIw3H23sulmWT8pLis55-PRQIInI,2014
6
+ effectual/fileHash.py,sha256=m2oPjhAcSH0Qc7J7aMkmjOlgDr5Lzilcfl1ppeoDxI8,810
7
+ effectual/minifier.py,sha256=RlUD0mUNDi7YZ1P-dDL6Y4FlCkfiiJP8G4TpX2y45iI,1347
8
+ effectual-0.3.4.dist-info/METADATA,sha256=E0sHvdgK8jKXY-B6pP5Cn8dWVDERD7h-kU3GfZ7eK8M,2527
9
+ effectual-0.3.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
10
+ effectual-0.3.4.dist-info/entry_points.txt,sha256=1W7EjlLZkw_Wz8V1SgdzzDis-CRE5IINyg74upsB0zU,40
11
+ effectual-0.3.4.dist-info/licenses/LICENSE,sha256=RrVXS_K_FctToNx9BLuZm9vbcpTi3PHNzWMaz7QyVeg,1082
12
+ effectual-0.3.4.dist-info/RECORD,,
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 jake
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,456 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: effectual
3
- Version: 0.3.2
4
- Summary: A python package/script bundler
5
- Project-URL: Homepage, https://github.com/effectualpy/effectual
6
- Author-email: jake <jakewdr@proton.me>
7
- License: Mozilla Public License Version 2.0
8
- ==================================
9
-
10
- 1. Definitions
11
- --------------
12
-
13
- 1.1. "Contributor"
14
- means each individual or legal entity that creates, contributes to
15
- the creation of, or owns Covered Software.
16
-
17
- 1.2. "Contributor Version"
18
- means the combination of the Contributions of others (if any) used
19
- by a Contributor and that particular Contributor's Contribution.
20
-
21
- 1.3. "Contribution"
22
- means Covered Software of a particular Contributor.
23
-
24
- 1.4. "Covered Software"
25
- means Source Code Form to which the initial Contributor has attached
26
- the notice in Exhibit A, the Executable Form of such Source Code
27
- Form, and Modifications of such Source Code Form, in each case
28
- including portions thereof.
29
-
30
- 1.5. "Incompatible With Secondary Licenses"
31
- means
32
-
33
- (a) that the initial Contributor has attached the notice described
34
- in Exhibit B to the Covered Software; or
35
-
36
- (b) that the Covered Software was made available under the terms of
37
- version 1.1 or earlier of the License, but not also under the
38
- terms of a Secondary License.
39
-
40
- 1.6. "Executable Form"
41
- means any form of the work other than Source Code Form.
42
-
43
- 1.7. "Larger Work"
44
- means a work that combines Covered Software with other material, in
45
- a separate file or files, that is not Covered Software.
46
-
47
- 1.8. "License"
48
- means this document.
49
-
50
- 1.9. "Licensable"
51
- means having the right to grant, to the maximum extent possible,
52
- whether at the time of the initial grant or subsequently, any and
53
- all of the rights conveyed by this License.
54
-
55
- 1.10. "Modifications"
56
- means any of the following:
57
-
58
- (a) any file in Source Code Form that results from an addition to,
59
- deletion from, or modification of the contents of Covered
60
- Software; or
61
-
62
- (b) any new file in Source Code Form that contains any Covered
63
- Software.
64
-
65
- 1.11. "Patent Claims" of a Contributor
66
- means any patent claim(s), including without limitation, method,
67
- process, and apparatus claims, in any patent Licensable by such
68
- Contributor that would be infringed, but for the grant of the
69
- License, by the making, using, selling, offering for sale, having
70
- made, import, or transfer of either its Contributions or its
71
- Contributor Version.
72
-
73
- 1.12. "Secondary License"
74
- means either the GNU General Public License, Version 2.0, the GNU
75
- Lesser General Public License, Version 2.1, the GNU Affero General
76
- Public License, Version 3.0, or any later versions of those
77
- licenses.
78
-
79
- 1.13. "Source Code Form"
80
- means the form of the work preferred for making modifications.
81
-
82
- 1.14. "You" (or "Your")
83
- means an individual or a legal entity exercising rights under this
84
- License. For legal entities, "You" includes any entity that
85
- controls, is controlled by, or is under common control with You. For
86
- purposes of this definition, "control" means (a) the power, direct
87
- or indirect, to cause the direction or management of such entity,
88
- whether by contract or otherwise, or (b) ownership of more than
89
- fifty percent (50%) of the outstanding shares or beneficial
90
- ownership of such entity.
91
-
92
- 2. License Grants and Conditions
93
- --------------------------------
94
-
95
- 2.1. Grants
96
-
97
- Each Contributor hereby grants You a world-wide, royalty-free,
98
- non-exclusive license:
99
-
100
- (a) under intellectual property rights (other than patent or trademark)
101
- Licensable by such Contributor to use, reproduce, make available,
102
- modify, display, perform, distribute, and otherwise exploit its
103
- Contributions, either on an unmodified basis, with Modifications, or
104
- as part of a Larger Work; and
105
-
106
- (b) under Patent Claims of such Contributor to make, use, sell, offer
107
- for sale, have made, import, and otherwise transfer either its
108
- Contributions or its Contributor Version.
109
-
110
- 2.2. Effective Date
111
-
112
- The licenses granted in Section 2.1 with respect to any Contribution
113
- become effective for each Contribution on the date the Contributor first
114
- distributes such Contribution.
115
-
116
- 2.3. Limitations on Grant Scope
117
-
118
- The licenses granted in this Section 2 are the only rights granted under
119
- this License. No additional rights or licenses will be implied from the
120
- distribution or licensing of Covered Software under this License.
121
- Notwithstanding Section 2.1(b) above, no patent license is granted by a
122
- Contributor:
123
-
124
- (a) for any code that a Contributor has removed from Covered Software;
125
- or
126
-
127
- (b) for infringements caused by: (i) Your and any other third party's
128
- modifications of Covered Software, or (ii) the combination of its
129
- Contributions with other software (except as part of its Contributor
130
- Version); or
131
-
132
- (c) under Patent Claims infringed by Covered Software in the absence of
133
- its Contributions.
134
-
135
- This License does not grant any rights in the trademarks, service marks,
136
- or logos of any Contributor (except as may be necessary to comply with
137
- the notice requirements in Section 3.4).
138
-
139
- 2.4. Subsequent Licenses
140
-
141
- No Contributor makes additional grants as a result of Your choice to
142
- distribute the Covered Software under a subsequent version of this
143
- License (see Section 10.2) or under the terms of a Secondary License (if
144
- permitted under the terms of Section 3.3).
145
-
146
- 2.5. Representation
147
-
148
- Each Contributor represents that the Contributor believes its
149
- Contributions are its original creation(s) or it has sufficient rights
150
- to grant the rights to its Contributions conveyed by this License.
151
-
152
- 2.6. Fair Use
153
-
154
- This License is not intended to limit any rights You have under
155
- applicable copyright doctrines of fair use, fair dealing, or other
156
- equivalents.
157
-
158
- 2.7. Conditions
159
-
160
- Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
161
- in Section 2.1.
162
-
163
- 3. Responsibilities
164
- -------------------
165
-
166
- 3.1. Distribution of Source Form
167
-
168
- All distribution of Covered Software in Source Code Form, including any
169
- Modifications that You create or to which You contribute, must be under
170
- the terms of this License. You must inform recipients that the Source
171
- Code Form of the Covered Software is governed by the terms of this
172
- License, and how they can obtain a copy of this License. You may not
173
- attempt to alter or restrict the recipients' rights in the Source Code
174
- Form.
175
-
176
- 3.2. Distribution of Executable Form
177
-
178
- If You distribute Covered Software in Executable Form then:
179
-
180
- (a) such Covered Software must also be made available in Source Code
181
- Form, as described in Section 3.1, and You must inform recipients of
182
- the Executable Form how they can obtain a copy of such Source Code
183
- Form by reasonable means in a timely manner, at a charge no more
184
- than the cost of distribution to the recipient; and
185
-
186
- (b) You may distribute such Executable Form under the terms of this
187
- License, or sublicense it under different terms, provided that the
188
- license for the Executable Form does not attempt to limit or alter
189
- the recipients' rights in the Source Code Form under this License.
190
-
191
- 3.3. Distribution of a Larger Work
192
-
193
- You may create and distribute a Larger Work under terms of Your choice,
194
- provided that You also comply with the requirements of this License for
195
- the Covered Software. If the Larger Work is a combination of Covered
196
- Software with a work governed by one or more Secondary Licenses, and the
197
- Covered Software is not Incompatible With Secondary Licenses, this
198
- License permits You to additionally distribute such Covered Software
199
- under the terms of such Secondary License(s), so that the recipient of
200
- the Larger Work may, at their option, further distribute the Covered
201
- Software under the terms of either this License or such Secondary
202
- License(s).
203
-
204
- 3.4. Notices
205
-
206
- You may not remove or alter the substance of any license notices
207
- (including copyright notices, patent notices, disclaimers of warranty,
208
- or limitations of liability) contained within the Source Code Form of
209
- the Covered Software, except that You may alter any license notices to
210
- the extent required to remedy known factual inaccuracies.
211
-
212
- 3.5. Application of Additional Terms
213
-
214
- You may choose to offer, and to charge a fee for, warranty, support,
215
- indemnity or liability obligations to one or more recipients of Covered
216
- Software. However, You may do so only on Your own behalf, and not on
217
- behalf of any Contributor. You must make it absolutely clear that any
218
- such warranty, support, indemnity, or liability obligation is offered by
219
- You alone, and You hereby agree to indemnify every Contributor for any
220
- liability incurred by such Contributor as a result of warranty, support,
221
- indemnity or liability terms You offer. You may include additional
222
- disclaimers of warranty and limitations of liability specific to any
223
- jurisdiction.
224
-
225
- 4. Inability to Comply Due to Statute or Regulation
226
- ---------------------------------------------------
227
-
228
- If it is impossible for You to comply with any of the terms of this
229
- License with respect to some or all of the Covered Software due to
230
- statute, judicial order, or regulation then You must: (a) comply with
231
- the terms of this License to the maximum extent possible; and (b)
232
- describe the limitations and the code they affect. Such description must
233
- be placed in a text file included with all distributions of the Covered
234
- Software under this License. Except to the extent prohibited by statute
235
- or regulation, such description must be sufficiently detailed for a
236
- recipient of ordinary skill to be able to understand it.
237
-
238
- 5. Termination
239
- --------------
240
-
241
- 5.1. The rights granted under this License will terminate automatically
242
- if You fail to comply with any of its terms. However, if You become
243
- compliant, then the rights granted under this License from a particular
244
- Contributor are reinstated (a) provisionally, unless and until such
245
- Contributor explicitly and finally terminates Your grants, and (b) on an
246
- ongoing basis, if such Contributor fails to notify You of the
247
- non-compliance by some reasonable means prior to 60 days after You have
248
- come back into compliance. Moreover, Your grants from a particular
249
- Contributor are reinstated on an ongoing basis if such Contributor
250
- notifies You of the non-compliance by some reasonable means, this is the
251
- first time You have received notice of non-compliance with this License
252
- from such Contributor, and You become compliant prior to 30 days after
253
- Your receipt of the notice.
254
-
255
- 5.2. If You initiate litigation against any entity by asserting a patent
256
- infringement claim (excluding declaratory judgment actions,
257
- counter-claims, and cross-claims) alleging that a Contributor Version
258
- directly or indirectly infringes any patent, then the rights granted to
259
- You by any and all Contributors for the Covered Software under Section
260
- 2.1 of this License shall terminate.
261
-
262
- 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
263
- end user license agreements (excluding distributors and resellers) which
264
- have been validly granted by You or Your distributors under this License
265
- prior to termination shall survive termination.
266
-
267
- ************************************************************************
268
- * *
269
- * 6. Disclaimer of Warranty *
270
- * ------------------------- *
271
- * *
272
- * Covered Software is provided under this License on an "as is" *
273
- * basis, without warranty of any kind, either expressed, implied, or *
274
- * statutory, including, without limitation, warranties that the *
275
- * Covered Software is free of defects, merchantable, fit for a *
276
- * particular purpose or non-infringing. The entire risk as to the *
277
- * quality and performance of the Covered Software is with You. *
278
- * Should any Covered Software prove defective in any respect, You *
279
- * (not any Contributor) assume the cost of any necessary servicing, *
280
- * repair, or correction. This disclaimer of warranty constitutes an *
281
- * essential part of this License. No use of any Covered Software is *
282
- * authorized under this License except under this disclaimer. *
283
- * *
284
- ************************************************************************
285
-
286
- ************************************************************************
287
- * *
288
- * 7. Limitation of Liability *
289
- * -------------------------- *
290
- * *
291
- * Under no circumstances and under no legal theory, whether tort *
292
- * (including negligence), contract, or otherwise, shall any *
293
- * Contributor, or anyone who distributes Covered Software as *
294
- * permitted above, be liable to You for any direct, indirect, *
295
- * special, incidental, or consequential damages of any character *
296
- * including, without limitation, damages for lost profits, loss of *
297
- * goodwill, work stoppage, computer failure or malfunction, or any *
298
- * and all other commercial damages or losses, even if such party *
299
- * shall have been informed of the possibility of such damages. This *
300
- * limitation of liability shall not apply to liability for death or *
301
- * personal injury resulting from such party's negligence to the *
302
- * extent applicable law prohibits such limitation. Some *
303
- * jurisdictions do not allow the exclusion or limitation of *
304
- * incidental or consequential damages, so this exclusion and *
305
- * limitation may not apply to You. *
306
- * *
307
- ************************************************************************
308
-
309
- 8. Litigation
310
- -------------
311
-
312
- Any litigation relating to this License may be brought only in the
313
- courts of a jurisdiction where the defendant maintains its principal
314
- place of business and such litigation shall be governed by laws of that
315
- jurisdiction, without reference to its conflict-of-law provisions.
316
- Nothing in this Section shall prevent a party's ability to bring
317
- cross-claims or counter-claims.
318
-
319
- 9. Miscellaneous
320
- ----------------
321
-
322
- This License represents the complete agreement concerning the subject
323
- matter hereof. If any provision of this License is held to be
324
- unenforceable, such provision shall be reformed only to the extent
325
- necessary to make it enforceable. Any law or regulation which provides
326
- that the language of a contract shall be construed against the drafter
327
- shall not be used to construe this License against a Contributor.
328
-
329
- 10. Versions of the License
330
- ---------------------------
331
-
332
- 10.1. New Versions
333
-
334
- Mozilla Foundation is the license steward. Except as provided in Section
335
- 10.3, no one other than the license steward has the right to modify or
336
- publish new versions of this License. Each version will be given a
337
- distinguishing version number.
338
-
339
- 10.2. Effect of New Versions
340
-
341
- You may distribute the Covered Software under the terms of the version
342
- of the License under which You originally received the Covered Software,
343
- or under the terms of any subsequent version published by the license
344
- steward.
345
-
346
- 10.3. Modified Versions
347
-
348
- If you create software not governed by this License, and you want to
349
- create a new license for such software, you may create and use a
350
- modified version of this License if you rename the license and remove
351
- any references to the name of the license steward (except to note that
352
- such modified license differs from this License).
353
-
354
- 10.4. Distributing Source Code Form that is Incompatible With Secondary
355
- Licenses
356
-
357
- If You choose to distribute Source Code Form that is Incompatible With
358
- Secondary Licenses under the terms of this version of the License, the
359
- notice described in Exhibit B of this License must be attached.
360
-
361
- Exhibit A - Source Code Form License Notice
362
- -------------------------------------------
363
-
364
- This Source Code Form is subject to the terms of the Mozilla Public
365
- License, v. 2.0. If a copy of the MPL was not distributed with this
366
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
367
-
368
- If it is not possible or desirable to put the notice in a particular
369
- file, then You may include the notice in a location (such as a LICENSE
370
- file in a relevant directory) where a recipient would be likely to look
371
- for such a notice.
372
-
373
- You may add additional accurate notices of copyright ownership.
374
-
375
- Exhibit B - "Incompatible With Secondary Licenses" Notice
376
- ---------------------------------------------------------
377
-
378
- This Source Code Form is "Incompatible With Secondary Licenses", as
379
- defined by the Mozilla Public License, v. 2.0.
380
- Classifier: Programming Language :: Python :: 3.8
381
- Classifier: Programming Language :: Python :: 3.9
382
- Classifier: Programming Language :: Python :: 3.10
383
- Classifier: Programming Language :: Python :: 3.11
384
- Classifier: Programming Language :: Python :: 3.12
385
- Classifier: Programming Language :: Python :: 3.13
386
- Classifier: Programming Language :: Python :: Implementation :: CPython
387
- Requires-Python: >=3.8
388
- Requires-Dist: click>=8.1.7
389
- Requires-Dist: python-minifier>=2.11.3
390
- Requires-Dist: rtoml>=0.11.0
391
- Requires-Dist: ruff>=0.8.0
392
- Requires-Dist: termcolor>=2.4.0
393
- Description-Content-Type: text/markdown
394
-
395
- # effectual
396
-
397
- */ɪˈfek.tʃu.əl/ meaning effective and successful*
398
-
399
- ## Why?
400
-
401
- Sometimes you want a single portable python file without having to make a platform specific executable or a dependency-less .pyz! Basically me trying to make [Vite](https://vite.dev/) for python (badly) :(
402
-
403
- ## When not to use this
404
-
405
- - The python package requires access to specific files like [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter/wiki/Packaging#windows-pyinstaller-auto-py-to-exe) and [Pillow](https://python-pillow.org/)
406
- - Incredibly version specific code, for example something that won't run on a slightly different python version or operating system
407
-
408
- # Setup
409
-
410
- If you haven't already, run:
411
-
412
- uv init
413
-
414
- Then to install effectual run:
415
-
416
- uv add effectual --dev
417
-
418
- Finally add the following lines to your pyproject.toml and configure to your hearts desire
419
-
420
- ```TOML
421
- [tool.effectual]
422
-
423
- sourceDirectory = "./src/"
424
- outputDirectory = "./dist/"
425
- outputFileName = "bundle.pyz"
426
- minification = true
427
- compressionLevel=5
428
- ```
429
-
430
- # Bundling
431
-
432
- ## Development
433
-
434
- To bundle in dev mode use:
435
-
436
- uv run efec dev
437
-
438
- This is like what [esBuild](https://esbuild.github.io/) does for vite
439
-
440
- ## Production
441
-
442
- To build a distributable .pyz file run:
443
-
444
- uv run efec dist
445
-
446
- This is like what what [Rollup](https://rollupjs.org/) does for vite
447
-
448
- # To be added
449
-
450
- - [Treeshaking](https://webpack.js.org/guides/tree-shaking/)
451
- - [Pre-bundling](https://vite.dev/guide/dep-pre-bundling)
452
- - Plugin and loader system
453
-
454
- # Contributions
455
-
456
- All contributions are welcome, I'm not the best in the world at project management but if you think you can add or improve anything please send over a pull request
@@ -1,12 +0,0 @@
1
- effectual/__init__.py,sha256=jKZT-tJTz3PMiymfrwLr21EdCdYa97UVaOVdfQtycO0,423
2
- effectual/build.py,sha256=Fb6mKGJjDQZcQeLFH22bXgsdb6TlGRPotnXJws6emOQ,5515
3
- effectual/colors.py,sha256=na7SEUSXM7aHvEKeIAn5shrZJtrBYq_ZUp121GRO_PQ,1411
4
- effectual/config.py,sha256=LzGT8e-zq7Rc-HOp3-r6g1XRiN9v0sCq5aeWL0bqFLY,754
5
- effectual/dev.py,sha256=Ia6LPvDbO5kkF9dRIw3H23sulmWT8pLis55-PRQIInI,2014
6
- effectual/fileHash.py,sha256=m2oPjhAcSH0Qc7J7aMkmjOlgDr5Lzilcfl1ppeoDxI8,810
7
- effectual/minifier.py,sha256=RlUD0mUNDi7YZ1P-dDL6Y4FlCkfiiJP8G4TpX2y45iI,1347
8
- effectual-0.3.2.dist-info/METADATA,sha256=SC-TVMjUlCZuOkGypYrga8eKpEuWpXOi59s-kCeq3OI,22158
9
- effectual-0.3.2.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
10
- effectual-0.3.2.dist-info/entry_points.txt,sha256=1W7EjlLZkw_Wz8V1SgdzzDis-CRE5IINyg74upsB0zU,40
11
- effectual-0.3.2.dist-info/licenses/LICENSE,sha256=JoTeFzAOCkNGhvHsf4r2BFIHpLRXo_4EsrnOZV58XVA,17098
12
- effectual-0.3.2.dist-info/RECORD,,
@@ -1,373 +0,0 @@
1
- Mozilla Public License Version 2.0
2
- ==================================
3
-
4
- 1. Definitions
5
- --------------
6
-
7
- 1.1. "Contributor"
8
- means each individual or legal entity that creates, contributes to
9
- the creation of, or owns Covered Software.
10
-
11
- 1.2. "Contributor Version"
12
- means the combination of the Contributions of others (if any) used
13
- by a Contributor and that particular Contributor's Contribution.
14
-
15
- 1.3. "Contribution"
16
- means Covered Software of a particular Contributor.
17
-
18
- 1.4. "Covered Software"
19
- means Source Code Form to which the initial Contributor has attached
20
- the notice in Exhibit A, the Executable Form of such Source Code
21
- Form, and Modifications of such Source Code Form, in each case
22
- including portions thereof.
23
-
24
- 1.5. "Incompatible With Secondary Licenses"
25
- means
26
-
27
- (a) that the initial Contributor has attached the notice described
28
- in Exhibit B to the Covered Software; or
29
-
30
- (b) that the Covered Software was made available under the terms of
31
- version 1.1 or earlier of the License, but not also under the
32
- terms of a Secondary License.
33
-
34
- 1.6. "Executable Form"
35
- means any form of the work other than Source Code Form.
36
-
37
- 1.7. "Larger Work"
38
- means a work that combines Covered Software with other material, in
39
- a separate file or files, that is not Covered Software.
40
-
41
- 1.8. "License"
42
- means this document.
43
-
44
- 1.9. "Licensable"
45
- means having the right to grant, to the maximum extent possible,
46
- whether at the time of the initial grant or subsequently, any and
47
- all of the rights conveyed by this License.
48
-
49
- 1.10. "Modifications"
50
- means any of the following:
51
-
52
- (a) any file in Source Code Form that results from an addition to,
53
- deletion from, or modification of the contents of Covered
54
- Software; or
55
-
56
- (b) any new file in Source Code Form that contains any Covered
57
- Software.
58
-
59
- 1.11. "Patent Claims" of a Contributor
60
- means any patent claim(s), including without limitation, method,
61
- process, and apparatus claims, in any patent Licensable by such
62
- Contributor that would be infringed, but for the grant of the
63
- License, by the making, using, selling, offering for sale, having
64
- made, import, or transfer of either its Contributions or its
65
- Contributor Version.
66
-
67
- 1.12. "Secondary License"
68
- means either the GNU General Public License, Version 2.0, the GNU
69
- Lesser General Public License, Version 2.1, the GNU Affero General
70
- Public License, Version 3.0, or any later versions of those
71
- licenses.
72
-
73
- 1.13. "Source Code Form"
74
- means the form of the work preferred for making modifications.
75
-
76
- 1.14. "You" (or "Your")
77
- means an individual or a legal entity exercising rights under this
78
- License. For legal entities, "You" includes any entity that
79
- controls, is controlled by, or is under common control with You. For
80
- purposes of this definition, "control" means (a) the power, direct
81
- or indirect, to cause the direction or management of such entity,
82
- whether by contract or otherwise, or (b) ownership of more than
83
- fifty percent (50%) of the outstanding shares or beneficial
84
- ownership of such entity.
85
-
86
- 2. License Grants and Conditions
87
- --------------------------------
88
-
89
- 2.1. Grants
90
-
91
- Each Contributor hereby grants You a world-wide, royalty-free,
92
- non-exclusive license:
93
-
94
- (a) under intellectual property rights (other than patent or trademark)
95
- Licensable by such Contributor to use, reproduce, make available,
96
- modify, display, perform, distribute, and otherwise exploit its
97
- Contributions, either on an unmodified basis, with Modifications, or
98
- as part of a Larger Work; and
99
-
100
- (b) under Patent Claims of such Contributor to make, use, sell, offer
101
- for sale, have made, import, and otherwise transfer either its
102
- Contributions or its Contributor Version.
103
-
104
- 2.2. Effective Date
105
-
106
- The licenses granted in Section 2.1 with respect to any Contribution
107
- become effective for each Contribution on the date the Contributor first
108
- distributes such Contribution.
109
-
110
- 2.3. Limitations on Grant Scope
111
-
112
- The licenses granted in this Section 2 are the only rights granted under
113
- this License. No additional rights or licenses will be implied from the
114
- distribution or licensing of Covered Software under this License.
115
- Notwithstanding Section 2.1(b) above, no patent license is granted by a
116
- Contributor:
117
-
118
- (a) for any code that a Contributor has removed from Covered Software;
119
- or
120
-
121
- (b) for infringements caused by: (i) Your and any other third party's
122
- modifications of Covered Software, or (ii) the combination of its
123
- Contributions with other software (except as part of its Contributor
124
- Version); or
125
-
126
- (c) under Patent Claims infringed by Covered Software in the absence of
127
- its Contributions.
128
-
129
- This License does not grant any rights in the trademarks, service marks,
130
- or logos of any Contributor (except as may be necessary to comply with
131
- the notice requirements in Section 3.4).
132
-
133
- 2.4. Subsequent Licenses
134
-
135
- No Contributor makes additional grants as a result of Your choice to
136
- distribute the Covered Software under a subsequent version of this
137
- License (see Section 10.2) or under the terms of a Secondary License (if
138
- permitted under the terms of Section 3.3).
139
-
140
- 2.5. Representation
141
-
142
- Each Contributor represents that the Contributor believes its
143
- Contributions are its original creation(s) or it has sufficient rights
144
- to grant the rights to its Contributions conveyed by this License.
145
-
146
- 2.6. Fair Use
147
-
148
- This License is not intended to limit any rights You have under
149
- applicable copyright doctrines of fair use, fair dealing, or other
150
- equivalents.
151
-
152
- 2.7. Conditions
153
-
154
- Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
155
- in Section 2.1.
156
-
157
- 3. Responsibilities
158
- -------------------
159
-
160
- 3.1. Distribution of Source Form
161
-
162
- All distribution of Covered Software in Source Code Form, including any
163
- Modifications that You create or to which You contribute, must be under
164
- the terms of this License. You must inform recipients that the Source
165
- Code Form of the Covered Software is governed by the terms of this
166
- License, and how they can obtain a copy of this License. You may not
167
- attempt to alter or restrict the recipients' rights in the Source Code
168
- Form.
169
-
170
- 3.2. Distribution of Executable Form
171
-
172
- If You distribute Covered Software in Executable Form then:
173
-
174
- (a) such Covered Software must also be made available in Source Code
175
- Form, as described in Section 3.1, and You must inform recipients of
176
- the Executable Form how they can obtain a copy of such Source Code
177
- Form by reasonable means in a timely manner, at a charge no more
178
- than the cost of distribution to the recipient; and
179
-
180
- (b) You may distribute such Executable Form under the terms of this
181
- License, or sublicense it under different terms, provided that the
182
- license for the Executable Form does not attempt to limit or alter
183
- the recipients' rights in the Source Code Form under this License.
184
-
185
- 3.3. Distribution of a Larger Work
186
-
187
- You may create and distribute a Larger Work under terms of Your choice,
188
- provided that You also comply with the requirements of this License for
189
- the Covered Software. If the Larger Work is a combination of Covered
190
- Software with a work governed by one or more Secondary Licenses, and the
191
- Covered Software is not Incompatible With Secondary Licenses, this
192
- License permits You to additionally distribute such Covered Software
193
- under the terms of such Secondary License(s), so that the recipient of
194
- the Larger Work may, at their option, further distribute the Covered
195
- Software under the terms of either this License or such Secondary
196
- License(s).
197
-
198
- 3.4. Notices
199
-
200
- You may not remove or alter the substance of any license notices
201
- (including copyright notices, patent notices, disclaimers of warranty,
202
- or limitations of liability) contained within the Source Code Form of
203
- the Covered Software, except that You may alter any license notices to
204
- the extent required to remedy known factual inaccuracies.
205
-
206
- 3.5. Application of Additional Terms
207
-
208
- You may choose to offer, and to charge a fee for, warranty, support,
209
- indemnity or liability obligations to one or more recipients of Covered
210
- Software. However, You may do so only on Your own behalf, and not on
211
- behalf of any Contributor. You must make it absolutely clear that any
212
- such warranty, support, indemnity, or liability obligation is offered by
213
- You alone, and You hereby agree to indemnify every Contributor for any
214
- liability incurred by such Contributor as a result of warranty, support,
215
- indemnity or liability terms You offer. You may include additional
216
- disclaimers of warranty and limitations of liability specific to any
217
- jurisdiction.
218
-
219
- 4. Inability to Comply Due to Statute or Regulation
220
- ---------------------------------------------------
221
-
222
- If it is impossible for You to comply with any of the terms of this
223
- License with respect to some or all of the Covered Software due to
224
- statute, judicial order, or regulation then You must: (a) comply with
225
- the terms of this License to the maximum extent possible; and (b)
226
- describe the limitations and the code they affect. Such description must
227
- be placed in a text file included with all distributions of the Covered
228
- Software under this License. Except to the extent prohibited by statute
229
- or regulation, such description must be sufficiently detailed for a
230
- recipient of ordinary skill to be able to understand it.
231
-
232
- 5. Termination
233
- --------------
234
-
235
- 5.1. The rights granted under this License will terminate automatically
236
- if You fail to comply with any of its terms. However, if You become
237
- compliant, then the rights granted under this License from a particular
238
- Contributor are reinstated (a) provisionally, unless and until such
239
- Contributor explicitly and finally terminates Your grants, and (b) on an
240
- ongoing basis, if such Contributor fails to notify You of the
241
- non-compliance by some reasonable means prior to 60 days after You have
242
- come back into compliance. Moreover, Your grants from a particular
243
- Contributor are reinstated on an ongoing basis if such Contributor
244
- notifies You of the non-compliance by some reasonable means, this is the
245
- first time You have received notice of non-compliance with this License
246
- from such Contributor, and You become compliant prior to 30 days after
247
- Your receipt of the notice.
248
-
249
- 5.2. If You initiate litigation against any entity by asserting a patent
250
- infringement claim (excluding declaratory judgment actions,
251
- counter-claims, and cross-claims) alleging that a Contributor Version
252
- directly or indirectly infringes any patent, then the rights granted to
253
- You by any and all Contributors for the Covered Software under Section
254
- 2.1 of this License shall terminate.
255
-
256
- 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
257
- end user license agreements (excluding distributors and resellers) which
258
- have been validly granted by You or Your distributors under this License
259
- prior to termination shall survive termination.
260
-
261
- ************************************************************************
262
- * *
263
- * 6. Disclaimer of Warranty *
264
- * ------------------------- *
265
- * *
266
- * Covered Software is provided under this License on an "as is" *
267
- * basis, without warranty of any kind, either expressed, implied, or *
268
- * statutory, including, without limitation, warranties that the *
269
- * Covered Software is free of defects, merchantable, fit for a *
270
- * particular purpose or non-infringing. The entire risk as to the *
271
- * quality and performance of the Covered Software is with You. *
272
- * Should any Covered Software prove defective in any respect, You *
273
- * (not any Contributor) assume the cost of any necessary servicing, *
274
- * repair, or correction. This disclaimer of warranty constitutes an *
275
- * essential part of this License. No use of any Covered Software is *
276
- * authorized under this License except under this disclaimer. *
277
- * *
278
- ************************************************************************
279
-
280
- ************************************************************************
281
- * *
282
- * 7. Limitation of Liability *
283
- * -------------------------- *
284
- * *
285
- * Under no circumstances and under no legal theory, whether tort *
286
- * (including negligence), contract, or otherwise, shall any *
287
- * Contributor, or anyone who distributes Covered Software as *
288
- * permitted above, be liable to You for any direct, indirect, *
289
- * special, incidental, or consequential damages of any character *
290
- * including, without limitation, damages for lost profits, loss of *
291
- * goodwill, work stoppage, computer failure or malfunction, or any *
292
- * and all other commercial damages or losses, even if such party *
293
- * shall have been informed of the possibility of such damages. This *
294
- * limitation of liability shall not apply to liability for death or *
295
- * personal injury resulting from such party's negligence to the *
296
- * extent applicable law prohibits such limitation. Some *
297
- * jurisdictions do not allow the exclusion or limitation of *
298
- * incidental or consequential damages, so this exclusion and *
299
- * limitation may not apply to You. *
300
- * *
301
- ************************************************************************
302
-
303
- 8. Litigation
304
- -------------
305
-
306
- Any litigation relating to this License may be brought only in the
307
- courts of a jurisdiction where the defendant maintains its principal
308
- place of business and such litigation shall be governed by laws of that
309
- jurisdiction, without reference to its conflict-of-law provisions.
310
- Nothing in this Section shall prevent a party's ability to bring
311
- cross-claims or counter-claims.
312
-
313
- 9. Miscellaneous
314
- ----------------
315
-
316
- This License represents the complete agreement concerning the subject
317
- matter hereof. If any provision of this License is held to be
318
- unenforceable, such provision shall be reformed only to the extent
319
- necessary to make it enforceable. Any law or regulation which provides
320
- that the language of a contract shall be construed against the drafter
321
- shall not be used to construe this License against a Contributor.
322
-
323
- 10. Versions of the License
324
- ---------------------------
325
-
326
- 10.1. New Versions
327
-
328
- Mozilla Foundation is the license steward. Except as provided in Section
329
- 10.3, no one other than the license steward has the right to modify or
330
- publish new versions of this License. Each version will be given a
331
- distinguishing version number.
332
-
333
- 10.2. Effect of New Versions
334
-
335
- You may distribute the Covered Software under the terms of the version
336
- of the License under which You originally received the Covered Software,
337
- or under the terms of any subsequent version published by the license
338
- steward.
339
-
340
- 10.3. Modified Versions
341
-
342
- If you create software not governed by this License, and you want to
343
- create a new license for such software, you may create and use a
344
- modified version of this License if you rename the license and remove
345
- any references to the name of the license steward (except to note that
346
- such modified license differs from this License).
347
-
348
- 10.4. Distributing Source Code Form that is Incompatible With Secondary
349
- Licenses
350
-
351
- If You choose to distribute Source Code Form that is Incompatible With
352
- Secondary Licenses under the terms of this version of the License, the
353
- notice described in Exhibit B of this License must be attached.
354
-
355
- Exhibit A - Source Code Form License Notice
356
- -------------------------------------------
357
-
358
- This Source Code Form is subject to the terms of the Mozilla Public
359
- License, v. 2.0. If a copy of the MPL was not distributed with this
360
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
361
-
362
- If it is not possible or desirable to put the notice in a particular
363
- file, then You may include the notice in a location (such as a LICENSE
364
- file in a relevant directory) where a recipient would be likely to look
365
- for such a notice.
366
-
367
- You may add additional accurate notices of copyright ownership.
368
-
369
- Exhibit B - "Incompatible With Secondary Licenses" Notice
370
- ---------------------------------------------------------
371
-
372
- This Source Code Form is "Incompatible With Secondary Licenses", as
373
- defined by the Mozilla Public License, v. 2.0.
File without changes