pyslog 0.1.0.dev15__tar.gz → 0.1.0.dev17__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 (24) hide show
  1. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/PKG-INFO +5 -1
  2. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/README.md +4 -0
  3. pyslog-0.1.0.dev17/pyproject.toml +55 -0
  4. pyslog-0.1.0.dev15/pyproject.toml → pyslog-0.1.0.dev17/pyproject.toml.orig +1 -1
  5. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/generator.py +318 -189
  6. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/__init__.py +10 -1
  7. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/_xml.py +112 -31
  8. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/__init__.py +12 -0
  9. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/allowance_type.py +1 -0
  10. pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/invoice_type_code.py +9 -0
  11. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/payment_means_code.py +1 -0
  12. pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/payment_method.py +9 -0
  13. pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/payment_purpose.py +337 -0
  14. pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/vat_exemption_code.py +137 -0
  15. pyslog-0.1.0.dev17/src/pyslog/eslog2/models/invoice.py +368 -0
  16. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/validator.py +6 -3
  17. pyslog-0.1.0.dev15/src/pyslog/eslog2/models/invoice.py +0 -120
  18. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/__init__.py +0 -0
  19. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/__init__.py +0 -0
  20. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/business_process_type.py +0 -0
  21. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/item_identification_scheme.py +0 -0
  22. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/vat_category_code.py +0 -0
  23. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/vat_point_date_code.py +0 -0
  24. {pyslog-0.1.0.dev15 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/schemas/eSLOG20_INVOIC_v200.xsd +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyslog
3
- Version: 0.1.0.dev15
3
+ Version: 0.1.0.dev17
4
4
  Summary: Python e-SLOG library. Simplifies the generation of Slovenian e-SLOG electronic documents.
5
5
  Keywords: eslog,eracun,e-racun,e-invoice
6
6
  Author: Gregor Gabrovšek
@@ -43,6 +43,10 @@ Description-Content-Type: text/markdown
43
43
 
44
44
  `pyslog` is designed to provide a clean, Pythonic interface for generating standard-compliant eSLOG 2.0 documents. By separating the complex, segment-based XML logic from simple Pydantic models, we allow developers to focus on their data rather than the intricacies of the eSLOG specification.
45
45
 
46
+ ## Monetary values and rounding
47
+
48
+ `pyslog` serializes the monetary strings supplied in `Invoice`, `Item`, and `VATBreakdown`. It does not choose a discount or rounding policy or recalculate invoice totals. Calculate amounts with `Decimal` in the calling application, use a consistent basis for line amounts and VAT, and validate the resulting XML and business rules before issuing documents. Monetary values should not pass through binary floating-point conversions.
49
+
46
50
  ## Usage
47
51
 
48
52
  ### Installation
@@ -12,6 +12,10 @@
12
12
 
13
13
  `pyslog` is designed to provide a clean, Pythonic interface for generating standard-compliant eSLOG 2.0 documents. By separating the complex, segment-based XML logic from simple Pydantic models, we allow developers to focus on their data rather than the intricacies of the eSLOG specification.
14
14
 
15
+ ## Monetary values and rounding
16
+
17
+ `pyslog` serializes the monetary strings supplied in `Invoice`, `Item`, and `VATBreakdown`. It does not choose a discount or rounding policy or recalculate invoice totals. Calculate amounts with `Decimal` in the calling application, use a consistent basis for line amounts and VAT, and validate the resulting XML and business rules before issuing documents. Monetary values should not pass through binary floating-point conversions.
18
+
15
19
  ## Usage
16
20
 
17
21
  ### Installation
@@ -0,0 +1,55 @@
1
+ [project]
2
+ name = "pyslog"
3
+ version = "0.1.0.dev17"
4
+ description = "Python e-SLOG library. Simplifies the generation of Slovenian e-SLOG electronic documents."
5
+ license = "MIT"
6
+ readme = "README.md"
7
+ requires-python = ">=3.10"
8
+ dependencies = [
9
+ "pydantic~=2.12.5",
10
+ "lxml~=6.0.2",
11
+ "pydantic-xml~=2.18.0",
12
+ ]
13
+ keywords = [
14
+ "eslog",
15
+ "eracun",
16
+ "e-racun",
17
+ "e-invoice",
18
+ ]
19
+ classifiers = [
20
+ "Development Status :: 3 - Alpha",
21
+ "Framework :: Pydantic",
22
+ "Framework :: Pydantic :: 2",
23
+ "Intended Audience :: Developers",
24
+ "License :: OSI Approved :: MIT License",
25
+ "Operating System :: OS Independent",
26
+ "Programming Language :: Python :: 3",
27
+ "Programming Language :: Python :: 3 :: Only",
28
+ "Programming Language :: Python :: 3.10",
29
+ "Programming Language :: Python :: 3.11",
30
+ "Programming Language :: Python :: 3.12",
31
+ "Programming Language :: Python :: 3.13",
32
+ "Topic :: Software Development :: Libraries :: Python Modules",
33
+ "Topic :: Office/Business",
34
+ "Topic :: Text Processing :: Markup :: XML",
35
+ "Typing :: Typed",
36
+ ]
37
+
38
+ [[project.authors]]
39
+ name = "Gregor Gabrovšek"
40
+
41
+ [[project.maintainers]]
42
+ name = "Gregor Gabrovšek"
43
+
44
+ [project.urls]
45
+ Repository = "https://github.com/gregorgabrovsek/pyslog"
46
+
47
+ [build-system]
48
+ requires = ["uv_build"]
49
+ build-backend = "uv_build"
50
+
51
+ [tool.uv.build-backend]
52
+ data = ["src/pyslog/eslog2/schemas/eSLOG20_INVOIC_v200.xsd"]
53
+
54
+ [dependency-groups]
55
+ dev = ["pytest>=9.0.2"]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyslog"
3
- version = "0.1.0.dev15"
3
+ version = "0.1.0.dev17"
4
4
  description = "Python e-SLOG library. Simplifies the generation of Slovenian e-SLOG electronic documents."
5
5
  license = "MIT"
6
6
  authors = [