Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Python CI #6777

Merged
merged 1 commit into from Mar 25, 2022
Merged

Fix Python CI #6777

merged 1 commit into from Mar 25, 2022

Conversation

kylebarron
Copy link
Collaborator

The latest version of setuptools broke our CI, see: https://github.com/visgl/deck.gl/runs/5687413943?check_suite_focus=true, but it turns out our pyproject.toml file is invalid anyways. The requires array should be under the [build-system] header.

Change List

  • Update pyproject.toml in line with PEP 621

@coveralls
Copy link

Coverage Status

Coverage remained the same at 82.06% when pulling a88054d on kyle/fix-python-ci into ac7a87d on master.

@kylebarron kylebarron merged commit 9e68f73 into master Mar 25, 2022
@abravalheri
Copy link

Hi @kylebarron thank you very much for having a look on this.

From the setuptools perspective, I would recommend that if you guys are not using the [project] table on the pyproject.toml then the best is to remove it for the time being (alternatively you can embrace pyproject.toml for all the static configuration).

The standards this file is based on 1, imply a series of validations and additional semantics that pydeck might not be prepared for.

For example, when setuptools adds full support to PEP 621, it will have to ignore any configuration that is covered by the standard but is not specified via pyproject.toml, unless explicitly listed in the dynamic field2.

Examples of existing configurations that would ideally have to be ignored right now are:

  • install_requires in your setup.py
  • description_file in your setup.cfg
  • ...

Footnotes

  1. There is a "living" version of this standard that is kept up to date with Python's PEP process https://packaging.python.org/en/latest/specifications/declaring-project-metadata/

  2. There is an open issue in the setuptools repository [BUG] [pyproject.toml] Setuptools improperly backfills values in pyproject.toml pypa/setuptools#3195, and the fact that setuptools is not yet honouring completely PEP 621 is technically a bug.

@donmccurdy
Copy link
Collaborator

Related issue in #8469. It seems that local builds of pydeck are not currently working, I've had to (locally) delete pyproject.toml to build, but there are other remaining issues in Jupyter Notebooks v7+, described at #7030 (comment).

@abravalheri or @kylebarron do I understand correctly that we have two overlapping configs for pydeck, and do you have any reference on how we should resolve that?

@abravalheri
Copy link

abravalheri commented Mar 29, 2024

Hi @donmccurdy , I am having a look on this from my phone, so not sure what is going on... But have you had a look on my previous comment? #6777 (comment)

If the configuration is done via setup.py, then you have 2 options from setuptoolsperspective: configure [project] dynamic accordingly on pyproject.toml, or remove [project] completely from the file.

@donmccurdy
Copy link
Collaborator

@abravalheri Thanks! I don't doubt you're right about pyproject.toml, but I think our local builds may be broken for more reasons than just that. I'm having trouble figuring out what else is needed to run build pydeck from source again, but have posted some debugging progress in #8469 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants