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.1.tar.gz (91.8 kB view details)

Uploaded Source

Built Distribution

pontos-22.2.1-py3-none-any.whl (97.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pontos-22.2.1.tar.gz
  • Upload date:
  • Size: 91.8 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.10.1 keyring/21.8.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pontos-22.2.1.tar.gz
Algorithm Hash digest
SHA256 6e19b8bc30a5da95d2f5ba7fe3c98121dfbe5f06a0c9da2cc1f4598248a07cb5
MD5 5f42720e97d8945b42bc054938ebbff2
BLAKE2b-256 81fd9e0ebd205f7c2d4808d85626c780dbb0ecc591454c32251cc47ad6c3a361

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: pontos-22.2.1-py3-none-any.whl
  • Upload date:
  • Size: 97.9 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.10.1 keyring/21.8.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pontos-22.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee0c979ee36b89f8716e5adab25ccc7c62dfdc4f26896a7a4911a33a538dbb99
MD5 cf6853e252eed7345f810100eca55305
BLAKE2b-256 82658e61caf39f92fb1a59246692d7bba9ea0126370f6a3d3389d3f911dfc214

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