Metadata-Version: 2.1
Name: dpckan
Version: 0.0.1.9000
Summary: Funções para gestão de pacotes de dados no portal dados.mg.gov.br
Home-page: https://github.com/dados-mg/dpkgckanmg
Author: CONTROLADORIA GERAL DO ESTADO DE MINAS GERAIS - CGE/MG
Author-email: dadosabertos@cge.mg.gov.br
License: UNKNOWN
Keywords: python,ckan
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Description-Content-Type: text/markdown
Requires-Dist: certifi (==2020.12.5)
Requires-Dist: chardet (==4.0.0)
Requires-Dist: frictionless-ckan-mapper (==1.0.6)
Requires-Dist: idna (==2.10)
Requires-Dist: pip (==21.1.2)
Requires-Dist: requests (==2.25.1)
Requires-Dist: setuptools (==49.2.1)
Requires-Dist: six (==1.15.0)
Requires-Dist: urllib3 (==1.26.4)
Requires-Dist: python-dotenv (==0.17.1)
Requires-Dist: sphinx (==4.0.2)
Requires-Dist: sphinx-rtd-theme (==0.5.2)
Requires-Dist: click (==8.0.1)
Requires-Dist: wheel (==0.36.2)
Requires-Dist: twine (==3.4.1)

# DPKG CKAN MG

## Descrição

Pacote Python criado pela [Diretoria de Transparência Ativa - DTA](https://www.cge.mg.gov.br/a-cge/quem-e-quem/subcontroladoria-de-transparencia-e-integridade) da [Controladoria Geral do Estado de Minas Gerais - CGE/MG](https://www.cge.mg.gov.br/) com intuito de automatizar a publicação/manutenção de conjunto de dados abertos no [Portal de Dados Abertos do Estado de Minas Gerais](https://dados.mg.gov.br/). Trabalho realizado seguindo padrões internacionais de documentação e utilização de conjuntos de dados abertos, tais como [Frictionless Data](https://frictionlessdata.io/) e ferramentas open source como [CKAN](https://ckan.org/).

Obs.: "#" Utlizados nas caixas de código abaixo são comentários e deverão ser observados atentamente antes da execução de qualquer comando

## Utilização

- Instalação

```
$ pip install dpkgckanmg
```

- Trabalhando com variáveis de ambiente

A utilizaçao deste pacote exige a utilizaçao de chaves CKAN, tanto do ambiente de [homologação](https://homologa.cge.mg.gov.br/) quanto de [produção](https://dados.mg.gov.br/). Para solicitar login de acesso mande um e-mail para dadosabertos@cge.mg.gov.br.


Sugerimos a criação de um arquivo .env na raiz do pacote (bem como o cadastro .gitignore do mesmo) para utilização destas chaves sem a sincronização das mesmas com o repositório online. O pacote "python-dotenv" necessário para carregamento das chaves cadastradas no arquivo .env, será instalado juntamente com o pacote. Sendo assim, sugerimos os seguintes passos para criaçao do arquivo .env:

```
# Criação arquivo .env com estrutura para receber chaves CKAN homologação e produção
# Após a criação, abra o arquivo e inclua as chaves em seus respectivos ambientes
$ echo "CKAN_HOMOLOGA=''\nCKAN_PORTAL=''" > .env

# Inclua ".env" na última linha do arquivo .gitignore existente na raiz do conjunto. Caso .gitignore não exista execute o comando abaixo:
# CUIDADO: Caso comando abaixo seja executado em um conjunto cujo .gitignore exista toda configuração preexistente no mesmo será apagada
$ echo ".env" > .gitignore
```


- Publicação de conjuntos (Arquivo Python ou terminal)
  - publish(package_path, ckan_key, environment):
    - package_path: caminho do arquivo datapackage.json
    - ckan_key: chave ckan do usuário no ambiente desejado
    - environment: escolher entre "homologa" e"portal" (homologa default)

```
# Publicação em ambiente de homologação - Executar na raiz do conjunto (local onde datapackage.json está armazenado)

import os
from dotenv import load_dotenv
load_dotenv()
from dpkgckanmg import publish
publish("./", os.getenv('CKAN_HOMOLOGA'), "homologa")


# Publicação em ambiente de produção - Executar na raiz do conjunto (local onde datapackage.json está armazenado)

import os
from dotenv import load_dotenv
load_dotenv()
from dpkgckanmg import publish
publish("./", os.getenv('CKAN_PORTAL'), "portal")
```

# Criar Recurso
from dpkgckanmg import criarArquivo2
criarArquivo2(1, 2, 3)

# Atualizar Data Set
from dpkgckanmg import dataSet
dataSet(1, 2, 3)

# Atualizar Recurso
from dpkgckanmg import resource
resource(1, 2, 3)


### 1,2 3 deveráo ser retirados do arquivo .doc (gabriel atualizará)
```

## Desenvolvimento

# Instalação

- Prerequisitos:
  - Python 3.9 ou superior

- [Documentação de referência mostrando procedimentos necessários para contribuiação em um projeto open source](https://www.dataschool.io/how-to-contribute-on-github/)
- Passos básicos:
  - Fork o repositório do projeto
  - Clone o repositório criado em sua conta após o fork
  - Navegue até o repositório clonado em sua máquina
  - Crie e ative ambiente python para utilizar o projeto. Os passos abaixo são sugestões, podendo outro método ser utilizado de acordo com a preferência do usuário:
```
$ python3.9 -m venv venv
$ source venv/bin/activate
(venv) ➜ pip install -r requirements.txt
# Desativar o ambiente
(venv) ➜ deactivate
```
  - Crie um branch e realize as modificações necessárias
  - Realize o push de suas modificações no branch criado
  - Abra um PR explicando os motivos que o levaram a realizar a modificar parte do código e em como esta modificação auxiliará no desenvolvimento do projeto

# Atualização de versão

Conforme relatado no [issue 6](https://github.com/dados-mg/dpkgckanmg/issues/6), atualização de versões no [Pypi](https://pypi.org/) deve seguir os passos:

- Visualização da última versão publicada no Pypi
- Atualização arquivo setup.py com uma versão superior à identificada no Pypi
- Commit diretamente na main da modificação
```
$ git add .
$ git commit -m "v<numero-versao>"
# Exemplo - $ git commit -m "v0.0.1.9013"
```
- Criação da tag e vinculação da mesma com o último commit
```
$ git tag v<numero-versao> HEAD
# Exemplo - $ git tag v0.0.1.9013 HEAD
```
- Push commit (diretamente main) e tag para repo online
```
$ git push origin main                # branch
$ git push origin v<numero-versao>    # tag
```
- Publicar nova versão
```
# Leitura do arquivo Makefile para relembrar
# Ativar ambiente python e publicação
$ source venv/bin/activate
(venv) ➜  dpkgckanmg git:(main) make update-package
```

- Consulta nova versão publicada


Change Log
==========

0.0.1.9020 (09/06/2021)
------------------
- Publicação de documentação online do pacote
- Correção de bugs e exclusão de códigos repetidos ao longo do projeto


0.0.1.9000 (06/05/2021)
------------------
- Lançamento primeira versão de teste do pacote


