Skip to content

voici build --help command fails #130

@sapristi

Description

@sapristi

Description

When running voici build --help, the command fails with the error KeyError: 'VoilaConfiguration' (see full output below)/

Reproduce

Context

  • voici version: 0.7.1
  • voila version: 0.5.7
Troubleshoot Output
❯ pdm run jupyter troubleshoot
$PATH:
	/home/sapristi/dev/tests_voici/.venv/bin
	/home/sapristi/.opam/alife/bin
	/home/sapristi/.local/share/pnpm
	/home/sapristi/.miniforge3/bin
	/home/sapristi/.cargo/bin
	/home/sapristi/.local/share/pnpm
	/home/sapristi/.opam/alife/bin
	/home/sapristi/.local/bin
	/usr/local/bin
	/usr/bin
	/bin
	/usr/local/sbin
	/usr/lib/jvm/default/bin
	/usr/bin/site_perl
	/usr/bin/vendor_perl
	/usr/bin/core_perl
	/usr/lib/rustup/bin
	/var/lib/snapd/snap/bin
	/home/sapristi/dev/tests_voici/.venv/bin

sys.path:
/home/sapristi/dev/tests_voici/.venv/bin
/usr/lib/python312.zip
/usr/lib/python3.12
/usr/lib/python3.12/lib-dynload
/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages

sys.executable:
/home/sapristi/dev/tests_voici/.venv/bin/python

sys.version:
3.12.5 (main, Aug 9 2024, 08:20:41) [GCC 14.2.1 20240805]

platform.platform():
Linux-5.15.167-1-MANJARO-x86_64-with-glibc2.40

which -a jupyter:
/home/sapristi/dev/tests_voici/.venv/bin/jupyter
/home/sapristi/dev/tests_voici/.venv/bin/jupyter

pip list:
Package Version
------------------------- --------------
anyio 4.6.0
appdirs 1.4.4
argon2-cffi 23.1.0
argon2-cffi-bindings 21.2.0
arrow 1.3.0
asttokens 2.4.1
attrs 24.2.0
babel 2.16.0
beautifulsoup4 4.12.3
bleach 6.1.0
certifi 2024.8.30
cffi 1.17.1
charset-normalizer 3.3.2
click 8.1.7
cloudpickle 3.0.0
debugpy 1.8.6
decorator 5.1.1
defusedxml 0.7.1
doit 0.36.0
empack 4.0.2
executing 2.1.0
fastjsonschema 2.20.0
fqdn 1.5.1
idna 3.10
importlib_metadata 8.5.0
ipython 8.28.0
isoduration 20.11.0
jedi 0.19.1
Jinja2 3.1.4
json5 0.9.25
jsonpointer 3.0.0
jsonschema 4.23.0
jsonschema-specifications 2023.12.1
jupyter_client 8.6.3
jupyter_core 5.7.2
jupyter-events 0.10.0
jupyter_server 2.14.2
jupyter_server_terminals 0.5.3
jupyterlab_pygments 0.3.0
jupyterlab_server 2.27.3
jupyterlite-core 0.4.2
jupyterlite_xeus 2.0.0
markdown-it-py 3.0.0
MarkupSafe 2.1.5
matplotlib-inline 0.1.7
mdurl 0.1.2
mistune 3.0.2
nbclient 0.10.0
nbconvert 7.16.4
nbformat 5.10.4
networkx 3.3
overrides 7.7.0
packaging 24.1
pandocfilters 1.5.1
parso 0.8.4
pexpect 4.9.0
pip 24.2
platformdirs 4.3.6
prometheus_client 0.21.0
prompt_toolkit 3.0.48
ptyprocess 0.7.0
pure_eval 0.2.3
pycparser 2.22
Pygments 2.18.0
python-dateutil 2.9.0.post0
python-json-logger 2.0.7
PyYAML 6.0.2
pyzmq 26.2.0
referencing 0.35.1
requests 2.32.3
rfc3339-validator 0.1.4
rfc3986-validator 0.1.1
rich 13.9.2
rpds-py 0.20.0
Send2Trash 1.8.3
shellingham 1.5.4
six 1.16.0
sniffio 1.3.1
soupsieve 2.6
stack-data 0.6.3
terminado 0.18.1
tinycss2 1.3.0
tornado 6.4.1
traitlets 5.14.3
typer 0.12.5
types-python-dateutil 2.9.0.20241003
typing_extensions 4.12.2
uri-template 1.3.0
urllib3 2.2.3
voici 0.7.1
voici-core 0.7.1
voila 0.5.7
wcwidth 0.2.13
webcolors 24.8.0
webencodings 0.5.1
websocket-client 1.8.0
websockets 13.1
xeus-python 0.15.12
xeus-python-shell 0.5.0
zipp 3.20.2

conda list:
# packages in environment at /home/sapristi/.miniforge3:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
archspec 0.2.3 pyhd8ed1ab_0 conda-forge
boltons 24.0.0 pyhd8ed1ab_0 conda-forge
brotli-python 1.1.0 py312h2ec8cdc_2 conda-forge
bzip2 1.0.8 h4bc722e_7 conda-forge
c-ares 1.32.3 h4bc722e_0 conda-forge
ca-certificates 2024.8.30 hbcca054_0 conda-forge
certifi 2024.8.30 pyhd8ed1ab_0 conda-forge
cffi 1.17.1 py312h06ac9bb_0 conda-forge
charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
conda 24.7.1 py312h7900ff3_0 conda-forge
conda-libmamba-solver 24.7.0 pyhd8ed1ab_0 conda-forge
conda-package-handling 2.3.0 pyh7900ff3_0 conda-forge
conda-package-streaming 0.10.0 pyhd8ed1ab_0 conda-forge
distro 1.9.0 pyhd8ed1ab_0 conda-forge
fmt 10.2.1 h00ab1b0_0 conda-forge
frozendict 2.4.4 py312h66e93f0_1 conda-forge
h2 4.1.0 pyhd8ed1ab_0 conda-forge
hpack 4.0.0 pyh9f0ad1d_0 conda-forge
hyperframe 6.0.1 pyhd8ed1ab_0 conda-forge
icu 75.1 he02047a_0 conda-forge
idna 3.10 pyhd8ed1ab_0 conda-forge
jsonpatch 1.33 pyhd8ed1ab_0 conda-forge
jsonpointer 3.0.0 py312h7900ff3_1 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
krb5 1.21.3 h659f571_0 conda-forge
ld_impl_linux-64 2.40 hf3520f5_7 conda-forge
libarchive 3.7.4 hfca40fe_0 conda-forge
libcurl 8.10.1 hbbe4b11_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 hd590300_2 conda-forge
libexpat 2.6.3 h5888daf_0 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libgcc 14.1.0 h77fa898_1 conda-forge
libgcc-ng 14.1.0 h69a702a_1 conda-forge
libgomp 14.1.0 h77fa898_1 conda-forge
libiconv 1.17 hd590300_2 conda-forge
libmamba 1.5.9 h4cc3d14_0 conda-forge
libmambapy 1.5.9 py312h7fb9e8e_0 conda-forge
libnghttp2 1.58.0 h47da74e_1 conda-forge
libnsl 2.0.1 hd590300_0 conda-forge
libsolv 0.7.30 h3509ff9_0 conda-forge
libsqlite 3.46.1 hadc24fc_0 conda-forge
libssh2 1.11.0 h0841786_0 conda-forge
libstdcxx 14.1.0 hc0a3c3a_1 conda-forge
libstdcxx-ng 14.1.0 h4852527_1 conda-forge
libuuid 2.38.1 h0b41bf4_0 conda-forge
libxcrypt 4.4.36 hd590300_1 conda-forge
libxml2 2.12.7 he7c6b58_4 conda-forge
libzlib 1.3.1 h4ab18f5_1 conda-forge
lz4-c 1.9.4 hcb278e6_0 conda-forge
lzo 2.10 hd590300_1001 conda-forge
mamba 1.5.9 py312h9460a1c_0 conda-forge
menuinst 2.1.2 py312h7900ff3_1 conda-forge
ncurses 6.5 he02047a_1 conda-forge
openssl 3.3.2 hb9d3cd8_0 conda-forge
packaging 24.1 pyhd8ed1ab_0 conda-forge
pip 24.2 pyh8b19718_1 conda-forge
platformdirs 4.3.6 pyhd8ed1ab_0 conda-forge
pluggy 1.5.0 pyhd8ed1ab_0 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.6 py312h98912ed_0 conda-forge
pycparser 2.22 pyhd8ed1ab_0 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
python 3.12.6 hc5c86c4_1_cpython conda-forge
python_abi 3.12 5_cp312 conda-forge
readline 8.2 h8228510_1 conda-forge
reproc 14.2.4.post0 hd590300_1 conda-forge
reproc-cpp 14.2.4.post0 h59595ed_1 conda-forge
requests 2.32.3 pyhd8ed1ab_0 conda-forge
ruamel.yaml 0.18.6 py312h98912ed_0 conda-forge
ruamel.yaml.clib 0.2.8 py312h98912ed_0 conda-forge
setuptools 74.1.2 pyhd8ed1ab_0 conda-forge
tk 8.6.13 noxft_h4845f30_101 conda-forge
tqdm 4.66.5 pyhd8ed1ab_0 conda-forge
truststore 0.9.2 pyhd8ed1ab_0 conda-forge
tzdata 2024a h8827d51_1 conda-forge
urllib3 2.2.3 pyhd8ed1ab_0 conda-forge
wheel 0.44.0 pyhd8ed1ab_0 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
yaml-cpp 0.8.0 h59595ed_0 conda-forge
zstandard 0.23.0 py312hef9b889_1 conda-forge
zstd 1.5.6 ha6fb4c9_0 conda-forge

conda env:
name: base
channels:
- conda-forge
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- archspec=0.2.3=pyhd8ed1ab_0
- boltons=24.0.0=pyhd8ed1ab_0
- brotli-python=1.1.0=py312h2ec8cdc_2
- bzip2=1.0.8=h4bc722e_7
- c-ares=1.32.3=h4bc722e_0
- ca-certificates=2024.8.30=hbcca054_0
- certifi=2024.8.30=pyhd8ed1ab_0
- cffi=1.17.1=py312h06ac9bb_0
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- conda=24.7.1=py312h7900ff3_0
- conda-libmamba-solver=24.7.0=pyhd8ed1ab_0
- conda-package-handling=2.3.0=pyh7900ff3_0
- conda-package-streaming=0.10.0=pyhd8ed1ab_0
- distro=1.9.0=pyhd8ed1ab_0
- fmt=10.2.1=h00ab1b0_0
- frozendict=2.4.4=py312h66e93f0_1
- h2=4.1.0=pyhd8ed1ab_0
- hpack=4.0.0=pyh9f0ad1d_0
- hyperframe=6.0.1=pyhd8ed1ab_0
- icu=75.1=he02047a_0
- idna=3.10=pyhd8ed1ab_0
- jsonpatch=1.33=pyhd8ed1ab_0
- jsonpointer=3.0.0=py312h7900ff3_1
- keyutils=1.6.1=h166bdaf_0
- krb5=1.21.3=h659f571_0
- ld_impl_linux-64=2.40=hf3520f5_7
- libarchive=3.7.4=hfca40fe_0
- libcurl=8.10.1=hbbe4b11_0
- libedit=3.1.20191231=he28a2e2_2
- libev=4.33=hd590300_2
- libexpat=2.6.3=h5888daf_0
- libffi=3.4.2=h7f98852_5
- libgcc=14.1.0=h77fa898_1
- libgcc-ng=14.1.0=h69a702a_1
- libgomp=14.1.0=h77fa898_1
- libiconv=1.17=hd590300_2
- libmamba=1.5.9=h4cc3d14_0
- libmambapy=1.5.9=py312h7fb9e8e_0
- libnghttp2=1.58.0=h47da74e_1
- libnsl=2.0.1=hd590300_0
- libsolv=0.7.30=h3509ff9_0
- libsqlite=3.46.1=hadc24fc_0
- libssh2=1.11.0=h0841786_0
- libstdcxx=14.1.0=hc0a3c3a_1
- libstdcxx-ng=14.1.0=h4852527_1
- libuuid=2.38.1=h0b41bf4_0
- libxcrypt=4.4.36=hd590300_1
- libxml2=2.12.7=he7c6b58_4
- libzlib=1.3.1=h4ab18f5_1
- lz4-c=1.9.4=hcb278e6_0
- lzo=2.10=hd590300_1001
- mamba=1.5.9=py312h9460a1c_0
- menuinst=2.1.2=py312h7900ff3_1
- ncurses=6.5=he02047a_1
- openssl=3.3.2=hb9d3cd8_0
- packaging=24.1=pyhd8ed1ab_0
- pip=24.2=pyh8b19718_1
- platformdirs=4.3.6=pyhd8ed1ab_0
- pluggy=1.5.0=pyhd8ed1ab_0
- pybind11-abi=4=hd8ed1ab_3
- pycosat=0.6.6=py312h98912ed_0
- pycparser=2.22=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- python=3.12.6=hc5c86c4_1_cpython
- python_abi=3.12=5_cp312
- readline=8.2=h8228510_1
- reproc=14.2.4.post0=hd590300_1
- reproc-cpp=14.2.4.post0=h59595ed_1
- requests=2.32.3=pyhd8ed1ab_0
- ruamel.yaml=0.18.6=py312h98912ed_0
- ruamel.yaml.clib=0.2.8=py312h98912ed_0
- setuptools=74.1.2=pyhd8ed1ab_0
- tk=8.6.13=noxft_h4845f30_101
- tqdm=4.66.5=pyhd8ed1ab_0
- truststore=0.9.2=pyhd8ed1ab_0
- tzdata=2024a=h8827d51_1
- urllib3=2.2.3=pyhd8ed1ab_0
- wheel=0.44.0=pyhd8ed1ab_0
- xz=5.2.6=h166bdaf_0
- yaml-cpp=0.8.0=h59595ed_0
- zstandard=0.23.0=py312hef9b889_1
- zstd=1.5.6=ha6fb4c9_0
prefix: /home/sapristi/.miniforge3

Command Line Output
> voici build --help
[VoiciBuildApp] ERROR | Failed collecting help-message for alias 'show_tracebacks', due to: 'VoilaConfiguration'
Traceback (most recent call last):
  File "/home/sapristi/dev/tests_voici/.venv/bin/voici", line 8, in 
    sys.exit(main())
             ^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/jupyter_core/application.py", line 283, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1074, in launch_instance
    app.initialize(argv)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/voici_core/app.py", line 122, in initialize
    super().initialize(argv)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/jupyter_core/application.py", line 252, in initialize
    self.parse_command_line(argv)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 857, in parse_command_line
    return self.initialize_subcommand(subc, subargv)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 721, in initialize_subcommand
    self.subapp.initialize(argv)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/jupyter_core/application.py", line 252, in initialize
    self.parse_command_line(argv)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 869, in parse_command_line
    self.print_help("--help-all" in interpreted_argv)
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 633, in print_help
    print("\n".join(self.emit_help(classes=classes)))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 642, in emit_help
    yield from self.emit_options_help()
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 595, in emit_options_help
    yield from self.emit_alias_help()
  File "/home/sapristi/dev/tests_voici/.venv/lib/python3.12/site-packages/jupyterlite_core/app.py", line 131, in emit_alias_help
    cls = classdict[classname]
          ~~~~~~~~~^^^^^^^^^^^
KeyError: 'VoilaConfiguration'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions