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

Preparation for PR #2093 #2096

Merged

Conversation

douglas-raillard-arm
Copy link
Contributor

No description provided.

FIX

Only select callables that are defined in the modules being scanned
(passed on the command line and any of their (indirect) children).

If a callable is defined in another module than the one being currently
scanned, it will be ignored. Since all the children of user-passed
packages are scanned, this has little effect, but allows more precise
selection when 2 packages or more are selected in case they depend on
each other.
FEATURE

If a valid path to a namespace package is provided, also import that
package as a Python name. This ensures that even if exekall is ran in
the repository of one part of that namespace package such that the path
and the Python name are equal, all the other parts will be found as
well.

Inference of the top-level package is not possible in general for
namespace packages as there is no __init__.py to be found in a parent
folder. However, when the module is being imported by name, we do know
what is the toplevel package so we can preserve that information when
infering the name of submodules.

Ensure namespace packages are added to sys.modules and as attribute on
the parent module.
FEATURE

Add a --dependency option that behaves the same as passing a module as
a positional argument, except that it will be ignored when computing the
list of allowed root operators.

This allows using a package to satisfy dependencies in expressions while
controlling what expressions are selected using the modules passed as
positional arguments.
FIX

Hide warnings when importing modules in import_all_submodules(), to
avoid seeing deprecation warnings that would be hard to avoid and not
terribly useful in that context.
…ported

FIX

Since introspect_header.py is stored inside a Python package, some tools
may try to import it. Ensure it will not do anything, especially not try
to parse a command line and fail.
@douglas-raillard-arm douglas-raillard-arm merged commit 54a54ac into ARM-software:main Sep 7, 2023
2 checks passed
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

1 participant