Awesome
Ecoindex Python Fullstack
This project is a polylith repository for the Ecoindex project. It is called "fullstack" because it contains all the components of the project, including the backend that is used in production, but also a CLI tool and modules that can be used in other projects.
You can get more information about polylith in the official documentation and in the python-polylith tool that is used to manage this repository.
Projects
This repository contains the following projects:
- Ecoindex Compute: this is the base module that provides a simple interface to get the Ecoindex based on 3 parameters:
- The number of DOM elements in the page
- The size of the page
- The number of external requests of the page
- Ecoindex Scraper: This module provides a simple interface to get the Ecoindex based on a URL. It uses Playwright to get the DOM elements, size and requests of the page.
- Ecoindex CLI: This module provides a CLI tool to get the Ecoindex based on a URL. It uses the Ecoindex Scraper module.
- Ecoindex API: This module provides a REST API to get the Ecoindex based on a URL. It uses the Ecoindex Scraper module.
Here is a diagram of the dependencies between the projects:
Getting started
Requirements
- Python 3.9+
- Poetry
- Task
- Docker (optional)
Installation
To install main dependencies, run:
task poetry:install
Usage
Have a look at the task help:
task --list
Disclaimer
The LCA values used by ecoindex to evaluate environmental impacts are not under free license - ©Frédéric Bordage Please also refer to the mentions provided in the code files for specifics on the IP regime.