Skip to main content

Pre-commit hooks to check that your contributions meet project guidelines and the mission to merge is good to go!

Project description

Go or NO GO

pre-commit Badge

Python support PyPI Release Repository Releases Licence Expand your project structure from atoms of code to galactic dimensions.

Project type Project stage Contributions Welcome Open issues Merge Requests

BDD Code style: Ruff Docstrings Gitmoji Semantic Line Breaks

Poetry Pre-commit Bandit isort Editorconfig

Intended Effort Versioning Code Quality Coverage Pipelines

Pre-commit hooks to check that your contributions meet project guidelines and the mission to merge is good to go! :saluting_face:


POWERED BY

Powered by Typer

:sunrise_over_mountains: Purpose & Function

Go or NO GO (gng for short) is a simple Python application designed to validate compliance to your project's guidelines.

:star_struck: Standout Features

We are currently in the Planning stage of the project, still defining the scope of the first milestones and our development plan. However, we anticipate the following features to be delivered for users at some point in the future:

  • :snake: Configuration via pyproject.toml;
  • :warning: A pre-commit hook to validate the size of changes in your branch;
  • :fox: Check if your Git trailers comply with your GitLab changelog_config.yml categories.

:inbox_tray: Installation

Use pipx to install Go or NO GO in an isolated environment:

pipx install go-or-no-go

Then you can run it from the command line:

gng --help

Pre-commit Hook

Go or NO GO can be easily integrated into your development cycle by adding it as a [pre-commit][install2] hook. Add this to the repos section of your .pre-commit-config.yaml file:

- repo: https://gitlab.com/galactipy/utilities/go-no-go
  # Go/NO GO is currently in the Planning stage
  # We recommend using the latest version whenever available
  rev: master
  hooks:
  - id: go-no-go

The gng hook is configured to run every time you push your changes to a remote. :wink:

:black_joker: How to Use It

The top-level command is all you need to run gng:

gng [--version | -v]

--version

-v

Print the current version of the program and exit.

gng will list the changes between your current branch and your repo's default branch and validate against a set threshold of maximum changes allowed.

Configuration

You can customise how Go or NO GO will behave by configuring its settings in your pyproject.toml file:

# Default values for gng
[tool.go-no-go]
default-branch = "master"  # Changes will always be compared against your default branch
threshold = 500
mode = "all"

The mode setting accepts the following options:

Mode Behaviour
all Validates both added and removed lines against threshold.
added Validates only added lines against threshold.
removed Validates only removed lines against threshold.

Settings that are not defined in pyproject.toml will use the default values when running gng. :slight_smile:

:reminder_ribbon: Contributing

There are several ways to contribute to Go or NO GO. Refer to our CONTRIBUTING guide for all relevant details.

Currently, we are seeking help to tackle areas of focus that are more pressing to our project's progress and would make an immediate difference in helping us achieve our mission.

Here are some key contributions your can help us with right now:

:ship: Releases

You can see the list of available releases on the GitLab Releases page.

We follow Intended Effort Versioning specification, details can be found in our CONTRIBUTING guide.

:shield: Licence

Licence

This project is licenced under the terms of the MIT License. See LICENCE for more details.

:page_with_curl: Citation

We provide a CITATION.cff file to make it easier to cite this project in your paper.

Credits Expand your project structure from atoms of code to galactic dimensions.

This project was generated with Galactipy.

Project details


Download files

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

Source Distribution

go_or_no_go-0.1.0a3.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

go_or_no_go-0.1.0a3-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file go_or_no_go-0.1.0a3.tar.gz.

File metadata

  • Download URL: go_or_no_go-0.1.0a3.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.7 Linux/6.17.7-arch1-1

File hashes

Hashes for go_or_no_go-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 7f236cb96da3a22c686e9ae2b31e2953cf7aaaad038cb33bb8b76d68b5a9c7f7
MD5 bd16720f1def1c1bcb235ba59db462a5
BLAKE2b-256 179f57a131fcf0a86636bd0633c5dceaf240d08ff4fe8015188961d3243a3071

See more details on using hashes here.

File details

Details for the file go_or_no_go-0.1.0a3-py3-none-any.whl.

File metadata

  • Download URL: go_or_no_go-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.7 Linux/6.17.7-arch1-1

File hashes

Hashes for go_or_no_go-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 c9ffdd8d8a21d5d64d77d9d8f10f5f8c682261b7c20ed454500af14e2e2c71f4
MD5 d626c25a7e5f461c4560418fd7179c37
BLAKE2b-256 88d807ae2eb1e44d854cce0a2c8f775041875125435138dc49011bd94df1d849

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page