$ python -m venv .venv
$ source .venv/bin/activate
$ python -m pip install 'pre-commit>=4.6.0' 'identify==1.0.0'
$ pre-commit run --all-files
An error has occurred: InvalidConfigError:
==> File .pre-commit-config.yaml
==> At Config()
==> At key: repos
==> At Repository(repo='https://github.com/astral-sh/ruff-pre-commit')
==> At key: hooks
==> At Hook(id='ruff-format')
==> At key: types_or
==> At index 1
=====> Type tag 'jupyter' is not recognized. Try upgrading identify and pre-commit?
Check the log at /Users/jlamb/.cache/pre-commit/pre-commit.log
$ python -m pip install 'identify==1.4.20'
$ pre-commit run --all-files
check for added large files..............................................Passed
check for broken symlinks............................(no files to check)Skipped
check toml...............................................................Passed
detect destroyed symlinks................................................Passed
fix end of files.........................................................Passed
trim trailing whitespace.................................................Passed
ruff (legacy alias)......................................................Passed
ruff format..............................................................Passed
pre-commit version: 4.6.0
git --version: git version 2.47.1
sys.version:
3.12.8 | packaged by conda-forge | (main, Dec 5 2024, 14:19:53) [Clang 18.1.8 ]
sys.executable: /Users/jlamb/repos/pydistcheck/.venv/bin/python
os.name: posix
sys.platform: darwin
An error has occurred: InvalidConfigError:
==> File .pre-commit-config.yaml
==> At Config()
==> At key: repos
==> At Repository(repo='https://github.com/astral-sh/ruff-pre-commit')
==> At key: hooks
==> At Hook(id='ruff-format')
==> At key: types_or
==> At index 1
=====> Type tag 'jupyter' is not recognized. Try upgrading identify and pre-commit?
Traceback (most recent call last):
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/pre_commit/error_handler.py", line 73, in error_handler
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/pre_commit/main.py", line 429, in main
return run(args.config, store, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/pre_commit/commands/run.py", line 423, in run
config = load_config(config_file)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 433, in load_from_filename
with reraise_as(exc_tp):
^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 45, in reraise_as
raise tp(e).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 42, in reraise_as
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 437, in load_from_filename
with validate_context(f'File {display_filename}'):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 449, in load_from_filename
validate(data, schema)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 412, in validate
schema.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 244, in check
with validate_context(context):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 246, in check
item.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 75, in _check_required
_check_optional(self, dct)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 55, in _check_optional
with validate_context(f'At key: {self.key}'):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 56, in _check_optional
self.check_fn(dct[self.key])
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 81, in check_fn
validate(val, self.schema)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 412, in validate
schema.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 308, in check
validate(val, self.of)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 412, in validate
schema.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 244, in check
with validate_context(context):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 246, in check
item.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 108, in _check_conditional
inner(self, dct)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 75, in _check_required
_check_optional(self, dct)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 55, in _check_optional
with validate_context(f'At key: {self.key}'):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 56, in _check_optional
self.check_fn(dct[self.key])
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 81, in check_fn
validate(val, self.schema)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 412, in validate
schema.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 308, in check
validate(val, self.of)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 412, in validate
schema.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 244, in check
with validate_context(context):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 246, in check
item.check(v)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 55, in _check_optional
with validate_context(f'At key: {self.key}'):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 56, in _check_optional
self.check_fn(dct[self.key])
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 399, in check_array_fn
with validate_context(f'At index {i}'):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jlamb/miniforge3/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 36, in validate_context
raise ValidationError(e, ctx=msg).with_traceback(tb) from None
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 33, in validate_context
yield
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/cfgv.py", line 400, in check_array_fn
inner_check(val)
File "/Users/jlamb/repos/pydistcheck/.venv/lib/python3.12/site-packages/pre_commit/clientlib.py", line 44, in check_type_tag
raise cfgv.ValidationError(
pre_commit.clientlib.InvalidConfigError:
==> File .pre-commit-config.yaml
==> At Config()
==> At key: repos
==> At Repository(repo='https://github.com/astral-sh/ruff-pre-commit')
==> At key: hooks
==> At Hook(id='ruff-format')
==> At key: types_or
==> At index 1
=====> Type tag 'jupyter' is not recognized. Try upgrading identify and pre-commit?
search you tried in the issue tracker
identify jupyter
describe your issue
Stumbled on this in an environment that happened to have
identify1.1.x, but it's reproducible as follows.From the root of https://github.com/jameslamb/pydistcheck, run
Looks like
jupytersupport was added inidentify==1.4.20: pre-commit/identify#111That works:
pre-commit --version
pre-commit 4.6.0
.pre-commit-config.yaml
~/.cache/pre-commit/pre-commit.log (if present)
version information
error information