effectual 0.7.4__py3-none-any.whl → 0.7.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
effectual/developer.py CHANGED
@@ -1,3 +1,5 @@
1
+ import os
2
+ import signal
1
3
  import subprocess
2
4
  import time
3
5
  import zipfile
@@ -41,12 +43,20 @@ def main() -> None:
41
43
  bundle(sourceDirectory, outputFile)
42
44
  runCommand = subprocess.Popen(["uv", "run", outputFile], shell=True)
43
45
 
44
- for change in watch(sourceDirectory):
46
+ pidSet: set = set()
47
+
48
+ for change in watch(sourceDirectory, debounce=600):
49
+ print(pidSet)
45
50
  print(f"{tagColor('reloaded')} || file change detected")
46
- runCommand.kill()
47
- runCommand.wait()
51
+ for pid in pidSet.copy():
52
+ try:
53
+ os.kill(pid, signal.SIGTERM)
54
+ except OSError:
55
+ pass
56
+ pidSet.remove(pid)
48
57
  bundle(sourceDirectory, outputFile)
49
58
  runCommand = subprocess.Popen(["uv", "run", outputFile], shell=True)
59
+ pidSet.add(runCommand.pid)
50
60
 
51
61
 
52
62
  if __name__ == "__main__":
@@ -1,10 +1,11 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: effectual
3
- Version: 0.7.4
3
+ Version: 0.7.6
4
4
  Summary: A python package/script bundler
5
5
  Project-URL: Homepage, https://github.com/effectualpy/effectual
6
6
  Author-email: jake <jakewdr@proton.me>
7
- License: MIT
7
+ License-Expression: MIT
8
+ License-File: LICENSE
8
9
  Classifier: Programming Language :: Python :: 3.8
9
10
  Classifier: Programming Language :: Python :: 3.9
10
11
  Classifier: Programming Language :: Python :: 3.10
@@ -36,7 +37,11 @@ Sometimes you want a single portable python file without having to make a platfo
36
37
 
37
38
  # Setup
38
39
 
39
- If you haven't already, run:
40
+ First make sure you have [uv installed](https://docs.astral.sh/uv/getting-started/installation/#installation-methods) and updated:
41
+
42
+ uv self update
43
+
44
+ Furthermore if you haven't already created a project run:
40
45
 
41
46
  uv init
42
47
 
@@ -58,6 +63,10 @@ compressionLevel = 5
58
63
 
59
64
  Note you must have a \_\_main\_\_.py entrypoint for this to work
60
65
 
66
+ ## Template
67
+
68
+ If you want a simple minimal setup process then just use the [effectual-template](https://github.com/effectualpy/effectual-template)
69
+
61
70
  # Bundling
62
71
 
63
72
  ## Development
@@ -2,10 +2,10 @@ effectual/__init__.py,sha256=Hg_RSVgpLZvaeBUqt5uL_r5YIDsVdKPcFE2L5WJVYbM,482
2
2
  effectual/build.py,sha256=0X3sKF9irQ2uDx8XiT3QBeqNozatFGq--siF4mdQE-U,6231
3
3
  effectual/colors.py,sha256=na7SEUSXM7aHvEKeIAn5shrZJtrBYq_ZUp121GRO_PQ,1411
4
4
  effectual/config.py,sha256=Z99V7AnJpSWuo-aEz10TDj5BAaT7tboGJUjggj-HQh4,1798
5
- effectual/developer.py,sha256=ZAwNJmCYpr8N3_Siq33ny7I8LuDZcE0Eh7Y7HV94cKw,1752
5
+ effectual/developer.py,sha256=KU4Lu_-dyAlBmflso0WfdMHhC3QcilDJgal8y--ewEU,2006
6
6
  effectual/transformations.py,sha256=7GHgQWzin2J1W62yMReHXaYIChXc3f0rNJA-yY4LDEI,1313
7
- effectual-0.7.4.dist-info/METADATA,sha256=K9HVfFNIh5AF3yKGkaBvCK5Z6e_-VVNvb7GbXgYNU28,2590
8
- effectual-0.7.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
9
- effectual-0.7.4.dist-info/entry_points.txt,sha256=1W7EjlLZkw_Wz8V1SgdzzDis-CRE5IINyg74upsB0zU,40
10
- effectual-0.7.4.dist-info/licenses/LICENSE,sha256=RrVXS_K_FctToNx9BLuZm9vbcpTi3PHNzWMaz7QyVeg,1082
11
- effectual-0.7.4.dist-info/RECORD,,
7
+ effectual-0.7.6.dist-info/METADATA,sha256=kRHsKnnc_i-9wMoo8NQLhd5lDmUqJaIDmdJdQCUrpRU,2951
8
+ effectual-0.7.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
9
+ effectual-0.7.6.dist-info/entry_points.txt,sha256=1W7EjlLZkw_Wz8V1SgdzzDis-CRE5IINyg74upsB0zU,40
10
+ effectual-0.7.6.dist-info/licenses/LICENSE,sha256=RrVXS_K_FctToNx9BLuZm9vbcpTi3PHNzWMaz7QyVeg,1082
11
+ effectual-0.7.6.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.26.3
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any