kaldi-io-for-python icon indicating copy to clipboard operation
kaldi-io-for-python copied to clipboard

Packaging as a library

Open RicherMans opened this issue 8 years ago • 5 comments

Hey Karel, I'd like to ask if it would be possible to ship this script as a library (e.g. to install that with pip), since I guess most people using this script copy it around their system a lot. It's just a bit more convenient.

RicherMans avatar Nov 30 '17 14:11 RicherMans

Hi, it is not necessary to make copies of the script, an easy solution is to add its location into $PYTHONPATH variable in '$HOME/.bashrc' or '$HOME/.profile'. Then, the import kaldi_io works from any location... (I added an 'Install' paragraph into README.md about it)

I seems to be a bit too complicated to turn 'kaldi-io-for-python' into a 'pip' project. So I prefer to avoid the hassle and keep it as it is, but if someone is willing to do the packaging I am not against.

K.

KarelVesely84 avatar Dec 05 '17 10:12 KarelVesely84

Even though it is possible to put it in the pythonpath, it is a bit of a hassle, since most users in my lab make useage of conda and it's virtual environment, meaning that one would possibly need to copy the script in every $pythonpath for each environment. Nonetheless, since it depends on KALDI_PATH it is a bit bold to put the script into a python only repository, even though it has other (nonpython) dependencies. Did you guys actually ever thought about Conda and it's virtual environment to include KALDI and this script? It seems a bit asinine, but at least we here in SJTU mostly use exclusively your script to "glue" the feature preprocessing front-end of kaldi, with deep neural network tools, written in python. Nontheless, great work Karel!

RicherMans avatar Dec 05 '17 12:12 RicherMans

@RicherMans Since i used Kaldi & python in virtual environment, i provide another manual installation method here:

(entering virtual env.)
$ python
>>> import sys
>>> sys.path
(check your package importing path, for instance, here i found <somepath>/site-packages)
$ cd <somepath>/site-packages
$ git clone https://github.com/vesis84/kaldi-io-for-python.git
$ ln -s kaldi-io-for-python/kaldi_io.py kaldi_io.py

Then everything will be fine. or you guys can write a script to automate it.

Hope my comment might not be too naive.

FredWe avatar Dec 06 '17 12:12 FredWe

Hey there @FredWe That is of course a possible solution, but I personally just do not enjoy "hacky" scripts, which are floating around my site-package folder. Main reason is that another user on the same computer might not be able to run my scripts and needs to search by hand for kaldi_io, then copy into his own directory or copy into his site-packages dir. But nothing against that approach, it works fine, just in our workflow here, where we have lots of users on a cluster and many virtual environments it seems a bit arduous. For example a good old pip freeze script that indicates all the current packages required to run the experiment seem to me cleaer than installing only some packages over pip and then copying kaldi_io.

Nonetheless, thanks for the short script there 👍

RicherMans avatar Dec 06 '17 12:12 RicherMans

Hello everyone, after a recent discussion with Ondrej Platek in Prague and getting his support, the 'kaldi_io' library code is now on 'pypi':

https://pypi.org/project/kaldi-io/

Thank you all for your patience. Karel

KarelVesely84 avatar Feb 12 '19 14:02 KarelVesely84