transferwise / pipelinewise-singer-python

Writes the Singer format from Python https://singer.io - Pipelinewise compatible
Apache License 2.0
8 stars 19 forks source link

missing wheels for ciso8601 - switch to another package? #67

Closed airosa closed 1 year ago

airosa commented 2 years ago

Hello, and thanks for this project!

Dependency ciso8601 is missing wheels in Pypi and this makes it difficult to install this package in containers etc. There is an issue open on this since 2017: https://github.com/closeio/ciso8601/issues/25.

Ciso8601 seems to be used for converting dates in ISO format. Maybe you could consider switching away from ciso8601 to another package that provides similar functionality and acceptable performance. According to the ciso8601 description in Pypi (https://pypi.org/project/ciso8601/) for example Pendulum seems to come pretty close in performance.

Cheers Sami

edgarrmondragon commented 2 years ago

Bump to this. ciso8601 not publishing wheels is a real hurdle to installing packages that use this library in environments without the required build toolchain.

+1 on @airosa's suggestion to use pendulum.

edgarrmondragon commented 1 year ago

ciso8601 just released 2.3.0 with a bunch of wheels. This project doesn't pin it, and I can confirm that the latest is installed

$ PIP_ONLY_BINARY="ciso8601" pipx install pipelinewise-tap-mysql --python $(pyenv which python3.11)
  installed package pipelinewise-tap-mysql 1.5.2, installed using Python 3.11.0
  These apps are now globally available
    - tap-mysql
done! ✨ 🌟 ✨

$ pipx runpip pipelinewise-tap-mysql freeze | grep ciso
ciso8601==2.3.0

I think this can be closed now 🙂

https://github.com/closeio/ciso8601/issues/25#issuecomment-1362087093

airosa commented 1 year ago

Just to confirm that pip install works now just fine also for me (see above). Thanks to @edgarrmondragon !