green-code-initiative / ecoCode-python

Reduce the environmental footprint of your Python software programs
https://ecocode.io
GNU General Public License v3.0
7 stars 9 forks source link
ecodesign python sonarqube sonarqube-plugin

EcoCode-python

ecoCode is a collective project aiming to reduce environmental footprint of software at the code level. The goal of the project is to provide a list of static code analyzers to highlight code structures that may have a negative ecological impact: energy and resources over-consumption, "fatware", shortening terminals' lifespan, etc.

ecoCode is based on evolving catalogs of good practices, for various technologies. This SonarQube plugin then implements these catalogs as rules for scanning your Python projects.

⚠️ This is still a very early stage project. Any feedback or contribution will be highly appreciated. Please refer to the contribution section.

License: GPL v3 Contributor Covenant

🌿 SonarQube Plugins

This plugin is part of the ecoCode project.\ You can find a list of all our other plugins in the ecoCode repository

🚀 Getting Started

You can give a try with a one command docker :

docker run -ti --rm \
       -p 9000:9000 \
       --name sonarqube-ecocode-python ghcr.io/green-code-initiative/sonarqube-ecocode-python:latest

or (with logs and data locally stored) :

docker run -ti --rm \
       -v sq_ecocode_logs:/opt/sonarqube/logs \
       -v sq_ecocode_data:/opt/sonarqube/data \
       -p 9000:9000 \
       --name sonarqube-ecocode-python ghcr.io/green-code-initiative/sonarqube-ecocode-python:latest

... and configure local SonarQube (security config and quality profile : see configuration for more details).

To install other ecocode plugins, you can also :

Then you can use Python test project repository to test the environment : see README.md of Python test project

Finally, you can directly use a all-in-one docker-compose

🛒 Distribution

Ready to use binaries are available from GitHub.

🧩 Compatibility

Plugin version SonarQube version Java version
1.5.+ 9.9.+ LTS to 10.7.0 11 / 17
1.4.+ 9.4.+ LTS to 10.4.1 11 / 17

Compatibility table of versions lower than 1.4.+ are available from the main ecoCode repository.

🤝 Contribution

check ecoCode repository

🤓 Main contributors

check ecoCode repository

Links