![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png)
# Pontos - Greenbone Python Utilities and Tools <!-- omit in toc -->
[![GitHub releases](https://img.shields.io/github/release/greenbone/pontos.svg)](https://github.com/greenbone/pontos/releases)
[![PyPI release](https://img.shields.io/pypi/v/pontos.svg)](https://pypi.org/project/pontos/)
[![code test coverage](https://codecov.io/gh/greenbone/pontos/branch/main/graph/badge.svg)](https://codecov.io/gh/greenbone/pontos)
[![Build and test](https://github.com/greenbone/pontos/actions/workflows/ci-python.yml/badge.svg)](https://github.com/greenbone/pontos/actions/workflows/ci-python.yml)
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](https://en.wikipedia.org/wiki/Pontus_(mythology)),
the titan of the sea.
## Table of Contents <!-- omit in toc -->
- [Documentation](#documentation)
- [Installation](#installation)
- [Requirements](#requirements)
- [Install using pipx](#install-using-pipx)
- [Install using pip](#install-using-pip)
- [Install using poetry](#install-using-poetry)
- [Command Completion](#command-completion)
- [Setup for bash](#setup-for-bash)
- [Setup for zsh](#setup-for-zsh)
- [Development](#development)
- [Maintainer](#maintainer)
- [Contributing](#contributing)
- [License](#license)
## 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](https://peps.python.org/pep-0668).
> Please use the [installation via pipx](#install-using-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
```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:
```bash
eval "$(pontos-release --print-completion bash)"
```
### Setup for zsh
```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:
```bash
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][Greenbone]
## Contributing
Your contributions are highly appreciated. Please
[create a pull request](https://github.com/greenbone/pontos/pulls)
on GitHub. Bigger changes need to be discussed with the development team via the
[issues section at GitHub](https://github.com/greenbone/pontos/issues)
first.
## License
Copyright (C) 2020-2024 [Greenbone AG][Greenbone]
Licensed under the [GNU General Public License v3.0 or later](LICENSE).
[Greenbone]: https://www.greenbone.net/
[poetry]: https://python-poetry.org/
[pip]: https://pip.pypa.io/
[pipx]: https://pypa.github.io/pipx/
[autohooks]: https://github.com/greenbone/autohooks
Raw data
{
"_id": null,
"home_page": "https://github.com/greenbone/pontos/",
"name": "pontos",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Greenbone AG",
"author_email": "info@greenbone.net",
"download_url": "https://files.pythonhosted.org/packages/69/9b/9bd766f696fac7303d05e18ad904fc720c52d5be12723d9b156b97b135e3/pontos-24.9.0.tar.gz",
"platform": null,
"description": "![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png)\n\n# Pontos - Greenbone Python Utilities and Tools <!-- omit in toc -->\n\n[![GitHub releases](https://img.shields.io/github/release/greenbone/pontos.svg)](https://github.com/greenbone/pontos/releases)\n[![PyPI release](https://img.shields.io/pypi/v/pontos.svg)](https://pypi.org/project/pontos/)\n[![code test coverage](https://codecov.io/gh/greenbone/pontos/branch/main/graph/badge.svg)](https://codecov.io/gh/greenbone/pontos)\n[![Build and test](https://github.com/greenbone/pontos/actions/workflows/ci-python.yml/badge.svg)](https://github.com/greenbone/pontos/actions/workflows/ci-python.yml)\n\nThe **pontos** Python package is a collection of utilities, tools, classes and\nfunctions maintained by [Greenbone].\n\nPontos is the German name of the Greek titan [Pontus](https://en.wikipedia.org/wiki/Pontus_(mythology)),\nthe titan of the sea.\n\n## Table of Contents <!-- omit in toc -->\n\n- [Documentation](#documentation)\n- [Installation](#installation)\n - [Requirements](#requirements)\n - [Install using pipx](#install-using-pipx)\n - [Install using pip](#install-using-pip)\n - [Install using poetry](#install-using-poetry)\n- [Command Completion](#command-completion)\n - [Setup for bash](#setup-for-bash)\n - [Setup for zsh](#setup-for-zsh)\n- [Development](#development)\n- [Maintainer](#maintainer)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Documentation\n\nThe 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.\n\n## Installation\n\n### Requirements\n\nPython 3.9 and later is supported.\n\n### Install using pipx\n\nYou can install the latest stable release of **pontos** from the Python\nPackage Index (pypi) using [pipx]\n\n python3 -m pipx install pontos\n\n### Install using pip\n\n> [!NOTE]\n> The `pip install` command does no longer work out-of-the-box in newer\n> distributions like Ubuntu 23.04 because of [PEP 668](https://peps.python.org/pep-0668).\n> Please use the [installation via pipx](#install-using-pipx) instead.\n\nYou can install the latest stable release of **pontos** from the Python\nPackage Index (pypi) using [pip]\n\n python3 -m pip install --user pontos\n\n### Install using poetry\n\nBecause **pontos** is a Python library you most likely need a tool to\nhandle Python package dependencies and Python environments. Therefore we\nstrongly recommend using [poetry].\n\nYou can install the latest stable release of **pontos** and add it as\na dependency for your current project using [poetry]\n\n poetry add pontos\n\n## Command Completion\n\n`pontos` comes with support for command line completion in bash and zsh. All\npontos CLI commands support shell completion. As examples the following sections\nexplain how to set up the completion for `pontos-release` with bash and zsh.\n\n### Setup for bash\n\n```bash\necho \"source ~/.pontos-release-complete.bash\" >> ~/.bashrc\npontos-release --print-completion bash > ~/.pontos-release-complete.bash\n```\n\nAlternatively, you can use the result of the completion command directly with\nthe eval function of your bash shell:\n\n```bash\neval \"$(pontos-release --print-completion bash)\"\n```\n\n### Setup for zsh\n\n```zsh\necho 'fpath=(\"$HOME/.zsh.d\" $fpath)' >> ~/.zsh\nmkdir -p ~/.zsh.d/\npontos-release --print-completion zsh > ~/.zsh.d/_pontos_release\n```\n\nAlternatively, you can use the result of the completion command directly with\nthe eval function of your zsh shell:\n\n```bash\neval \"$(pontos-release --print-completion zsh)\"\n```\n\n\n## Development\n\n**pontos** uses [poetry] for its own dependency management and build\nprocess.\n\nFirst install poetry via [pipx]\n\n python3 -m pipx install poetry\n\nAfterwards run\n\n poetry install\n\nin the checkout directory of **pontos** (the directory containing the\n`pyproject.toml` file) to install all dependencies including the packages only\nrequired for development.\n\nAfterwards activate the git hooks for auto-formatting and linting via\n[autohooks].\n\n poetry run autohooks activate\n\nValidate the activated git hooks by running\n\n poetry run autohooks check\n\n## Maintainer\n\nThis project is maintained by [Greenbone AG][Greenbone]\n\n## Contributing\n\nYour contributions are highly appreciated. Please\n[create a pull request](https://github.com/greenbone/pontos/pulls)\non GitHub. Bigger changes need to be discussed with the development team via the\n[issues section at GitHub](https://github.com/greenbone/pontos/issues)\nfirst.\n\n## License\n\nCopyright (C) 2020-2024 [Greenbone AG][Greenbone]\n\nLicensed under the [GNU General Public License v3.0 or later](LICENSE).\n\n[Greenbone]: https://www.greenbone.net/\n[poetry]: https://python-poetry.org/\n[pip]: https://pip.pypa.io/\n[pipx]: https://pypa.github.io/pipx/\n[autohooks]: https://github.com/greenbone/autohooks\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Common utilities and tools maintained by Greenbone Networks",
"version": "24.9.0",
"project_urls": {
"Documentation": "https://greenbone.github.io/pontos/",
"Homepage": "https://github.com/greenbone/pontos/",
"Repository": "https://github.com/greenbone/pontos/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b227c583d18a7fe881305e57ad6c7721c0e678cde214f3c5e44f993ac2749df0",
"md5": "c37e32ff8befc3c75f63c1e9cf10d1ab",
"sha256": "ec0bb28f874a1d88c765a80ca77f217d5f799b3dfb6c266e25de6df365a142c0"
},
"downloads": -1,
"filename": "pontos-24.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c37e32ff8befc3c75f63c1e9cf10d1ab",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 234201,
"upload_time": "2024-09-03T11:22:29",
"upload_time_iso_8601": "2024-09-03T11:22:29.662018Z",
"url": "https://files.pythonhosted.org/packages/b2/27/c583d18a7fe881305e57ad6c7721c0e678cde214f3c5e44f993ac2749df0/pontos-24.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "699b9bd766f696fac7303d05e18ad904fc720c52d5be12723d9b156b97b135e3",
"md5": "0d5db2bcbc19d768d2059359be8f92f8",
"sha256": "7336142b382d5e0bb52146b7bbb2185de8e0be51509e1db32976578a6b1e7a91"
},
"downloads": -1,
"filename": "pontos-24.9.0.tar.gz",
"has_sig": false,
"md5_digest": "0d5db2bcbc19d768d2059359be8f92f8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 329668,
"upload_time": "2024-09-03T11:22:31",
"upload_time_iso_8601": "2024-09-03T11:22:31.344275Z",
"url": "https://files.pythonhosted.org/packages/69/9b/9bd766f696fac7303d05e18ad904fc720c52d5be12723d9b156b97b135e3/pontos-24.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-03 11:22:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "greenbone",
"github_project": "pontos",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pontos"
}