Size defines the price band, and you are the one measuring. The meter is a read-only Python script: download it, run it on your machine and send us only the numbers.
The project to be audited can be anywhere on your computer β a USB stick included. You pass its path to the meter, and it reads it right there.
If you prefer, copy the project to another folder and point at the copy β that way you are certain the original stays untouched. Your code is never altered: the meter reads the project and writes only `escopo.txt` and the manifest; the audit reads the project and writes only inside its own folder β and that is in the code, open, for you to check.
What you point at is what gets audited. If a folder is missing, the report will not say "missing": it simply does not look, and you get a smaller audit believing you got the whole one. Point at the entire project β that is what makes the price, the scope and the audit all describe the same tree.
Step 01
In a terminal, run the command below. If it answers Python 3.something, you are set. Tested on 3.11.
Not installed? Get it at python.org/downloads. On Windows, tick "Add Python to PATH" on the installer's first screen β without it the python command will not be found later.
Step 02
It is the audit drawer: the meter lives here, and this is where you will copy the audit kit later. It can be anywhere; this is just our suggestion.
Download medir.py with the button below and save it in this folder. Your project can stay where it already is β you pass its path to the meter.
Your browser saves it to Downloads. Move the file into the folder you have just created β that is where it needs to be.
Prefer the terminal? Once inside the folder:
Rather read it before downloading? The file opens right in the browser: medir.py
Step 03
Windows: open the folder in Explorer, click the address bar, type powershell and press Enter.
Linux / macOS: open a terminal and change into the folder.
Step 04
Pass the path to the project you want audited β it can be in any folder on your computer.
The meter recognises on its own what is not your code β known libraries, generated code, duplicate files, data and backup-looking folders β and discounts all of that automatically. On the first run it writes one file into the folder, escopo.txt, for you to add what it cannot guess β see the next step.
When you run medir.py it writes a manifesto.json file, which contains file names and counts β never the content of your code. Open it and check before sending; it is readable JSON.
Instead of the folder, pass a file from the module that matters (invoice generation, month-end close, the orders screen). The meter builds the slice: what uses that file, what it uses and what those use as well β and shows the whole working sequences, from start to finish.
It also reports the size of the whole repository next to the slice. Without that second number, a small slice would be indistinguishable from a small system.
python medir.py --lang en --path C:\auditoria\meuprojetopython3 medir.py --lang en --path ~/auditoria/meuprojetoStep 05
The meter separates your own code from what is not, and shows every discount with its number in plain sight: data, third-party libraries, generated code, identical copies and folders that look like backups. Nothing leaves the count silently.
π΄ Check the list of excluded folders, one by one. An excluded folder is not merely cheaper β it is not audited, and no problem inside it will be reported. We exclude by default so you are not charged for dead code. If any of them is still published or still in use, write !folder-name/ in escopo.txt (the ! re-includes) and run again.
Why we insist: in a real system we audited, the forgotten old copy had less protection than production β and that was the way in.
The meter already discounted libraries, generated code, duplicates, data and backups on its own. escopo.txt starts empty and is where you add what it cannot guess, with one simple rule: a trailing slash means a folder. generated_out/ removes every folder with that name, wherever it is; src/legacy/ removes only that one; *.min.js matches files; and !folder/ re-includes something the meter would exclude. Then just run it again.
π΄ Same rule applies: what leaves the count leaves the audit. Whatever you exclude will not be looked at, and no problem inside it will be reported. The meter prints your list on screen and records it in the manifest β so the report can declare what was left out. And if you write a path that does not exist, it says so: a silently wrong path would be indistinguishable from one that worked.
π΄ Edited escopo.txt? Run the meter again. The manifesto.json only changes when the meter runs β sending the old manifest prices the previous scope.
Step 06
Name, e-mail and the manifesto.json the measurement produced β it carries the size of your project. The measurement is recorded, with a number, right away, and you get the quote for the level you asked for: ONE, Deep or both. With that in hand, you place the order.
The manifest carries file names and counts β never the content of your code. Open it and check before sending; it is readable JSON.
You get an e-mail titled SVO β your quote (measurement #N), with the price for each level you asked for and the measurement number. That number is what opens the order β and until you place it, nothing is charged and nothing is installed. If a band needs to be quoted by hand, the e-mail says so instead of guessing a number.
Do not improvise or work around it. Stop and write to us β if a step did not work, the defect is in our text and we will fix it. An instruction that only works for those who already know is no instruction at all.