wrd 0.1.41__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.
@@ -1,501 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: wrd
3
- Version: 0.1.41
4
- Summary: Dynamiczny procesor danych z automatycznym wykrywaniem bibliotek
5
- License: MIT
6
- Author: Tom Sapletta
7
- Author-email: info@softreck.dev
8
- Requires-Python: >=3.11,<4.0
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.11
12
- Classifier: Programming Language :: Python :: 3.12
13
- Classifier: Programming Language :: Python :: 3.13
14
- Requires-Dist: Pillow (>=10.0.0,<11.0.0)
15
- Requires-Dist: beautifulsoup4 (>=4.12.0,<5.0.0)
16
- Requires-Dist: fastapi (>=0.104.1,<0.105.0)
17
- Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
18
- Requires-Dist: loguru (>=0.7.2,<0.8.0)
19
- Requires-Dist: lxml (>=4.9.0,<5.0.0)
20
- Requires-Dist: pandas (>=2.0.0,<3.0.0)
21
- Requires-Dist: pydantic (>=2.5.0,<3.0.0)
22
- Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
23
- Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
24
- Requires-Dist: python-magic (>=0.4.27,<0.5.0)
25
- Requires-Dist: pytz (>=2023.3,<2024.0)
26
- Requires-Dist: requests (>=2.31.0,<3.0.0)
27
- Requires-Dist: tqdm (>=4.66.0,<5.0.0)
28
- Requires-Dist: ujson (>=5.8.0,<6.0.0)
29
- Requires-Dist: uvicorn[standard] (>=0.24.0,<0.25.0)
30
- Description-Content-Type: text/markdown
31
-
32
- # 🏜️ Dune - Inteligentny Procesor Danych
33
-
34
- **Dune** to zaawansowany system przetwarzania danych, który automatycznie mapuje zadania opisane w języku naturalnym do odpowiednich bibliotek Python, inteligentnie konfiguruje środowisko i wykonuje złożone operacje na danych.
35
-
36
- ## ✨ **Kluczowe funkcje**
37
-
38
- - 🧠 **Inteligentne mapowanie** - Automatyczne wykrywanie bibliotek na podstawie opisu zadania
39
- - 🔧 **Auto-konfiguracja** - Wykrywanie i konfiguracja zmiennych środowiskowych
40
- - 🗣️ **Język naturalny** - Opisuj zadania po polsku, Dune zrozumie
41
- - 📦 **Dynamiczne biblioteki** - Automatyczna instalacja wymaganych pakietów
42
- - 🤖 **LLM Integration** - Mistral 7B do analizy i generowania kodu
43
- - ✅ **Walidacja** - Sprawdzanie środowiska przed i po wykonaniu
44
- - 🐳 **Docker ready** - Kompletne środowisko w kontenerach
45
-
46
- ## 🚀 **Quick Start**
47
-
48
- ### **1. Pierwsza instalacja**
49
- ```bash
50
- git clone https://github.com/emllm/dune.git
51
- cd dune
52
- make quick-start
53
- ```
54
-
55
- ### **2. Interaktywne uruchomienie (zalecane)**
56
- ```bash
57
- make run
58
- ```
59
- Zostaniesz poproszony o opisanie zadania, np.:
60
- > *"Pobierz emaile z IMAP i zapisz w folderach według dat"*
61
-
62
- ### **3. Szybkie zadania**
63
- ```bash
64
- make run-quick TASK="Przeanalizuj pliki CSV i wygeneruj raport"
65
- ```
66
-
67
- ## 🧠 **Jak to działa?**
68
-
69
- ### **Krok 1: Analiza zadania**
70
- ```
71
- User: "Pobierz emaile z IMAP i zapisz według dat"
72
-
73
- Dune: 🔍 Wykryto: email processing
74
- 📚 Mapped to: imaplib, email
75
- 🔧 Potrzebne: IMAP_SERVER, IMAP_USERNAME, IMAP_PASSWORD
76
- ```
77
-
78
- ### **Krok 2: Interaktywna konfiguracja**
79
- ```
80
- 🔧 KONFIGURACJA: IMAP Email Client
81
- 📌 IMAP_SERVER (Adres serwera IMAP): imap.gmail.com
82
- 📌 IMAP_USERNAME (auto-wykryto z git): user@gmail.com
83
- 📌 IMAP_PASSWORD (Hasło IMAP): ********
84
- 💾 Zapisano parametry do .env
85
- ```
86
-
87
- ### **Krok 3: Automatyczne wykonanie**
88
- ```
89
- 📦 Instalowanie: imaplib2, email-validator
90
- 🔍 Walidacja środowiska... ✅
91
- 🤖 Generowanie kodu...
92
- 🚀 Wykonywanie zadania...
93
- ✅ Pobrano 25 emaili do 3 folderów
94
- ```
95
-
96
- ## 📚 **Obsługiwane typy zadań**
97
-
98
- | Typ zadania | Przykładowy opis | Biblioteki |
99
- |-------------|------------------|------------|
100
- | **📧 Email** | "Pobierz emaile z IMAP" | `imaplib`, `email` |
101
- | **📊 Dane** | "Przeanalizuj CSV i stwórz wykres" | `pandas`, `matplotlib` |
102
- | **🌐 Web** | "Pobierz dane z API REST" | `requests`, `beautifulsoup4` |
103
- | **🗄️ Bazy** | "Wyeksportuj tabelę do CSV" | `sqlalchemy`, `pandas` |
104
- | **🖼️ Obrazy** | "Zmień rozmiar zdjęć na 800x600" | `Pillow`, `opencv` |
105
- | **📄 Pliki** | "Połącz wszystkie Excel w jeden" | `openpyxl`, `pandas` |
106
-
107
- ## 🔧 **Tryby uruchomienia**
108
-
109
- ### **1. Interaktywny (zalecany)**
110
- ```bash
111
- make run
112
- # Prowadzi krok po kroku przez proces
113
- ```
114
-
115
- ### **2. Szybki**
116
- ```bash
117
- make run-quick TASK="Pobierz emaile z IMAP"
118
- # Automatyczna konfiguracja i wykonanie
119
- ```
120
-
121
- ### **3. Z konfiguracją YAML**
122
- ```bash
123
- make config # Wygeneruj konfigurację
124
- make run-config CONFIG=configs/task.yaml # Uruchom
125
- ```
126
-
127
- ### **4. Docker**
128
- ```bash
129
- make docker-run
130
- # Pełne środowisko z testową skrzynką IMAP
131
- ```
132
-
133
- ## 🛠️ **Dostępne polecenia**
134
-
135
- | Polecenie | Opis |
136
- |-----------|------|
137
- | `make run` | Tryb interaktywny |
138
- | `make run-quick TASK="..."` | Szybkie uruchomienie |
139
- | `make config` | Generator konfiguracji |
140
- | `make map` | Interaktywny mapper bibliotek |
141
- | `make discover` | Odkryj dostępne biblioteki |
142
- | `make validate CONFIG=...` | Walidacja konfiguracji |
143
- | `make docker-run` | Uruchomienie w Docker |
144
- | `make demo` | Demo scenariusze |
145
-
146
- ## 💡 **Przykłady zadań**
147
-
148
- ### **Email Processing**
149
- ```bash
150
- make run-quick TASK="Pobierz wszystkie emaile z IMAP localhost i zapisz w folderach według roku i miesiąca"
151
- ```
152
-
153
- ### **CSV Analysis**
154
- ```bash
155
- make run-quick TASK="Przeanalizuj wszystkie pliki CSV w folderze data, połącz je i wygeneruj raport z wykresami"
156
- ```
157
-
158
- ### **Web Scraping**
159
- ```bash
160
- make run-quick TASK="Pobierz tytuły artykułów ze strony news.ycombinator.com i zapisz do JSON"
161
- ```
162
-
163
- ### **Database Export**
164
- ```bash
165
- make run-quick TASK="Połącz się z PostgreSQL localhost i wyeksportuj tabelę users do CSV"
166
- ```
167
-
168
- ### **Image Processing**
169
- ```bash
170
- make run-quick TASK="Zmień rozmiar wszystkich zdjęć JPG w folderze photos na 800x600 pikseli"
171
- ```
172
-
173
- ## 🔍 **Inteligentne wykrywanie środowiska**
174
-
175
- Dune automatycznie wykrywa:
176
-
177
- ### **📧 Dla emaili:**
178
- - ✅ Serwery IMAP (gmail, outlook, lokalne)
179
- - ✅ Username z konfiguracji Git
180
- - ✅ Porty i SSL na podstawie serwera
181
-
182
- ### **🗄️ Dla baz danych:**
183
- - ✅ Lokalne bazy (PostgreSQL, MySQL, Redis)
184
- - ✅ Konfiguracje z docker-compose.yml
185
- - ✅ Connection stringi z .env
186
-
187
- ### **📁 Dla plików:**
188
- - ✅ Katalogi input/output w projekcie
189
- - ✅ Popularne ścieżki systemowe
190
- - ✅ Uprawnienia do zapisu
191
-
192
- ### **🔧 Dla API:**
193
- - ✅ Klucze z zmiennych środowiskowych
194
- - ✅ Endpointy z plików konfiguracyjnych
195
-
196
- ## 📄 **Format konfiguracji YAML**
197
-
198
- ```yaml
199
- apiVersion: dune.io/v1
200
- kind: TaskConfiguration
201
- metadata:
202
- name: email-processor
203
- description: "Pobieranie emaili z IMAP"
204
-
205
- task:
206
- natural_language: "Pobierz emaile z IMAP i zapisz według dat"
207
- requirements: [download_emails, organize_files]
208
-
209
- runtime:
210
- python_packages:
211
- required: [imaplib2, email-validator]
212
- environment:
213
- required: [IMAP_SERVER, IMAP_USERNAME, IMAP_PASSWORD]
214
-
215
- services:
216
- dependencies:
217
- - name: imap-server
218
- type: imap
219
- connection:
220
- host: "${IMAP_SERVER}"
221
- port: 993
222
-
223
- validation:
224
- pre_execution:
225
- - type: service_connectivity
226
- - type: environment_variables
227
- post_execution:
228
- - type: output_verification
229
- ```
230
-
231
- ## 🔧 **Architektura systemu**
232
-
233
- ```
234
- dune/
235
- ├── src/
236
- │ ├── interactive_mapper.py # Mapowanie zadań do bibliotek
237
- │ ├── smart_env_manager.py # Inteligentne zarządzanie środowiskiem
238
- │ ├── processor_engine.py # Silnik przetwarzania
239
- │ ├── llm_analyzer.py # Analizator LLM
240
- │ ├── task_validator.py # Walidator zadań
241
- │ └── config_generator.py # Generator konfiguracji
242
- ├── configs/ # Konfiguracje YAML
243
- ├── docker/ # Środowisko Docker
244
- ├── output/ # Wyniki
245
- ├── dune.py # Główny skrypt
246
- └── Makefile # Polecenia
247
- ```
248
-
249
- ## 🚀 **Demo scenariusze**
250
-
251
- ```bash
252
- # Sprawdź dostępne demo
253
- make demo
254
-
255
- # Konkretne scenariusze
256
- make demo-email # Przetwarzanie emaili
257
- make demo-csv # Analiza danych CSV
258
- make demo-web # Web scraping
259
- make demo-db # Operacje na bazie danych
260
- ```
261
-
262
- ## 🔍 **Troubleshooting**
263
-
264
- ### **Problem: Nie można połączyć z IMAP**
265
- ```bash
266
- # Sprawdź konfigurację
267
- make validate CONFIG=configs/email-task.yaml
268
-
269
- # Auto-naprawa środowiska
270
- make run --auto-configure
271
- ```
272
-
273
- ### **Problem: Brak bibliotek**
274
- ```bash
275
- # Odkryj dostępne biblioteki
276
- make discover
277
-
278
- # Auto-instalacja
279
- poetry install --extras all
280
- ```
281
-
282
- ### **Problem: Błędy walidacji**
283
- ```bash
284
- # Szczegółowe logi
285
- make run --log-level DEBUG
286
-
287
- # Status systemu
288
- make status
289
- ```
290
-
291
- ## 🌟 **Zaawansowane funkcje**
292
-
293
- ### **1. Własne mapowania bibliotek**
294
- ```python
295
- # Dodaj w interactive_mapper.py
296
- TaskMapping(
297
- task_keywords=["moje", "zadanie"],
298
- libraries=[custom_library],
299
- priority=1
300
- )
301
- ```
302
-
303
- ### **2. Niestandardowe zmienne środowiskowe**
304
- ```python
305
- # Dodaj w smart_env_manager.py
306
- "MY_VAR": EnvVariable(
307
- name="MY_VAR",
308
- description="Moja zmienna",
309
- type="str",
310
- required=True,
311
- auto_detect_methods=["custom_method"]
312
- )
313
- ```
314
-
315
- ### **3. Własne walidatory**
316
- ```python
317
- # Dodaj w task_validator.py
318
- def _validate_custom_check(self, config) -> bool:
319
- # Implementacja sprawdzenia
320
- return True
321
- ```
322
-
323
- ## 📊 **Monitoring i logi**
324
-
325
- ```bash
326
- # Logi w czasie rzeczywistym
327
- make logs
328
-
329
- # Status systemu
330
- make status
331
-
332
- # Szczegółowe informacje
333
- make info
334
- ```
335
-
336
- ## 🤝 **Współpraca z istniejącymi systemami**
337
-
338
- ### **Protokoły:**
339
- - ✅ IMAP/POP3 (poczta)
340
- - ✅ HTTP/REST (API)
341
- - ✅ SQL (bazy danych)
342
- - ✅ FTP/SFTP (pliki)
343
-
344
- ### **Formaty danych:**
345
- - ✅ CSV, Excel (tabele)
346
- - ✅ JSON, XML (struktura)
347
- - ✅ Email (EML, MSG)
348
- - ✅ Obrazy (JPEG, PNG, WEBP)
349
-
350
- ## 🔮 **Roadmap**
351
-
352
- - 🔄 **Workflow engine** - Złożone pipeline'y danych
353
- - 🌐 **Web UI** - Graficzny interfejs użytkownika
354
- - 📊 **Dashboard** - Monitoring w czasie rzeczywistym
355
- - 🔌 **Plugin system** - Rozszerzenia społeczności
356
- - ☁️ **Cloud** - Deployment na AWS/Azure/GCP
357
- - 🤖 **More AI** - GPT-4, Claude, Llama
358
-
359
- ## 📄 **Licencja**
360
-
361
- Apache License - patrz plik LICENSE
362
-
363
- ---
364
-
365
- ## 🎯 **Zaczynamy!**
366
-
367
- ```bash
368
- # Pobierz i zainstaluj
369
- git clone https://github.com/emllm/dune.git
370
- cd dune
371
- make quick-start
372
-
373
- # Uruchom pierwszy projekt
374
- make run
375
- ```
376
-
377
- **Opisz swoje zadanie po polsku, a Dune zajmie się resztą! 🏜️✨**
378
-
379
-
380
-
381
- ## 🎉 **Podsumowanie - Dune: Kompletny Inteligentny System**
382
-
383
- Stworzyłem dla Ciebie **Dune** - zaawansowany system, który stanowi ewolucję w kierunku prawdziwie inteligentnego przetwarzania danych. Oto kluczowe innowacje:
384
-
385
- ## 🧠 **Interaktywny Algorytm Mapowania**
386
-
387
- ### **1. Automatyczne wykrywanie bibliotek**
388
- ```python
389
- # System analizuje: "Pobierz emaile z IMAP"
390
- task_keywords=["email", "imap"] → libraries=[imaplib, email]
391
- ```
392
-
393
- ### **2. Inteligentne odpytywanie o parametry**
394
- ```python
395
- # Auto-wykrywa z Git, systemów, .env
396
- IMAP_USERNAME = git_config.user.email || system_user@domain
397
- IMAP_SERVER = common_providers || dns_lookup || user_input
398
- ```
399
-
400
- ### **3. CLI Analysis & Interface Discovery**
401
- ```python
402
- # Analizuje biblioteki w locie:
403
- discover_cli_interface("requests") → {"main_functions": [...], "parameters": [...]}
404
- ```
405
-
406
- ## 🔧 **Smart Environment Manager**
407
-
408
- ### **Automatyczne wykrywanie środowiska:**
409
- - ✅ **Git config** → email użytkownika
410
- - ✅ **Docker Compose** → bazy danych
411
- - ✅ **Network scanning** → dostępne serwisy
412
- - ✅ **File system** → katalogi input/output
413
- - ✅ **Keyring** → zapisane hasła
414
-
415
- ### **Inteligentna walidacja:**
416
- - ✅ **Regex patterns** dla formatów
417
- - ✅ **Network connectivity** do serwisów
418
- - ✅ **File permissions** i miejsce na dysku
419
- - ✅ **Auto-repair** błędów środowiska
420
-
421
- ## 🚀 **Przewagi nad konkurencją**
422
-
423
- | Funkcja | Airflow | Prefect | **Dune** |
424
- |---------|---------|---------|----------|
425
- | **Natural Language Input** | ❌ | ❌ | ✅ |
426
- | **Auto Library Detection** | ❌ | ❌ | ✅ |
427
- | **Interactive Configuration** | ❌ | ❌ | ✅ |
428
- | **Environment Auto-Discovery** | ❌ | ❌ | ✅ |
429
- | **CLI Interface Analysis** | ❌ | ❌ | ✅ |
430
- | **Zero-config Start** | ❌ | ⚠️ | ✅ |
431
-
432
- ## 🎯 **Kluczowe scenariusze użycia**
433
-
434
- ### **Scenario 1: Nowy użytkownik**
435
- ```bash
436
- make quick-start
437
- make run
438
- > "Pobierz emaile z mojej skrzynki Gmail"
439
- 🔍 Auto-wykryto: user@gmail.com z Git
440
- 📚 Mapped: imaplib → IMAP processing
441
- 🔧 Konfiguracja: 3 pytania
442
- ✅ Gotowe: 25 emaili w folderach
443
- ```
444
-
445
- ### **Scenario 2: Data Scientist**
446
- ```bash
447
- make run-quick TASK="Przeanalizuj sales.csv i pokaż trendy"
448
- 🔍 Wykryto: pandas, matplotlib
449
- 📁 Auto-znaleziono: ./data/sales.csv
450
- 📊 Wygenerowano: wykresy + raport
451
- ```
452
-
453
- ### **Scenario 3: DevOps**
454
- ```bash
455
- make run-quick TASK="Wyeksportuj users z PostgreSQL"
456
- 🔍 Wykryto: sqlalchemy
457
- 🗄️ Auto-połączono: localhost:5432
458
- 💾 Eksport: users.csv (1500 rekordów)
459
- ```
460
-
461
- ## 🏗️ **Architektura Innovation**
462
-
463
- ### **1. Task-to-Library Mapping Engine**
464
- - **Keyword analysis** → biblioteki
465
- - **Context awareness** → parametry
466
- - **Priority scoring** → najlepsza opcja
467
-
468
- ### **2. Smart Environment Detection**
469
- - **Multi-source discovery** (git, docker, system)
470
- - **Intelligent fallbacks** → user prompts
471
- - **Auto-validation** → immediate feedback
472
-
473
- ### **3. Interactive Configuration Flow**
474
- - **Progressive disclosure** → tylko potrzebne parametry
475
- - **Smart defaults** → z auto-detekcji
476
- - **Real-time validation** → błędy od razu
477
-
478
- ## 📈 **Ready for Production**
479
-
480
- ```bash
481
- # Development
482
- make run # Interactive mode
483
-
484
- # Testing
485
- make validate CONFIG=... # Full validation
486
-
487
- # Production
488
- make docker-run # Containerized execution
489
- ```
490
-
491
- ## 🔮 **Rozszerzalność**
492
-
493
- System został zaprojektowany jako **extensible platform**:
494
-
495
- - **Library mappings** → łatwe dodawanie nowych bibliotek
496
- - **Environment detectors** → własne metody wykrywania
497
- - **Validators** → niestandardowe sprawdzenia
498
- - **Task templates** → gotowe scenariusze
499
-
500
-
501
-
@@ -1,15 +0,0 @@
1
- dune/__init__.py,sha256=0Wqmvhtp1cnO8CyeaTaRDMY608MndUCfqhIhZe5CpeM,1023
2
- dune/__main__.py,sha256=qGIrbel8vi1Ba2Ri3KepCpGs97tnqkt3GRzxa-3OUfs,152
3
- dune/config_generator.py,sha256=hgRfdt9H3uytg3-Op0OQ_6d0CcMApXvU8pVasFxpEYQ,16608
4
- dune/genconfig.py,sha256=wtKej6cUeEMVvlq7txGpZiVxDVXyrAvh8mtOp7M43So,4669
5
- dune/interactive_dune.py,sha256=ozuJ_Io1bwm9irq8K58sAvrQBTfWU6hG4SJODKMcvqM,7828
6
- dune/interactive_mapper.py,sha256=Dduzs50wIo9MMy2uRpmFpWDV1gDZfwfX6HWspxjRKdo,22270
7
- dune/llm_analyzer.py,sha256=GSrwuieBP_1x2IVNVSaqE1gK93yqmf_l9WtbwLlyY1U,6301
8
- dune/processor_engine.py,sha256=SeZxqlXeKovQzqxW2A-AcnoWgNFxmSysXZpgL2eDWVo,3786
9
- dune/smart_env_manager.py,sha256=34ZOaXpls6TYsxYzsnzLBp_uz9eWlrSyho4At_NT4EY,20744
10
- dune/task_validator.py,sha256=XlVSS1oah716Qgqpiz3rQ2PIX4NZhqfbf0O66WtuR_8,10808
11
- wrd-0.1.41.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
12
- wrd-0.1.41.dist-info/METADATA,sha256=2sRqEov9hGkIsrz76YVoUmMnXCM8pg4guQ9YMOlMXGc,13642
13
- wrd-0.1.41.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
14
- wrd-0.1.41.dist-info/entry_points.txt,sha256=J8DfBQNELFl51fWzgWl6bczphp-Xr-Vu6u-uLHdlbSk,43
15
- wrd-0.1.41.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- dune=dune.__main__:main
3
-