Skip to main content

Common utilities and tools maintained by Greenbone Networks

Project description

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 Networks.

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

Table of Contents

Tools and Utilities

pontos comes with a continiously increasing set of features. The following commands are currently available:

  • pontos-release - Release handling utility for C and Python Projects

We also provide easy-to-use GitHub Actions, that we recommended to use instead of manually releasing with pontos-release.

# Prepare the next patch release (x.x.2) of project <foo>, use conventional commits for release notes
pontos-release prepare --project <foo> -patch -CC
# Release that patch version of project <foo>
pontos-release release --project <foo>
# Sign a release:
pontos-release sign --project <foo> --release-version 1.2.3 --signing-key 1234567890ABCDEFEDCBA0987654321 [--passphrase <for_that_key>]
  • pontos-version - Version handling utility for C, Go and Python Projects
# Update version of this project to 22.1.1
pontos-version update 22.1.1
# Show current projects version
pontos-version show
  • pontos-update-header - Handling Copyright header for various file types and licences

We also provide an easy-to-use GitHub Action, that updates copyright year in header of files and creates a Pull Request.

# Update year in Copyright header in files, also add missing headers
pontos-update-header -d <dir1> <dir2>
  • pontos-changelog - Parse conventional commits in the current branch, creating CHANGELOG.md file
# Parse conventional commits and create <changelog_file>
pontos-changelog -o <changelog-file>
  • pontos-github` - Handling GitHub operations, like Pull Requests (beta)
# create a PR on GitHub
pontos-github pr <orga/repo> <head> <target> <pr_title> [--body <pr_body>]
# get modified and deleted files in a PR, store in file test.txt
pontos-github FS <orga/repo> <pull_request> -s modified deleted -o test.txt
  • pontos` also comes with a Terminal interface printing prettier outputs
import pontos.terminal.terminal

term = terminal.Terminal()
with term.indent():
    term.ok("Hello indented World")
  • pontos also comes with git and GitHub APIs
import pontos.git
import pontos.github

Installation

Requirements

Python 3.7 and later is supported.

Install using pip

pip 19.0 or later is required.

Note: All commands listed here use the general tool names. If some of these tools are provided by your distribution, you may need to explicitly use the Python 3 version of the tool, e.g. pip3.

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

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 pipenv or 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

For installation via pipenv please take a look at their documentation.

Development

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

First install poetry via pip

pip install --user 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 Networks GmbH

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-2021 Greenbone Networks GmbH

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

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pontos-22.2.4.tar.gz (92.3 kB view details)

Uploaded Source

Built Distribution

pontos-22.2.4-py3-none-any.whl (98.4 kB view details)

Uploaded Python 3

File details

Details for the file pontos-22.2.4.tar.gz.

File metadata

  • Download URL: pontos-22.2.4.tar.gz
  • Upload date:
  • Size: 92.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pontos-22.2.4.tar.gz
Algorithm Hash digest
SHA256 8e53eb1439eb52067c61f0e26f580fdd80769a968cffb8f4e0a75936bb7ee1d1
MD5 cdeb4562d7ebcdec346b8997836e7b48
BLAKE2b-256 f9bc792bd5e648d7d1f6c696cc9c5b35ef879760d57b405d44e9c675ee4af42e

See more details on using hashes here.

Provenance

File details

Details for the file pontos-22.2.4-py3-none-any.whl.

File metadata

  • Download URL: pontos-22.2.4-py3-none-any.whl
  • Upload date:
  • Size: 98.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pontos-22.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ffffd04a507b1d9fb2e5b929902aaf2c6518b3c763b230d701f66f8845bd9e89
MD5 99116ef8c03f5bc156c7bfac7a634806
BLAKE2b-256 49ae4c4df48a15f35388c83931930554d8f9fd2fec3bfd5047909f15d4bdb899

See more details on using hashes here.

Provenance

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