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

Sign up to get free protection for your applications and to get access to all the features.
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