luxorasap 0.0.1__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.
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: luxorasap
3
+ Version: 0.0.1
4
+ Summary: Luxor’s unified toolbox for data ingestion, querying and analytics.
5
+ Author-email: Luxor Group <backoffice@luxor.com.br>
6
+ License: Proprietary – All rights reserved
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: Other/Proprietary License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.9
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: pandas>=2.2
13
+ Requires-Dist: numpy>=1.25
14
+ Requires-Dist: loguru>=0.7
15
+ Requires-Dist: python-dotenv>=1.0
16
+ Requires-Dist: azure-storage-blob>=12.19
17
+ Requires-Dist: pyarrow>=15.0
18
+ Requires-Dist: requests>=2.32
19
+ Requires-Dist: pydantic>=2.7
20
+ Requires-Dist: scipy>=1.13
21
+ Provides-Extra: datareader
22
+ Requires-Dist: pyarrow>=15.0; extra == "datareader"
23
+ Provides-Extra: ingest
24
+ Requires-Dist: pandera>=0.18; extra == "ingest"
25
+ Provides-Extra: btgapi
26
+ Requires-Dist: requests>=2.32; extra == "btgapi"
27
+ Requires-Dist: pydantic>=2.7; extra == "btgapi"
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=8.2; extra == "dev"
30
+ Requires-Dist: black>=24.4.0; extra == "dev"
31
+ Requires-Dist: isort>=5.13; extra == "dev"
32
+ Requires-Dist: bumpver>=2024.3; extra == "dev"
33
+ Requires-Dist: pre-commit>=3.7; extra == "dev"
34
+ Requires-Dist: build>=1.2; extra == "dev"
35
+
36
+ # LuxorASAP
37
+
38
+ **LuxorASAP** é o pacote-guarda-chuva que concentra as ferramentas internas de dados da Luxor Group:
39
+ consulta estruturada ao data lake, cargas padronizadas para ADLS, wrappers de API, utilitários e muito mais.
40
+
41
+ [![PyPI](https://img.shields.io/pypi/v/luxorasap.svg)](https://pypi.org/project/luxorasap/)
42
+ ![Python](https://img.shields.io/pypi/pyversions/luxorasap)
43
+
44
+ ---
45
+
46
+ ## Instalação
47
+
48
+ ```bash
49
+ # pacote base
50
+ pip install luxorasap
51
+
52
+ # com o submódulo datareader
53
+ pip install "luxorasap[datareader]"
54
+ ```
55
+ ## Uso rápido
56
+ ```python
57
+ from luxorasap.datareader import LuxorQuery
58
+
59
+ lq = LuxorQuery(blob_directory="enriched/parquet")
60
+ prices = lq.get_prices("aapl us equity", "2024-01-01", "2024-12-31")
61
+ print(prices.head())
62
+ ```
63
+ ## Submódulos
64
+ | Módulo | Descrição rápida | Extras |
65
+ | ---------------------- | ---------------------------------------- | ------------------------------------- |
66
+ | `luxorasap.datareader` | Leitura de tabelas e séries no data lake | `pip install "luxorasap[datareader]"` |
67
+ | `luxorasap.ingest` | Funções de carga padronizada para ADLS | `"luxorasap[ingest]"` |
68
+ | `luxorasap.btgapi` | Wrapper REST para dados BTG | `"luxorasap[btgapi]"` |
69
+
70
+ © Luxor Group – uso interno. Todos os direitos reservados.
@@ -0,0 +1,35 @@
1
+ # LuxorASAP
2
+
3
+ **LuxorASAP** é o pacote-guarda-chuva que concentra as ferramentas internas de dados da Luxor Group:
4
+ consulta estruturada ao data lake, cargas padronizadas para ADLS, wrappers de API, utilitários e muito mais.
5
+
6
+ [![PyPI](https://img.shields.io/pypi/v/luxorasap.svg)](https://pypi.org/project/luxorasap/)
7
+ ![Python](https://img.shields.io/pypi/pyversions/luxorasap)
8
+
9
+ ---
10
+
11
+ ## Instalação
12
+
13
+ ```bash
14
+ # pacote base
15
+ pip install luxorasap
16
+
17
+ # com o submódulo datareader
18
+ pip install "luxorasap[datareader]"
19
+ ```
20
+ ## Uso rápido
21
+ ```python
22
+ from luxorasap.datareader import LuxorQuery
23
+
24
+ lq = LuxorQuery(blob_directory="enriched/parquet")
25
+ prices = lq.get_prices("aapl us equity", "2024-01-01", "2024-12-31")
26
+ print(prices.head())
27
+ ```
28
+ ## Submódulos
29
+ | Módulo | Descrição rápida | Extras |
30
+ | ---------------------- | ---------------------------------------- | ------------------------------------- |
31
+ | `luxorasap.datareader` | Leitura de tabelas e séries no data lake | `pip install "luxorasap[datareader]"` |
32
+ | `luxorasap.ingest` | Funções de carga padronizada para ADLS | `"luxorasap[ingest]"` |
33
+ | `luxorasap.btgapi` | Wrapper REST para dados BTG | `"luxorasap[btgapi]"` |
34
+
35
+ © Luxor Group – uso interno. Todos os direitos reservados.
@@ -0,0 +1,90 @@
1
+ #############################
2
+ # Build & packaging metadata
3
+ #############################
4
+ [build-system]
5
+ requires = ["setuptools>=69", "wheel"]
6
+ build-backend = "setuptools.build_meta"
7
+
8
+ #############################
9
+ # Core project metadata
10
+ #############################
11
+ [project]
12
+ name = "luxorasap"
13
+ version = "0.0.1" # altere apenas via bumpver!
14
+ description = "Luxor’s unified toolbox for data ingestion, querying and analytics."
15
+ readme = "README.md"
16
+ requires-python = ">=3.9"
17
+ authors = [{ name = "Luxor Group", email = "backoffice@luxor.com.br" }]
18
+ license = { text = "Proprietary – All rights reserved" }
19
+ classifiers = [
20
+ "Programming Language :: Python :: 3",
21
+ "License :: Other/Proprietary License",
22
+ "Operating System :: OS Independent",
23
+ ]
24
+
25
+ #############################
26
+ # Runtime dependencies
27
+ #############################
28
+ dependencies = [
29
+ # core
30
+ "pandas>=2.2",
31
+ "numpy>=1.25",
32
+ "loguru>=0.7",
33
+ "python-dotenv>=1.0",
34
+ "azure-storage-blob>=12.19",
35
+ "pyarrow>=15.0", # usado por datareader/ingest
36
+ "requests>=2.32", # usado por btgapi
37
+ "pydantic>=2.7", # usado por btgapi
38
+ "scipy>=1.13",
39
+ ]
40
+
41
+ [project.optional-dependencies]
42
+ # mantém para uso futuro ou para quem queira instalação granular
43
+ datareader = ["pyarrow>=15.0"]
44
+ ingest = ["pandera>=0.18"]
45
+ btgapi = ["requests>=2.32", "pydantic>=2.7"]
46
+ dev = [
47
+ "pytest>=8.2",
48
+ "black>=24.4.0",
49
+ "isort>=5.13",
50
+ "bumpver>=2024.3",
51
+ "pre-commit>=3.7",
52
+ "build>=1.2"
53
+ ]
54
+
55
+ #############################
56
+ # Console scripts (opcional)
57
+ #############################
58
+ [project.scripts]
59
+ # habilita: $ luxor-report --help
60
+ luxor-report = "luxorasap.cli:main"
61
+
62
+ #############################
63
+ # setuptools discovery
64
+ #############################
65
+ [tool.setuptools.packages.find]
66
+ where = ["src"]
67
+ exclude = ["tests*"]
68
+
69
+ #############################
70
+ # bumpver (sem-ver)
71
+ #############################
72
+ [tool.bumpver]
73
+ current_version = "0.0.1"
74
+ version_pattern = "MAJOR.MINOR.PATCH"
75
+ commit_message = "release: {old_version} → {new_version}"
76
+ tag_message = "v{new_version}"
77
+ tag = true
78
+ push = false # evita push automático; mude se desejar
79
+
80
+ #############################
81
+ # Tooling (black / isort)
82
+ #############################
83
+ [tool.black]
84
+ line-length = 88
85
+ target-version = ["py311"]
86
+
87
+ [tool.isort]
88
+ profile = "black"
89
+ line_length = 88
90
+ src_paths = ["src", "tests"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,20 @@
1
+ """
2
+ LuxorASAP – pacote principal.
3
+
4
+ Carrega subpacotes e expõe um ponto único de versão.
5
+ """
6
+
7
+ from importlib.metadata import PackageNotFoundError, version as _pkg_version
8
+
9
+ try:
10
+ __version__: str = _pkg_version(__name__)
11
+ except PackageNotFoundError: # pacote ainda não instalado (editable during dev)
12
+ __version__ = "0.0.0"
13
+
14
+ # Reexporta submódulos principais
15
+ from . import datareader, ingest, utils # noqa: F401
16
+
17
+ # Conveniência opcional – permite: from luxorasap import LuxorQuery
18
+ #from .datareader import LuxorQuery # noqa: F401
19
+
20
+ __all__ = ["__version__", "datareader", "ingest", "utils", "LuxorQuery"]
@@ -0,0 +1,7 @@
1
+ """
2
+ Subpacote de leitura de dados (LuxorQuery e utilidades).
3
+ """
4
+
5
+ from .core import LuxorQuery
6
+
7
+ __all__ = ["LuxorQuery"]