luxorasap 0.1.34__tar.gz → 0.1.36__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.
- {luxorasap-0.1.34 → luxorasap-0.1.36}/PKG-INFO +1 -1
- {luxorasap-0.1.34 → luxorasap-0.1.36}/pyproject.toml +2 -2
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/__init__.py +1 -1
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/datareader/core.py +11 -3
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/tools/excel.py +8 -1
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap.egg-info/PKG-INFO +1 -1
- {luxorasap-0.1.34 → luxorasap-0.1.36}/README.md +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/setup.cfg +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/btgapi/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/btgapi/auth.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/btgapi/reports.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/btgapi/trades.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/datareader/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/ingest/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/ingest/cloud/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/ingest/legacy_local/dataloader.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/dataframe/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/dataframe/reader.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/dataframe/transforms.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/storage/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/storage/blob.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap/utils/tools/__init__.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap.egg-info/SOURCES.txt +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap.egg-info/dependency_links.txt +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap.egg-info/entry_points.txt +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap.egg-info/requires.txt +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/src/luxorasap.egg-info/top_level.txt +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_btgapi_auth.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_btgapi_reports.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_btgapi_trades.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_datareader.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_ingest_cloud.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_ingest_legacy_local.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_utils_dataframe.py +0 -0
- {luxorasap-0.1.34 → luxorasap-0.1.36}/tests/test_utils_storage.py +0 -0
|
@@ -10,7 +10,7 @@ build-backend = "setuptools.build_meta"
|
|
|
10
10
|
#############################
|
|
11
11
|
[project]
|
|
12
12
|
name = "luxorasap"
|
|
13
|
-
version = "0.1.
|
|
13
|
+
version = "0.1.36"
|
|
14
14
|
description = "Toolbox da Luxor para ingestão, análise e automação de dados financeiros."
|
|
15
15
|
readme = "README.md"
|
|
16
16
|
requires-python = ">=3.9"
|
|
@@ -78,7 +78,7 @@ exclude = ["tests*"]
|
|
|
78
78
|
# bumpver (sem-ver)
|
|
79
79
|
#############################
|
|
80
80
|
[tool.bumpver]
|
|
81
|
-
current_version = "0.1.
|
|
81
|
+
current_version = "0.1.36"
|
|
82
82
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
83
83
|
|
|
84
84
|
# regex explícito – obrigatório no bumpver 2024+
|
|
@@ -13,7 +13,7 @@ from types import ModuleType
|
|
|
13
13
|
try:
|
|
14
14
|
__version__: str = metadata.version(__name__)
|
|
15
15
|
except metadata.PackageNotFoundError: # editable install
|
|
16
|
-
__version__ = "0.1.
|
|
16
|
+
__version__ = "0.1.36"
|
|
17
17
|
|
|
18
18
|
# ─── Lazy loader ─────────────────────────────────────────────────
|
|
19
19
|
def __getattr__(name: str) -> ModuleType:
|
|
@@ -183,9 +183,17 @@ class LuxorQuery:
|
|
|
183
183
|
str_nan_format = str_nan_format.union(dtypes_override['str_nan_format'])
|
|
184
184
|
|
|
185
185
|
if table_name != "last_all_flds":
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
186
|
+
try:
|
|
187
|
+
for col in table_columns.intersection(float_dtypes):
|
|
188
|
+
table_data[col] = table_data[col].astype(float)
|
|
189
|
+
except :
|
|
190
|
+
logger.warning(f"Ao carregar tabela '{table_name}', nao foi possivel converter dados da coluna {col} para float.")
|
|
191
|
+
#logger.warning(f"Colunas com erro: {table_columns.intersection(float_dtypes)}")
|
|
192
|
+
#logger.warning(f"Colunas disponiveis: {table_columns}")
|
|
193
|
+
#print(table_data.dtypes)
|
|
194
|
+
|
|
195
|
+
raise ValueError(f"Erro ao converter colunas para float na tabela '{table_name}'.")
|
|
196
|
+
|
|
189
197
|
if table_name == "hist_risk_metrics":
|
|
190
198
|
try:
|
|
191
199
|
cols_to_format = list(set(table_data.columns) - {"Date", "Fund"})
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
|
|
2
|
+
import platform
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
if platform.system() == "Windows":
|
|
5
|
+
import win32com.client
|
|
4
6
|
|
|
5
7
|
|
|
6
8
|
def close_excel_worksheet(filename, save=True):
|
|
@@ -11,6 +13,11 @@ def close_excel_worksheet(filename, save=True):
|
|
|
11
13
|
"""
|
|
12
14
|
|
|
13
15
|
try:
|
|
16
|
+
|
|
17
|
+
if platform.system() != "Windows":
|
|
18
|
+
print("Esta função só está disponível no Windows.")
|
|
19
|
+
return
|
|
20
|
+
|
|
14
21
|
excel = win32com.client.Dispatch("Excel.Application")
|
|
15
22
|
for wb in excel.Workbooks:
|
|
16
23
|
if wb.Name.lower() == filename.lower(): # compara ignorando maiúsc/minúsc
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|