Inclure des licences et rédiger des READMEs

Développer des packages Python

James Fulton

Climate informatics researcher

Pourquoi ai-je besoin d'une licence ?

  • Donner aux autres l'autorisation d'utiliser votre code
Développer des packages Python

Licences open source

  • Plus d'informations ici
  • Autoriser les utilisateurs à
    • utiliser votre package
    • modifier votre package
    • distribuer des versions de votre package
1 https://choosealicense.com
Développer des packages Python

Qu'est-ce qu'un README ?

  • La « page d'accueil » de votre package
  • Affiché sur GitHub ou PyPI
Développer des packages Python

Que mettre dans un README

Sections d'un README

  • Titre
  • Description et fonctionnalités
  • Installation
  • Exemples d'utilisation
  • Contribution
  • Licence
Développer des packages Python

Format du README

Markdown (commonmark)

  • Dans le fichier README.md
  • Plus simple
  • Utilisé dans ce cours et couramment
reStructuredText

  • Dans le fichier README.rst
  • Plus complexe
  • Aussi courant
Développer des packages Python

Commonmark

Contenu de README.md














`

Rendu final à l'affichage

Développer des packages Python

Commonmark

Contenu de README.md

# mysklearn

mysklearn est un package pour une **régression linéaire** complète en Python.
Vous pouvez en savoir plus sur ce package sur [DataCamp](https://datacamp.com)

Rendu final à l'affichage

mysklearn

mysklearn est un package pour une régression linéaire complète en python.

Vous pouvez en savoir plus sur ce package sur DataCamp

Développer des packages Python

Commonmark

Contenu de README.md

# mysklearn

mysklearn est un package pour une **régression linéaire** complète en Python.
Vous pouvez en savoir plus sur ce package sur [DataCamp](https://datacamp.com)
## Installation Vous pouvez installer ce package avec

Rendu final à l'affichage

mysklearn

mysklearn est un package pour une régression linéaire complète en python.

Vous pouvez en savoir plus sur ce package sur DataCamp

Installation

Vous pouvez installer ce package avec

Développer des packages Python

Commonmark

Contenu de README.md

# mysklearn
mysklearn est un package pour une
**régression linéaire** complète en Python.

Vous pouvez en savoir plus sur ce package
sur [DataCamp](https://datacamp.com)

## Installation
Vous pouvez installer ce package avec

```
pip install mysklearn
```

Rendu final à l'affichage

mysklearn

mysklearn est un package pour une régression linéaire complète en python.

Vous pouvez en savoir plus sur ce package sur DataCamp

Installation

Vous pouvez installer ce package avec

pip install mysklearn
Développer des packages Python

Ajouter ces fichiers à votre package

Arborescence d'un package avec sous-packages

mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE      <--- nouveaux fichiers
|-- README.md    <--- ajouté à la racine
Développer des packages Python

MANIFEST.in

Répertorie tous les fichiers supplémentaires à inclure dans la distribution de votre package.

Développer des packages Python

MANIFEST.in

Contenu 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   <---
Développer des packages Python

Passons à la pratique !

Développer des packages Python

Preparing Video For Download...