Convenience module, which allows to use pyglotaran as alias in the CLI and imports
Project description
pyglotaran-alias
Convenience module which allows to use pyglotaran
as an alias in the CLI and imports, when working with pyglotaran.
Since the python implementation of glotaran was renamed to pyglotaran to prevent ambiguity, about which glotaran was used,
at times one might be tempted to use import pyglotaran
instead of import glotaran
.
Usage
import pyglotaran
Or
from pyglotaran import ParameterGroup
For autocompletion to work in an interactive session (i.e. python repl
, jupyter-console
or jupyter-notebooks
) you need to first import the pyglotaran-alias
i.e. with import pyglotaran
.
After this is done glotaran
is registered under the alias pyglotaran
, and autocomplete should work.
How does it work?
When you use import pyglotaran
the following happens:
pyglotaran-alias
's__init__.py
is called.- The module cache (
sys.modules
) is populated with allglotaran
modules. - For each
glotaran
module an additional corresponding entry withpyglotaran
is added to the module cache. - The local variables used to modify the module cache are deleted, so they won't pollute your globals.
- The
pyglotaran
global variable replaces itself with theglotaran
package.
Known problems
Linter shows error "No name '<module or attribute name>
' in module 'pyglotaran
'", when using a text editor
Since most linters use a static file analysis, they won't understand the live swapping of modules at runtime and think that pyglotaran
is defined inpyglotaran-alias
, where <module or attribute name>
most likely doesn't exist.
Thus you have a Schrödinger-Linter
, which is right and wrong at the same time.
Autocomplete doesn't work, when using a text editor
This is due to the fact that autocomplete engines (similar to linters) use a static file analysis and thus think that pyglotaran
is defined in pyglotaran-alias
. Sadly I didn't find a way to fix this issue yet, since it also strongly depends on the used autocomplete engine.
Autocomplete in interactive session shows attributes on pyglotaran
which aren't part of glotaran
When using an interactive session (i.e. python repl
, jupyter-console
or jupyter-notebooks
), the autocomplete will pick up the replaced module and allow you to get autocompletion for modules and attributes defined in glotaran
.
But due to static file analysis it will also pick up modules and attributes defined in pyglotaran-alias
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyglotaran_alias-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4b407e4af9a39d6175784cadf29a6c489c98c290fa72b5b7ea1535ea3c8c3bf |
|
MD5 | c322fd24552adaa02eb83e6f05cb6ac7 |
|
BLAKE2b-256 | fefbc697225d76bd76b976e7b0be2ab2e2e479a6ab1b88b64ead03a8ebda621f |