-
Notifications
You must be signed in to change notification settings - Fork 33
Rename package #104
Comments
I knew using the same module name in base was a bad idea. Would be effectively a new registration under the new name, either via a repo rename or copying the code (and history?) to a new repo. |
So steps might be:
|
You could just copy the repo and delete all tags, and then start with a new and fresh v0.1.1. That way you wouldn't have to mess with the history at all, there would just be a lot of commits in the repo before the first tag in which the package had a different name, but those should do no harm. |
One of the JuliaStats packages has been named MCMC, Lora, and now Klara, so we could take inspiration from however that was done. |
In that case the author really wanted to keep the issues, PRs, and github stars associated with the new name, so it was done in not the greatest way. I don't think that's all that important here? |
It would be nice if packages could still depend on old versions but use the new package, requiring minimal updates for package devs. |
If you want to mess with the history like that in a new separate not-yet-registered repo, go ahead. The only package that has upper bounded Iterators is NURBS.jl. |
That's a good fact to know! |
We should definitely do this, preferably in short order, as the name conflict with Base is causing all sorts of annoying issues and there will soon be a 0.6.0 release (presumably). |
Alright, I'll get on it now |
Thanks so much, @iamed2, much appreciated! |
I found a tool for issue migration but I am having trouble installing it at the moment. |
Is it not possible to just fix the underlying issue, instead of trying to sort out a temporary work around (or is the underlying issue too complex to properly resolve)? IMO it is probably pretty confusing to be first recommended to transition to Iterators and then IterTools within basically the same cycle. |
I'm not sure what transition recommendation you're referring to here.
There have been a few attempts (this first reared its head with Dates) but continued issues. I expect the underlying issue to be solved eventually, but in the meantime this works. It's also just confusing to have a package with the same name as a Base module (if someone says "Iterators" it's not clear which they mean). |
Indeed, though in this case the underlying issue hasn't even yet been concretely identified. |
I was referring to first being told to utilize the |
When did this happen, and for what functionality? Since 0.4 I can only recall the shift from e.g. Base.filter to Base.Iterators.filter. |
In this case Base added an Iterators module. There was review on the PR that did that warning that using the same module name as an existing package was likely to cause problems. But the same name was used anyway. |
It's the better name; Base deserves to have it. We just need to rename here, a task which Eric has valiantly undertaken. |
I am using julia 0.60 and working with packages: Combinatorics, Iterators and Base.Iterators. As has been described here, Combinatorics requires Iterators, which overwrites Base.Iterators. It appears that a long term solution is being pursued here. In the meantime, how would I be able to 1) Use Combinatorics, Iterators and Base.Iterators simultaneous and 2) Be able to preserve a module for structure (so I can use tab-completion). Ideally, I would do something like: (I've looked though the "Closed Issues" and wasn't able to find a solution. I am sorry if I missed it and am wasting your time here. Any advice appreciated.) Thanks |
@prairie-guy We have created IterTools.jl. The current path forward is to get Combinatorics using IterTools and Base.Iterators where appropriate, and deprecate "Iterators.jl". That will happen in the next few days at JuliaCon :) |
aside: I know |
@iamed2 Wow talk about a quick response! Thanks much. After Now if I can only figure out how to stop the pre-compilation error from |
Once we make a PR to Combinatorics, it will no longer contain and import Iterators.jl and will instead have IterTools.jl, so you'll have: IterTools -> IterTools.jl |
Will be following JuliaCon for other interesting updates on Julia! Thanks again. |
Iterators has been renamed to IterTools (JuliaCollections/Iterators.jl#104), so update accordingly.
Iterators.jl has been deprecated in favour of IterTools.jl. See: JuliaCollections/Iterators.jl#104 for more information
Iterators.jl has been deprecated in favour of IterTools.jl. See: JuliaCollections/Iterators.jl#104 for more information
* Iterations.jl replaced by IterTools.jl Iterators.jl has been deprecated in favour of IterTools.jl. See: JuliaCollections/Iterators.jl#104 for more information * Iterators.jl replaced by IterTools.jl Iterators.jl has been deprecated in favour of IterTools.jl. See: JuliaCollections/Iterators.jl#104 for more information
Perhaps to IterTools.jl?
JuliaLang/julia#21969 isn't fixed so devs are removing Iterators.jl dependencies in favour of copying code in (e.g. JuliaMath/Combinatorics.jl#49). This has been a headache ever since the introduction of Base.Iterators and at this point the easiest solution might be to rename this package (with a redirect or pointer from the old name to the new name so existing dependencies aren't affected).
@tkelman thoughts?
The text was updated successfully, but these errors were encountered: