Skip to main content

Simple symlink-based package manager for local installations (without sudo)

Project description

apt-local

image image Documentation Status

Simple symlink-based package manager for local installations (without sudo)

Features

Meant for Debian-based distributions: such as Debian / Ubuntu / Linux Mint and so on.

This package is born out of the frustration of a typical grad student who has no admin-rights over the machine, and has to rely on the system-admin over and over for installation of that "X" package.

Requirements

  • Debian-based OS or atleast dpkg, apt-get and apt-cache installed
  • GNU Stow: HTTP | FTP | Git | CPAN

If Stow is not available in the system you may use this script to install it.

Warning

This is an experimental project, and often results in hit-or-miss situation. The advantages with apt-local is a lightweight installation and installing packages requires no compilation. If you want a more robust package manager use one of the following:

  • NixOS/nix
  • conda/conda
  • fsquillace/junest
  • bpkg/bpkg

Quick start

Install the package using either of the following commands

python setup.py install --user  # with the source code
pip install apt-local --user  # without the source code

To get started choose a local directory where you would like the package to be installed. For example ~/.local or <path-to-scratch-directory>/.local and a directory called apt-cache (name can be anything) under it (very important!). This can simply be done as:

apt-local set-path ~/.local/apt-cache
apt-local show-path

Installing a .deb package is made as simple as:

usage: apt-local install [-h] pkg

positional arguments:
  pkg

For example apt-local install wget.

Usage

The subcommands serve self-explanatory purposes. The subcommands set-path and show-path are used to configure path and display the configured path respectively.

usage: apt-local [-h] {install,uninstall,list,set-path,show-path} ...

positional arguments:
  {install,uninstall,list,set-path,show-path}

optional arguments:
  -h, --help            show this help message and exit

Make your installation useable by setting up environment variables such as PATH, LD_LIBRARY_PATH, CPATH etc. in the ~/.profile or ~/.bashrc. The following snippet can be adapted:

export PATH=$PATH:$HOME/.local/bin
export CPATH=$CPATH:$HOME/.local/include
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/.local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib

Credits

This package was created with Cookiecutter and the ashwinvis/cookiecutter-pypackage project template.

History

0.0.2b1 (2019-09-04)

  • Option -y for install and uninstall

0.0.2b0 (2019-05-15)

  • No need to change directory
  • Now supports uninstall, list and other configuration option
  • Flattten usr dir
  • Avoid duplicate dependencies
  • Add search subcommand
  • Refactor to use src/ layout using cookiecutter

0.0.1b0 (2018-01-19)

  • First release, simple install option alone

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apt_local-0.0.2b1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

apt_local-0.0.2b1-py2.py3-none-any.whl (8.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file apt_local-0.0.2b1.tar.gz.

File metadata

  • Download URL: apt_local-0.0.2b1.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

File hashes

Hashes for apt_local-0.0.2b1.tar.gz
Algorithm Hash digest
SHA256 1ff22439489cb1a668820e938c745948535d339393037b0172d04a4aa23d013b
MD5 ded7edbe834adc04936775a6b244e5a4
BLAKE2b-256 be9a1d88f5bde40452bbe3ef0d808ef204d451d33e8e90b183df260b4a1b52cb

See more details on using hashes here.

File details

Details for the file apt_local-0.0.2b1-py2.py3-none-any.whl.

File metadata

  • Download URL: apt_local-0.0.2b1-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

File hashes

Hashes for apt_local-0.0.2b1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc9d9ad6682e39bfd505756297bae4497a18bed1f4d7f735349f4af5c8bd2859
MD5 cdb8ae553c9000493745ce0b7d89370e
BLAKE2b-256 7ae8c62634b86afb396c3d04a1e8ea3b3b8c9db13992c4dae194ab984a2340d1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page