/pkg

Package manager for GRAND

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Coding style Code coverage Build status Documentation PyPi version

GRAND PKG

Package manager for GRAND

Description

This is a set of utilities for managing and distributing GRAND Python3 packages. It provides:

  • An encapsulation of setuptools for building a version controlled package that includes GRAND meta data.

  • Continuous Integration (CI) tests, both locally, with git hooks, and via GitHub.

  • An automatic documentation generation, from docstrings embeded in the source. An analysis of the documentation coverage is done at each commit.

Command line tools

This utility ships with a set of executables allowing to manage GRAND packages, as:

grand-pkg-init [path/to/new/package]
grand-pkg-update [path/to/existing/package]
grand-pkg-config [--edit] [name] [value]

Web integration

The packages statistics, and their documentation, can be browsed online from the GRAND packages pages.

Installation

GRAND packages require python3.7 or later. The package manager can run with lower version of Python3, though.

GRAND package manager

The GRAND package manager uses pip and PyPi in order to keep packages up-to-date. Therefore it is recommended to install it to your system as:

pip3 install --user grand-pkg

Alternatively, the latest commit of this package can be installed directly from GitHub, as:

pip3 install --user git+https://github.com/grand-mother/pkg.git@master

Installing binaries to the user space (--user) requires the corresponding path being in your PATH environment variable. Depending on your OS & its version, this might be already done. If not, you can manually edit your .bashrc. The user space location depends on the OS. on Linux the path can be updated as:

export PATH=/home/$(whoami)/.local/bin/:$PATH

On OSX use the following:

export PATH=/users/$(whoami)/Library/Python/3.*/bin/:$PATH

Python 3.7

On Linux, if not available from your local package manager, you can install Python3.7 directly from the tarball as:

tar -xvzf Python3.7.*
cd Python3.7.*
make -j4
sudo make -j4 altinstall

On OSX Python 3.7 can be installed with brew as:

brew unlink python
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/fd8bca8d1cf515bab1da7389afaffec71025cbd3/Formula/python.rb

Note that this will install pip as well, a Python package manager. Note also that in order to use the version 3.7 of python, not the system one (2.7 on most OS), you must explicitly type python3 or pip3, not python or pip.

License

The GRAND software is distributed under the LGPL-3.0 license. See the provided LICENSE and COPYING.LESSER files.