DavideChicco.it
DavideChicco.it

Reputation: 3470

What's the best way to release two versions of the same software package on GitHub?

A collaborator of mine wrote a software package in Python 2.7, took advantage of it to run some tests and obtain some scientific results. We wrote together a paper about the methods he developed and the results he obtained. Everything worked out well so he recently put this package publically available on his GitHub webpage.

Then I thought it would have been useful to have a Python 3.5 version of that package. Therefore I downloaded the original software and made the proper changes to have it working on Python 3.5.

Now I don't know how to properly release this Python 3.5 package.

I envision three possibilities:

  1. Should I put it on his original GitHub project repository? This option would lead to some confusion, because people would have to download both the Python 2.7 and the Python 3.5 code.

  2. Should I create a new repository only for my Python 3.5 package, in addition to the Python 2.7 one released by my collaborator? This option would lead to the existence of two running code repositories, and to some confusion as well, because people might not know which is the "official one" to use.

  3. Should I create a new repository only for my Python 3.5 package, and ask my collaborator to delete his Python 2.7 repository? This option would make our paper inconsistent, because it states that tests were done with Python 2.7.

Do you envision any other option I did not include?

Do you have any suggestion?

Upvotes: 0

Views: 51

Answers (1)

soupwaylee
soupwaylee

Reputation: 127

I think number 1. and 2. should both work as long as you provide enough details in the README.md file in the repository.

In case of option 1, you should ask your collaborator to add you as a collaborator to the repository. In case of number 2, you should definitely cross-link each other's repositories in your README-files respectively.

I'd definitely add a requirements.txt file for each python version so that the users can conveniently install your dependencies with pip install -r requirements.txt or pip3 install -r requirements.txt.

Upvotes: 1

Related Questions