Includere le licenze e scrivere i README

Sviluppare pacchetti Python

James Fulton

Climate informatics researcher

Perché mi serve una licenza?

  • Per dare ad altri il permesso di usare il tuo codice
Sviluppare pacchetti Python

Licenze open source

  • Trova più informazioni qui
  • Consenti agli utenti di
    • usare il tuo package
    • modificare il tuo package
    • distribuire versioni del tuo package
1 https://choosealicense.com
Sviluppare pacchetti Python

Che cos'è un README?

  • La "prima pagina" del tuo package
  • Mostrato su Github o PyPI
Sviluppare pacchetti Python

Cosa includere in un README

Sezioni del README

  • Titolo
  • Descrizione e funzionalità
  • Installazione
  • Esempi d'uso
  • Contributi
  • Licenza
Sviluppare pacchetti Python

Formato del README

Markdown (commonmark)

  • Nel file README.md
  • Più semplice
  • Usato in questo corso e in giro
reStructuredText

  • Nel file README.rst
  • Più complesso
  • Anch'esso comune in giro
Sviluppare pacchetti Python

Commonmark

Contenuti di README.md














`

Come appare una volta renderizzato

Sviluppare pacchetti Python

Commonmark

Contenuti di README.md

# mysklearn

mysklearn è un package per la **regressione lineare** completa in Python.
Puoi saperne di più su questo package su [DataCamp](https://datacamp.com)

Come appare una volta renderizzato

mysklearn

mysklearn è un package per la regressione lineare in python.

Puoi saperne di più su questo package su DataCamp

Sviluppare pacchetti Python

Commonmark

Contenuti di README.md

# mysklearn

mysklearn è un package per la **regressione lineare** completa in Python.
Puoi saperne di più su questo package su [DataCamp](https://datacamp.com)
## Installazione Puoi installare questo package usando

Come appare una volta renderizzato

mysklearn

mysklearn è un package per la regressione lineare in python.

Puoi saperne di più su questo package su DataCamp

Installazione

Puoi installare questo package usando

Sviluppare pacchetti Python

Commonmark

Contenuti di README.md

# mysklearn
mysklearn è un package per la 
**regressione lineare** completa in Python.

Puoi saperne di più su questo package 
su [DataCamp](https://datacamp.com)

## Installazione
Puoi installare questo package usando

```
pip install mysklearn
```

Come appare una volta renderizzato

mysklearn

mysklearn è un package per la regressione lineare in python.

Puoi saperne di più su questo package su DataCamp

Installazione

Puoi installare questo package usando

pip install mysklearn
Sviluppare pacchetti Python

Aggiungere questi file al tuo package

Struttura delle directory per un package con sottopackage

mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE      <--- nuovi file
|-- README.md    <--- aggiunto alla directory principale
Sviluppare pacchetti Python

MANIFEST.in

Elenca tutti i file extra da includere nella distribuzione del package.

Sviluppare pacchetti Python

MANIFEST.in

Contenuto di MANIFEST.in

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

Esercitiamoci!

Sviluppare pacchetti Python

Preparing Video For Download...