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
Flag for packages with native components (C, Rust etc.) #293
Comments
Can you explain why you need this feature? |
When running Python on a non standard platform such as Android using Chaquopy it is sometimes needed to use a PyPI package that transitively depends on a package with native code. Since Android is not an officially supported platform by PyPI nor Python itself all native packages that are used in an Android app are required to be built (and patched in some cases) manually using a special tool provided by Chaquopy. I would need this feature to find out which packages I would need to cross compile in order to build my Android app successfully. Would this be possible to implement? |
Thank you very much for your explanation @IsakTheHacker . I think I have a general understanding of your required scenario. However, this is a very specific case. If we were to scan every file of Python packages, it would inevitably slow down the execution speed of the tool, especially when the number is large. Moreover, our goal is to handle the dependency relationships between Python packages, so I feel that thisfeature somewhat exceeds the scope of the tool itself. If you want to achieve your goal, I think you can accomplish it by extending scripts based on the tool's results or using
|
I believe it would only be a performance problem when we end up using it as an option (e.g. --native or something like that) as only then we would need to recurse through each package's source directory looking for particular source files. This would also mean that we need to keep somehow determine if a file is C++, Java, Rust, etc. I'm unsure how we can do this reliably without having to store all the different file extensions that exist for these langauges. One other thought I had was using the programming language classifiers that PyPi mentions here. This would make it really easy to determine if a package contains native code as we already have this metadata and we can just search for it. I'm not sure if this is reliable, however, as there could be packages that have, for example, C++ code but don't add the |
It would be excellent if you could add a flag for only showing packages that contain native code (C, C++, Rust etc.). Or just marking the native packages as bold or in another color
The text was updated successfully, but these errors were encountered: