fennerm / flashfocus

Simple focus animations for tiling window managers.
MIT License
748 stars 10 forks source link

check_unknown_fields() got an unexpected keyword argument 'partial' #36

Closed luispabon closed 4 years ago

luispabon commented 4 years ago

Flashfocus installed from pip just today. No config file.

~ flashfocus                                                
INFO: Loading configuration from {'flash_opacity': 0.8, 'default_opacity': 1, 'time': 500, 'simple': False, 'ntimepoints': 10, 'flash_on_focus': True, 'flash_lone_windows': 'always'}
Traceback (most recent call last):
  File "/usr/local/bin/flashfocus", line 10, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/flashfocus/cli.py", line 91, in cli
    init_server(kwargs)
  File "/usr/local/lib/python3.7/dist-packages/flashfocus/cli.py", line 105, in init_server
    config = load_merged_config(config_file_path=Path(config_file_path), cli_options=cli_options)
  File "/usr/local/lib/python3.7/dist-packages/flashfocus/config.py", line 317, in load_merged_config
    user_config=user_config, default_config=default_config, cli_options=cli_options
  File "/usr/local/lib/python3.7/dist-packages/flashfocus/config.py", line 305, in merge_config_sources
    validated_config = validate_config(config)
  File "/usr/local/lib/python3.7/dist-packages/flashfocus/config.py", line 214, in validate_config
    validated: Dict = schema.load(config).data
  File "/usr/local/lib/python3.7/dist-packages/marshmallow/schema.py", line 684, in load
    data, many=many, partial=partial, unknown=unknown, postprocess=True
  File "/usr/local/lib/python3.7/dist-packages/marshmallow/schema.py", line 824, in _do_load
    field_errors=field_errors,
  File "/usr/local/lib/python3.7/dist-packages/marshmallow/schema.py", line 1108, in _invoke_schema_validators
    partial=partial,
  File "/usr/local/lib/python3.7/dist-packages/marshmallow/schema.py", line 726, in _run_validator
    validator_func(output, original_data, partial=partial, many=many)
TypeError: check_unknown_fields() got an unexpected keyword argument 'partial'
fennerm commented 4 years ago

Looks like marshmallow released their v3 earlier this week which is some unfortunate timing. I pinned it to v2 on master for now, please let me know if the issue persists after an upgrade.

fennerm commented 4 years ago

Just released v2.0.4 which includes proper marshmallow support. Closing this, please reopen if the issue resurfaces.