JobSelect 0.11.1__tar.gz → 0.11.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 (31) hide show
  1. {jobselect-0.11.1 → jobselect-0.11.2}/JobSelect.egg-info/PKG-INFO +1 -1
  2. {jobselect-0.11.1 → jobselect-0.11.2}/JobSelect.egg-info/SOURCES.txt +0 -2
  3. {jobselect-0.11.1 → jobselect-0.11.2}/PKG-INFO +1 -1
  4. {jobselect-0.11.1 → jobselect-0.11.2}/cli/api_val.py +2 -10
  5. {jobselect-0.11.1 → jobselect-0.11.2}/cli/jobselect.py +1 -1
  6. {jobselect-0.11.1 → jobselect-0.11.2}/cli/model_select.py +3 -5
  7. {jobselect-0.11.1 → jobselect-0.11.2}/cli/test_cli.py +1 -0
  8. {jobselect-0.11.1 → jobselect-0.11.2}/pyproject.toml +1 -1
  9. jobselect-0.11.1/cli/api_logic.py +0 -7
  10. {jobselect-0.11.1 → jobselect-0.11.2}/JobSelect.egg-info/dependency_links.txt +0 -0
  11. {jobselect-0.11.1 → jobselect-0.11.2}/JobSelect.egg-info/entry_points.txt +0 -0
  12. {jobselect-0.11.1 → jobselect-0.11.2}/JobSelect.egg-info/requires.txt +0 -0
  13. {jobselect-0.11.1 → jobselect-0.11.2}/JobSelect.egg-info/top_level.txt +0 -0
  14. {jobselect-0.11.1 → jobselect-0.11.2}/LICENSE +0 -0
  15. {jobselect-0.11.1 → jobselect-0.11.2}/README.md +0 -0
  16. {jobselect-0.11.1 → jobselect-0.11.2}/cli/utils.py +0 -0
  17. {jobselect-0.11.1 → jobselect-0.11.2}/model/Model.py +0 -0
  18. {jobselect-0.11.1 → jobselect-0.11.2}/model/__init__.py +0 -0
  19. {jobselect-0.11.1 → jobselect-0.11.2}/model/eval.py +0 -0
  20. {jobselect-0.11.1 → jobselect-0.11.2}/model/pred.py +0 -0
  21. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/__init__.py +0 -0
  22. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/data_prep.py +0 -0
  23. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/label_vocab.json +0 -0
  24. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/prepared_data.npz +0 -0
  25. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/sym_map.py +0 -0
  26. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/test.py +0 -0
  27. {jobselect-0.11.1 → jobselect-0.11.2}/model/prep/vectorizer.pkl +0 -0
  28. {jobselect-0.11.1 → jobselect-0.11.2}/model_out/skill_classifier.pt +0 -0
  29. {jobselect-0.11.1 → jobselect-0.11.2}/model_out/training_history.json +0 -0
  30. {jobselect-0.11.1 → jobselect-0.11.2}/setup.cfg +0 -0
  31. {jobselect-0.11.1 → jobselect-0.11.2}/test/test_model.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: JobSelect
3
- Version: 0.11.1
3
+ Version: 0.11.2
4
4
  Summary: A CLI Based AI Skill Classifier for Job Descriptions Build by Akshay Babu
5
5
  Author-email: Akshay Babu <akshaysureshbabu100@gmail.com>
6
6
  License-Expression: MIT
@@ -1,7 +1,6 @@
1
1
  LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
- ./cli/api_logic.py
5
4
  ./cli/api_val.py
6
5
  ./cli/jobselect.py
7
6
  ./cli/model_select.py
@@ -26,7 +25,6 @@ JobSelect.egg-info/dependency_links.txt
26
25
  JobSelect.egg-info/entry_points.txt
27
26
  JobSelect.egg-info/requires.txt
28
27
  JobSelect.egg-info/top_level.txt
29
- cli/api_logic.py
30
28
  cli/api_val.py
31
29
  cli/jobselect.py
32
30
  cli/model_select.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: JobSelect
3
- Version: 0.11.1
3
+ Version: 0.11.2
4
4
  Summary: A CLI Based AI Skill Classifier for Job Descriptions Build by Akshay Babu
5
5
  Author-email: Akshay Babu <akshaysureshbabu100@gmail.com>
6
6
  License-Expression: MIT
@@ -6,19 +6,15 @@ Handles the API key prompt. Stores the user-entered key in module-level
6
6
 
7
7
  No imports from model_select or api_logic — circular import is gone.
8
8
  """
9
+
9
10
  from .utils import clear_console, API_title, query
10
11
  import os
11
12
 
12
- # Module-level state — set once by val_api(), read by model_select._resolve_key()
13
+
13
14
  key: str = ""
14
15
 
15
16
 
16
17
  def val_api() -> str:
17
- """
18
- Show the API key prompt and store the result in `key`.
19
- Returns the entered key (empty string = run locally).
20
- Called exactly ONCE by the CLI entry point before predict().
21
- """
22
18
  clear_console()
23
19
  API_title()
24
20
  query("Enter API Key (Press Enter to run locally)")
@@ -29,10 +25,6 @@ def val_api() -> str:
29
25
 
30
26
 
31
27
  def infer_mode() -> str:
32
- """
33
- Return 'API' or 'LOCAL' based on key entered or .env fallback.
34
- Call this AFTER val_api() has run.
35
- """
36
28
  if key:
37
29
  return "API"
38
30
  env_key = os.getenv("JOBSELECT_API_KEY", "").strip()
@@ -3,6 +3,7 @@ jobselect.py — CLI entry point.
3
3
  Uses relative imports so it works both as an installed pip package
4
4
  (jobselect command) and during local development (python -m cli.jobselect).
5
5
  """
6
+
6
7
  from .api_val import val_api, infer_mode
7
8
  from .utils import clear_console, title, query
8
9
  from .model_select import predict
@@ -56,5 +57,4 @@ def cli() -> None:
56
57
 
57
58
 
58
59
  if __name__ == "__main__":
59
- # Allows: python -m cli.jobselect
60
60
  cli()
@@ -2,6 +2,7 @@
2
2
  model_select.py — inference routing (API first, local fallback).
3
3
  Never prompts the user. Key is resolved lazily at predict() call time.
4
4
  """
5
+
5
6
  from pathlib import Path
6
7
  from dotenv import load_dotenv
7
8
  import os
@@ -17,7 +18,7 @@ if not _env_path.exists():
17
18
  _env_path = PROJECT_ROOT / ".env"
18
19
  load_dotenv(dotenv_path=_env_path)
19
20
 
20
- API_URL = os.getenv("JOBSELECT_API_URL", "").rstrip("/")
21
+ API_URL = 'https://job-description-analysis.onrender.com'
21
22
  _ENV_KEY = os.getenv("JOBSELECT_API_KEY", "").strip()
22
23
 
23
24
 
@@ -27,14 +28,12 @@ def _resolve_key() -> str:
27
28
  Priority: user-typed key (from api_val) > .env key.
28
29
  """
29
30
  try:
30
- # relative import — works both locally and as installed package
31
31
  from . import api_val
32
32
  if api_val.key:
33
33
  return api_val.key
34
34
  except ImportError:
35
- # fallback for edge cases (e.g. running file directly during dev)
36
35
  try:
37
- import api_val # type: ignore
36
+ import api_val
38
37
  if api_val.key:
39
38
  return api_val.key
40
39
  except ImportError:
@@ -43,7 +42,6 @@ def _resolve_key() -> str:
43
42
 
44
43
 
45
44
  def _local_predict(jd: str, role: str, job_type: str):
46
- # Lazy import keeps heavy ML deps out of the startup critical path
47
45
  from model.pred import JobAnalyze_6k as _job_analyze
48
46
  return _job_analyze(jd, role=role, job_type=job_type)
49
47
 
@@ -2,6 +2,7 @@
2
2
  test_cli.py — dev/test entry point.
3
3
  Run as: python -m cli.test_cli
4
4
  """
5
+
5
6
  from rich import print
6
7
  from rich.console import Console
7
8
  from .utils import clear_console, title, query
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "JobSelect"
3
- version = "0.11.1"
3
+ version = "0.11.2"
4
4
  dependencies = [
5
5
  "rich==15.0.0",
6
6
  "pyfiglet==1.0.4",
@@ -1,7 +0,0 @@
1
- # Avoid circular import by not importing api_val at module import time.
2
- # This module only provides a key getter used by model_select.
3
-
4
- def _key() -> str:
5
- from api_val import val_api
6
- return val_api()
7
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes