GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — `extra !=` does not work as expected · Issue #6583 · feast-dev/feast

extra != does not work as expected #6583

New issue
Copy link
New issue
Copy link
Closed
#6604
Closed
extra != does not work as expected#6583
#6604
Copy link
Labels
kind/bugpriority/p2

Description

@konstin
konstin
opened on Jul 4, 2026
Issue body actions

#6476 has recently added (https://github.com/feast-dev/feast/pull/6476/changes#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711L26) the following lines to pyproject.toml:

feast/pyproject.toml

Lines 26 to 27 in f296d4b

"pyarrow>=21.0.0; extra != 'flink'",
"pyarrow>=16.1.0,<21.0.0; extra == 'flink'",

The extra != 'flink'" of this does not work as expected: Neither pip or uv support extra != markers, with uv first evaluating feast on its own without the base package and pip always evaluating it to true. As we're in the process of formally removing extra != due to being broken by design (https://discuss.python.org/t/ban-negative-extras-for-extras-marker/108022), we found this one usage and wanted give you a heads up about this feature being broken.

When you try to [uv] pip install feast[flink], it currently downgrades to installing 0.63.0, to avoid the unsatisfiable 0.64.0.

CC @XuananLe

Activity

  1. konstin
    added
    kind/bug
    priority/p2
    on Jul 4, 2026
  2. konstin commented on Jul 4, 2026

    @konstin
    konstin
    on Jul 4, 2026
    Author
    More actions

    For context, the tool output:

    $ uv pip install --no-build "feast[flink]"
    Resolved 68 packages in 94ms
    Prepared 33 packages in 799ms
    Installed 68 packages in 30ms
    [...]
     + feast==0.63.0
    [...]
    warning: The package `feast==0.63.0` does not have an extra named `flink`
    
    $ uv pip install --no-build "feast[flink]==0.64.0"
      × No solution found when resolving dependencies:
      ╰─▶ Because feast[flink]==0.64.0 depends on pyarrow>=16.1.0,<21.0.0 and feast==0.64.0 depends on pyarrow{python_version < '0'}>=21.0.0, we can conclude that
          feast==0.64.0 and feast[flink]==0.64.0 are incompatible.
          And because you require feast[flink]==0.64.0, we can conclude that your requirements are unsatisfiable.
    
    $ pip install --only-binary :all: "feast[flink]"
    [...]
    Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.3 PyYAML-6.0.3 SQLAlchemy-2.0.51 annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.14.1 ast-serialize-0.6.0 attrs-26.1.0 bigtree-1.5.1 certifi-2026.6.17 charset_normalizer-3.4.7 click-8.4.2 cloudpickle-3.1.2 colorama-0.4.6 dask-2026.6.0 dill-0.3.9 fastapi-0.139.0 feast-0.63.0 fsspec-2026.6.0 greenlet-3.5.3 gunicorn-26.0.0 h11-0.16.0 httptools-0.8.0 idna-3.18 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 librt-0.12.0 locket-1.0.0 mmh3-5.2.1 mypy-2.1.0 mypy_extensions-1.1.0 numpy-2.5.0 packaging-26.2 pandas-2.3.3 partd-1.4.2 pathspec-1.1.1 prometheus_client-0.25.0 protobuf-7.35.1 psutil-7.2.2 pyarrow-24.0.0 pydantic-2.13.4 pydantic-core-2.46.4 pygments-2.20.0 pyjwt-2.13.0 python-dateutil-2.9.0.post0 python-dotenv-1.2.2 pytz-2026.2 referencing-0.37.0 requests-2.34.2 rpds-py-2026.6.3 six-1.17.0 starlette-1.3.1 tabulate-0.10.0 tenacity-8.5.0 toml-0.10.2 toolz-1.1.0 tqdm-4.68.3 typeguard-4.5.2 typing-extensions-4.16.0 typing-inspection-0.4.2 tzdata-2026.2 urllib3-2.7.0 uvicorn-0.34.0 uvicorn-worker-0.3.0 uvloop-0.22.1 watchfiles-1.2.0 websockets-16.0
    [...]
    
    $ pip install --only-binary :all: "feast[flink]==0.64.0"
    [...]
    ERROR: Cannot install feast and feast[flink]==0.64.0 because these package versions have conflicting dependencies.
                                                                                                                                                                        
    The conflict is caused by:
        feast 0.64.0 depends on pyarrow>=21.0.0; extra != "flink"
        feast[flink] 0.64.0 depends on pyarrow<21.0.0 and >=16.1.0; extra == "flink"
    [...]
    
    Reacted by Shuchu Han
  3. shuchu commented on Jul 4, 2026

    @shuchu
    shuchu
    on Jul 4, 2026
    Collaborator
    More actions

    Thank you for the info. @konstin . I'll keep my eyes open on this issue.

  4. shuchu
    pinned this issue on Jul 4, 2026
  5. shuchu commented on Jul 7, 2026

    @shuchu
    shuchu
    on Jul 7, 2026
    Collaborator
    More actions

    @franciscojavierarceo @ntkathole @HaoXuAI @XuananLe Regarding this issue, I'm thinking of putting the feastt[flink] feature into a dedicate branch like "feast/flink" temporary and waiting for the pyflink to support pyarrow >= 21.0. what's you guys' opinion? as proposed, I will do:
    1, create a new branch to store the feature of pyflink
    2, revert the pyflink (and related) PRs. Update the document and make a notice about this change.

  6. ntkathole commented on Jul 14, 2026

    @ntkathole
    ntkathole
    on Jul 14, 2026
    Member
    More actions

    @shuchu we can also do broad base + upper-bound in extra:

    In [project.dependencies]:

    "pyarrow>=16.1.0",

    In [project.optional-dependencies.flink]:

    "pyarrow<21.0.0",

    Reacted by Shuchu Han
  7. ntkathole
    closed this as completedin #6604on Jul 19, 2026
  8. shuchu
    unpinned this issue on Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugpriority/p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402520 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.