Unitful.jl has recently undergone a major update with enhanced functionality. If the previous version was an alpha release, this is something like a beta release before the package is registered and tagged. I intend to do that soon so that others can think about using the package more seriously, probably shortly after Julia 0.5.0 is released. Now is a good time to provide feedback if you find bugs or think there are some trouble spots that would prevent the package from being useful to you.
I am sorry to inconvenience existing users with syntax changes, but please raise an issue or post here if you have any trouble. I hope the revised documentation explains any questions you may have, and as usual, test/runtests.jl can be useful to figure out how things are working. Once the package is registered and tagged, I will be more conscientious regarding breaking changes. Enjoy, Andrew Keller On Friday, February 12, 2016 at 12:23:22 PM UTC-8, Andrew Keller wrote: > > I'm happy to share a package I wrote for using physical units in Julia, > Unitful.jl <https://www.github.com/ajkeller34/Unitful.jl>. Much credit > and gratitude is due to Keno Fischer for the SIUnits.jl > <https://www.github.com/keno/SIUnits.jl> package which served as my > inspiration. This is a work in progress, but I think perhaps a serviceable > one depending on what you're doing. > > Like SIUnits.jl, this package encodes units in the type signature to avoid > run-time performance penalties. From there, the implementations diverge. > The package is targeted to Julia 0.5 / master, as there are some > limitations with how promote_op is used in Julia 0.4 (#13803) > <https://github.com/JuliaLang/julia/pull/13803>. I decided it wasn't > worth targeting 0.4 if the behavior would be inconsistent. > > Some highlights include: > > - Non-SI units are treated on the same footing as SI units, with only > a few exceptions (unit conversion method). Use whatever weird units > you want. > - Support for units like micron / (meter Kelvin), where some of the > units could cancel out but you don't necessarily want them to. > - Support for LinSpace and other Range types. Probably there are still > some glitches to be found, though. > - Support for rational exponents of units. > - Some tests (see these for usage examples). > > Please see the documentation for a comprehensive discussion, including > issues / to do list, as well as how to add your own units, etc. > Comments and feedback are welcome. > > Best, > Andrew Keller >
