docid 0.1.4__py3-none-any.whl → 0.1.6__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.
@@ -6,7 +6,7 @@ Generuje zawsze ten sam ID dla tego samego dokumentu,
6
6
  niezależnie od formatu źródłowego (skan, PDF, KSeF XML).
7
7
 
8
8
  Przykład użycia:
9
- from exef_docid import process_document, get_document_id
9
+ from docid import process_document, get_document_id
10
10
 
11
11
  # Pełne przetwarzanie
12
12
  result = process_document("faktura.pdf")
@@ -27,7 +27,7 @@ Wymagania:
27
27
  pip install pytesseract pdf2image pillow
28
28
  """
29
29
 
30
- __version__ = "0.1.0"
30
+ __version__ = "0.1.6"
31
31
  __author__ = "Softreck"
32
32
 
33
33
  # Główne API
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docid
3
- Version: 0.1.4
3
+ Version: 0.1.6
4
4
  Summary: Deterministyczny generator identyfikatorów dokumentów z OCR
5
5
  Home-page: https://github.com/softreck/docid
6
6
  Author: Softreck
@@ -55,7 +55,7 @@ Dynamic: author
55
55
  Dynamic: home-page
56
56
  Dynamic: requires-python
57
57
 
58
- # EXEF Document ID Generator
58
+ # DOC Document ID Generator
59
59
 
60
60
  Deterministyczny generator identyfikatorów dokumentów z OCR. Generuje **zawsze ten sam ID** dla tego samego dokumentu, niezależnie od formatu źródłowego (skan, PDF, KSeF XML, obrazy).
61
61
 
@@ -71,12 +71,12 @@ Jak uzyskać **ten sam identyfikator** dla wszystkich trzech?
71
71
  ## ✨ Rozwiązanie
72
72
 
73
73
  ```python
74
- from exef_docid import get_document_id
74
+ from docid import get_document_id
75
75
 
76
76
  # Wszystkie trzy zwrócą TEN SAM ID!
77
- get_document_id("faktura_skan.jpg") # EXEF-FV-A7B3C9D2E1F04856
78
- get_document_id("faktura.pdf") # EXEF-FV-A7B3C9D2E1F04856
79
- get_document_id("faktura_ksef.xml") # EXEF-FV-A7B3C9D2E1F04856
77
+ get_document_id("faktura_skan.jpg") # DOC-FV-A7B3C9D2E1F04856
78
+ get_document_id("faktura.pdf") # DOC-FV-A7B3C9D2E1F04856
79
+ get_document_id("faktura_ksef.xml") # DOC-FV-A7B3C9D2E1F04856
80
80
  ```
81
81
 
82
82
  ## 📦 Instalacja
@@ -85,8 +85,8 @@ get_document_id("faktura_ksef.xml") # EXEF-FV-A7B3C9D2E1F04856
85
85
 
86
86
  ```bash
87
87
  # Klonuj repozytorium
88
- git clone https://github.com/softreck/exef-pl.git
89
- cd exef-pl/app/docid
88
+ git clone https://github.com/softreck/doc-pl.git
89
+ cd doc-pl/app/docid
90
90
 
91
91
  # Utwórz środowisko wirtualne
92
92
  python3 -m venv venv
@@ -124,7 +124,7 @@ pip install docid[all]
124
124
  ### Generator ID dla dokumentów biznesowych
125
125
 
126
126
  ```python
127
- from exef_docid import generate_invoice_id, generate_receipt_id, generate_contract_id
127
+ from docid import generate_invoice_id, generate_receipt_id, generate_contract_id
128
128
 
129
129
  # Faktura VAT
130
130
  invoice_id = generate_invoice_id(
@@ -133,7 +133,7 @@ invoice_id = generate_invoice_id(
133
133
  issue_date="2025-01-15",
134
134
  gross_amount=1230.50
135
135
  )
136
- print(invoice_id) # EXEF-FV-F0BE35240C77B2DB
136
+ print(invoice_id) # DOC-FV-F0BE35240C77B2DB
137
137
 
138
138
  # Paragon fiskalny
139
139
  receipt_id = generate_receipt_id(
@@ -142,7 +142,7 @@ receipt_id = generate_receipt_id(
142
142
  gross_amount=37.88,
143
143
  cash_register_number="001"
144
144
  )
145
- print(receipt_id) # EXEF-PAR-8142B3FC69D7778C
145
+ print(receipt_id) # DOC-PAR-8142B3FC69D7778C
146
146
 
147
147
  # Umowa
148
148
  contract_id = generate_contract_id(
@@ -151,13 +151,13 @@ contract_id = generate_contract_id(
151
151
  contract_date="2025-01-15",
152
152
  contract_number="001/2025"
153
153
  )
154
- print(contract_id) # EXEF-UMO-C54CB968D1342642
154
+ print(contract_id) # DOC-UMO-C54CB968D1342642
155
155
  ```
156
156
 
157
157
  ### Uniwersalny generator ID (dowolne dokumenty)
158
158
 
159
159
  ```python
160
- from exef_docid import generate_universal_document_id
160
+ from docid import generate_universal_document_id
161
161
 
162
162
  # Dowolny dokument
163
163
  doc_id = generate_universal_document_id("dokument.pdf")
@@ -175,20 +175,20 @@ print(doc_id) # UNIV-IMG-E2E2131A335F0918
175
175
  ### Pełne przetwarzanie z OCR
176
176
 
177
177
  ```python
178
- from exef_docid import process_document, get_document_id
178
+ from docid import process_document, get_document_id
179
179
 
180
180
  # Pełne przetwarzanie z ekstrakcją danych
181
181
  result = process_document("faktura.pdf")
182
- print(result.document_id) # EXEF-FV-F0BE35240C77B2DB
182
+ print(result.document_id) # DOC-FV-F0BE35240C77B2DB
183
183
  print(result.extraction.issuer_nip) # 5213017228
184
184
  print(result.extraction.invoice_number) # FV/2025/00142
185
185
 
186
186
  # Tylko wygeneruj ID
187
187
  doc_id = get_document_id("paragon.jpg")
188
- print(doc_id) # EXEF-PAR-8142B3FC69D7778C
188
+ print(doc_id) # DOC-PAR-8142B3FC69D7778C
189
189
 
190
190
  # Weryfikacja ID
191
- is_valid = verify_document_id("skan.png", "EXEF-FV-F0BE35240C77B2DB")
191
+ is_valid = verify_document_id("skan.png", "DOC-FV-F0BE35240C77B2DB")
192
192
  print(is_valid) # True/False
193
193
  ```
194
194
 
@@ -250,7 +250,7 @@ curl -X POST -F "file=@faktura.pdf" http://localhost:8000/process
250
250
 
251
251
  **2. Weryfikacja ID:**
252
252
  ```bash
253
- curl -X POST -F "file=@skan.jpg" -F "document_id=EXEF-FV-F0BE35240C77B2DB" http://localhost:8000/verify
253
+ curl -X POST -F "file=@skan.jpg" -F "document_id=DOC-FV-F0BE35240C77B2DB" http://localhost:8000/verify
254
254
  ```
255
255
 
256
256
  **3. Porównywanie plików:**
@@ -303,7 +303,7 @@ make run-web # Uruchom serwer API
303
303
  ### 1. Przetwarzanie faktur
304
304
 
305
305
  ```python
306
- from exef_docid import process_document
306
+ from docid import process_document
307
307
 
308
308
  # Przetwarzanie faktury PDF
309
309
  result = process_document("faktura.pdf")
@@ -319,7 +319,7 @@ print(f"ID: {result.document_id}")
319
319
  ### 2. Porównywanie dokumentów
320
320
 
321
321
  ```python
322
- from exef_docid import compare_universal_documents
322
+ from docid import compare_universal_documents
323
323
 
324
324
  # Porównaj dwa dokumenty
325
325
  comparison = compare_universal_documents("dokument1.pdf", "dokument2.png")
@@ -331,10 +331,10 @@ print(f"Ten sam rozmiar: {comparison['same_size']}")
331
331
  ### 3. Weryfikacja ID
332
332
 
333
333
  ```python
334
- from exef_docid import verify_document_id, verify_universal_document_id
334
+ from docid import verify_document_id, verify_universal_document_id
335
335
 
336
336
  # Weryfikacja ID dokumentu biznesowego
337
- is_valid = verify_document_id("faktura.pdf", "EXEF-FV-F0BE35240C77B2DB")
337
+ is_valid = verify_document_id("faktura.pdf", "DOC-FV-F0BE35240C77B2DB")
338
338
 
339
339
  # Weryfikacja uniwersalnego ID
340
340
  is_valid = verify_universal_document_id("dowolny_plik.jpg", "UNIV-IMG-4225A473A725978D")
@@ -344,7 +344,7 @@ is_valid = verify_universal_document_id("dowolny_plik.jpg", "UNIV-IMG-4225A473A7
344
344
 
345
345
  ```python
346
346
  from pathlib import Path
347
- from exef_docid import generate_universal_document_id
347
+ from docid import generate_universal_document_id
348
348
 
349
349
  # Przetwarzaj wszystkie pliki w folderze
350
350
  documents_dir = Path("dokumenty")
@@ -372,16 +372,16 @@ for file_path in documents_dir.glob("*"):
372
372
  **TAK!** Formaty PNG i JPG są w pełni przetwarzane przez OCR:
373
373
 
374
374
  ```python
375
- from exef_docid import process_document
375
+ from docid import process_document
376
376
 
377
377
  # Przetwarzanie skanu PNG z OCR
378
378
  result = process_document("skan_faktury.png")
379
- print(result.document_id) # EXEF-FV-F0BE35240C77B2DB
379
+ print(result.document_id) # DOC-FV-F0BE35240C77B2DB
380
380
  print(result.extraction.issuer_nip) # 5213017228
381
381
 
382
382
  # Przetwarzanie zdjęcia JPG z OCR
383
383
  result = process_document("zdjecie_paragonu.jpg")
384
- print(result.document_id) # EXEF-PAR-8142B3FC69D7778C
384
+ print(result.document_id) # DOC-PAR-8142B3FC69D7778C
385
385
  ```
386
386
 
387
387
  #### Co jest ekstrahowane z PNG/JPG:
@@ -402,13 +402,13 @@ print(result.document_id) # EXEF-PAR-8142B3FC69D7778C
402
402
 
403
403
  ```python
404
404
  # Ten sam dokument w różnych formatach - ten sam ID biznesowy
405
- generate_invoice_id(...) # -> EXEF-FV-F0BE35240C77B2DB
405
+ generate_invoice_id(...) # -> DOC-FV-F0BE35240C77B2DB
406
406
 
407
407
  # Przetwarzanie przez OCR daje ten sam wynik
408
- process_document("faktura.pdf") # -> EXEF-FV-F0BE35240C77B2DB
409
- process_document("faktura.png") # -> EXEF-FV-F0BE35240C77B2DB
410
- process_document("faktura.jpg") # -> EXEF-FV-F0BE35240C77B2DB
411
- process_document("faktura.xml") # -> EXEF-FV-F0BE35240C77B2DB
408
+ process_document("faktura.pdf") # -> DOC-FV-F0BE35240C77B2DB
409
+ process_document("faktura.png") # -> DOC-FV-F0BE35240C77B2DB
410
+ process_document("faktura.jpg") # -> DOC-FV-F0BE35240C77B2DB
411
+ process_document("faktura.xml") # -> DOC-FV-F0BE35240C77B2DB
412
412
 
413
413
  # Różne ID uniwersalne dla różnych formatów
414
414
  generate_universal_document_id("faktura.pdf") # -> UNIV-PDF-...
@@ -451,25 +451,25 @@ TEST WSZYSTKICH FORMATÓW - PDF, PNG, JPG, HTML, TXT, XML
451
451
  ================================================================================
452
452
 
453
453
  FOLDER: FAKTURY (invoices/)
454
- 📄 faktura_full.pdf (.pdf ) [ 2242B] -> EXEF-FV-F0BE35240C77B2DB
455
- 📄 faktura_full.xml (.xml ) [ 2077B] -> EXEF-FV-F0BE35240C77B2DB
456
- 📄 faktura_full.html (.html) [ 3334B] -> EXEF-FV-F0BE35240C77B2DB
457
- 📄 faktura_full.jpg (.jpg ) [ 28182B] -> EXEF-FV-F0BE35240C77B2DB
458
- 📄 faktura_full.png (.png ) [ 32325B] -> EXEF-FV-F0BE35240C77B2DB
459
- 📄 faktura_full.txt (.txt ) [ 2839B] -> EXEF-FV-F0BE35240C77B2DB
454
+ 📄 faktura_full.pdf (.pdf ) [ 2242B] -> DOC-FV-F0BE35240C77B2DB
455
+ 📄 faktura_full.xml (.xml ) [ 2077B] -> DOC-FV-F0BE35240C77B2DB
456
+ 📄 faktura_full.html (.html) [ 3334B] -> DOC-FV-F0BE35240C77B2DB
457
+ 📄 faktura_full.jpg (.jpg ) [ 28182B] -> DOC-FV-F0BE35240C77B2DB
458
+ 📄 faktura_full.png (.png ) [ 32325B] -> DOC-FV-F0BE35240C77B2DB
459
+ 📄 faktura_full.txt (.txt ) [ 2839B] -> DOC-FV-F0BE35240C77B2DB
460
460
 
461
461
  📊 Podsumowanie folderu invoices:
462
462
  Plików przetworzonych: 6
463
463
  Unikalnych ID: 1
464
464
  Wszystkie identyczne: True
465
- ✅ ID: EXEF-FV-F0BE35240C77B2DB
465
+ ✅ ID: DOC-FV-F0BE35240C77B2DB
466
466
  ```
467
467
 
468
468
  ## 📁 Struktura projektu
469
469
 
470
470
  ```
471
471
  docid/
472
- ├── exef_docid/ # Główny pakiet
472
+ ├── docid/ # Główny pakiet
473
473
  │ ├── __init__.py # Eksporty API
474
474
  │ ├── document_id.py # Generator ID biznesowy
475
475
  │ ├── document_id_universal.py # Generator ID uniwersalny
@@ -493,7 +493,7 @@ docid/
493
493
  ### Silniki OCR
494
494
 
495
495
  ```python
496
- from exef_docid import OCREngine, get_pipeline
496
+ from docid import OCREngine, get_pipeline
497
497
 
498
498
  # Użyj PaddleOCR (domyślnie)
499
499
  pipeline = get_pipeline(ocr_engine=OCREngine.PADDLE)
@@ -505,7 +505,7 @@ pipeline = get_pipeline(ocr_engine=OCREngine.TESSERACT)
505
505
  ### Custom prefix
506
506
 
507
507
  ```python
508
- from exef_docid import UniversalDocumentIDGenerator
508
+ from docid import UniversalDocumentIDGenerator
509
509
 
510
510
  generator = UniversalDocumentIDGenerator(prefix="MOJA")
511
511
  doc_id = generator.generate_universal_id("plik.pdf")
@@ -549,8 +549,8 @@ MIT License - zobacz [LICENSE](LICENSE) dla szczegółów.
549
549
  ## 🆘 Wsparcie
550
550
 
551
551
  - 📧 Email: info@softreck.dev
552
- - 🐛 Issues: [GitHub Issues](https://github.com/softreck/exef-pl/issues)
553
- - 📖 Dokumentacja: [GitHub Wiki](https://github.com/softreck/exef-pl/wiki)
552
+ - 🐛 Issues: [GitHub Issues](https://github.com/softreck/doc-pl/issues)
553
+ - 📖 Dokumentacja: [GitHub Wiki](https://github.com/softreck/doc-pl/wiki)
554
554
 
555
555
  ## 🗺️ Roadmap
556
556
 
@@ -563,4 +563,4 @@ MIT License - zobacz [LICENSE](LICENSE) dla szczegółów.
563
563
 
564
564
  ---
565
565
 
566
- **EXEF Document ID Generator** - Deterministyczne identyfikatory dla każdego dokumentu! 🚀
566
+ **DOC Document ID Generator** - Deterministyczne identyfikatory dla każdego dokumentu! 🚀
@@ -0,0 +1,14 @@
1
+ docid/__init__.py,sha256=iLoyMoYAOTLriMKQk1HuaGOLl8QL9Zpmxl9qn3uhyOs,2881
2
+ docid/cli.py,sha256=G8beRYj8ImzCvZPrHnIZkxORygCdsIE3O2_bHpJio5o,11109
3
+ docid/cli_universal.py,sha256=HlvLyYKtp3VBx0CEilSGoMDu912zUfo-1BGDzWyehJA,21649
4
+ docid/document_id.py,sha256=2sX4YTKGuazXdkNfBtj0buJMdwopcMk7UTSjr3oJOtQ,23490
5
+ docid/document_id_universal.py,sha256=M66ZjxtufVfxUQkQI4su2Ph3JGy0HEaO4U-8Osv_beQ,13873
6
+ docid/ocr_processor.py,sha256=eFD8m_LsKgUkFngGL_xAseeriBHhHj9ORVWScpxyP5A,19138
7
+ docid/pipeline.py,sha256=_UGjY9bImW__uJakUqLJztLSRPYi3IYZclR09dI3f4o,15435
8
+ docid/extractors/__init__.py,sha256=a2AS9aExd-EpOBp5eO3ZaUOmd0tP5sMSJ3QdVERrTAE,360
9
+ docid/extractors/base.py,sha256=l_8L2irgxOhm5MwM9URCA1IkKTzq0hl5pTSB8EWp_c0,17910
10
+ docid-0.1.6.dist-info/METADATA,sha256=nT5RiVqnkZFR8DVzBnZyyL1yd2UmdGiStr9DDaAXSjY,16115
11
+ docid-0.1.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
12
+ docid-0.1.6.dist-info/entry_points.txt,sha256=HCEl6elisxSa8tftr3wYg5rtBdFoIhgQISLS-AMojF8,84
13
+ docid-0.1.6.dist-info/top_level.txt,sha256=rpBskDuRYygNthewc7JvtTt4f99WiZTyqgxOiedCBx8,6
14
+ docid-0.1.6.dist-info/RECORD,,
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ docid = docid.cli:main
3
+ docid-universal = docid.cli_universal:main
@@ -0,0 +1 @@
1
+ docid
@@ -1,14 +0,0 @@
1
- exef_docid/__init__.py,sha256=CWtcc96kZjLBpVjFbg-bL2yPKsR132AgoF8SX6y5Lrk,2886
2
- exef_docid/cli.py,sha256=G8beRYj8ImzCvZPrHnIZkxORygCdsIE3O2_bHpJio5o,11109
3
- exef_docid/cli_universal.py,sha256=HlvLyYKtp3VBx0CEilSGoMDu912zUfo-1BGDzWyehJA,21649
4
- exef_docid/document_id.py,sha256=2sX4YTKGuazXdkNfBtj0buJMdwopcMk7UTSjr3oJOtQ,23490
5
- exef_docid/document_id_universal.py,sha256=M66ZjxtufVfxUQkQI4su2Ph3JGy0HEaO4U-8Osv_beQ,13873
6
- exef_docid/ocr_processor.py,sha256=eFD8m_LsKgUkFngGL_xAseeriBHhHj9ORVWScpxyP5A,19138
7
- exef_docid/pipeline.py,sha256=_UGjY9bImW__uJakUqLJztLSRPYi3IYZclR09dI3f4o,15435
8
- exef_docid/extractors/__init__.py,sha256=a2AS9aExd-EpOBp5eO3ZaUOmd0tP5sMSJ3QdVERrTAE,360
9
- exef_docid/extractors/base.py,sha256=l_8L2irgxOhm5MwM9URCA1IkKTzq0hl5pTSB8EWp_c0,17910
10
- docid-0.1.4.dist-info/METADATA,sha256=nYBvs7EC3iyhKSPPTREYAwVgn81HcnU7cSL4gbB0Gj4,16206
11
- docid-0.1.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
12
- docid-0.1.4.dist-info/entry_points.txt,sha256=P85wntY_GMh6lwhXTMsWV2QwCLCgIRe1sbIpGoDxrQE,94
13
- docid-0.1.4.dist-info/top_level.txt,sha256=wEXHg0mYQhhmZ0R3yymDasZhXfI7S0RpTxJ-hmdZ6Ww,11
14
- docid-0.1.4.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- docid = exef_docid.cli:main
3
- docid-universal = exef_docid.cli_universal:main
@@ -1 +0,0 @@
1
- exef_docid
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes