### Apache Airflow version

2.7.0

### What happened

When trying to install SodaCore on Airflow 2.7, the following error is received due to a conflict with `opentelemetry-api`.

```
ERROR: Cannot install apache-airflow==2.7.0 and soda-core==3.0.48 because these package versions have conflicting dependencies.

The conflict is caused by:
    apache-airflow 2.7.0 depends on opentelemetry-api==1.15.0
    soda-core 3.0.48 depends on opentelemetry-api~=1.16.0
```

SodaCore has depended on `opentelemetry-api~=1.16.0` ever since v[3.0.24](https://github.com/sodadata/soda-core/releases/tag/v3.0.24).

### What you think should happen instead

Airflow needs to support versions of `opentelemetry-api` 1.16.x.

### How to reproduce

Simply running the following commands to install the two packages should reproduce the error.

```
$ python3 -m venv /tmp/soda                                                                                         
$ /tmp/soda/bin/pip install apache-airflow==2.7.0 soda-core-bigquery==3.0.48
```

### Operating System

n/a

### Versions of Apache Airflow Providers

_No response_

### Deployment

Virtualenv installation

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"""
    Build the name of provider package out of the package id provided.
    :param package_id: id of the package (like amazon or microsoft.azure)
    :return: full name of package in PyPI
    """
    version_spec = ""
    if ">=" in package_id:
        package, version = package_id.split(">=")
        version_spec = f">={version}"
        version_suffix = os.environ.get("VERSION_SUFFIX_FOR_PYPI")
        if version_suffix:
            version_spec += version_suffix
    else:
        package = package_id
    package_suffix = package.replace(".", "-")
    return f"apache-airflow-providers-{package_suffix}{version_spec}"
def get_excluded_providers() -> list[str]:
    """Return packages excluded for the current python version."""
    return []
def get_all_provider_packages() -> str:
    """Return all provider packages configured in setup.py."""
    excluded_providers = get_excluded_providers()
    return " ".join(
        get_provider_package_name_from_package_id(package)
        for package in ALL_PROVIDERS
        if package not in excluded_providers
    )
class AirflowDistribution(Distribution):