DEV Community

Cover image for Novus - A blazingly fast and futuristic package manager for windows.
Pranav Doshi
Pranav Doshi

Posted on

Novus - A blazingly fast and futuristic package manager for windows.

I am the founder of Novus Package Manager, and I am excited to share my product with you!

Installing applications can always be a pain. Downloads take forever to complete and we have to go through all the tedious steps of installing them.

💡 What is Novus?

Novus is a package manager designed to make your lives easier and easily install applications silently with just a single command.

Make sure to check out the website here.

🤔 Why Novus?

A lot of people have this question of why should I use Novus when there are other package managers out there like Chocolatey and Scoop? Well, there are many key differentiators between Novus and other package managers which make it significantly better.

Speed

Speed is an important aspect in any package manager.

Novus can use multithreaded downloads and download packages up to 8 times faster than normal downloads.

Many people have concerns about the security risks with using multithreaded downloads. However, most packages nowadays support concurrent connections. There are a few sites which do not allow multiple connections. Novus uses single threads to download such packages. If you still have a problem with this feature, please note that multithreaded downloads is an optional feature and disabled by default.

Novus downloads a package using multithreads passing the -m is passed. To always download packages using multiple threads, you can change the config globally with the command, novus config multithreaded true.

The image below shows the speed difference Novus and other popular package managers for Windows.
Novus Installation Times



Silent Installations

Most installers require you to keep accepting prompts in order to install a certain application. This can be frustrating at times especially if you want them to be autonomous. Novus installs apps silently, in a manner such that users don't need to accept any prompts during the installation.

This allows installations to be non-intrusive and faster.

Non-admin Installations

Most package managers like Chocolatey require you to install apps using an admin terminal. One of the most requested features is to be able to install apps in a regular terminal without having to open one as administrator each time.

Novus fixes this problem by automatically elevating to a admin terminal. Some people have expressed a certain security risk to this feature. However, Novus does not bypass the UAC (User Account Control). The batch file is used for activating the UAC and thereby if the user clicks on cancel, the installation will be aborted.

Portable Installations

Some people prefer to install portable packages as they can be moved between devices and drives.

Novus supports portable installations for certain apps by passing in the -p flag. To avoid using this flag, you can use the novus config portable true command to always install the portable version of a specific package. However, this is not highly recommended as most packages do not support portable installations.

Auto Updates

A key problem in package managers is the ability to keep all the packages up to date. It would be tedious to manually check each an every package, especially when there are plenty of them.

Novus uses an auto updating script to keep the packages up to date. This script automatically searches for newer versions of each package and updates the manifest.

In order to find the latest version, I used regex to match the version from the homepage of the application website.

This script runs every day and updates package which have newer releases.

If you are interested on how this was coded take a look at the GitHub repository.

Open Source

Lastly, Novus is open-source. This makes it easier to contribute and add packages to the manifest.

You can find the GitHub at this link
      -> https://github.com/novus-package-manager

We are still in alpha release and hoping to add a lot more cool features in the future.

If you would like to support the development of Novus or find the project interesting, a ⭐ would be hugely appreciated!

Make sure to check out the product if you're interested and I would love to know your thoughts and feedback on this project!

🔗Links

Website: http://novuspkg.com
GitHub: https://github.com/novus-package-manager
Discord: https://discord.gg/pb3VqXsgnY

Discussion (0)