# Switching package registration systems soon

**URL:** <https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677>\
**Category:** Announcements\
**Tags:** package-manager\
**Created:** [April 3, 2019, 6:48am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677 "2019-04-03T06:48:03Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 4, 2019, 2:33pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/41 "2019-04-04T14:33:30Z")

</div>

I would prefer _registering_. By pushing to the repo on Github/Gitlab/…, I already consider software _published_ (= made public). By _registering_, I make it known to the registry.

---

<div class="post-metadata">

**Author:** ![evanfields](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evanfields/32/1744_2.png) [@evanfields](https://discourse.julialang.org/u/evanfields)\
**Post date:** [April 4, 2019, 2:41pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/42 "2019-04-04T14:41:48Z")

</div>

Is it significant that Registrator is under JuliaComputing rather than JuliaLang on github?

---

<div class="post-metadata">

**Author:** ![dlfivefifty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlfivefifty/32/1959_2.png) [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Post date:** [April 4, 2019, 2:47pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/43 "2019-04-04T14:47:51Z")

</div>

Any explanation on how to migrate an existing package? In particular, how do I do the equivalent of tagging a new release named (say) “v0.1.2”?

Right now I do this in Github and attobot does the rest. The docs for Regitrator.jl don’t even mention “version” at all…

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [April 4, 2019, 2:48pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/44 "2019-04-04T14:48:38Z")

</div>

Yeah, but “registering” a new version is a bit weird imho.

---

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [April 4, 2019, 2:49pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/45 "2019-04-04T14:49:45Z")

</div>

see above. It seems the workflow is to change the `version` entry in the Project toml and then call the bot with the `register` command.

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [April 4, 2019, 2:51pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/46 "2019-04-04T14:51:53Z")

</div>

Sorry if the information can be found elsewhere. How can we generate Project and Manifest files? Is there a robust (or official) tool for it?

Found those functions (thanks @iamed2) : [Generate an almost-right Project.toml file from a REQUIRE file in Julia 1.0 \<= VERSION \< 1.1- · GitHub](https://gist.github.com/iamed2/87d2d4d6a458a8072638439fb6070dc0)

But before I launch those functions, is there another walk-through that I should consult?

Cheers!

---

<div class="post-metadata">

**Author:** ![dlfivefifty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlfivefifty/32/1959_2.png) [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Post date:** [April 4, 2019, 2:57pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/47 "2019-04-04T14:57:04Z")

</div>

There are no “Project.toml” files in existing packages. How do we make a Project.toml for an existing package to begin with? How do we edit it? Do we just replace “version=v0.1.1” with “version=v0.1.2”?

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 2:59pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/48 "2019-04-04T14:59:30Z")

</div>

Not really, aside from that it has thus far been primarily developed by Julia Computing.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 3:00pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/49 "2019-04-04T15:00:22Z")

</div>

But that’s what you are doing: you are registering a new version of a package.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 3:01pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/50 "2019-04-04T15:01:34Z")

</div>

It seems like we may need to provide a tool for generating a project file from REQUIRE files. I’ll write a tool and people can try it out.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 4, 2019, 3:21pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/51 "2019-04-04T15:21:54Z")

</div>

> [@mkborregaard](#):
>
> Yeah, but “registering” a new version is a bit weird imho.

Fully agree. I find the use of term `registering` very confusing in this context. For me, I `register` a package only once, and further update it to new versions.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 3:23pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/52 "2019-04-04T15:23:06Z")

</div>

Whether people find it colloquially weird or not, that’s what you’re doing: you are registering a new version of a package.

---

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [April 4, 2019, 3:25pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/53 "2019-04-04T15:25:28Z")

</div>

My two packages have very simple REQUIRE files. In this case, I just need to create a `Project.toml` with those dependencies using `add`. However, what I still do not understand is how can I get the correct `UUID`. Where am I supposed to search for the correct UUID for my package?

**EDIT** : Oh by the way, will the acceptance behavior of versions / new packages remain the same of that in METADATA?

**EDIT 2** : I just realized that it is available here: [GitHub - JuliaRegistries/General: The official registry of general Julia packages](https://github.com/JuliaRegistries/General) just need to copy it by hand and create the `Project.toml`.

---

<div class="post-metadata">

**Author:** ![haberdashPI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/haberdashpi/32/26337_2.png) [@haberdashPI](https://discourse.julialang.org/u/haberdashPI)\
**Post date:** [April 4, 2019, 3:36pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/54 "2019-04-04T15:36:07Z")

</div>

Just tried it out on a new package I’m thinking of registering soon, using a comment [here](https://github.com/haberdashPI/MetaArrays.jl/commit/a52c163e58d43468db938d0c6d82e9dc0fa14b2f). I’m not sure, but it doesn’t seem to be doing anything.

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [April 4, 2019, 3:36pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/55 "2019-04-04T15:36:55Z")

</div>

In terms of best practices, if the “true” version number now lives inside the `Project.toml`, should one make sure that it only has a release version number for one single git commit? So say, normally it is `v0.1.1-dev`, and then I only change that to `v0.1.1` for one commit, register that commit in General, tag that commit, and then immediately in the next commit change it to `v0.1.2-dev`?

On one hand that seems sensible, but also quite cumbersome without some tooling. In an ideal world I would actually be able to tell registrator: “I want to register version v0.1.1”, and it would then do one commit to my repo that bumps the version number to `v0.1.1` in the `Project.toml`, tags that commit, updates General accordingly, then adds another commit to my repo where the version in `Project.toml` is bumped to `v0.1.2-dev`.

---

<div class="post-metadata">

**Author:** ![jmgnve](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jmgnve/32/1906_2.png) [@jmgnve](https://discourse.julialang.org/u/jmgnve)\
**Post date:** [April 4, 2019, 3:47pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/56 "2019-04-04T15:47:13Z")

</div>

I think you need backticks surrounding register()

---

<div class="post-metadata">

**Author:** ![jmgnve](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jmgnve/32/1906_2.png) [@jmgnve](https://discourse.julialang.org/u/jmgnve)\
**Post date:** [April 4, 2019, 3:54pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/57 "2019-04-04T15:54:55Z")

</div>

Thanks for the confirmation. Will you add a description of a recommended workflow, like the one I wrote, to the pkg docs about how ro register new packages and new versions? If I find time, I can try to add it myself, but that is a bit tricky when not knowing what exact workflow you envision. Furthermore, I find that the pkg docs have improved a lot since I read them last. For me the recipe like descriptions are really helpful.

Finally, I very much appriciate all the good work done on code sharing in julia. I think this is the part of julia I like most, and I find it works much better than in R, matlab and python.

---

<div class="post-metadata">

**Author:** ![simonbyrne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simonbyrne/32/19_2.png) [@simonbyrne](https://discourse.julialang.org/u/simonbyrne)\
**Post date:** [April 4, 2019, 5:17pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/58 "2019-04-04T17:17:43Z")

</div>

> [@chakravala](#):
>
> This means that support for v0.6 in packages should be dropped from now on, or will it continue to be possible to use attobot for those after this change?

I had originally planned on switching it off, but can keep it running if people are still using it.

The main question is: should it error (i.e. open an issue) if you attempt to tag version \> 0.6, or silently ignore it?

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [April 4, 2019, 6:09pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/59 "2019-04-04T18:09:51Z")

</div>

> [@simonbyrne](#):
>
> should it error (i.e. open an issue) if you attempt to tag version \> 0.6, or silently ignore it?

silently ignore, so that the automated attobot does not create unnecessary issues if it is not yet removed from a repository that does not support v0.6 anymore

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [April 4, 2019, 6:23pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/60 "2019-04-04T18:23:55Z")

</div>

> [@StefanKarpinski](#):
>
> It seems like we may need to provide a tool for generating a project file from REQUIRE files

Also, perhaps some additional clarification/reminders about when it’s appropriate to include a `Manifest.toml`? A bunch of people in this thread are asking about both project and manifest, and the manifest is created when doing `]add` to generate a project.toml, but my sense is that most things being registered by Registrator should probably **not** have a Manifest, is that right?

[Previous page](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677.md?page=2)

[Next page](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677.md?page=4)
