Metadata-Version: 2.1
Name: basedosdados
Version: 2.0.0b16
Summary: Organizar e facilitar o acesso a dados brasileiros através de tabelas públicas no BigQuery.
Home-page: https://github.com/basedosdados/mais
License: MIT
Author: Joao Carabetta
Author-email: joao.carabetta@gmail.com
Requires-Python: >=3.8.1,<4
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: all
Provides-Extra: avro
Provides-Extra: cli
Provides-Extra: upload
Requires-Dist: click (>=8.1,<9) ; extra == "all" or extra == "cli"
Requires-Dist: google-api-python-client (>=2.86,<3.0)
Requires-Dist: google-cloud-bigquery (>=3.10,<4.0)
Requires-Dist: google-cloud-bigquery-connection (>=1.12,<2.0)
Requires-Dist: google-cloud-bigquery-storage (>=2.19,<3.0)
Requires-Dist: google-cloud-storage (>=2.9,<3.0)
Requires-Dist: gql (>=3.4,<4.0) ; extra == "all" or extra == "upload"
Requires-Dist: loguru (==0.7.0)
Requires-Dist: pandas (>=2.0,<3.0)
Requires-Dist: pandas-gbq (>=0.19,<0.20)
Requires-Dist: pandavro (>=1.7,<2.0) ; extra == "all" or extra == "avro"
Requires-Dist: pydata-google-auth (>=1.8,<2.0)
Requires-Dist: requests-toolbelt (>=1,<2) ; extra == "all" or extra == "upload"
Requires-Dist: tomlkit (>=0.11,<0.12)
Requires-Dist: tqdm (>=4,<5)
Project-URL: Repository, https://github.com/basedosdados/mais
Description-Content-Type: text/markdown

# Python Package

## Desenvolvimento Linux e Mac:

Clone o repositório principal:

```sh
git clone https://github.com/basedosdados/mais.git
```
Entre na pasta local do repositório usando `cd mais/` e suba o ambiente localmente:

```sh
make create-env
. .mais/bin/activate
cd python-package/
python setup.py develop
```

### Desenvolva uma nova feature

1. Abra uma branch com o nome issue-<X>
2. Faça as modificações necessárias
3. Suba o Pull Request apontando para a branch `python-next-minor` ou `python-next-patch`.
    Sendo, minor e patch referentes ao bump da versão: v1.5.7 --> v\<major>.\<minor>.\<patch>.
4. O nome do PR deve seguir o padrão
    `[infra] <titulo explicativo>`


### O que uma modificação precisa ter


- Resolver o problema
- Lista de modificações efetuadas
    1. Mudei a função X para fazer Y
    2. Troquei o nome da variavel Z
- Referência aos issues atendidos
- Documentação e Docstrings
- Testes


## Versionamento

**Para publicar uma nova versão do pacote é preciso seguir os seguintes passos:**

1. Fazer o pull da branch:

    ```bash
    git pull origin [python-version]
    ```

    Onde `[python-version]` é a branch da nova versão do pacote.

2. Se necessario adicionar novas dependências:
    ```bash
      poetry add <package-name>
    ```

3. Gerar novo `requirements-dev.txt`

    ```bash
    poetry export -f requirements.txt --output requirements-dev.txt --without-hashes
    ```

4. Editar `pyproject.toml`:

    O arquivo `pyproject.toml` contém, entre outras informações, a versão do pacote em python da **BD**. Segue excerto do arquivo:

    ```toml
    description = "Organizar e facilitar o acesso a dados brasileiros através de tabelas públicas no BigQuery."
    homepage = "https://github.com/base-dos-dados/bases"
    license = "MIT"
    name = "basedosdados"
    packages = [
      {include = "basedosdados"},
    ]
    readme = "README.md"
    repository = "https://github.com/base-dos-dados/bases"
    version = "1.6.1-beta.2"
    ```

    O campo `version` deve ser alterado para o número da versão sendo lançada.

5. Editar `basedosdados/__init__.py`:

    O arquivo `basedosdados/__init__.py` contém a versão do pacote em python da **BD**. Exemplo:

    ```python
    __version__ = "1.6.1-beta.2"
    ```

   O atributo `__version__` também deve ser alterado para o número da versão sendo lançada.

6. Push para branch:

    ```bash
    git push origin [python-version]
    ```

7. Publicação do pacote no PyPI (exige usuário e senha):
   Para publicar o pacote no PyPI, use:

    Para publicar o pacote no PyPI, use:

    ```bash
    poetry version [python-version]
    poetry publish --build
   ```
8. Faz merge da branch para a master
9. Faz release usando a UI do GitHub
10. Atualizar versão do pacote usada internamente

