Procedure ottimali accettate per setup.py di un progetto biforcuto

8

Contesto:

Stavo cercando di vedere se esistesse uno strumento per fare qualcosa (nel mio caso stavo cercando un proxy che permettesse l'ispezione del log http da un framework di test python).

Si è rivelato essere uno strumento che avrebbe richiesto solo un piccolo aggiustamento, e sembrava essere ragionevolmente stabile / maturo, senza aggiornamenti negli ultimi 5 mesi ( pymiproxy ), quindi ho biforcato il progetto ( qui ) e ho funzionato come ho bisogno L'obiettivo alla base del progetto originale è la semplicità, quindi dubito che una richiesta di pull sia accettata, soprattutto perché uno dei file coinvolti è utile solo al mio attuale datore di lavoro.

Infine ho pensato che dovrei aggiornare il file setup.py , ma non sono sicuro - ho fatto un 'utile' quantità di lavoro sulla mia forcella, e mentre ho lasciato i file originali intatti, sottoclassi nella mia i propri moduli, ora ci sono funzionalità aggiuntive significative.

Non so che mi sento a mio agio sostenendo di essere l '"autore" di questo modulo come sarebbe installato da python, ma come autore del progetto di fork, non mi sento a mio agio nel lasciare email di supporto dirette al autore del progetto originale.

Domanda:

Qual è la migliore prassi generale accettata per i progetti a forcella? Il progetto dovrebbe essere rinominato per indicare che si tratta di uno scopo diverso? Il progetto originale non è disponibile tramite pip, altrimenti la struttura del mio progetto permetterebbe che, invece di biforcarsi, avvolgere solo l'originale come una dipendenza. Dovrei in effetti ritirare le mie modifiche, inserirle in un nuovo progetto e ottenere le due entrambe elencate in PIPL, o lo sta facendo a nome dell'autore originale andando troppo lontano?

Note:

Titoli aggiunti per facilitare la lettura rapida. Sto cercando le migliori pratiche accettate, quindi per favore non esprimere opinioni senza fonti per sostenerle, sia che si tratti di un autorevole post sul blog, sia di esempi di altri progetti che hanno fatto lo stesso.

    
posta theheadofabroom 08.05.2013 - 13:31
fonte

1 risposta

5

Beh, in pratica quando forzo un progetto e non riesco a ottenere - o non voglio - le mie modifiche da integrare in upstream, rinominare la fork, nel README, cito l'autore originale ma pretendo di essere manutentore di quella sorgente di codice e collega la sorgente al mio repository e in setup.py aggiorna la stringa authors per aggiungere il mio nome dopo una virgola:

name='renamedproject'
author='origauthor, me',
url='http://myfavoriterepository.com/me/renamedproject'

Non ho fonti per sostenermi, ma questo è il risultato di lunghe discussioni che ho avuto con altri amici pitonisti qualche tempo fa mentre bevevo birre scure ...

    
risposta data 08.05.2013 - 13:50
fonte

Leggi altre domande sui tag