transferwise / pipelinewise-target-redshift

Singer.io Target for Amazon Redshift - PipelineWise compatible
https://transferwise.github.io/pipelinewise/
Other
12 stars 65 forks source link

Prefer psycopg2-binary dependency over build from source; Match dependency versions #40

Closed paul-english closed 4 years ago

paul-english commented 4 years ago

I think this makes installation a bit easier. I'm not sure if it's preferred in this project or if there were any reasons not to use it.

koszti commented 4 years ago

Following the psycopg documentation here , the non-binary package was selected in the first go:

Note The psycopg2-binary package is meant for beginners to start playing with Python and PostgreSQL without the need to meet the build requirements. If you are the maintainer of a publish package depending on psycopg2 you shouldn’t use ‘psycopg2-binary’ as a module dependency. For production use you are advised to use the source distribution.

Additionally, the non-binary package was selected to avoid some unexpected behaviour when running it on a system where the psycopg2-binary package is not compatible., like Alpine in docker.

What do you think, does that makes sense? Please share your opinion if you disagree.

paul-english commented 4 years ago

I wasn't aware it was recommended that package maintainers use the source distribution, good to know. I suppose it makes sense from a perspective of being able to keep libpq & libssl up to date.