|Adrian Malacoda 0a5736c433 want to use git fetch, git pull won't work if we're not on a branch (which could happen if we've already updated)||3 months ago|
|napman||3 months ago|
|scripts||8 months ago|
|.gitignore||9 months ago|
|LICENSE||9 months ago|
|Makefile||9 months ago|
|README.md||9 months ago|
|__main__.py||9 months ago|
|run||9 months ago|
|setup.py||9 months ago|
Napman is not a package manager. What it is is a very simplistic tool that will keep track of versions of software not present in your package repository. Each item in Napman is represented by a Python script, which knows how to determine the latest version, install, or uninstall. Such a script can, for example, scrape a web page to find the latest version, and then find a download link to an archive. Examples of such scripts can be found under the
Napman stores all its information by default under
$HOME/.napman. The data for a particular script is stored under
$HOME/.napman/$NAME. The Python script itself is at
$HOME/.napman/$NAME/__init__.py following convention.
$HOME/.napman/$NAME/latest.version stores the latest version of that software that Napman knows about. Also, sometimes
$HOME/.napman/$NAME/installed.version will store the version currently installed, but each script is free to determine this in its own way (e.g. by parsing the output from a command).
There are a lot of things Napman doesn’t do out of the box (e.g. signature verification, dependency management) although scripts can of course include these as well. As the name states, it should not be considered a proper package manager.
list- list all scripts registered in Napman
add <script>- add a script (local file or URL) to Napman
remove <name>- removes the script for
namefrom Napman. Does not actually uninstall anything, or remove any other data associated with the script in Napman.
install <name> [<version>]- run install script for
name, optionally specifying the
version. Will default to the known most recent version.
uninstall <name>- run uninstall script for
refresh- refresh the known versions for all scripts
refresh <name>- refresh the known version for
update <name>- run the install script for
nameonly if the latest known version is different than the installed version
update- run update for all scripts
run <name> <command> [<command-args>...]- execute arbitrary
namewith the given
virtualenv -p python3 venv . venv/bin/activate pip install -e .
. venv/bin/activate napman <command> <arguments>
GNU General Public License, version 3 or later.