pyslog 0.1.0.dev16__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.
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/PKG-INFO +5 -1
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/README.md +4 -0
- pyslog-0.1.0.dev17/pyproject.toml +55 -0
- pyslog-0.1.0.dev16/pyproject.toml → pyslog-0.1.0.dev17/pyproject.toml.orig +1 -1
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/generator.py +317 -188
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/__init__.py +10 -1
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/_xml.py +107 -26
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/__init__.py +12 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/allowance_type.py +1 -0
- pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/invoice_type_code.py +9 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/payment_means_code.py +1 -0
- pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/payment_method.py +9 -0
- pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/payment_purpose.py +337 -0
- pyslog-0.1.0.dev17/src/pyslog/eslog2/models/enums/vat_exemption_code.py +137 -0
- pyslog-0.1.0.dev17/src/pyslog/eslog2/models/invoice.py +368 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/validator.py +6 -3
- pyslog-0.1.0.dev16/src/pyslog/eslog2/models/invoice.py +0 -120
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/__init__.py +0 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/__init__.py +0 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/business_process_type.py +0 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/item_identification_scheme.py +0 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/vat_category_code.py +0 -0
- {pyslog-0.1.0.dev16 → pyslog-0.1.0.dev17}/src/pyslog/eslog2/models/enums/vat_point_date_code.py +0 -0
- {pyslog-0.1.0.dev16 → 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.
|
|
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"]
|