zeP 1.0.0 - A ready to use package manager for Zig

After the final touches, and tweaks, I can say that zeP 1.0.0 has been officially released, and is now ready for proper usage.

https://github.com/XerWoho/zeP

zeP is a package and version manager for Zig, which focuses on comfort on the users end, meaning it does a lot for you, without needing config hell, or manual copy and pasting.

The biggest issues I have had with zeP, were the unspecific errors, and no logging. Everything was fixed, as well as proper documentation has now been added, and the Pre-Releases were moved else-where.

Error messages are now more specific, printing out usage commands if a specific command was not used properly, eg. missing arguments or sub commands.

Logs are being stored in the root directory of .zeP (within local directory), and the naming scheme is the Timestamp in Milliseconds (for easier sorting).

While in this update there were not a lot of changes, it is because there was not much to do, other than fix bugs, make errors more specific and add logging.

zeP is not a WIP anymore, it is a stable release. And if you still have any suggestions, wishes, bug fixes, or issues, every comment is welcome. Because zeP is focused on user comfort, I am glad to take in suggestions of you guys.

While this is still a somewhat small project, I am sure, that zeP can help you save time, and issues problems you might have without it.

1 Like

Also, because of this approach of installing projects, you simply know what you are typing. Our system allows for intellisense across the whole project, meaning that you get automatic function completion, and parameter declaration. Zig fetch, leaves you guessing, no intellisense, no auto-complete.

Sounds like misconfiguration with zls or something

Lastly, are you really not sick of adding garbage into your build.zig? First run $ zig fetch --save

Not really. I’m tired of build systems like cargo not being flexible enough.

Instead, we filter out all the bloat that is not useful to you, eg. the .github folder, tests/, examples/, or unimportant files such as .gitignore, .gitattributes, LICENSE, stuff that YOU dont need, will be discarded

Discarding LICENSE sounds like a bad idea.

We picked out the .zip files for every single project, and its version, which makes installs very quick. In the future we hope to store the already de-bloated files within a server, but that is a plan for the future.

Why should we trust you and your server instead of the upstream of the project?

11 Likes

I don’t want to diminish what you have made.

But I want to stress that it would be preferable if instead of creating your own pm and dividing the ecosystem, the community and the zig team collaborated to make something better.

The zig team is all for improving the built-in package manager they have done so multiple times already, while zig will probably never have an official registry it can improve support using registries created by the community.

If you’re annoyed at how slow that has been, then contribute!! The reason it’s slow is that they want to focus on other things, they would appreciate more contributes, especially if they want to work on something that is being neglected.

If you just disagree with their vision of the package manager, well they are fine with you making your own as long as it’s on top of the built-in one. Not that they can stop you from doing your own thing.
If it’s annoying to do so, then provide feedback or contribute! They do want to make the built-in pm usable even for building on top of to make a more featureful pm.

I also want to stress what @Cloudef pointed out.
in particular, discarding license is a terrible idea. I would expect somone using gpl to understand how important licenses are.

5 Likes

+1 to not dividing the ecosystem.

God forbid we have a repeat of, ahem…

  • CMake
  • Ninja
  • Makefiles
  • autotools
  • Bazel
  • Meson
  • Conan
  • vcpkg
  • Spack
  • qmake
  • build2
  • MSBuild
  • Xcode

And that is just what I can think of off the top of my head / what I’ve been exposed to throughout my career.

That is not to say that it is not okay to diverge from the trodden path, but Zig is in a position to learn from its predecessors when it comes to this type of thing!

6 Likes