Formatting or Format?

Formatting.jl is nice but it doesn’t seem to be maintained…?
Format.jl is a fork that looks more active.

What’s the story here? Are we going to consolidate these?

Format is my fork, that 1) is maintained and 2) includes some code by Tom Breloff (a PR he made against Formatting) that I wanted to use for my StringLiterals.jl package.

I will be trying to enhance it further, by making it work with my Strs.jl string types, and by improving the performance / cutting down the code generation needed.

I am interested in adding some of the missing functionality to Formatting and I have submitted a few PRs, but none have been merged yet.

Please submit them to Format.jl!
What have you been trying to add?

So far, I have just submitted bug fixes (Unicode indexing, length calculations, -0.0, exponents > 99, 0.7…). I would like to add centered text, complex numbers, date/time formatting, formatting user defined types, underscore thousands separator, underscore bin/oct/hex separator, keyword arg names and others.

2 Likes

Hi Scott, could you register your package?

It might confuse new users though. Is there any JuliaIO maintainers here? Perhaps it’s better to unregister Formatting.jl if it’s no longer maintained.

1 Like

Issues are missing from Format.jl, is that because it is a fork?

Also, can you please register it?

I’m not able to submit PRs currently.
I’d need somebody else to make the PR to register it.

Bump :slight_smile:

How do we get a closure for this?

Not sure if this brings closure, but @jmkuhn was recently give commit access to Formatting.jl, and has merged in a number of fixes. A new version was released on Monday.

Cheers,
Kevin

2 Likes

Format.jl will have @jmkuhn’s nice fixes also shortly, I’m almost finished getting them merged in.

Issues are disabled by default for forks, but can be enabled

In case anybody is interested, all of the changes in Formatting.jl (including the one from three days ago, write → print) have been incorporated into Format.jl.

Could it be better if @ScottPJones joins JuliaIO as a Formatting.jl maintainer together with @jmkuhn instead of maintaining a fork? In that way, he could push his advances in Format.jl into the registered package and avoid duplicated efforts :wink:

2 Likes

Format.jl isn’t totally compatible with Formatting.jl, the biggest difference is that I incorporated the PR that Tom Breloff (great guy that he is, of Plots.jl fame) had done, and renamed some of the functions as I saw fit (i.e. fmt → pyfmt), to make it clearer the differences between the Python style formatting code (pyfmt), the C style formatting code (cfmt), and the type driven formatting that Tom’s PR added (fmt).
If those changes were considered acceptable to the rest of the people using Formatting, they could be combined.

I would love to join JuliaIO though, I use many of it’s repos, and have at least a little :wink: experience in that area.

I’ve also fixed the recent breakage from the change to round and signif on master in Format.jl, and submitted PR #56 to fix it for Formatting.jl.

So, what is the situation now in late 2019? Both the repos seems maintained, what’s the main diff between the two?

2 Likes

I split Format.jl from Formatting.jl at a time when Formatting.jl was not really being maintained, a few years ago.
The other big motivation was to incorporate a PR from Tom Breloff, that provided some functionality that I needed for my formatted string interpolation package.

Bump. Can we merge these packages yet?

3 Likes

Rather then merge the packages, given the substantial divergence we have instead

  1. Added a notice to the readme of Formatting.jl that it is no longer maintained (thanks @Mason ) and suggesting that people use Format.jl
  2. Added a message the will display on pre compilation wherever the package (or a package that has it as a dependency) is updated (thanks @Sukera )
  3. Archived the repo so it’s read-only (thanks @viralbshah )
8 Likes