Skip to content

feat: support file API reading #2

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

Merged
merged 9 commits into from
Sep 16, 2022
Merged

feat: support file API reading #2

merged 9 commits into from
Sep 16, 2022

Conversation

henryiii
Copy link
Collaborator

@henryiii henryiii commented Aug 29, 2022

Uses the FileAPI to query information about the build system from CMake. Will likely be very important for PEP 660 support, extensionlib support, and Setuptools 62+ support for editable mode.

I originally used cattrs for the JSON reader, but dropped it due to python-attrs/cattrs#253 - PyPy support was broken and was fixed quickly on April 15, but still hasn't been released. We can't afford to have PyPy broken by our dependencies, so no cattrs. But I still included the cattrs version for the tests. I loved the usage of exceptiongroup, so I kept that (and we use __notes__ instead of __note__, awaiting merge for cattrs in python-attrs/cattrs#303).

TODO: Finish the rest of the API, I was originally not covering everything when writing code model. Also consider if automatically loading jsonFile is best - one case (Directory) is odd because it looks like the class holds different info than the file it looks up. I'm biased toward keeping this close to source, so maybe we could add the looked up file in an attribute instead.

@jcfr or @thewtex, any thoughts about supplying testing files for this?

Signed-off-by: Henry Schreiner <[email protected]>
@henryiii henryiii force-pushed the henryiii/feat/fileapi branch from bdae0b6 to ddd6ab2 Compare September 7, 2022 21:24
@henryiii henryiii force-pushed the henryiii/feat/fileapi branch 3 times, most recently from d39f5dd to 7b87172 Compare September 12, 2022 16:43
Signed-off-by: Henry Schreiner <[email protected]>
@henryiii henryiii force-pushed the henryiii/feat/fileapi branch from 7b87172 to f6a29b3 Compare September 12, 2022 16:51
@henryiii henryiii force-pushed the henryiii/feat/fileapi branch 2 times, most recently from 40e8772 to f3340bc Compare September 12, 2022 19:56
@henryiii henryiii force-pushed the henryiii/feat/fileapi branch from f3340bc to 653c9d9 Compare September 13, 2022 03:43
@henryiii henryiii marked this pull request as ready for review September 16, 2022 19:00
@henryiii
Copy link
Collaborator Author

This is entirely optional at the moment, so I think it's safe in, will likely change once we start needing it.

@henryiii henryiii merged commit 47b1590 into main Sep 16, 2022
@henryiii henryiii deleted the henryiii/feat/fileapi branch September 16, 2022 19:00
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.

1 participant