Python SkLearn Gradient Boost Classifier Sample_Weight Clarification
The sample_weight parameter is used both to weigh the splits as well as to weigh the errors.

Errors

For example, using the LeastSquaresError, the implementation uses the sample weights thusly:

def __call__(self, y, pred, sample_weight=None):
    if sample_weight is None:
        return np.mean((y - pred.ravel()) ** 2.0)
    else:
        return (1.0 / sample_weight.sum() *
                np.sum(sample_weight * ((y - pred.ravel()) ** 2.0)))


So if we provide large weights to certain samples, their individual error will have a bigger influence on the overall error for that sample set. The squared prediction error for each sample is scaled by by the corresponding weight, and the sum is normalised by the sum of the sample weights.

If no weights are provided, (leaving the default sample_weight=None), then they are initialised to a vector of ones, example here.

Splits

In the case that you set the parameter min_weight_fraction_leaf upon class instantiation, requiring each leaf to obtain a minimum fraction of the total sum of weight to indeed become a leaf, then sample_weight is also used to scale that value.  You can see it here:

    # Set min_weight_leaf from min_weight_fraction_leaf
    if self.min_weight_fraction_leaf != 0. and sample_weight is not None:
        min_weight_leaf = (self.min_weight_fraction_leaf *
                           np.sum(sample_weight))