GithubHelp home page GithubHelp logo

subconsciouscompute / meta-package-manager Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 303 KB

A meta package manager for interfacing with multiple distro/platform specific package managers.

License: GNU Affero General Public License v3.0

Rust 99.81% Makefile 0.19%
package-manager-tool rust package-manager

meta-package-manager's Introduction

Meta Package Manager

A meta package manager for interfacing with multiple distro/platform-specific package managers using a single, simple, unified interface. mpm is both a Rust library and a CLI utility.

It is inspired by Python's meta-package-manager which is far ahead in functionality.

Command-line Interface

The CLI provides a common interface to execute operations using different package managers. It automatically detects the package managers available on the system and picks one of them to perform operations by default (the user can also target a specific package manager if required).

Run mpm --help for more details.

Library usage

See samples in examples folder.

meta-package-manager's People

Contributors

dilawar avatar voltairenoir avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

meta-package-manager's Issues

Elevate privilages only when needed

mpm CLI attempts to elevate privileges for all commands. Commands such as help, search, list, managers, etc do not require sudo privileges. Since the password is asked for every command, this negatively affects the user experience.

Solution

  • Attempt to elevate privileges only for commands that need it

MPM fails to compile on Windows

The crate is failing to compile on Windows. This is caused by the elevate crate's with_env function. This is only available on Unix based OSs and should be conditionally compiled with #[cfg(unix)] or called with the if_cfg macro.

Add support to install packages by URL

  • yum, dnf, and Zypper support installing directly from an URL.
  • choco probably does not support it.
  • brew also doesn't support it
  • apt doesn't support it

Support json output

Add a global option --json.

If passed, all output must be in JSON format.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.