conda-forge / google-api-core-feedstock

A conda-smithy repository for google-api-core.
BSD 3-Clause "New" or "Revised" License
0 stars 19 forks source link

removed pin_compatible from pure python package requirements #22

Closed BrentDorsey closed 5 years ago

BrentDorsey commented 5 years ago

Checklist

conda-forge-linter commented 5 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

BrentDorsey commented 5 years ago

@tswast - created this PR based on some feedback I got regarding using pin_compatible on another package I was working.

pin_compatible

use for packages with non-Python code (C for example), because the compiler used for those packages should be the same for the packages downstream (if they need to be compiled too.)

I left the default implementation of pin_compatible on the google packages that use grpc.

BrentDorsey commented 5 years ago

Additional update

Talked with another Pro and received the guidance that ABI compatibility don't apply to pure Python packages. Also, for packages that do you a compiler like the c and cxx compiler you can check ABI compatibility history using a tracker like abi-laboratory.

Evaluating ABI compatibility:

Ideally projects should state what their ABI stability and monitor to avoid accidental breakages. In practice many projects don't state it so the best you can do is check trackers such as: https://abi-laboratory.pro/ Conda packages can then use run_exports to say "if you build with me as a host dependency you need to pin at runtime with this version constraint".

BrentDorsey commented 5 years ago

FYI - Another PR I was working on was merged today introducing new conda-forge feedstocks for the google cloud python packages below. :-)