Skip to content

Add the option for custom default PyPI indexes when creating cross environments #98

Open

Description

@freakboy3742

What is the problem or limitation you are having?

A cross-platform virtual environment can use PyPI's index; but while iOS/Android wheels aren't common, using a third-party wheel store (like BeeWare's or Chaquopy's) will be a common requirement.

At present, it is necessary to manually specify --extra-index-url to every invocation of pip in a cross-platform environment; however, by adding a pip.conf to the root of the a venv, it's possible to automatically configure pip flags when the environment is used.

Describe the solution you'd like

When a xvenv creates a virtual environment, it should be possible to pass in --index-url, plus a list of --extra-index-url and --find-links options that are added to the pip configuration for the underlying venv.

It should also be possible to pass in --only-binary or --prefer-binary options, and have those preserved in the pip.conf

When xbuild or xpython is invoked, the same options should be made available, and applied to the cross-platform environment that is created.

Describe alternatives you've considered

Continue to require manual options to pip.

Additional context

These options should be handled as common options across all commands. They should be inherited into any cross-environment that is created from inside an active environment unless the environment is explicitly overridden (e.g., if you're in an iOS environment and create an iOS environment, any index options should be carried over; but if you create an Android environment, the iOS options would not be carried over).

Activity

  1. moved this from To triage to Needs design in BeeWare Planningon Oct 2, 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

    enhancementNew feature or request

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions