-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop TimeZones.jl dependendency #114
Comments
@rofinn why the 👎 ? |
Cause only logging in a few places isn't a reason to switch logging backends. The primary benefit of Memento is the flexible configuration system which is still applicable here. For example, consider loading hundreds of JLSO files which need to be upgraded as part of some analysis. If you find that output overly verbose you can easily disable it along with our other libraries when configuring Memento. AFAIK, that's less easy with the base logging and would be a completely different process in most of our script. Honestly, I think the issue is with how Julia's environment system works. There are numerous issues/bugs with the current |
While this is true, TimeZones.jl is the only upstream dependency of JLSO that defines an object type that is likely to be serialized in a JLSO. In contrast to worker processes (which I agree is a good idea) which is much more effort. |
Memento doesn't explicitly depend on TimeZones.jl anymore. |
We don't depend on the version of Memento that dropped TimeZones.jl though, and TimeZones.jl is still in the Project.toml |
Hmm, good point. We should bump the Memento version. We just have a compat entry for TimeZones as a test dependency which is unrelated to Memento (we use timezones in our test files and the ZonedDateTime struct format changed). I don't remember, what's the best practice is for test dependency compat entries? |
I'm not sure. I don't know if the behaviour of Pkg.test is documented either. |
For test dependencies, their compat goes in |
TimeZones v1.6 chagned the representaion of FixedTimeZone (big improvement on GC).
This upgrade means can't load the old Checkpoints without loading the right version of TimeZones.jl.
Which normally we could do via
Pkg.activate(jlsofile)
, before we dousing TimeZones
andJLSO.load(jlsofile)
But
Pkg.activate
has no effect due to the fact that a newer version of TimeZones.jl has already been loaded when JLSO.jl was loaded.TimeZones.jl, unlike our other deps, contains a basic data type that is commonly used for data we want to store.
JLSO has a indirect dependency on it via Memento.
It should be reasonable enough to drop Memento and just use the stdlib logger.
We only log in a a few places:
JLSO.jl/src/serialization.jl
Line 56 in 04b83b3
JLSO.jl/src/upgrade.jl
Line 25 in 04b83b3
The text was updated successfully, but these errors were encountered: