nia-etl-utils 0.1.0__tar.gz → 0.2.0__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.
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/PKG-INFO +22 -1
- nia_etl_utils-0.2.0/pyproject.toml +122 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/__init__.py +236 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/config.py +391 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/database.py +342 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/email_smtp.py +260 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/env_config.py +165 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/exceptions.py +327 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/limpeza_pastas.py +270 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/logger_config.py +204 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/processa_csv.py +352 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/processa_csv_paralelo.py +264 -0
- nia_etl_utils-0.2.0/src/nia_etl_utils/results.py +304 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/src/nia_etl_utils.egg-info/PKG-INFO +22 -1
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/src/nia_etl_utils.egg-info/SOURCES.txt +3 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/src/nia_etl_utils.egg-info/requires.txt +7 -0
- nia_etl_utils-0.2.0/tests/test_database.py +422 -0
- nia_etl_utils-0.2.0/tests/test_email_smtp.py +273 -0
- nia_etl_utils-0.2.0/tests/test_env_config.py +171 -0
- nia_etl_utils-0.2.0/tests/test_limpeza_pastas.py +234 -0
- nia_etl_utils-0.2.0/tests/test_logger_config.py +222 -0
- nia_etl_utils-0.2.0/tests/test_processa_csv.py +362 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/tests/test_processa_csv_paralelo.py +58 -13
- nia_etl_utils-0.1.0/pyproject.toml +0 -49
- nia_etl_utils-0.1.0/src/nia_etl_utils/__init__.py +0 -126
- nia_etl_utils-0.1.0/src/nia_etl_utils/database.py +0 -246
- nia_etl_utils-0.1.0/src/nia_etl_utils/email_smtp.py +0 -126
- nia_etl_utils-0.1.0/src/nia_etl_utils/env_config.py +0 -43
- nia_etl_utils-0.1.0/src/nia_etl_utils/limpeza_pastas.py +0 -137
- nia_etl_utils-0.1.0/src/nia_etl_utils/logger_config.py +0 -146
- nia_etl_utils-0.1.0/src/nia_etl_utils/processa_csv.py +0 -209
- nia_etl_utils-0.1.0/src/nia_etl_utils/processa_csv_paralelo.py +0 -151
- nia_etl_utils-0.1.0/tests/test_database.py +0 -276
- nia_etl_utils-0.1.0/tests/test_email_smtp.py +0 -197
- nia_etl_utils-0.1.0/tests/test_env_config.py +0 -68
- nia_etl_utils-0.1.0/tests/test_limpeza_pastas.py +0 -133
- nia_etl_utils-0.1.0/tests/test_logger_config.py +0 -133
- nia_etl_utils-0.1.0/tests/test_processa_csv.py +0 -214
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/README.md +0 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/setup.cfg +0 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/setup.py +0 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/src/nia_etl_utils.egg-info/dependency_links.txt +0 -0
- {nia_etl_utils-0.1.0 → nia_etl_utils-0.2.0}/src/nia_etl_utils.egg-info/top_level.txt +0 -0
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nia-etl-utils
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Utilitários compartilhados para pipelines ETL do NIA/MPRJ
|
|
5
5
|
Author-email: Nícolas Esmael <nicolas.esmael@mprj.mp.br>
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Repository, https://gitlab-dti.mprj.mp.br/nia/etl-nia/nia-etl-utils
|
|
8
|
+
Project-URL: Documentation, https://gitlab-dti.mprj.mp.br/nia/etl-nia/nia-etl-utils/-/blob/main/README.md
|
|
9
|
+
Project-URL: Changelog, https://gitlab-dti.mprj.mp.br/nia/etl-nia/nia-etl-utils/-/blob/main/CHANGELOG.md
|
|
10
|
+
Keywords: etl,data-engineering,pipeline,mprj,nia
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Database
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Typing :: Typed
|
|
8
23
|
Requires-Python: >=3.10
|
|
9
24
|
Description-Content-Type: text/markdown
|
|
10
25
|
Requires-Dist: loguru>=0.7.0
|
|
@@ -17,6 +32,12 @@ Provides-Extra: dev
|
|
|
17
32
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
18
33
|
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
19
34
|
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
35
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: pandas-stubs>=2.0.0; extra == "dev"
|
|
37
|
+
Provides-Extra: docs
|
|
38
|
+
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
|
|
39
|
+
Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
|
|
40
|
+
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "docs"
|
|
20
41
|
|
|
21
42
|
# nia-etl-utils
|
|
22
43
|
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "nia-etl-utils"
|
|
7
|
+
version = "0.2.0"
|
|
8
|
+
description = "Utilitários compartilhados para pipelines ETL do NIA/MPRJ"
|
|
9
|
+
authors = [
|
|
10
|
+
{name = "Nícolas Esmael", email = "nicolas.esmael@mprj.mp.br"}
|
|
11
|
+
]
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.10"
|
|
14
|
+
license = {text = "MIT"}
|
|
15
|
+
keywords = ["etl", "data-engineering", "pipeline", "mprj", "nia"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 4 - Beta",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Operating System :: OS Independent",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: Python :: 3.10",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
"Programming Language :: Python :: 3.13",
|
|
26
|
+
"Topic :: Database",
|
|
27
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
28
|
+
"Typing :: Typed",
|
|
29
|
+
]
|
|
30
|
+
dependencies = [
|
|
31
|
+
"loguru>=0.7.0",
|
|
32
|
+
"python-dotenv>=1.0.0",
|
|
33
|
+
"cx-Oracle>=8.3.0",
|
|
34
|
+
"psycopg2-binary>=2.9.0",
|
|
35
|
+
"sqlalchemy>=2.0.0",
|
|
36
|
+
"pandas>=2.0.0",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
[project.optional-dependencies]
|
|
40
|
+
dev = [
|
|
41
|
+
"pytest>=7.0.0",
|
|
42
|
+
"pytest-cov>=4.0.0",
|
|
43
|
+
"ruff>=0.1.0",
|
|
44
|
+
"mypy>=1.0.0",
|
|
45
|
+
"pandas-stubs>=2.0.0",
|
|
46
|
+
]
|
|
47
|
+
docs = [
|
|
48
|
+
"mkdocs>=1.5.0",
|
|
49
|
+
"mkdocs-material>=9.0.0",
|
|
50
|
+
"mkdocstrings[python]>=0.24.0",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
[project.urls]
|
|
54
|
+
Repository = "https://gitlab-dti.mprj.mp.br/nia/etl-nia/nia-etl-utils"
|
|
55
|
+
Documentation = "https://gitlab-dti.mprj.mp.br/nia/etl-nia/nia-etl-utils/-/blob/main/README.md"
|
|
56
|
+
Changelog = "https://gitlab-dti.mprj.mp.br/nia/etl-nia/nia-etl-utils/-/blob/main/CHANGELOG.md"
|
|
57
|
+
|
|
58
|
+
[tool.setuptools]
|
|
59
|
+
package-dir = {"" = "src"}
|
|
60
|
+
|
|
61
|
+
[tool.setuptools.packages.find]
|
|
62
|
+
where = ["src"]
|
|
63
|
+
|
|
64
|
+
[tool.ruff]
|
|
65
|
+
line-length = 120
|
|
66
|
+
target-version = "py310"
|
|
67
|
+
|
|
68
|
+
[tool.ruff.lint]
|
|
69
|
+
select = [
|
|
70
|
+
"E", # pycodestyle errors
|
|
71
|
+
"W", # pycodestyle warnings
|
|
72
|
+
"F", # Pyflakes
|
|
73
|
+
"I", # isort
|
|
74
|
+
"B", # flake8-bugbear
|
|
75
|
+
"C4", # flake8-comprehensions
|
|
76
|
+
"UP", # pyupgrade
|
|
77
|
+
"ARG", # flake8-unused-arguments
|
|
78
|
+
"SIM", # flake8-simplify
|
|
79
|
+
]
|
|
80
|
+
ignore = [
|
|
81
|
+
"E501", # line too long (handled by formatter)
|
|
82
|
+
"B008", # do not perform function calls in argument defaults
|
|
83
|
+
"C901", # too complex
|
|
84
|
+
"ARG001", # unused function argument
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
[tool.ruff.lint.isort]
|
|
88
|
+
known-first-party = ["nia_etl_utils"]
|
|
89
|
+
|
|
90
|
+
[tool.mypy]
|
|
91
|
+
python_version = "3.10"
|
|
92
|
+
warn_return_any = true
|
|
93
|
+
warn_unused_configs = true
|
|
94
|
+
disallow_untyped_defs = true
|
|
95
|
+
disallow_incomplete_defs = true
|
|
96
|
+
check_untyped_defs = true
|
|
97
|
+
ignore_missing_imports = true
|
|
98
|
+
|
|
99
|
+
[tool.pytest.ini_options]
|
|
100
|
+
testpaths = ["tests"]
|
|
101
|
+
python_files = ["test_*.py"]
|
|
102
|
+
python_classes = ["Test*"]
|
|
103
|
+
python_functions = ["test_*"]
|
|
104
|
+
addopts = "--verbose --cov=src/nia_etl_utils --cov-report=term-missing"
|
|
105
|
+
markers = [
|
|
106
|
+
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
107
|
+
"integration: marks tests as integration tests",
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
[tool.coverage.run]
|
|
111
|
+
source = ["src/nia_etl_utils"]
|
|
112
|
+
branch = true
|
|
113
|
+
omit = ["*/tests/*", "*/__init__.py"]
|
|
114
|
+
|
|
115
|
+
[tool.coverage.report]
|
|
116
|
+
exclude_lines = [
|
|
117
|
+
"pragma: no cover",
|
|
118
|
+
"def __repr__",
|
|
119
|
+
"raise NotImplementedError",
|
|
120
|
+
"if TYPE_CHECKING:",
|
|
121
|
+
"if __name__ == .__main__.:",
|
|
122
|
+
]
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"""Utilitários compartilhados para pipelines ETL do NIA/MPRJ.
|
|
2
|
+
|
|
3
|
+
Este pacote fornece funções reutilizáveis para:
|
|
4
|
+
- Configuração de ambiente (env_config)
|
|
5
|
+
- Configurações de conexão e email (config)
|
|
6
|
+
- Exceções customizadas (exceptions)
|
|
7
|
+
- Resultados estruturados (results)
|
|
8
|
+
- Envio de emails via SMTP (email_smtp)
|
|
9
|
+
- Conexões com bancos de dados Oracle e PostgreSQL (database)
|
|
10
|
+
- Configuração de logging padronizado (logger_config)
|
|
11
|
+
- Processamento e exportação de CSV (processa_csv)
|
|
12
|
+
- Processamento paralelo de CSV grandes (processa_csv_paralelo)
|
|
13
|
+
- Manipulação de arquivos e diretórios (limpeza_pastas)
|
|
14
|
+
|
|
15
|
+
Exemplo de uso:
|
|
16
|
+
|
|
17
|
+
from nia_etl_utils import (
|
|
18
|
+
configurar_logger_padrao_nia,
|
|
19
|
+
conectar_postgresql_nia,
|
|
20
|
+
exportar_para_csv,
|
|
21
|
+
PostgresConfig,
|
|
22
|
+
)
|
|
23
|
+
from nia_etl_utils.exceptions import ConexaoError, ExtracaoVaziaError
|
|
24
|
+
|
|
25
|
+
# Configuração
|
|
26
|
+
configurar_logger_padrao_nia("meu_pipeline")
|
|
27
|
+
|
|
28
|
+
# Conexão com context manager
|
|
29
|
+
try:
|
|
30
|
+
with conectar_postgresql_nia() as conn:
|
|
31
|
+
conn.cursor.execute("SELECT * FROM tabela")
|
|
32
|
+
dados = conn.cursor.fetchall()
|
|
33
|
+
except ConexaoError as e:
|
|
34
|
+
logger.error(f"Falha na conexão: {e}")
|
|
35
|
+
sys.exit(1) # decisão do CHAMADOR
|
|
36
|
+
|
|
37
|
+
# Ou com configuração explícita (para testes)
|
|
38
|
+
config = PostgresConfig(
|
|
39
|
+
host="localhost",
|
|
40
|
+
port="5432",
|
|
41
|
+
database="teste",
|
|
42
|
+
user="user",
|
|
43
|
+
password="pass"
|
|
44
|
+
)
|
|
45
|
+
with conectar_postgresql(config) as conn:
|
|
46
|
+
# ...
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
__version__ = "0.2.0"
|
|
50
|
+
__author__ = "Nícolas Galdino Esmael"
|
|
51
|
+
|
|
52
|
+
# =============================================================================
|
|
53
|
+
# EXCEÇÕES - Importar primeiro para uso em type hints
|
|
54
|
+
# =============================================================================
|
|
55
|
+
|
|
56
|
+
# =============================================================================
|
|
57
|
+
# CONFIGURAÇÕES (Dataclasses)
|
|
58
|
+
# =============================================================================
|
|
59
|
+
from .config import (
|
|
60
|
+
LogConfig,
|
|
61
|
+
OracleConfig,
|
|
62
|
+
PostgresConfig,
|
|
63
|
+
SmtpConfig,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
# Database - Funções core
|
|
67
|
+
# Database - Wrappers de conveniência
|
|
68
|
+
from .database import (
|
|
69
|
+
conectar_oracle,
|
|
70
|
+
conectar_oracle_ouvidorias,
|
|
71
|
+
conectar_postgresql,
|
|
72
|
+
conectar_postgresql_nia,
|
|
73
|
+
conectar_postgresql_opengeo,
|
|
74
|
+
obter_engine_postgresql,
|
|
75
|
+
obter_engine_postgresql_nia,
|
|
76
|
+
obter_engine_postgresql_opengeo,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# Email
|
|
80
|
+
from .email_smtp import (
|
|
81
|
+
enviar_email,
|
|
82
|
+
enviar_email_smtp,
|
|
83
|
+
obter_destinatarios_padrao,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
# =============================================================================
|
|
87
|
+
# FUNÇÕES UTILITÁRIAS
|
|
88
|
+
# =============================================================================
|
|
89
|
+
# Configuração de ambiente
|
|
90
|
+
from .env_config import (
|
|
91
|
+
obter_variavel_env,
|
|
92
|
+
obter_variavel_env_bool,
|
|
93
|
+
obter_variavel_env_int,
|
|
94
|
+
obter_variavel_env_lista,
|
|
95
|
+
)
|
|
96
|
+
from .exceptions import (
|
|
97
|
+
# Arquivos
|
|
98
|
+
ArquivoError,
|
|
99
|
+
ConexaoError,
|
|
100
|
+
# Configuração
|
|
101
|
+
ConfiguracaoError,
|
|
102
|
+
# Database
|
|
103
|
+
DatabaseError,
|
|
104
|
+
DestinatarioError,
|
|
105
|
+
DiretorioError,
|
|
106
|
+
# Email
|
|
107
|
+
EmailError,
|
|
108
|
+
EscritaArquivoError,
|
|
109
|
+
# Extração
|
|
110
|
+
ExtracaoError,
|
|
111
|
+
ExtracaoVaziaError,
|
|
112
|
+
LeituraArquivoError,
|
|
113
|
+
# Base
|
|
114
|
+
NiaEtlError,
|
|
115
|
+
ProcessamentoError,
|
|
116
|
+
SmtpError,
|
|
117
|
+
# Validação
|
|
118
|
+
ValidacaoError,
|
|
119
|
+
VariavelAmbienteError,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
# Manipulação de arquivos
|
|
123
|
+
from .limpeza_pastas import (
|
|
124
|
+
criar_pasta_se_nao_existir,
|
|
125
|
+
limpar_pasta,
|
|
126
|
+
listar_arquivos,
|
|
127
|
+
remover_pasta_recursivamente,
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
# Logging
|
|
131
|
+
from .logger_config import (
|
|
132
|
+
configurar_logger,
|
|
133
|
+
configurar_logger_padrao_nia,
|
|
134
|
+
remover_handlers_existentes,
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
# Processamento CSV
|
|
138
|
+
from .processa_csv import (
|
|
139
|
+
exportar_multiplos_csv,
|
|
140
|
+
exportar_para_csv,
|
|
141
|
+
extrair_e_exportar_csv,
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
# Processamento CSV Paralelo
|
|
145
|
+
from .processa_csv_paralelo import (
|
|
146
|
+
calcular_chunksize,
|
|
147
|
+
processar_csv_paralelo,
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
# =============================================================================
|
|
151
|
+
# RESULTADOS (Dataclasses)
|
|
152
|
+
# =============================================================================
|
|
153
|
+
from .results import (
|
|
154
|
+
Conexao,
|
|
155
|
+
ResultadoEmail,
|
|
156
|
+
ResultadoExtracao,
|
|
157
|
+
ResultadoLote,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
# =============================================================================
|
|
161
|
+
# __all__ - Exportações públicas
|
|
162
|
+
# =============================================================================
|
|
163
|
+
|
|
164
|
+
__all__ = [
|
|
165
|
+
# Metadata
|
|
166
|
+
"__version__",
|
|
167
|
+
"__author__",
|
|
168
|
+
# Exceções - Base
|
|
169
|
+
"NiaEtlError",
|
|
170
|
+
# Exceções - Configuração
|
|
171
|
+
"ConfiguracaoError",
|
|
172
|
+
"VariavelAmbienteError",
|
|
173
|
+
# Exceções - Database
|
|
174
|
+
"DatabaseError",
|
|
175
|
+
"ConexaoError",
|
|
176
|
+
# Exceções - Arquivos
|
|
177
|
+
"ArquivoError",
|
|
178
|
+
"DiretorioError",
|
|
179
|
+
"EscritaArquivoError",
|
|
180
|
+
"LeituraArquivoError",
|
|
181
|
+
# Exceções - Extração
|
|
182
|
+
"ExtracaoError",
|
|
183
|
+
"ExtracaoVaziaError",
|
|
184
|
+
"ProcessamentoError",
|
|
185
|
+
# Exceções - Email
|
|
186
|
+
"EmailError",
|
|
187
|
+
"DestinatarioError",
|
|
188
|
+
"SmtpError",
|
|
189
|
+
# Exceções - Validação
|
|
190
|
+
"ValidacaoError",
|
|
191
|
+
# Configurações
|
|
192
|
+
"PostgresConfig",
|
|
193
|
+
"OracleConfig",
|
|
194
|
+
"SmtpConfig",
|
|
195
|
+
"LogConfig",
|
|
196
|
+
# Resultados
|
|
197
|
+
"Conexao",
|
|
198
|
+
"ResultadoExtracao",
|
|
199
|
+
"ResultadoLote",
|
|
200
|
+
"ResultadoEmail",
|
|
201
|
+
# Env config
|
|
202
|
+
"obter_variavel_env",
|
|
203
|
+
"obter_variavel_env_int",
|
|
204
|
+
"obter_variavel_env_bool",
|
|
205
|
+
"obter_variavel_env_lista",
|
|
206
|
+
# Email
|
|
207
|
+
"enviar_email",
|
|
208
|
+
"enviar_email_smtp",
|
|
209
|
+
"obter_destinatarios_padrao",
|
|
210
|
+
# Database - Core
|
|
211
|
+
"conectar_postgresql",
|
|
212
|
+
"conectar_oracle",
|
|
213
|
+
"obter_engine_postgresql",
|
|
214
|
+
# Database - Wrappers
|
|
215
|
+
"conectar_postgresql_nia",
|
|
216
|
+
"conectar_postgresql_opengeo",
|
|
217
|
+
"conectar_oracle_ouvidorias",
|
|
218
|
+
"obter_engine_postgresql_nia",
|
|
219
|
+
"obter_engine_postgresql_opengeo",
|
|
220
|
+
# Logging
|
|
221
|
+
"configurar_logger",
|
|
222
|
+
"configurar_logger_padrao_nia",
|
|
223
|
+
"remover_handlers_existentes",
|
|
224
|
+
# CSV
|
|
225
|
+
"exportar_para_csv",
|
|
226
|
+
"extrair_e_exportar_csv",
|
|
227
|
+
"exportar_multiplos_csv",
|
|
228
|
+
# CSV Paralelo
|
|
229
|
+
"processar_csv_paralelo",
|
|
230
|
+
"calcular_chunksize",
|
|
231
|
+
# Arquivos
|
|
232
|
+
"limpar_pasta",
|
|
233
|
+
"remover_pasta_recursivamente",
|
|
234
|
+
"criar_pasta_se_nao_existir",
|
|
235
|
+
"listar_arquivos",
|
|
236
|
+
]
|