Closed iosonofabio closed 7 years ago
Hi Fabio
Brilliant. Thanks so much for all your work and for resurrecting HTSeq!
Do you have a PyPI account? Then I can add you as a maintainer.
About Cython: the Cython-to-C conversion is architecture-independent AFAIK. So, we can relieve users from the need to install Cython first. In previous releases, I always first ran "./build_it" (i.e., make in src/), and then "python setup.py build sdist". The source distribution thus created could then be installed by the user with "python setup.py install", without a need to have Cython installed. Can we stick to this? I suppose it should work with PIP, too. I'll try this tomorrow.
matplotlib is only needed for htseq-qa, and hardly anybody uses this anymore. (Simon Andrew's FastQC is more comprehensive.) So, we should mark the matplotlib requirement as optional?
For Windows, I always rolled binary distributions, because few Windows users have a build environment. I hope I remember how I did that, and manage to to do it again. Or is there a better way by now?
Thanks again!
SImon
Hi Simon,
I have a PyPI account, my username is iosonofabio
.
Typically committing machine-generated files to a git repo generates useless noise, but we could do it. I would think Cython is an easy dep for people, they need much worse (SWIG 3, g++, pysam), but if you are keen on relieving deps we can do it. Then we should probably also ship the StepVector.py
and the StepVector_wrap.cxx
that are generated by SWIG and, for python3, corrected by 2to3
and by my sed
trick. I can make a release 0.7.1 that includes this kind of files in the repo.
matplotlib
is already an optional dep under setuptools
, but distutils
does not understand optional deps.
I have no Windows machine available and some building steps (e.g. sed
) will probably not work on Windows, so if you provided a binary for python2 and one for python3 that would be great. For future releases, we can have a look at AppVeyor.
Hi Simon,
I included the files generated by Cython and SWIG in the git repo and I set up a mechanism in the setup.py
file to use those if SWIG and/or Cython is not found on the system. I kept 0.7.0 as a version number and just overwrote the git tags, I don't think it's a problem.
Let me know how you want to deal with the binaries and the pushing to PyPI :-)
I don't know how pysam does this but I think since 0.10 they are able to to distribute a wheels package without client side compilation
Thanks Youri, I've looked into that and you are right we should aim for it. Since the main benefit is Windows machines (because they tend to have a broken compiler), I'd suggest we set up AppVeyor first and then simply attach a deploy hook to it.
EDIT : of course this is easier said than done :-)
On February 8, 2017 5:33:41 AM PST, yhoogstrate notifications@github.com wrote:
I don't know how pysam does this but I think since 0.10 they are able to to distribute a wheels package without client side compilation
-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/simon-anders/htseq/issues/20#issuecomment-278329729
We should keep this in mind, looks like a decent start:
It's also of great intrest for Travis builds as they tend to rebuild dependencies for every PR so if we manage to get this done it's a big win :+1:
Fabio, I've added you as Maintainer on PyPI. You can upload the new releases if you want to. Though, could you edit doc/history.rst before, please, and add a summary of your changes?
I have tried to build an HTSeq binary package for Windows yesterday but I had problems installing pysam. Will try again.
Hi Simon, Thx sure will do.
As of pysam, I never got it to work on Win but in the long term I'm working on an AppVeyor to automate that as well. But it will take a while because I have no local windows machine as a positive control...
Fabio
On February 13, 2017 3:17:25 AM PST, Simon Anders notifications@github.com wrote:
Fabio, I've added you as Maintainer on PyPI. You can upload the new releases if you want to. Though, could you edit doc/history.rst before, please, and add a summary of your changes?
I have tried to build an HTSeq binary package for Windows yesterday but I had problems installing pysam. Will try again.
-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/simon-anders/htseq/issues/20#issuecomment-279359057
@simon-anders I made HTSeq compatible with
pip
for both the python2 and python3 branches and tagges 2 new releases (each for one python version) on the github repo.To complete the modernization of HTSeq, we have to push the master 0.7.0 release (python2) onto PyPI, which is currently stuck at 0.6.1:
https://pypi.python.org/pypi/HTSeq
That requires separate credentials which I do not have, so could you push it over there please?
NOTE: because of bugs in old
setuptools
, one cannot justpip install HTSeq
but must rather install Cython and matplotlib by hand before. Details are in the currentREADME.md
file, so if you could include some of that onto the PyPI page that would be helpful.NOTE: another nice thing would be if you could mention the
python3
branch for folks that prefer that.