setup   A
last analyzed

Complexity

Total Complexity 0

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 0
eloc 68
dl 0
loc 82
rs 10
c 0
b 0
f 0
1
import os
2
import setuptools
3
4
about = {}
5
current_dir = os.path.abspath(os.path.dirname(__file__))
6
package_dir = 'satdigitalinvoice'
7
8
with open(os.path.join(current_dir, package_dir, "__version__.py"), "r", encoding="utf-8") as f:
9
    exec(f.read(), about)
10
11
package = about["__package__"]
12
13
packages = setuptools.find_packages(
14
    exclude=["contrib", "docs", "tests"],
15
)
16
17
version = os.environ.get('RELEASE_VERSION', about["__version__"])
18
19
setuptools.setup(
20
    name=package,  # installation
21
    version=version,
22
    author=about["__author__"],
23
    author_email=about["__author_email__"],
24
    description=about["__description__"],
25
    long_description=open('readme.rst', 'r', encoding='utf-8').read(),
26
    long_description_content_type="text/x-rst",
27
    url=about["__url__"],
28
    project_urls={
29
        "Documentation": about["__docs_url__"],
30
        "Source": about["__url__"],
31
        # "Changelog": about["__change_log_url__"],
32
    },
33
    license=about["__license__"],
34
    keywords=[
35
        'cfdi',
36
        'sat',
37
        'facturación',
38
        'comprobante',
39
        'retenciones',
40
        'nómina',
41
        'pagos',
42
        'carta porte',
43
        'contabilidad',
44
        'e-invoicing',
45
        'DIOT'
46
    ],
47
    classifiers=[
48
        "Development Status :: 5 - Production/Stable",
49
        "Intended Audience :: Developers",
50
        "License :: OSI Approved :: MIT License",
51
        "Natural Language :: Spanish",
52
        "Operating System :: OS Independent",
53
        "Programming Language :: Python :: 3.11",
54
        "Programming Language :: Python :: 3.12"
55
    ],
56
    python_requires='>=3.11',
57
    package_dir={package: package_dir},
58
    packages=packages,
59
    package_data={
60
        package: [
61
            "markdown_styles/*",
62
            "schemas/*",
63
            'images/*',
64
        ],
65
    },
66
    install_requires=[
67
        'satcfdi==4.5.2',
68
        'diskcache',
69
        'num2words',
70
        'PyYAML',
71
        'babel',
72
        'markdown2',
73
        'XlsxWriter',
74
        'jsonschema',
75
        'python-dateutil',
76
        'babel'
77
    ],
78
    extras_require={
79
        'test': [
80
            'coverage',
81
            'pytest',
82
        ]
83
    }
84
)
85