Python Password Manager
Project description
VAULT PASSWORD MANAGER
Broglio Matteo -
Caputo Lorenzo - 894528
El Hanafi Nadim -
Giuggioli Daniel -
Fuso Valentina -
CONFIGURAZIONE
Il codice viene eseguito in un container Docker con l'immagine di Python 3.11, per necessità di compatibilità con la libreria libsqlcipher-dev. Ogni job della pipeline è preceduto da uno script, definito nella sezione before_script, che si occupa di installare le dipendenze di sistema necessarie per il suo corretto funzionamento.
STAGE BUILD
Punto di partenza della pipeline. Viene inizializzato e attivato l'ambiente di sviluppo virtuale che sarà poi utilizzato negli stage successivi. Prima di installare le dipendenze contenute nel file requirements.txt, viene aggiornato pip all'ultima versione disponibile per questioni di compatibilità ed efficienza.
STAGE VERIFY
Sono eseguite concorrentemente due tipologie di analisi, relative alla qualità del codice e alla sicurezza, riducendo il tempo totale di esecuzione della pipeline
VERIFY PROSPECTOR
Prospector è uno strumento di analisi della qualità del codice. La configurazione allow_failure: true permette alla pipeline di continuare verso gli stage successivi anche se il job termina con un fallimento. SPIEGARE IL PERCHE' DI QUESTA DECISIONE?esempio: non tutti gli errori sono dello stesso tipo e quindi non richiedono che l'esecuzione della pipeline si arresti
VERIFY BANDIT
Bandit sfrutta l'analisi dell'Abstract Syntax Tree (AST) per comprendere la struttura del codice e identificare costrutti potenzialmente pericolosi. SPIEGARE IL PERCHE' DI QUESTA DECISIONE?
STAGE TEST
In questa parte, viene verificato il corretto funzionamento del codice come previsto attraverso l'esecuzione dei test indicati in /src/unittest/test_vault.py. Il plugin Coverage per Pytest (pytest-cov) permette di misurare la percentuale di codice effettivamente eseguita durante i test. Al termine, il comando pytest --cov=. --cov-report=term genera una tabella nella quale mostra, per ogni file:
- Stmts: numero totale di statement, o linee di codice eseguibili
- Miss: numero di statement non eseguiti durante i testi
- Cover: percentuale di statement coperti.
La configurazione del coverage
/TOTAL.*\s+(\d+%)$/estra la percentuale di coverage totale.
PACKAGE
Questo stage trasforma il codice sorgente, verificato e testato, in pacchetti distribuibili e facilmente installabili in altri ambienti
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file 2025_assignment2_vaultpasswordmanager-1.1.1.tar.gz.
File metadata
- Download URL: 2025_assignment2_vaultpasswordmanager-1.1.1.tar.gz
- Upload date:
- Size: 32.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25c8c8d0f6924e8878f1d0a6f018787f9b81d122f1586591fc8d4456d23366ea
|
|
| MD5 |
9a22ad1318043cc9cce17ed82e6c0cf1
|
|
| BLAKE2b-256 |
f2432be5179f9d161d3fd1201f3dfb9a8ff6c9d2e78058997132805b52abf02e
|
File details
Details for the file 2025_assignment2_vaultpasswordmanager-1.1.1-py3-none-any.whl.
File metadata
- Download URL: 2025_assignment2_vaultpasswordmanager-1.1.1-py3-none-any.whl
- Upload date:
- Size: 47.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7532afb195f6274a39084e6518060db40fc948aee4158a4fed623019f6161169
|
|
| MD5 |
5ac40bdc9119379b20cd14a82b7c2ab9
|
|
| BLAKE2b-256 |
a3dc20533aa2409683fd70dd63a5825189941f1cdd2cc162db40f34928002801
|