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
# add labels to an Issue/PR
pontos-github L <orga/repo> <issue/PR> label1 label2
  • 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.3.0.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

pontos-22.3.0-py3-none-any.whl (98.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pontos-22.3.0.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.12

File hashes

Hashes for pontos-22.3.0.tar.gz
Algorithm Hash digest
SHA256 249af4430baae4b4ee0ca73bd5dfa53bbead7c4b38ed635876c1de7eb11962d1
MD5 3234e52de131f484836dca5ef9107e35
BLAKE2b-256 2ef4e503e3225820f2b7d1cc6d2f82b4d1e6c3ce1118744f2649d14dc639a04f

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: pontos-22.3.0-py3-none-any.whl
  • Upload date:
  • Size: 98.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.12

File hashes

Hashes for pontos-22.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef1201d96047892752859204a23f4f2a62a719c36cfdf37a7d5553898d0d9168
MD5 a46d737c38c62dd485cb655594c960e3
BLAKE2b-256 1430c0bdd303ed9fe050560e02b85c5f08b8e42d4d993b561872bcd188649b8d

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