michael-agent 1.0.0__tar.gz → 1.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 (38) hide show
  1. {michael_agent-1.0.0 → michael_agent-1.0.2}/PKG-INFO +2 -2
  2. michael_agent-1.0.2/michael_agent/config/__init__.py +0 -0
  3. michael_agent-1.0.2/michael_agent/config/settings.py +66 -0
  4. michael_agent-1.0.2/michael_agent/dashboard/__init__.py +0 -0
  5. michael_agent-1.0.2/michael_agent/dashboard/app.py +1450 -0
  6. michael_agent-1.0.2/michael_agent/dashboard/static/__init__.py +0 -0
  7. michael_agent-1.0.2/michael_agent/dashboard/templates/__init__.py +0 -0
  8. michael_agent-1.0.2/michael_agent/langgraph_workflow/__init__.py +0 -0
  9. michael_agent-1.0.2/michael_agent/langgraph_workflow/graph_builder.py +358 -0
  10. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/__init__.py +0 -0
  11. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/assessment_handler.py +177 -0
  12. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/jd_generator.py +139 -0
  13. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/jd_poster.py +156 -0
  14. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/question_generator.py +295 -0
  15. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/recruiter_notifier.py +224 -0
  16. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/resume_analyzer.py +631 -0
  17. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/resume_ingestor.py +225 -0
  18. michael_agent-1.0.2/michael_agent/langgraph_workflow/nodes/sentiment_analysis.py +309 -0
  19. michael_agent-1.0.2/michael_agent/utils/__init__.py +0 -0
  20. michael_agent-1.0.2/michael_agent/utils/email_utils.py +140 -0
  21. michael_agent-1.0.2/michael_agent/utils/id_mapper.py +14 -0
  22. michael_agent-1.0.2/michael_agent/utils/jd_utils.py +34 -0
  23. michael_agent-1.0.2/michael_agent/utils/lms_api.py +226 -0
  24. michael_agent-1.0.2/michael_agent/utils/logging_utils.py +192 -0
  25. michael_agent-1.0.2/michael_agent/utils/monitor_utils.py +289 -0
  26. michael_agent-1.0.2/michael_agent/utils/node_tracer.py +88 -0
  27. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent.egg-info/PKG-INFO +2 -2
  28. michael_agent-1.0.2/michael_agent.egg-info/SOURCES.txt +35 -0
  29. {michael_agent-1.0.0 → michael_agent-1.0.2}/setup.py +6 -5
  30. michael_agent-1.0.0/michael_agent.egg-info/SOURCES.txt +0 -10
  31. {michael_agent-1.0.0 → michael_agent-1.0.2}/README.md +0 -0
  32. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent/__init__.py +0 -0
  33. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent/main.py +0 -0
  34. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent/monitor.py +0 -0
  35. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent.egg-info/dependency_links.txt +0 -0
  36. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent.egg-info/requires.txt +0 -0
  37. {michael_agent-1.0.0 → michael_agent-1.0.2}/michael_agent.egg-info/top_level.txt +0 -0
  38. {michael_agent-1.0.0 → michael_agent-1.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: michael_agent
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: SmartRecruitAgent - A recruitment automation library
5
5
  Home-page: https://github.com/yourusername/agent
6
6
  Author: Michael Jone
@@ -8,7 +8,7 @@ Author-email: your_email@example.com
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.7
11
+ Requires-Python: >=3.10
12
12
  Description-Content-Type: text/markdown
13
13
  Requires-Dist: python-dotenv
14
14
  Requires-Dist: langchain
File without changes
@@ -0,0 +1,66 @@
1
+ """
2
+ SmartRecruitAgent Configuration Settings
3
+ Centralizes all configuration parameters and Azure service configurations
4
+ """
5
+
6
+ import os
7
+ from dotenv import load_dotenv
8
+
9
+ # Load environment variables from .env file
10
+ load_dotenv()
11
+
12
+ # Azure OpenAI Configuration
13
+ AZURE_OPENAI_KEY = os.getenv("AZURE_OPENAI_API_KEY") or os.getenv("OPENAI_API_KEY")
14
+ AZURE_OPENAI_ENDPOINT = os.getenv("AZURE_OPENAI_ENDPOINT") or os.getenv("OPENAI_API_BASE")
15
+ AZURE_OPENAI_API_VERSION = os.getenv("AZURE_OPENAI_API_VERSION") or os.getenv("OPENAI_API_VERSION", "2023-05-15")
16
+ AZURE_OPENAI_DEPLOYMENT = os.getenv("AZURE_OPENAI_DEPLOYMENT", "ES-LMS") # Default to ES-LMS
17
+
18
+ # Azure OpenAI Embedding Configuration
19
+ AZURE_EMBEDDING_MODEL = os.getenv("AZURE_EMBEDDING_MODEL", "text-embedding-ada-002")
20
+ AZURE_EMBEDDING_API_KEY = os.getenv("AZURE_EMBEDDING_API_KEY") or AZURE_OPENAI_KEY
21
+ AZURE_EMBEDDING_ENDPOINT = os.getenv("AZURE_EMBEDDING_ENDPOINT") or AZURE_OPENAI_ENDPOINT
22
+ AZURE_EMBEDDING_API_VERSION = os.getenv("AZURE_EMBEDDING_API_VERSION", "2023-05-15")
23
+ AZURE_OPENAI_EMBEDDING_DEPLOYMENT = os.getenv("AZURE_OPENAI_EMBEDDING_DEPLOYMENT", "text-embedding-ada-002")
24
+ AZURE_OPENAI_API_KEY = AZURE_OPENAI_KEY
25
+
26
+ # Azure Form Recognizer Configuration
27
+ AZURE_FORM_RECOGNIZER_KEY = os.getenv("AZURE_FORM_RECOGNIZER_KEY")
28
+ AZURE_FORM_RECOGNIZER_ENDPOINT = os.getenv("AZURE_FORM_RECOGNIZER_ENDPOINT")
29
+
30
+ # Azure Communication Services Configuration
31
+ AZURE_COMMUNICATION_CONNECTION_STRING = os.getenv("AZURE_COMMUNICATION_CONNECTION_STRING")
32
+ AZURE_COMMUNICATION_SENDER_EMAIL = os.getenv("AZURE_COMMUNICATION_SENDER_EMAIL", "recruitment@example.com")
33
+
34
+ # Email SMTP Configuration (Alternative to Azure Communication Services)
35
+ SMTP_SERVER = os.getenv("SMTP_SERVER", "smtp.gmail.com")
36
+ SMTP_PORT = int(os.getenv("SMTP_PORT", 587))
37
+ SMTP_USERNAME = os.getenv("SMTP_USERNAME")
38
+ SMTP_PASSWORD = os.getenv("SMTP_PASSWORD")
39
+ EMAIL_SENDER = os.getenv("EMAIL_SENDER", "recruitment@example.com")
40
+
41
+ # LangGraph Configuration
42
+ LANGGRAPH_CHECKPOINT_DIR = os.getenv("LANGGRAPH_CHECKPOINT_DIR", "./checkpoints")
43
+
44
+ # Learning Management System API Configuration
45
+ LMS_API_URL = os.getenv("LMS_API_URL")
46
+ LMS_API_KEY = os.getenv("LMS_API_KEY")
47
+ LMS_TYPE = os.getenv("LMS_TYPE", "hackerrank") # Options: hackerrank, testgorilla, custom
48
+
49
+ # File System Configuration - ensure these are properly set
50
+ RESUME_WATCH_DIR = os.getenv("RESUME_WATCH_DIR", "./incoming_resumes")
51
+ OUTPUT_DIR = os.getenv("OUTPUT_DIR", "./processed_resumes")
52
+ LOG_DIR = os.getenv("LOG_DIR", "./logs")
53
+ JOB_DESCRIPTIONS_DIR = os.getenv("JOB_DESCRIPTIONS_DIR", "./job_descriptions")
54
+
55
+ # Dashboard Configuration
56
+ DASHBOARD_UPDATE_INTERVAL = int(os.getenv("DASHBOARD_UPDATE_INTERVAL", 5)) # seconds
57
+
58
+ # Workflow Configuration
59
+ MINIMAL_SCORE_THRESHOLD = float(os.getenv("MINIMAL_SCORE_THRESHOLD", 0.6)) # 0.0 to 1.0
60
+ AUTOMATIC_TEST_SENDING = os.getenv("AUTOMATIC_TEST_SENDING", "false").lower() == "true"
61
+ AUTOMATIC_RECRUITER_NOTIFICATION = os.getenv("AUTOMATIC_RECRUITER_NOTIFICATION", "false").lower() == "true"
62
+ DEFAULT_RECRUITER_EMAIL = os.getenv("DEFAULT_RECRUITER_EMAIL", "recruiter@example.com")
63
+
64
+ # Job Descriptions Directory
65
+
66
+ # Note: Directory creation moved to main.py to avoid duplicate creation