Skip to main content

Open source C files linter for 42 Network campuses

Project description

norminette for 42 schools

Install

Norminette requires Python >=3.10.

Directly inside your global commands

Install using pip.

python3 -m pip install -U norminette

Install using pipx.

sudo apt update
sudo apt install python3-setuptools
sudo apt install pipx
pipx install norminette
pipx ensurepath

Install using a virtual environment.

python3 -m venv $HOME/.venv
source $HOME/.venv/bin/activate
python3 -m pip install --upgrade pip setuptools
python3 -m pip install norminette
echo "export PATH=\$PATH:$HOME/.venv/bin" >> $HOME/.${SHELL##/bin/}rc
deactivate

To upgrade an existing install, use

python3 -m pip install --upgrade norminette

Usage

  • Runs on the current folder and any subfolder:
norminette
  • Runs on the given filename(s):
norminette filename.[c/h]
  • Prevents stopping on various blocking errors:
norminette -d
  • Outputs all the debug logging:
norminette -dd

Docker usage

docker build -t norminette .
cd ~/42/ft_printf
docker run --rm -v $PWD:/code norminette

If you encounter an error or an incorrect output, you can:

  • Open an issue on github
  • Post a message on the dedicated slack channel (#norminette-v3-beta)

Please try to include as much information as possible (the file on which it crashed, etc)

Feel free to do pull requests if you want to help as well. Make sure that run_test.sh properly runs after your modifications.

Run for development

This new version uses poetry as a dependency manager.

If you want to contribute:

poetry install

# Run dev norminette
poetry run norminette

# Or... with virtual env
source .venv/bin/activate
norminette

# Run tests
poetry run pytest

Github action

Workflow example to check code with github action :

---
name: Norminette

on:
  push:

jobs:
  check-norminette:
    name: Norminette
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Norminette
        uses: 42School/norminette@<tag>
        with:
          args: '-RCheckForbiddenSourceHeader'

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

norminette-3.3.59.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

norminette-3.3.59-py3-none-any.whl (91.9 kB view details)

Uploaded Python 3

File details

Details for the file norminette-3.3.59.tar.gz.

File metadata

  • Download URL: norminette-3.3.59.tar.gz
  • Upload date:
  • Size: 58.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.17 Linux/6.11.0-1014-azure

File hashes

Hashes for norminette-3.3.59.tar.gz
Algorithm Hash digest
SHA256 a44c0c3c3d3e0664fcf16d6f7a8c80198dc79f49cecbf58aefb014b6c1dd7dde
MD5 9ba789bb8f2618f48e5669349d499c51
BLAKE2b-256 4667a01fa13d44f23394a845c9c83aa55baf1be2e4d0d898f85200f412cb595a

See more details on using hashes here.

File details

Details for the file norminette-3.3.59-py3-none-any.whl.

File metadata

  • Download URL: norminette-3.3.59-py3-none-any.whl
  • Upload date:
  • Size: 91.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.17 Linux/6.11.0-1014-azure

File hashes

Hashes for norminette-3.3.59-py3-none-any.whl
Algorithm Hash digest
SHA256 f56426b790d1c30931cc3c69bbec48f3c924a7773655aea288a14bbbbf9a3029
MD5 ee7e6127c2ff21b8ad0f9a4c7d8e97b2
BLAKE2b-256 809619cc111a74393dc84649fd6fcb42692d2685c3de85655edc9b1ca49e9245

See more details on using hashes here.

Supported by

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