Skip to content

Common utilities and tools maintained by Greenbone Networks

License

Notifications You must be signed in to change notification settings

greenbone/pontos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Greenbone Logo

Pontos - Greenbone Python Utilities and Tools

GitHub releases PyPI release code test coverage Build and test

The pontos Python package is a collection of utilities, tools, classes and functions maintained by Greenbone.

Pontos is the German name of the Greek titan Pontus, the titan of the sea.

Table of Contents

Documentation

The documentation for pontos can be found at https://greenbone.github.io/pontos/. Please refer to the documentation for more details as this README just gives a short overview.

Installation

Requirements

Python 3.9 and later is supported.

Install using pipx

You can install the latest stable release of pontos from the Python Package Index (pypi) using pipx

python3 -m pipx install pontos

Install using pip

Note

The pip install command does no longer work out-of-the-box in newer distributions like Ubuntu 23.04 because of PEP 668. Please use the installation via pipx instead.

You can install the latest stable release of pontos from the Python Package Index (pypi) using pip

python3 -m pip install --user pontos

Install using poetry

Because pontos is a Python library you most likely need a tool to handle Python package dependencies and Python environments. Therefore we strongly recommend using poetry.

You can install the latest stable release of pontos and add it as a dependency for your current project using poetry

poetry add pontos

Command Completion

pontos comes with support for command line completion in bash and zsh. All pontos CLI commands support shell completion. As examples the following sections explain how to set up the completion for pontos-release with bash and zsh.

Setup for bash

echo "source ~/.pontos-release-complete.bash" >> ~/.bashrc
pontos-release --print-completion bash > ~/.pontos-release-complete.bash

Alternatively, you can use the result of the completion command directly with the eval function of your bash shell:

eval "$(pontos-release --print-completion bash)"

Setup for zsh

echo 'fpath=("$HOME/.zsh.d" $fpath)' >> ~/.zsh
mkdir -p ~/.zsh.d/
pontos-release --print-completion zsh > ~/.zsh.d/_pontos_release

Alternatively, you can use the result of the completion command directly with the eval function of your zsh shell:

eval "$(pontos-release --print-completion zsh)"

Development

pontos uses poetry for its own dependency management and build process.

First install poetry via pipx

python3 -m pipx install poetry

Afterwards run

poetry install

in the checkout directory of pontos (the directory containing the pyproject.toml file) to install all dependencies including the packages only required for development.

Afterwards activate the git hooks for auto-formatting and linting via autohooks.

poetry run autohooks activate

Validate the activated git hooks by running

poetry run autohooks check

Maintainer

This project is maintained by Greenbone AG

Contributing

Your contributions are highly appreciated. Please create a pull request on GitHub. Bigger changes need to be discussed with the development team via the issues section at GitHub first.

License

Copyright (C) 2020-2024 Greenbone AG

Licensed under the GNU General Public License v3.0 or later.