Skip to content

Visualize pacman local database using Vis.js, inspired by pacgraph.

License

Notifications You must be signed in to change notification settings

farseerfc/pacvis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pacvis

Visualize pacman local database using Vis.js, inspired by pacgraph.

See my blog post for details: https://farseerfc.me/en/pacvis.html

以及中文介紹: https://farseerfc.me/pacvis.html

See a live demo at https://pacvis.farseerfc.me/ showing database of my arch server.

full zoomin

How to use

Install from AUR using any aurhelper (eg yaourt):

yaourt -S pacvis-git

Then

pacvis

Then go to http://localhost:8888/ .

You may need to zoom-in initially to see the rendered picture. Currently, we have scalability issue when there are too many packages, so we need a max level to limit the level of dependency depth. We fixed the scalability issue with a modified vis.js, but when there are more than 2000 packages the layout algorithm is still slow (more than 5 mins).

Running from source repo

git clone https://github.com/farseerfc/pacvis.git
cd pacvis

python -m venv .venv
source .venv/bin/activate

pip install .
pacvis

To be improved ...

  • performance for layout algorithm can be improved
  • we resolve dependency to package name using pyalpm directly now, and this information is lost on the graph
  • we do not track optdepends now we draw optdepends on the graph but not consider them during topology_sort
  • we need to estimate removable size (by pacman -Rcs) done
  • more information from pacman can be integrated
  • search by package name
  • show only part of the packages (like pactree) instead of filtering by levels
  • be visually attractive! applied getmdl theme
  • be compatible with older browsers (Safari, IE)
  • make a python setup.py install or PKGBUILD Now on aur