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 uv as a dependency manager.
If you want to contribute:
uv sync
# Run dev norminette
uv run norminette
# Or... with virtual env
source .venv/bin/activate
norminette
# Run tests
uv run pytest
# Run tests against another Python version
uv run --python 3.10 pytest
# Run the linter
uv run flake8
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'
Metadata
Release files for norminette 3.3.60
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| norminette-3.3.60.tar.gz | 61.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| norminette-3.3.60-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 163.8 kB
Release files / norminette-3.3.60.tar.gz
| Download URL | norminette-3.3.60.tar.gz |
|---|---|
| Size | 61.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6d4aaab86b09c1f4141a1f5683864a3011fbeab7013e71ced302f4cc02049936
|
|
BLAKE2b-256 checksum How to use checksums |
2a101499d130b71e1b9aa3afd4a9a780bc5c9c9c12bc4c410efe70eef05a9570
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / norminette-3.3.60-py3-none-any.whl
| Download URL | norminette-3.3.60-py3-none-any.whl |
|---|---|
| Size | 102.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c963ff9ff11180351f19b2f7e26a734bba8ee601a4a0c5e8f8f4a807770cf285
|
|
BLAKE2b-256 checksum How to use checksums |
6ff0e86721aaf2330da52313c70d25e9a6ece7d17993e1c3c085d7f020ac824f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|