maxsciencelib 0.0.7__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,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) [2026] [Daniel Antunes Cordeiro]
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,177 @@
1
+ Metadata-Version: 2.4
2
+ Name: maxsciencelib
3
+ Version: 0.0.7
4
+ Summary: Biblioteca de funções compartilhadas do time de Data Science da Maxpar
5
+ Author-email: Daniel Antunes <daniel.ant.cord@gmail.com>
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENCE
9
+ Requires-Dist: pandas>=1.5
10
+ Requires-Dist: numpy>=1.23
11
+ Requires-Dist: polars>=0.20.0
12
+ Requires-Dist: pyarrow>=14.0.0
13
+ Requires-Dist: snowflake-connector-python>=3.5.0
14
+ Requires-Dist: tableauserverclient>=0.25
15
+ Dynamic: license-file
16
+
17
+ # MaxScienceLib
18
+
19
+ Biblioteca com funções aplicadas a rotina do cientista de dados na Maxpar
20
+
21
+ ## Como usar
22
+
23
+ Instale com:
24
+
25
+ ```bash
26
+ pip install maxscientelib
27
+ ```
28
+
29
+ Use no seu código:
30
+
31
+ ```python
32
+ from maxsciencelib import leitura_snowflake
33
+ ```
34
+
35
+ ## leitura-snowflake
36
+
37
+ Biblioteca Python para leitura de dados do **Snowflake** de forma simples, segura e performática, retornando os resultados diretamente como **DataFrame Polars**.
38
+
39
+ A biblioteca abstrai toda a complexidade de conexão, autenticação via `externalbrowser` e execução de queries, permitindo que o usuário execute consultas com apenas **uma função**.
40
+
41
+ ---
42
+
43
+ ### Funcionalidades
44
+
45
+ - Conexão automática com Snowflake via `externalbrowser`
46
+ - Execução de queries SQL
47
+ - Retorno direto em **Polars DataFrame**
48
+ - Uso nativo de **Apache Arrow** (alta performance)
49
+ - Silenciamento de logs e warnings internos
50
+ - Fechamento seguro de conexão e cursor
51
+
52
+
53
+ ### Requisitos
54
+
55
+ - Python **3.11+** (recomendado)
56
+ - Acesso ao Snowflake configurado no navegador
57
+
58
+ ### Dependências
59
+
60
+ ```bash
61
+ pip install snowflake-connector-python polars pyarrow
62
+ ```
63
+
64
+ ### Uso básico
65
+
66
+ ```python
67
+ from leitura_snowflake import leitura_snowflake
68
+
69
+ query = """
70
+ SELECT *
71
+ FROM MINHA_TABELA
72
+ LIMIT 1000
73
+ """
74
+
75
+ df = leitura_snowflake(
76
+ email_corporativo="nome.sobrenome@empresa.com",
77
+ token_account="abc123.us-east-1",
78
+ query=query
79
+ )
80
+
81
+ df.head()
82
+ ```
83
+
84
+ O retorno será um objeto:
85
+
86
+ ```python
87
+ polars.DataFrame
88
+ ```
89
+
90
+ | Parâmetro | Tipo | Descrição |
91
+ | ------------------- | ----- | ------------------------------------------------- |
92
+ | `email_corporativo` | `str` | Email corporativo utilizado no login do Snowflake |
93
+ | `token_account` | `str` | Identificador da conta Snowflake |
94
+ | `query` | `str` | Query SQL a ser executada |
95
+
96
+
97
+ ---
98
+
99
+ ## leitura-tableau
100
+
101
+ Biblioteca Python para leitura de dados do **Tableau Server** de forma simples, segura e performática, retornando os resultados diretamente como **DataFrame Polars**.
102
+
103
+ A biblioteca abstrai toda a complexidade de autenticação via **Personal Access Token**, conexão com o Tableau Server (HTTP/HTTPS) e download da view, permitindo que o usuário consuma dados com apenas **uma função**.
104
+
105
+ ---
106
+
107
+ ### Funcionalidades
108
+
109
+ * Autenticação via **Personal Access Token (PAT)**
110
+ * Conexão automática com Tableau Server (fallback HTTP → HTTPS)
111
+ * Download de views diretamente do Tableau
112
+ * Retorno direto em **Polars DataFrame**
113
+ * Leitura eficiente de CSV em memória
114
+ * Silenciamento de warnings internos
115
+ * Encerramento seguro da sessão (`sign_out`)
116
+
117
+ ---
118
+
119
+ ### Requisitos
120
+
121
+ * Python **3.10+** (recomendado)
122
+ * Acesso ao Tableau Server
123
+ * Personal Access Token ativo no Tableau
124
+
125
+ ---
126
+
127
+ ### Dependências
128
+
129
+ ```bash
130
+ pip install tableauserverclient polars pyarrow
131
+ ```
132
+
133
+ ---
134
+
135
+ ### Uso básico
136
+
137
+ ```python
138
+ from maxsciencelib.leitura_tableau import leitura_tableau
139
+
140
+ df = leitura_tableau(
141
+ nome_token="meu_token_tableau",
142
+ token_acesso="XXXXXXXXXXXXXXXXXXXXXXXX",
143
+ view_id="abcd1234-efgh-5678"
144
+ )
145
+
146
+ df.head()
147
+ ```
148
+
149
+ ---
150
+
151
+ ### Retorno
152
+
153
+ O retorno da função será um objeto:
154
+
155
+ ```python
156
+ polars.DataFrame
157
+ ```
158
+
159
+ ---
160
+
161
+ ### Parâmetros
162
+
163
+ | Parâmetro | Tipo | Descrição |
164
+ | -------------- | ----- | --------------------------------------------------- |
165
+ | `nome_token` | `str` | Nome do Personal Access Token cadastrado no Tableau |
166
+ | `token_acesso` | `str` | Token de acesso pessoal do Tableau |
167
+ | `view_id` | `str` | Identificador da view no Tableau Server |
168
+
169
+
170
+
171
+ ## Licença
172
+
173
+ The MIT License (MIT)
174
+
175
+ ## Autores
176
+
177
+ Daniel Antunes Cordeiros
@@ -0,0 +1,161 @@
1
+ # MaxScienceLib
2
+
3
+ Biblioteca com funções aplicadas a rotina do cientista de dados na Maxpar
4
+
5
+ ## Como usar
6
+
7
+ Instale com:
8
+
9
+ ```bash
10
+ pip install maxscientelib
11
+ ```
12
+
13
+ Use no seu código:
14
+
15
+ ```python
16
+ from maxsciencelib import leitura_snowflake
17
+ ```
18
+
19
+ ## leitura-snowflake
20
+
21
+ Biblioteca Python para leitura de dados do **Snowflake** de forma simples, segura e performática, retornando os resultados diretamente como **DataFrame Polars**.
22
+
23
+ A biblioteca abstrai toda a complexidade de conexão, autenticação via `externalbrowser` e execução de queries, permitindo que o usuário execute consultas com apenas **uma função**.
24
+
25
+ ---
26
+
27
+ ### Funcionalidades
28
+
29
+ - Conexão automática com Snowflake via `externalbrowser`
30
+ - Execução de queries SQL
31
+ - Retorno direto em **Polars DataFrame**
32
+ - Uso nativo de **Apache Arrow** (alta performance)
33
+ - Silenciamento de logs e warnings internos
34
+ - Fechamento seguro de conexão e cursor
35
+
36
+
37
+ ### Requisitos
38
+
39
+ - Python **3.11+** (recomendado)
40
+ - Acesso ao Snowflake configurado no navegador
41
+
42
+ ### Dependências
43
+
44
+ ```bash
45
+ pip install snowflake-connector-python polars pyarrow
46
+ ```
47
+
48
+ ### Uso básico
49
+
50
+ ```python
51
+ from leitura_snowflake import leitura_snowflake
52
+
53
+ query = """
54
+ SELECT *
55
+ FROM MINHA_TABELA
56
+ LIMIT 1000
57
+ """
58
+
59
+ df = leitura_snowflake(
60
+ email_corporativo="nome.sobrenome@empresa.com",
61
+ token_account="abc123.us-east-1",
62
+ query=query
63
+ )
64
+
65
+ df.head()
66
+ ```
67
+
68
+ O retorno será um objeto:
69
+
70
+ ```python
71
+ polars.DataFrame
72
+ ```
73
+
74
+ | Parâmetro | Tipo | Descrição |
75
+ | ------------------- | ----- | ------------------------------------------------- |
76
+ | `email_corporativo` | `str` | Email corporativo utilizado no login do Snowflake |
77
+ | `token_account` | `str` | Identificador da conta Snowflake |
78
+ | `query` | `str` | Query SQL a ser executada |
79
+
80
+
81
+ ---
82
+
83
+ ## leitura-tableau
84
+
85
+ Biblioteca Python para leitura de dados do **Tableau Server** de forma simples, segura e performática, retornando os resultados diretamente como **DataFrame Polars**.
86
+
87
+ A biblioteca abstrai toda a complexidade de autenticação via **Personal Access Token**, conexão com o Tableau Server (HTTP/HTTPS) e download da view, permitindo que o usuário consuma dados com apenas **uma função**.
88
+
89
+ ---
90
+
91
+ ### Funcionalidades
92
+
93
+ * Autenticação via **Personal Access Token (PAT)**
94
+ * Conexão automática com Tableau Server (fallback HTTP → HTTPS)
95
+ * Download de views diretamente do Tableau
96
+ * Retorno direto em **Polars DataFrame**
97
+ * Leitura eficiente de CSV em memória
98
+ * Silenciamento de warnings internos
99
+ * Encerramento seguro da sessão (`sign_out`)
100
+
101
+ ---
102
+
103
+ ### Requisitos
104
+
105
+ * Python **3.10+** (recomendado)
106
+ * Acesso ao Tableau Server
107
+ * Personal Access Token ativo no Tableau
108
+
109
+ ---
110
+
111
+ ### Dependências
112
+
113
+ ```bash
114
+ pip install tableauserverclient polars pyarrow
115
+ ```
116
+
117
+ ---
118
+
119
+ ### Uso básico
120
+
121
+ ```python
122
+ from maxsciencelib.leitura_tableau import leitura_tableau
123
+
124
+ df = leitura_tableau(
125
+ nome_token="meu_token_tableau",
126
+ token_acesso="XXXXXXXXXXXXXXXXXXXXXXXX",
127
+ view_id="abcd1234-efgh-5678"
128
+ )
129
+
130
+ df.head()
131
+ ```
132
+
133
+ ---
134
+
135
+ ### Retorno
136
+
137
+ O retorno da função será um objeto:
138
+
139
+ ```python
140
+ polars.DataFrame
141
+ ```
142
+
143
+ ---
144
+
145
+ ### Parâmetros
146
+
147
+ | Parâmetro | Tipo | Descrição |
148
+ | -------------- | ----- | --------------------------------------------------- |
149
+ | `nome_token` | `str` | Nome do Personal Access Token cadastrado no Tableau |
150
+ | `token_acesso` | `str` | Token de acesso pessoal do Tableau |
151
+ | `view_id` | `str` | Identificador da view no Tableau Server |
152
+
153
+
154
+
155
+ ## Licença
156
+
157
+ The MIT License (MIT)
158
+
159
+ ## Autores
160
+
161
+ Daniel Antunes Cordeiros
@@ -0,0 +1,3 @@
1
+ from .leitura import leitura_snowflake, leitura_tableau
2
+
3
+ __all__ = ["leitura_snowflake", "leitura_tableau"]
@@ -0,0 +1,136 @@
1
+ import os
2
+ import sys
3
+ import warnings
4
+ import snowflake.connector
5
+ import pandas as pd
6
+ import polars as pl
7
+ import tableauserverclient as TSC
8
+ import io
9
+
10
+
11
+ def leitura_snowflake(
12
+ email_corporativo: str,
13
+ token_account: str,
14
+ query: str
15
+ ) -> pl.DataFrame:
16
+ """
17
+ Executa uma query no Snowflake e retorna um DataFrame Polars.
18
+
19
+ Parâmetros
20
+ ----------
21
+ email_corporativo : str
22
+ Email corporativo usado no login (externalbrowser)
23
+ token_account : str
24
+ Account do Snowflake
25
+ query : str
26
+ Query SQL a ser executada
27
+
28
+ Retorno
29
+ -------
30
+ pl.DataFrame
31
+ """
32
+
33
+ warnings.filterwarnings("ignore", message=".*keyring.*")
34
+
35
+ sys_stdout, sys_stderr = sys.stdout, sys.stderr
36
+
37
+ try:
38
+ sys.stdout = open(os.devnull, 'w')
39
+ sys.stderr = open(os.devnull, 'w')
40
+
41
+ conn = snowflake.connector.connect(
42
+ user=email_corporativo,
43
+ account=token_account,
44
+ database='MAXPAR',
45
+ schema='ESTATISTICA',
46
+ role='GL_SNOWFLAKE_ACESSO_MAX_CED_DADOS',
47
+ warehouse='WH_USE_CED',
48
+ authenticator='externalbrowser',
49
+ network_timeout=600
50
+ )
51
+
52
+ cursor = conn.cursor()
53
+ try:
54
+ cursor.execute(query)
55
+
56
+ # 🔥 Snowflake -> Arrow -> Polars
57
+ arrow_table = cursor.fetch_arrow_all()
58
+ df = pl.from_arrow(arrow_table)
59
+
60
+ finally:
61
+ cursor.close()
62
+
63
+ finally:
64
+ sys.stdout.close()
65
+ sys.stderr.close()
66
+ sys.stdout, sys.stderr = sys_stdout, sys_stderr
67
+
68
+ try:
69
+ conn.close()
70
+ except Exception:
71
+ pass
72
+
73
+ return df
74
+
75
+
76
+
77
+ def leitura_tableau(
78
+ nome_token: str,
79
+ token_acesso: str,
80
+ view_id: str
81
+ ) -> pl.DataFrame:
82
+ """
83
+ Lê uma view do Tableau Server e retorna um DataFrame Polars.
84
+
85
+ Parâmetros
86
+ ----------
87
+ nome_token : str
88
+ Nome do Personal Access Token do Tableau
89
+ token_acesso : str
90
+ Token de acesso pessoal do Tableau
91
+ view_id : str
92
+ ID da view no Tableau Server
93
+
94
+ Retorno
95
+ -------
96
+ pl.DataFrame
97
+ """
98
+
99
+ warnings.filterwarnings("ignore")
100
+
101
+ def tentar_conectar(url: str):
102
+ tableau_auth = TSC.PersonalAccessTokenAuth(
103
+ token_name=nome_token,
104
+ personal_access_token=token_acesso,
105
+ site_id=""
106
+ )
107
+ server = TSC.Server(url, use_server_version=True)
108
+ server.auth.sign_in(tableau_auth)
109
+ return server
110
+
111
+ server = None
112
+ try:
113
+ try:
114
+ server = tentar_conectar("http://tableau.autoglass.com.br/")
115
+ except Exception:
116
+ server = tentar_conectar("https://tableau.autoglass.com.br/")
117
+
118
+ if server is None:
119
+ raise ConnectionError("Não foi possível conectar ao Tableau Server.")
120
+
121
+ # Obter view
122
+ view_item = server.views.get_by_id(view_id)
123
+
124
+ # Exportar CSV da view
125
+ server.views.populate_csv(view_item)
126
+
127
+ csv_bytes = b"".join(view_item.csv)
128
+
129
+ # CSV → Polars (via Arrow)
130
+ df = pl.read_csv(io.BytesIO(csv_bytes))
131
+
132
+ return df
133
+
134
+ finally:
135
+ if server:
136
+ server.auth.sign_out()
@@ -0,0 +1,177 @@
1
+ Metadata-Version: 2.4
2
+ Name: maxsciencelib
3
+ Version: 0.0.7
4
+ Summary: Biblioteca de funções compartilhadas do time de Data Science da Maxpar
5
+ Author-email: Daniel Antunes <daniel.ant.cord@gmail.com>
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENCE
9
+ Requires-Dist: pandas>=1.5
10
+ Requires-Dist: numpy>=1.23
11
+ Requires-Dist: polars>=0.20.0
12
+ Requires-Dist: pyarrow>=14.0.0
13
+ Requires-Dist: snowflake-connector-python>=3.5.0
14
+ Requires-Dist: tableauserverclient>=0.25
15
+ Dynamic: license-file
16
+
17
+ # MaxScienceLib
18
+
19
+ Biblioteca com funções aplicadas a rotina do cientista de dados na Maxpar
20
+
21
+ ## Como usar
22
+
23
+ Instale com:
24
+
25
+ ```bash
26
+ pip install maxscientelib
27
+ ```
28
+
29
+ Use no seu código:
30
+
31
+ ```python
32
+ from maxsciencelib import leitura_snowflake
33
+ ```
34
+
35
+ ## leitura-snowflake
36
+
37
+ Biblioteca Python para leitura de dados do **Snowflake** de forma simples, segura e performática, retornando os resultados diretamente como **DataFrame Polars**.
38
+
39
+ A biblioteca abstrai toda a complexidade de conexão, autenticação via `externalbrowser` e execução de queries, permitindo que o usuário execute consultas com apenas **uma função**.
40
+
41
+ ---
42
+
43
+ ### Funcionalidades
44
+
45
+ - Conexão automática com Snowflake via `externalbrowser`
46
+ - Execução de queries SQL
47
+ - Retorno direto em **Polars DataFrame**
48
+ - Uso nativo de **Apache Arrow** (alta performance)
49
+ - Silenciamento de logs e warnings internos
50
+ - Fechamento seguro de conexão e cursor
51
+
52
+
53
+ ### Requisitos
54
+
55
+ - Python **3.11+** (recomendado)
56
+ - Acesso ao Snowflake configurado no navegador
57
+
58
+ ### Dependências
59
+
60
+ ```bash
61
+ pip install snowflake-connector-python polars pyarrow
62
+ ```
63
+
64
+ ### Uso básico
65
+
66
+ ```python
67
+ from leitura_snowflake import leitura_snowflake
68
+
69
+ query = """
70
+ SELECT *
71
+ FROM MINHA_TABELA
72
+ LIMIT 1000
73
+ """
74
+
75
+ df = leitura_snowflake(
76
+ email_corporativo="nome.sobrenome@empresa.com",
77
+ token_account="abc123.us-east-1",
78
+ query=query
79
+ )
80
+
81
+ df.head()
82
+ ```
83
+
84
+ O retorno será um objeto:
85
+
86
+ ```python
87
+ polars.DataFrame
88
+ ```
89
+
90
+ | Parâmetro | Tipo | Descrição |
91
+ | ------------------- | ----- | ------------------------------------------------- |
92
+ | `email_corporativo` | `str` | Email corporativo utilizado no login do Snowflake |
93
+ | `token_account` | `str` | Identificador da conta Snowflake |
94
+ | `query` | `str` | Query SQL a ser executada |
95
+
96
+
97
+ ---
98
+
99
+ ## leitura-tableau
100
+
101
+ Biblioteca Python para leitura de dados do **Tableau Server** de forma simples, segura e performática, retornando os resultados diretamente como **DataFrame Polars**.
102
+
103
+ A biblioteca abstrai toda a complexidade de autenticação via **Personal Access Token**, conexão com o Tableau Server (HTTP/HTTPS) e download da view, permitindo que o usuário consuma dados com apenas **uma função**.
104
+
105
+ ---
106
+
107
+ ### Funcionalidades
108
+
109
+ * Autenticação via **Personal Access Token (PAT)**
110
+ * Conexão automática com Tableau Server (fallback HTTP → HTTPS)
111
+ * Download de views diretamente do Tableau
112
+ * Retorno direto em **Polars DataFrame**
113
+ * Leitura eficiente de CSV em memória
114
+ * Silenciamento de warnings internos
115
+ * Encerramento seguro da sessão (`sign_out`)
116
+
117
+ ---
118
+
119
+ ### Requisitos
120
+
121
+ * Python **3.10+** (recomendado)
122
+ * Acesso ao Tableau Server
123
+ * Personal Access Token ativo no Tableau
124
+
125
+ ---
126
+
127
+ ### Dependências
128
+
129
+ ```bash
130
+ pip install tableauserverclient polars pyarrow
131
+ ```
132
+
133
+ ---
134
+
135
+ ### Uso básico
136
+
137
+ ```python
138
+ from maxsciencelib.leitura_tableau import leitura_tableau
139
+
140
+ df = leitura_tableau(
141
+ nome_token="meu_token_tableau",
142
+ token_acesso="XXXXXXXXXXXXXXXXXXXXXXXX",
143
+ view_id="abcd1234-efgh-5678"
144
+ )
145
+
146
+ df.head()
147
+ ```
148
+
149
+ ---
150
+
151
+ ### Retorno
152
+
153
+ O retorno da função será um objeto:
154
+
155
+ ```python
156
+ polars.DataFrame
157
+ ```
158
+
159
+ ---
160
+
161
+ ### Parâmetros
162
+
163
+ | Parâmetro | Tipo | Descrição |
164
+ | -------------- | ----- | --------------------------------------------------- |
165
+ | `nome_token` | `str` | Nome do Personal Access Token cadastrado no Tableau |
166
+ | `token_acesso` | `str` | Token de acesso pessoal do Tableau |
167
+ | `view_id` | `str` | Identificador da view no Tableau Server |
168
+
169
+
170
+
171
+ ## Licença
172
+
173
+ The MIT License (MIT)
174
+
175
+ ## Autores
176
+
177
+ Daniel Antunes Cordeiros
@@ -0,0 +1,11 @@
1
+ LICENCE
2
+ README.md
3
+ pyproject.toml
4
+ maxsciencelib/__init__.py
5
+ maxsciencelib/leitura.py
6
+ maxsciencelib.egg-info/PKG-INFO
7
+ maxsciencelib.egg-info/SOURCES.txt
8
+ maxsciencelib.egg-info/dependency_links.txt
9
+ maxsciencelib.egg-info/requires.txt
10
+ maxsciencelib.egg-info/top_level.txt
11
+ tests/teste.py
@@ -0,0 +1,6 @@
1
+ pandas>=1.5
2
+ numpy>=1.23
3
+ polars>=0.20.0
4
+ pyarrow>=14.0.0
5
+ snowflake-connector-python>=3.5.0
6
+ tableauserverclient>=0.25
@@ -0,0 +1,4 @@
1
+ README_files
2
+ dist
3
+ maxsciencelib
4
+ tests
@@ -0,0 +1,25 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "maxsciencelib"
7
+ version = "0.0.7"
8
+ description = "Biblioteca de funções compartilhadas do time de Data Science da Maxpar"
9
+ readme = "README.md"
10
+ requires-python = ">=3.9"
11
+ authors = [
12
+ { name = "Daniel Antunes", email = "daniel.ant.cord@gmail.com" }
13
+ ]
14
+
15
+ dependencies = [
16
+ "pandas>=1.5",
17
+ "numpy>=1.23",
18
+ "polars>=0.20.0",
19
+ "pyarrow>=14.0.0",
20
+ "snowflake-connector-python>=3.5.0",
21
+ "tableauserverclient>=0.25"
22
+ ]
23
+
24
+ [tool.setuptools.packages.find]
25
+ where = ["."]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1 @@
1
+ from maxsciencelib import leitura_tableau