Incluindo licenças e escrevendo READMEs

Desenvolvendo pacotes Python

James Fulton

Climate informatics researcher

Por que preciso de uma licença?

  • Para dar permissão a outras pessoas para usar seu código
Desenvolvendo pacotes Python

Licenças de código aberto

  • Saiba mais aqui
  • Permite que usuários
    • usem seu pacote
    • modifiquem seu pacote
    • distribuam versões do seu pacote
1 https://choosealicense.com
Desenvolvendo pacotes Python

O que é um README?

  • A "página inicial" do seu pacote
  • Exibida no Github ou PyPI
Desenvolvendo pacotes Python

O que incluir em um README

Seções do README

  • Título
  • Descrição e recursos
  • Instalação
  • Exemplos de uso
  • Contribuição
  • Licença
Desenvolvendo pacotes Python

Formato do README

Markdown (commonmark)

  • No arquivo README.md
  • Mais simples
  • Usado neste curso e no mundo real
reStructuredText

  • No arquivo README.rst
  • Mais complexo
  • Também comum no mundo real
Desenvolvendo pacotes Python

Commonmark

Conteúdo de README.md














`

Como fica quando renderizado

Desenvolvendo pacotes Python

Commonmark

Conteúdo de README.md

# mysklearn

mysklearn é um pacote para **regressão linear** completa em Python.
Você pode saber mais sobre este pacote no [DataCamp](https://datacamp.com)

Como fica quando renderizado

mysklearn

mysklearn é um pacote para regressão linear completa em python.

Você pode saber mais sobre este pacote no DataCamp

Desenvolvendo pacotes Python

Commonmark

Conteúdo de README.md

# mysklearn

mysklearn é um pacote para **regressão linear** completa em Python.
Você pode saber mais sobre este pacote no [DataCamp](https://datacamp.com)
## Instalação Você pode instalar este pacote usando

Como fica quando renderizado

mysklearn

mysklearn é um pacote para regressão linear completa em python.

Você pode saber mais sobre este pacote no DataCamp

Instalação

Você pode instalar este pacote usando

Desenvolvendo pacotes Python

Commonmark

Conteúdo de README.md

# mysklearn
mysklearn é um pacote para 
**regressão linear** completa em Python.

Você pode saber mais sobre este pacote 
no [DataCamp](https://datacamp.com)

## Instalação
Você pode instalar este pacote usando

```
pip install mysklearn
```

Como fica quando renderizado

mysklearn

mysklearn é um pacote para regressão linear completa em python.

Você pode saber mais sobre este pacote no DataCamp

Instalação

Você pode instalar este pacote usando

pip install mysklearn
Desenvolvendo pacotes Python

Adicionando esses arquivos ao seu pacote

Árvore de diretórios para pacote com subpacotes

mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE      <--- novos arquivos
|-- README.md    <--- adicionado ao diretório raiz
Desenvolvendo pacotes Python

MANIFEST.in

Lista todos os arquivos extras a incluir na distribuição do pacote.

Desenvolvendo pacotes Python

MANIFEST.in

Conteúdo de MANIFEST.in

include LICENSE
include README.md
mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE
|-- README.md
|-- MANIFEST.in   <---
Desenvolvendo pacotes Python

Vamos praticar!

Desenvolvendo pacotes Python

Preparing Video For Download...