Closed guy4261 closed 5 years ago
:(
As a workaround you can probably do:
import typing
import boltons.funcutils
bolton.funcutils.Tuple = typing.Tuple
Or, wait. That might be a more exciting bug than it looks like.
An actual plausible workaround—before importing eliot do:
import boltons.funcutils
import functools
boltons.funcutils.wraps = functools.wraps
Thanks! Just went over the boltons
issues and saw you were already there a minute ago! 🙇
Sorry this change broke things for you :( If I don't see a fix to boltons soon I'll do another release where I remove it.
Incidentally, may I ask what you're using Eliot for?
I'm rewriting a big fat data pipeline I created a long time ago and I thought that was a good opportunity to give Eliot a try†. I don't want to spin up a big fancy logging system (e.g. ELK/Splunk) and Eliot sounds like a good balance between simple and smart.
† This is something I wanted to do since I enlisted on Software Clown††. †† This is not a paid comment!
Cool, let me know if you have any other problems! (Working on the boltons issue.)
OK, there's new boltons
19.0.1 release that should fix this, but I'll try to do a new Eliot release that enforces that as a minimum dependency.
$ pip install -U boltons
$ pip list | grep boltons
boltons 19.0.1
$ python bug.py
All is well! I don't know if the new version impacts anything else (i.e., if you should update eliot's requirements.txt
already or not) but this behavior no longer appears! Thanks!!!
When I decorate a function call in which types are defined using
typing.Tuple
, I get aNameError
from somewhere deep inside theboltons
library. Although it's their bug, I thought you should know. I'd try to follow-up with them as well.On Python 3.6.7, running
$ python bug.py
results in: