# Important Update on setuptools: Pinning The Version Below 80.0.0

**URL:** <https://community.palantir.com/t/important-update-on-setuptools-pinning-the-version-below-80-0-0/3872>\
**Category:** Inside the Product\
**Tags:** functions, python-functions\
**Created:** [May 14, 2025, 8:04pm UTC](https://community.palantir.com/t/important-update-on-setuptools-pinning-the-version-below-80-0-0/3872 "2025-05-14T20:04:05Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![0e9f271e16eea3971ae1](https://avatars.discourse-cdn.com/v4/letter/0/e9c0ed/32.png) [@0e9f271e16eea3971ae1](https://community.palantir.com/u/0e9f271e16eea3971ae1)\
**Post date:** [May 14, 2025, 8:04pm UTC](https://community.palantir.com/t/important-update-on-setuptools-pinning-the-version-below-80-0-0/3872/1 "2025-05-14T20:04:05Z")

</div>

As of version 80.0.0, the Python package `setuptools` has introduced a breaking change that may affect your Python Functions. All Python Functions rely on `setuptools` at this time - it is crucial to take immediate action to ensure compatibility and stability.

## What Changed in Setuptools 80.0.0?

The latest release of `setuptools` version `80.0.0` removes support for `easy_install` that disrupts the existing Python Functions workflow. These changes can will lead to this error when building: `Unexpected failure in task condaDevelop`.

## Recommended Actions

To mitigate potential issues, we advise pinning the version of `setuptools` to `<=79.0.1` in your `meta.yaml` file. This ensures that your environment remains stable and continues to function as expected. Additionally, we recommend avoiding the inclusion of the `packaging` package in your `build` section, if able.

### Example meta.yaml

Below is an example of how you should configure your `meta.yaml` file to reflect these recommendations:

```yaml
...

requirements:
  build:
    - python
    - setuptools <=79.0.1
  run:
    - python
    - functions-python-api
    - setuptools <=79.0.1
build:
  noarch: python
  script: python setup.py install --single-version-externally-managed --record=record.txt

...

```

### Key Points

- **Pin Setuptools Version** : Ensure that both the `build` and `run` sections of your `meta.yaml` file specify `setuptools <=79.0.1`. This prevents automatic upgrades to version `>=80.0.0` , introducing breaking changes.
- **Optionally, exclude `packaging` from Build** : Refrain from including the `packaging` package in the `build` section of your `meta.yaml` to avoid potential conflicts.
