lightman_ai 1.0.1__py3-none-any.whl → 1.0.2__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.
Potentially problematic release.
This version of lightman_ai might be problematic. Click here for more details.
- lightman_ai/cli.py +1 -1
- {lightman_ai-1.0.1.dist-info → lightman_ai-1.0.2.dist-info}/METADATA +47 -7
- {lightman_ai-1.0.1.dist-info → lightman_ai-1.0.2.dist-info}/RECORD +6 -6
- {lightman_ai-1.0.1.dist-info → lightman_ai-1.0.2.dist-info}/WHEEL +0 -0
- {lightman_ai-1.0.1.dist-info → lightman_ai-1.0.2.dist-info}/entry_points.txt +0 -0
- {lightman_ai-1.0.1.dist-info → lightman_ai-1.0.2.dist-info}/licenses/LICENSE +0 -0
lightman_ai/cli.py
CHANGED
|
@@ -91,7 +91,7 @@ def run(
|
|
|
91
91
|
|
|
92
92
|
Holds no logic. It loads the configuration, calls the main method and returns 0 when succesful .
|
|
93
93
|
"""
|
|
94
|
-
load_dotenv(env_file or DEFAULT_ENV_FILE)
|
|
94
|
+
load_dotenv(env_file or DEFAULT_ENV_FILE)
|
|
95
95
|
configure_sentry()
|
|
96
96
|
|
|
97
97
|
settings = Settings.try_load_from_file(env_file)
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lightman_ai
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: LLM-powered cybersecurity news aggregator.
|
|
5
|
-
Author-email: sdn4z <imsdn4z@gmail.com>
|
|
5
|
+
Author-email: sdn4z <imsdn4z@gmail.com>, scastlara <s.cast.lara@gmail.com>
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: <4,>=3.13
|
|
8
8
|
Requires-Dist: click<9.0.0,>=8.1.7
|
|
9
9
|
Requires-Dist: httpx<1.0.0,>=0.28.0
|
|
10
|
-
Requires-Dist: pydantic-ai-slim[google,openai]
|
|
10
|
+
Requires-Dist: pydantic-ai-slim[google,openai]<2.0.0,>=1.0.0
|
|
11
11
|
Requires-Dist: pydantic-settings<3.0.0,>=2.9.1
|
|
12
12
|
Requires-Dist: python-dotenv<2.0.0,>=1.1.1
|
|
13
13
|
Requires-Dist: stamina<26.0.0,>=25.1.0
|
|
@@ -17,6 +17,13 @@ Requires-Dist: sentry-sdk<3.0.0,>=2.21.0; extra == 'sentry'
|
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
|
|
19
19
|
# 🔍 Lightman AI
|
|
20
|
+

|
|
21
|
+
[](https://pypi.org/project/lightman-ai/)
|
|
22
|
+
[](https://hub.docker.com/r/elementsinteractive/lightman-ai)
|
|
23
|
+
[](https://pypi.org/project/lightman-ai/)
|
|
24
|
+
[](https://github.com/astral-sh/ruff)
|
|
25
|
+
[](LICENSE)
|
|
26
|
+
|
|
20
27
|
|
|
21
28
|
> LLM-Powered Cybersecurity News Intelligence Platform
|
|
22
29
|
|
|
@@ -98,13 +105,30 @@ Lightman AI is an intelligent cybersecurity news aggregation and risk assessment
|
|
|
98
105
|
```
|
|
99
106
|
|
|
100
107
|
3. **Run with Docker**:
|
|
108
|
+
|
|
101
109
|
```bash
|
|
102
110
|
docker run --rm \
|
|
103
111
|
-v $(pwd)/lightman.toml:/app/lightman.toml \
|
|
104
112
|
-e OPENAI_API_KEY="your-api-key" \
|
|
105
113
|
elementsinteractive/lightman-ai:latest \
|
|
106
|
-
|
|
114
|
+
run --config-file /app/lightman.toml --score 8 --agent openai
|
|
107
115
|
```
|
|
116
|
+
|
|
117
|
+
You use a .env file instead of setting the environment variables through the cli
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
cp .env.example .env
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Fill it with your values and run:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
docker run --rm \
|
|
127
|
+
-v $(pwd)/lightman.toml:/app/lightman.toml \
|
|
128
|
+
--env-file .env \
|
|
129
|
+
elementsinteractive/lightman-ai:latest \
|
|
130
|
+
run --config-file /app/lightman.toml --score 8 --agent openai
|
|
131
|
+
```
|
|
108
132
|
|
|
109
133
|
## 🔧 Usage
|
|
110
134
|
|
|
@@ -151,17 +175,33 @@ prompt = 'development' # Prompt template to use
|
|
|
151
175
|
service_desk_project_key = "SEC"
|
|
152
176
|
service_desk_request_id_type = "incident"
|
|
153
177
|
|
|
178
|
+
# alternative configuration
|
|
179
|
+
[malware]
|
|
180
|
+
agent = 'openai' # AI agent to use (openai, gemini)
|
|
181
|
+
score_threshold = 8 # Minimum relevance score (1-10)
|
|
182
|
+
prompt = 'malware' # Prompt template to use
|
|
183
|
+
|
|
184
|
+
# Optional: Service desk integration
|
|
185
|
+
service_desk_project_key = "SEC"
|
|
186
|
+
service_desk_request_id_type = "incident"
|
|
187
|
+
|
|
154
188
|
[prompts]
|
|
155
189
|
development = """
|
|
156
190
|
Analyze the following cybersecurity news articles and determine their relevance to our organization.
|
|
157
191
|
Rate each article from 1-10 based on potential impact and urgency.
|
|
158
|
-
Focus on
|
|
159
|
-
|
|
192
|
+
Focus on vulnerabilities."""
|
|
193
|
+
|
|
194
|
+
malware = """
|
|
195
|
+
Analyze the following cybersecurity news articles and determine their relevance to our organization.
|
|
196
|
+
Rate each article from 1-10 based on potential impact and urgency.
|
|
197
|
+
Focus on malware."""
|
|
160
198
|
|
|
161
199
|
custom_prompt = """
|
|
162
200
|
Your custom analysis prompt here...
|
|
163
201
|
"""
|
|
164
202
|
```
|
|
203
|
+
Note how it supports different configurations and prompts.
|
|
204
|
+
|
|
165
205
|
|
|
166
206
|
It also supports having separate files for your prompts and your configuration settings. Specify the path with `--prompt`.
|
|
167
207
|
|
|
@@ -218,7 +258,7 @@ lightman run --agent openai --score 8 --prompt security_critical --yesterday
|
|
|
218
258
|
|
|
219
259
|
### Development Installation
|
|
220
260
|
In order to fully use the provided setup for local development and testing, this project requires the following dependencies:
|
|
221
|
-
- Python 3.13
|
|
261
|
+
- [Python 3.13](https://www.python.org/downloads/release/python-3130/)
|
|
222
262
|
- [just](https://github.com/casey/just)
|
|
223
263
|
- [uv](https://docs.astral.sh/uv/getting-started/installation/)
|
|
224
264
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
lightman_ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
lightman_ai/cli.py,sha256=
|
|
2
|
+
lightman_ai/cli.py,sha256=J4YiKMkbWIS6wh3GOQ4a67lOc-7t-4oR70EAFzpp7vk,4666
|
|
3
3
|
lightman_ai/constants.py,sha256=qfZgcTLK51l--JDhns-uRANjccFEPN6iTFsJKn8T4vs,101
|
|
4
4
|
lightman_ai/exceptions.py,sha256=bEnVe7kW-x3FR70wrx7H4RCoZBGe9o5o6gDwuYv6oio,179
|
|
5
5
|
lightman_ai/main.py,sha256=ZA8XJfbmBaEu8-7sz02_xzb3Do_J_KaP0Tr-1Ve8SWU,3683
|
|
@@ -31,8 +31,8 @@ lightman_ai/integrations/service_desk/integration.py,sha256=5r3bipao_apaDWLRiH4o
|
|
|
31
31
|
lightman_ai/sources/base.py,sha256=M_n9H9GdcX2tbBcYkiakDxHCnuwP9fV4BQhNAadBubQ,242
|
|
32
32
|
lightman_ai/sources/exceptions.py,sha256=X43BZ6hx-lZAEyM2q5PQXBw3vKPDx5nmY_uRiuITK9s,379
|
|
33
33
|
lightman_ai/sources/the_hacker_news.py,sha256=JTqbAJ1Pf8QKxvwFg6vWmymgj8LtUpIV6hD0KMOwMG8,3034
|
|
34
|
-
lightman_ai-1.0.
|
|
35
|
-
lightman_ai-1.0.
|
|
36
|
-
lightman_ai-1.0.
|
|
37
|
-
lightman_ai-1.0.
|
|
38
|
-
lightman_ai-1.0.
|
|
34
|
+
lightman_ai-1.0.2.dist-info/METADATA,sha256=cM2qBrnuAo6_G3uRZRIS71IryZgaj8bUqD0SnjYw7Lc,12696
|
|
35
|
+
lightman_ai-1.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
36
|
+
lightman_ai-1.0.2.dist-info/entry_points.txt,sha256=9H7Ji-zxbCWAaVL5Yg4fG5va0H_5Tr2kMGGMsghaAas,60
|
|
37
|
+
lightman_ai-1.0.2.dist-info/licenses/LICENSE,sha256=NhxDmY3AGgeEsYHIfDGLNkzBVX94pARRDS8H46JZ1zQ,1076
|
|
38
|
+
lightman_ai-1.0.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|