GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - cnumr/EcoIndex_python: Refactoring of ecoindex in one monorepo using polylith pattern

BranchesTags
Open more actions menu

Latest commit

 

History

152 Commits
152 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.vscode
.vscode
 
 
bases/ecoindex
bases/ecoindex
 
 
components/ecoindex
components/ecoindex
 
 
development
development
 
 
docs/images
docs/images
 
 
projects
projects
 
 
tasks
tasks
 
 
test
test
 
 
.gitignore
.gitignore
 
 
.python-version
.python-version
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
Taskfile.yml
Taskfile.yml
 
 
pyproject.toml
pyproject.toml
 
 
uv.lock
uv.lock
 
 
workspace.toml
workspace.toml
 
 

Repository files navigation

Ecoindex Python Fullstack

Validate project quality

PyPI - Version PyPI - Downloads

PyPI - Version PyPI - Downloads

PyPI - Version PyPI - Downloads Docker Pulls

Docker Pulls Docker Pulls

  • Ecoindex Python Fullstack
    • Projects
    • Getting started
      • Requirements
      • Installation
      • Usage
    • Disclaimer
    • License
    • Contributing
    • Code of conduct

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 Camoufox 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:

Ecoindex Python Fullstack

Getting started

Requirements

  • uv — manages the Python version and dependencies
  • Task — task runner
  • Docker — for third-party services (Valkey, MySQL)

Python 3.12 is installed automatically by uv (see .python-version).

Installation

To install Python and all dependencies, run:

task uv:install

For API development, also run:

task api:init-dev-project

This installs dependencies, Camoufox, creates the .env file and runs database migrations.

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.

License

Contributing

Code of conduct

About

Refactoring of ecoindex in one monorepo using polylith pattern

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

27 stars

Watchers

2 watching

Forks

10 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.