Skip to main content

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


Download files

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

Source Distribution

2025_assignment2_vaultpasswordmanager-1.1.1.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file 2025_assignment2_vaultpasswordmanager-1.1.1.tar.gz.

File metadata

File hashes

Hashes for 2025_assignment2_vaultpasswordmanager-1.1.1.tar.gz
Algorithm Hash digest
SHA256 25c8c8d0f6924e8878f1d0a6f018787f9b81d122f1586591fc8d4456d23366ea
MD5 9a22ad1318043cc9cce17ed82e6c0cf1
BLAKE2b-256 f2432be5179f9d161d3fd1201f3dfb9a8ff6c9d2e78058997132805b52abf02e

See more details on using hashes here.

File details

Details for the file 2025_assignment2_vaultpasswordmanager-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for 2025_assignment2_vaultpasswordmanager-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7532afb195f6274a39084e6518060db40fc948aee4158a4fed623019f6161169
MD5 5ac40bdc9119379b20cd14a82b7c2ab9
BLAKE2b-256 a3dc20533aa2409683fd70dd63a5825189941f1cdd2cc162db40f34928002801

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