Non è necessario, ma è consigliato includere documentazione e test di unità nella confezione.
Per quanto riguarda la documentazione:
Vecchio stile o per meglio dire rilasci di origine della vecchia scuola del software open source contengono la documentazione, si tratta di uno standard (dare un'occhiata al software GNU, per (de facto?) esempio). La documentazione fa parte del codice e dovrebbe far parte della versione, semplicemente perché una volta scaricato il rilascio sorgente sei indipendente. Sei mai stato nella situazione in cui sei stato su un treno da qualche parte, dove dovevi dare una rapida occhiata alla documentazione del modulo X ma non disponevi di accesso a Internet? E poi hai realizzato con sollievo che i documenti sono già lì, a livello locale.
Un altro punto importante a questo proposito è che la documentazione che si associa al codice si applica sicuramente alla versione del codice. Codice e documenti sono sincronizzati.
Un'altra cosa in particolare per quanto riguarda Python: è possibile scrivere i documenti utilizzando Sphinx e quindi creare un bellissimo output HTML basato sull'origine della documentazione nel processo di installazione del pacchetto. Ho visto vari pacchetti Python fare esattamente questo.
test relativi a:
Immaginate i test sono in bundle nella versione sorgente e sono facili da eseguire da parte dell'utente (si dovrebbe documentare come fare). Quindi, se l'utente osserva un problema con il tuo codice che non è così facile da rintracciare, può semplicemente eseguire i test di unità nel suo ambiente e vedere se almeno quelli stanno passando. In caso contrario, probabilmente hai assunto un presupposto errato specificando il comportamento del tuo codice, che è utile conoscere. Quello che voglio dire è: può essere molto buono per te come sviluppatore se rendi molto semplice all'utente l'esecuzione di test unitari.
fonte
2013-07-18 11:37:23
Non riesco a trovare alcun PEP o sezione della documentazione di Setuptools che in realtà non dica nulla su test e documenti, ma il modello generale che vedo è che i pacchetti bundle test e non impacchettano la documentazione. – Blender
Hmm. In genere mi aspettavo il contrario - mentre posso vedere il valore di includere la documentazione si può essere consultato offline, mi sembra che la maggior parte degli utenti regolari (cioè, persone che installeranno semplicemente la lib e la usino, assumendola semplicemente funziona, piuttosto che le persone interessate a hackerare le tue cose) probabilmente non eseguirò mai i test inclusi, quindi raggrupparli sembra uno (trascurabile, ma comunque) spreco per me. Grazie comunque per la risposta :) – astrognocci
La documentazione di tali pacchetti è comunque generata dal codice sorgente, quindi basta fare 'help (funzione)' e la stessa documentazione viene estratta dalla docstring del metodo o modulo. – Blender