QRCoders.jl: dependency pinning blocking installs. is it abandoned?

Hi all,

Trying to use QRCoders.jl on /1.11, I’ve run into resolver dead-ends caused by its frozen dependency set:

Pinned Manifest.toml forces 2023-era packages (Images 0.26, FixedPointNumbers 0.8, etc.).

I can open a PR. Just wondered if the package is dead. Are there other alternative native QR code packages that are maintained?

Thanks!

It appears to be inactive, but I’m not sure if it is dead. The tests do not pass locally. It may benefit from some upkeep if you are able and willing

Test Summary: | Error  Broken  Total  Time
Decode mode   |    11       7     18  4.8s
ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 11 errored, 7 broken.

It is true that the tests don’t pass on 1.11, but this seems fine?

julia --startup-file=no --project -e 'using QRCoders; QRCode("Hello world!") |> display'
█▀▀▀▀▀▀▀█▀▀▀▀▀█▀▀▀▀▀▀▀█
█ █▀▀▀█ █▄█ ▀▄█ █▀▀▀█ █
█ █   █ █▄█ ▄▄█ █   █ █
█ ▀▀▀▀▀ █▀▄ █▀█ ▀▀▀▀▀ █
█▀█▀▀█▀▀▀▄▄▀███▀██▀█▀▀█
█▀▀ ▄▀▀▀▄▀▄▄█  ▄ ▄▄▄▀ █
██▄  ▄▄▀ ██▄▀▄▀▀▄█▄█▄▀█
█▀▀▀▀▀▀▀█ ▄ ▄█▀   █▄█▄█
█ █▀▀▀█ █▄ ▄ ▄▄█▄█  ▀██
█ █   █ █ █▄█ █▄▀█▄ ▄██
█ ▀▀▀▀▀ █▀▄▀ █   ▄█▀█▄█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

@prittjam you can create QR codes with ZXingCPP.jl

using ZXingCPP
using ImageCore
using FileIO
using ImageIO

f = ZXing_BarcodeFormat_QRCode
co = CreatorOptions(f)
bc = Barcode("HELLO WORLD", co)

wo = WriterOptions(; scale=10)
zimg = write_barcode_to_image(bc, wo)
jimg = Matrix(zimg)
save("qrcode.png", jimg)

QRCoders currently has tight compatibility bounds on several of its dependencies (notably PNGFiles, ColorTypes, and ImageCore), which are pinned to older versions. This means that when working in a modern project environment that requires newer versions of these packages, the resolver fails. Unfortunately, it’s not possible for me to work with older versions of those packages. What is the best course of action to use it as a dependency?

I just submitted a PR for this package for SVG support. The package works!

When testing the package locally, I had to install some Linux packages to get all the tests to pass. If you encounter errors, just copy the full error message into a chatbot and ask for the missing packages.

Did you change the .toml so you could use newer packages?

I try fixing it now…

I’ve updated the [compat] section manually for you. Hopefully, everything looks good. I’m doing this for the first time. Here’s the link to the repository: GitHub - andreeco/QRCoders.jl: Creating QR Codes within Julia

hi @andreeco , thanks! I was going to do this as well, but I wasn’t sure if I should fork it and host it myself. It seems you’ve done so. I will test tomorrow and update this thread.