Giter Site home page Giter Site logo

timopollmeier / pontos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from greenbone/pontos

0.0 0.0 0.0 1.58 MB

Common utilities and tools maintained by Greenbone Networks

License: GNU General Public License v3.0

Shell 1.32% JavaScript 0.67% Python 93.75% C 1.76% Go 0.43% XSLT 0.66% CMake 0.65% NASL 0.77%

pontos's Introduction

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 create <orga/repo> <head> <target> <pr_title> [--body <pr_body>]
# update a PR on GitHub
pontos-github pr update <orga/repo> <pr> [--target <target_branch>] [--title <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.

pontos's People

Contributors

bjoernricks avatar cfi-gb avatar dependabot[bot] avatar fabaff avatar greenbonebot avatar nichtsfrei avatar pascalholthaus avatar timopollmeier avatar y0urself avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.