cloudmapper icon indicating copy to clipboard operation
cloudmapper copied to clipboard

Add Python 3.7+ compatibility and migrate tests to nose2

Open alfonsoalongi opened this issue 6 months ago • 2 comments

Hi Duo Labs team,

I’m proposing a PR that does two things:

Add Python 3.7+ support and replace pyjq – swap the unmaintained pyjq dependency for the official jq bindings, fix boto3/botocore pinning so installs succeed on current Python, and guard jq.first calls against StopIteration. Installation is now fast and deterministic on Python 3.7 through 3.12.

Migrate the test suite from nose to nose2 – nose 1.x doesn’t run on Python 3.12 because it still imports imp. I’ve switched the assertions to built-in unittest helpers, added unittest.cfg + .coveragerc, and updated the test script. Coverage stays above the same 60 % threshold.

The demo fixtures produce identical output before and after these changes. Let me know if you’d like any tweaks before I open the PR.

alfonsoalongi avatar Oct 08 '25 10:10 alfonsoalongi

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Oct 08 '25 10:10 CLAassistant

Hi Duo Labs team,

I just signed the CLA. Thank you for your quick response and congratulations on your tool, which I see is widely used in the security field.

Il giorno mer 8 ott 2025 alle ore 13:00 CLAassistant < @.***> ha scritto:

CLAassistant left a comment (duo-labs/cloudmapper#974) https://github.com/duo-labs/cloudmapper/pull/974#issuecomment-3380975285

[image: CLA assistant check] https://cla-assistant.io/duo-labs/cloudmapper?pullRequest=974 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement https://cla-assistant.io/duo-labs/cloudmapper?pullRequest=974 before we can accept your contribution. You have signed the CLA already but the status is still pending? Let us recheck https://cla-assistant.io/check/duo-labs/cloudmapper?pullRequest=974 it.

— Reply to this email directly, view it on GitHub https://github.com/duo-labs/cloudmapper/pull/974#issuecomment-3380975285, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALCW6ZNTDOFABMOLMGEMDH33WTVDLAVCNFSM6AAAAACITSBOC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTGOBQHE3TKMRYGU . You are receiving this because you authored the thread.Message ID: @.***>

-- Ai sensi dell’art. 13 del Regolamento 2016/679/UE (GDPR) si informa che la presente email s’intende inviata per scopi lavorativi. Per tale ragione non è possibile garantire che, rispondendo alla stessa, il contenuto venga visualizzato esclusivamente dal soggetto cui è indirizzata la risposta. Si precisa che le informazioni contenute in questo messaggio sono confidenziali, riservate e a uso esclusivo del destinatario. Se questa email è stata ricevuta per errore, si prega di cancellarla immediatamente senza farne ulteriore uso e di avvisare gentilmente il mittente. Grazie.

Pursuant to Article 13 of the Regulation (EU) 2016/679 (GDPR), we inform you that this email is intended to be sent for working purposes. For this reason it is not possible to guarantee that, by replying to it, the content will be viewed exclusively by the person to whom the reply is addressed. We specify that the information contained in this message is confidential, privileged and for the exclusive use of the addressee. If this email has been received by mistake, please delete it immediately without making further use of it and kindly notify the event to the sender. Thank you.

alfonsoalongi avatar Oct 10 '25 01:10 alfonsoalongi