Skip to content

Python: noxfile support for extras #838

Closed

Description

@tswast

We have the following template variables for installing dependencies:

  • unit_test_external_dependencies -- install package from PyPI
  • unit_test_local_dependencies -- install package (in editable mode) from local nearby git (not relevant for non-mono-repo?)
  • unit_test_dependencies -- same as unit_test_local_dependencies?
  • system_test_external_dependencies -- install package from PyPI
  • system_test_local_dependencies -- install package (in editable mode) from local nearby git (not relevant for non-mono-repo?)

In BigQuery, we actually use system_test_local_dependencies and unit_test_local_dependencies to install "extras", but then we have logic to remove the redundant session.install("-e", ".") (see: googleapis/python-bigquery-storage#93)

I propose the following additional template parameters:

  • unit_test_extras_dependencies
  • system_test_extras_dependencies

When these are populated, it'll change session.install("-e", ".") to session.install("-e", ".[dep1,dep2]").

Activity

  1. added
    type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.
    and removed
    triage meI really want to be triaged.
    on Nov 5, 2020
  2. busunkim96 commented on Nov 5, 2020

    @busunkim96
    Contributor

    @tswast That all sounds good to me.

  3. added
    priority: p2Moderately-important priority. Fix may not be included in next release.
    on Dec 4, 2020
  4. tswast commented on Jan 14, 2021

    @tswast
    ContributorAuthor

    After working around "extras" that aren't released in Python 3.9 (googleapis/python-bigquery-storage#99) perhaps these parameters could take a dictionary of supported python versions to extras?

    {
        "3.7": "fastavro,pandas,pyarrow",
        "3.8": "fastavro,pandas,pyarrow",
        "3.9": "fastavro,pandas",
    }
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

priority: p2Moderately-important priority. Fix may not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions