acuity-framework 2.0.0__tar.gz → 2.0.2__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.
Files changed (36) hide show
  1. {acuity_framework-2.0.0/acuity_framework.egg-info → acuity_framework-2.0.2}/PKG-INFO +1 -1
  2. {acuity_framework-2.0.0 → acuity_framework-2.0.2/acuity_framework.egg-info}/PKG-INFO +1 -1
  3. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/pyproject.toml +1 -1
  4. acuity_framework-2.0.2/setup.py +116 -0
  5. acuity_framework-2.0.0/setup.py +0 -100
  6. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/LICENSE +0 -0
  7. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/README.md +0 -0
  8. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/__init__.py +0 -0
  9. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/config.py +0 -0
  10. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/__init__.py +0 -0
  11. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/ner_crf.py +0 -0
  12. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/ner_transformer.py +0 -0
  13. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/pipeline.py +0 -0
  14. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/postprocessing.py +0 -0
  15. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/preprocessing.py +0 -0
  16. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/extraction/rules.py +0 -0
  17. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/recommendation/__init__.py +0 -0
  18. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/recommendation/engine.py +0 -0
  19. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/recommendation/proximity.py +0 -0
  20. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/recommendation/ranker.py +0 -0
  21. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/recommendation/similarity.py +0 -0
  22. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/recommendation/vectorizer.py +0 -0
  23. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/scraper/__init__.py +0 -0
  24. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/scraper/scraper.py +0 -0
  25. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/scraper/utils.py +0 -0
  26. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/utils.py +0 -0
  27. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/verification/__init__.py +0 -0
  28. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity/verification/bplo.py +0 -0
  29. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity_framework.egg-info/SOURCES.txt +0 -0
  30. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity_framework.egg-info/dependency_links.txt +0 -0
  31. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity_framework.egg-info/requires.txt +0 -0
  32. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/acuity_framework.egg-info/top_level.txt +0 -0
  33. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/setup.cfg +0 -0
  34. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/tests/test_extraction.py +0 -0
  35. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/tests/test_recommendation.py +0 -0
  36. {acuity_framework-2.0.0 → acuity_framework-2.0.2}/tests/test_verification.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acuity-framework
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: ACUITY — A machine learning framework for extracting, verifying, and recommending local micro-enterprise profiles from unstructured community posts.
5
5
  Author: ACUITY Research Team
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acuity-framework
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: ACUITY — A machine learning framework for extracting, verifying, and recommending local micro-enterprise profiles from unstructured community posts.
5
5
  Author: ACUITY Research Team
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "acuity-framework"
7
- version = "2.0.0"
7
+ version = "2.0.2"
8
8
  description = "ACUITY — A machine learning framework for extracting, verifying, and recommending local micro-enterprise profiles from unstructured community posts."
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -0,0 +1,116 @@
1
+ import os
2
+ import sys
3
+ import time
4
+ import random
5
+ import itertools
6
+ import threading
7
+ import subprocess
8
+
9
+ from setuptools import setup
10
+ from setuptools.command.build_py import build_py
11
+
12
+ # Ensure the banner/spinner emoji can be written regardless of the console
13
+ # encoding (e.g. Windows cp1252), otherwise the build crashes.
14
+ try:
15
+ sys.stdout.reconfigure(encoding="utf-8", errors="replace")
16
+ except AttributeError:
17
+ pass
18
+
19
+ # Corrected "ACUITY" banner with your team's names
20
+ BANNER = r"""
21
+ _ ___ _ _ ___ _____ _ _
22
+ /_\ / __| | | |_ _|_ _|\ \ / /
23
+ / _ \ (__| |_| || | | | \ V /
24
+ /_/ \_\___|\___/|___| |_| |_|
25
+
26
+ ==================================================
27
+ Framework Creators & Researchers:
28
+ 🌟 Artorius Gabriel A. Amen
29
+ 🌟 Jorick Christian L. Farinas
30
+ 🌟 Moises R. Fatal Jr.
31
+ 🌟 Kirt Asia S. Mag-usara
32
+ ==================================================
33
+ """
34
+
35
+ FUN_MESSAGES = [
36
+ "Brewing the finest pandesal...",
37
+ "Warming up the neurons...",
38
+ "Asking Mang Juan for directions...",
39
+ "Calibrating the Haversine compass...",
40
+ "Folding TF-IDF vectors...",
41
+ "Coaxing the CRF model awake...",
42
+ "Sweeping the sari-sari store for NLTK...",
43
+ "Whetting the cosine blades...",
44
+ "Teleporting between barangays...",
45
+ "Sharpening the fuzzy matcher...",
46
+ "Tying a knot on the registry ribbon...",
47
+ "Near done, kuya / ate...",
48
+ ]
49
+
50
+ # Global flag to control the animation thread
51
+ _is_installing = True
52
+
53
+ ANSI_RESET = "\033[0m"
54
+ ANSI_GREEN = "\033[32m"
55
+ ANSI_CYAN = "\033[36m"
56
+ ANSI_YELLOW = "\033[33m"
57
+ ANSI_BOLD = "\033[1m"
58
+
59
+
60
+ def _use_color():
61
+ return sys.stdout.isatty() and os.environ.get("NO_COLOR", "") == ""
62
+
63
+
64
+ def _color(text, code):
65
+ return f"{code}{text}{ANSI_RESET}" if _use_color() else text
66
+
67
+
68
+ def _is_fun_enabled():
69
+ return os.environ.get("ACUITY_NO_FUN", "") == ""
70
+
71
+
72
+ def _animate_spinner():
73
+ """Runs a spinning animation in the terminal while the build happens."""
74
+ spinner = itertools.cycle(['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'])
75
+ message = random.choice(FUN_MESSAGES)
76
+
77
+ while _is_installing:
78
+ sys.stdout.write(
79
+ f'\r{ANSI_CYAN}{next(spinner)} Installing ACUITY Framework... {message}\033[0m'
80
+ )
81
+ sys.stdout.flush()
82
+ time.sleep(0.1) # Sped this up slightly to make the spinner smoother
83
+
84
+ # Clear the animation line when done
85
+ sys.stdout.write('\r' + ' ' * 70 + '\r')
86
+ sys.stdout.flush()
87
+
88
+
89
+ def _static_bar():
90
+ message = random.choice(FUN_MESSAGES)
91
+ print(f" Installing ACUITY Framework... {message}")
92
+
93
+
94
+ class AcuityBuild(build_py):
95
+ def run(self):
96
+ global _is_installing
97
+ if _is_fun_enabled():
98
+ print(_color(ANSI_BOLD + BANNER, ANSI_CYAN))
99
+ print(_color(" ACUITY installer v1.0.0 — extracting local visibility...", ANSI_YELLOW))
100
+ print()
101
+ _is_installing = True
102
+ animation_thread = threading.Thread(target=_animate_spinner)
103
+ animation_thread.start()
104
+ try:
105
+ super().run()
106
+ finally:
107
+ if _is_fun_enabled():
108
+ _is_installing = False
109
+ animation_thread.join()
110
+ print()
111
+ print(_color(" " + "=" * 50, ANSI_GREEN))
112
+ print(_color(" ACUITY installed successfully! Shine that visibility!", ANSI_BOLD + ANSI_GREEN))
113
+ print(_color(" " + "=" * 50, ANSI_GREEN))
114
+
115
+
116
+ setup(cmdclass={"build_py": AcuityBuild})
@@ -1,100 +0,0 @@
1
- import os
2
- import sys
3
- import time
4
- import random
5
-
6
- from setuptools import setup
7
- from setuptools.command.build_py import build_py
8
-
9
- BANNER = r"""
10
- _ ___ ___ ___ ____ ___ _____
11
- /_\ / _ \/ __|_ |_ _/ _ \_ _|
12
- / _ \ (_) | (__ / / | || (_) || |
13
- /_/ \_\___/ \___/___| |_| \___/ |_|
14
- _ ___ _____ ___ ___ ___
15
- /_\ / __||_ _|_ _| _ \/ _ \
16
- / _ \\__ \ | | | || _/ (_) |
17
- /_/ \_\___/ |_| |___|_| \___/
18
- """
19
-
20
- FUN_MESSAGES = [
21
- "Brewing the finest pandesal...",
22
- "Warming up the neurons...",
23
- "Asking Mang Juan for directions...",
24
- "Calibrating the Haversine compass...",
25
- "Folding TF-IDF vectors...",
26
- "Coaxing the CRF model awake...",
27
- "Sweeping the sari-sari store for NLTK...",
28
- "Whetting the cosine blades...",
29
- "Teleporting between barangays...",
30
- "Sharpening the fuzzy matcher...",
31
- "Tying a knot on the registry ribbon...",
32
- "Near done, kuya / ate...",
33
- ]
34
-
35
- BAR_WIDTH = 32
36
-
37
- ANSI_RESET = "\033[0m"
38
- ANSI_GREEN = "\033[32m"
39
- ANSI_CYAN = "\033[36m"
40
- ANSI_YELLOW = "\033[33m"
41
- ANSI_BOLD = "\033[1m"
42
-
43
-
44
- def _use_color():
45
- return sys.stdout.isatty() and os.environ.get("NO_COLOR", "") == ""
46
-
47
-
48
- def _color(text, code):
49
- return f"{code}{text}{ANSI_RESET}" if _use_color() else text
50
-
51
-
52
- def _is_fun_enabled():
53
- return os.environ.get("ACUITY_NO_FUN", "") == ""
54
-
55
-
56
- def _animate(duration=1.5):
57
- if not sys.stdout.isatty():
58
- _static_bar()
59
- return
60
- deadline = time.monotonic() + duration
61
- message = random.choice(FUN_MESSAGES)
62
- ticks = 0
63
- while time.monotonic() < deadline:
64
- ticks += 1
65
- filled = (ticks % (BAR_WIDTH - 1)) + 1
66
- bar = "=" * (filled - 1) + ">" + " " * (BAR_WIDTH - filled)
67
- status = message if ticks % 4 == 0 else " "
68
- sys.stdout.write(
69
- f"\r [{bar}] {status[:34]:<34}"
70
- )
71
- sys.stdout.flush()
72
- time.sleep(0.05)
73
- sys.stdout.write("\r" + " " * (BAR_WIDTH + 44) + "\r")
74
- sys.stdout.flush()
75
-
76
-
77
- def _static_bar():
78
- message = random.choice(FUN_MESSAGES)
79
- bar = "=" * (BAR_WIDTH - 1) + ">"
80
- print(f" [{bar}] {message}")
81
-
82
-
83
- class AcuityBuild(build_py):
84
- def run(self):
85
- if _is_fun_enabled():
86
- print(_color(ANSI_BOLD + BANNER, ANSI_CYAN))
87
- print(_color(" ACUITY installer v1.0.0 — extracting local visibility...", ANSI_YELLOW))
88
- print()
89
- _animate()
90
- print(_color(" Installing ACUITY Framework...", ANSI_YELLOW))
91
- print()
92
- super().run()
93
- if _is_fun_enabled():
94
- print()
95
- print(_color(" " + "=" * 44, ANSI_GREEN))
96
- print(_color(" ACUITY installed successfully! Shine that visibility!", ANSI_BOLD + ANSI_GREEN))
97
- print(_color(" " + "=" * 44, ANSI_GREEN))
98
-
99
-
100
- setup(cmdclass={"build_py": AcuityBuild})