Incluir licencias y escribir READMEs

Desarrollo de paquetes en Python

James Fulton

Climate informatics researcher

¿Por qué necesito una licencia?

  • Para dar permiso a otras personas para usar tu código
Desarrollo de paquetes en Python

Licencias de código abierto

  • Encuentra más información aquí
  • Permite a las personas usuarias
    • usar tu paquete
    • modificar tu paquete
    • distribuir versiones de tu paquete
1 https://choosealicense.com
Desarrollo de paquetes en Python

¿Qué es un README?

  • La «portada» de tu paquete
  • Se muestra en Github o PyPI
Desarrollo de paquetes en Python

Qué incluir en un README

Secciones del README

  • Título
  • Descripción y características
  • Instalación
  • Ejemplos de uso
  • Contribuir
  • Licencia
Desarrollo de paquetes en Python

Formato de README

Markdown (commonmark)

  • Contenido en el archivo README.md
  • Más simple
  • Usado en este curso y en la práctica
reStructuredText

  • Contenido en el archivo README.rst
  • Más complejo
  • También común en la práctica
Desarrollo de paquetes en Python

Commonmark

Contenido de README.md














`

Cómo se ve al renderizarlo

Desarrollo de paquetes en Python

Commonmark

Contenido de README.md

# mysklearn

mysklearn es un paquete para **regresión lineal** completa en Python.
Puedes obtener más información sobre este paquete en [DataCamp](https://datacamp.com)

Cómo se ve al renderizarlo

mysklearn

mysklearn es un paquete para regresión lineal completa en python.

Puedes obtener más información sobre este paquete en DataCamp

Desarrollo de paquetes en Python

Commonmark

Contenido de README.md

# mysklearn

mysklearn es un paquete para **regresión lineal** completa en Python.
Puedes obtener más información sobre este paquete en [DataCamp](https://datacamp.com)
## Instalación Puedes instalar este paquete usando

Cómo se ve al renderizarlo

mysklearn

mysklearn es un paquete para regresión lineal completa en python.

Puedes obtener más información sobre este paquete en DataCamp

Instalación

Puedes instalar este paquete usando

Desarrollo de paquetes en Python

Commonmark

Contenido de README.md

# mysklearn
mysklearn es un paquete para 
**regresión lineal** completa en Python.

Puedes obtener más información sobre este paquete 
en [DataCamp](https://datacamp.com)

## Instalación
Puedes instalar este paquete usando

```
pip install mysklearn
```

Cómo se ve al renderizarlo

mysklearn

mysklearn es un paquete para regresión lineal completa en python.

Puedes obtener más información sobre este paquete en DataCamp

Instalación

Puedes instalar este paquete usando

pip install mysklearn
Desarrollo de paquetes en Python

Añadir estos archivos a tu paquete

Árbol de directorios para un paquete con subpaquetes

mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE      <--- archivos nuevos
|-- README.md    <--- añadido al directorio raíz
Desarrollo de paquetes en Python

MANIFEST.in

Enumera todos los archivos extra que incluir en la distribución de tu paquete.

Desarrollo de paquetes en Python

MANIFEST.in

Contenido 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   <---
Desarrollo de paquetes en Python

¡Vamos a practicar!

Desarrollo de paquetes en Python

Preparing Video For Download...