https://github.com/cnumr/ecoindex_python
Refactoring of ecoindex in one monorepo using polylith pattern
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.9%) to scientific vocabulary
Keywords from Contributors
Repository
Refactoring of ecoindex in one monorepo using polylith pattern
Basic Info
Statistics
- Stars: 24
- Watchers: 2
- Forks: 6
- Open Issues: 11
- Releases: 43
Metadata Files
README.md
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:
bash
task poetry:install
Usage
Have a look at the task help:
bash
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
Owner
- Name: Collectif Conception Numérique Responsable
- Login: cnumr
- Kind: organization
- Location: France
- Website: https://collectif.greenit.fr
- Twitter: cnumr
- Repositories: 23
- Profile: https://github.com/cnumr
GitHub Events
Total
- Issues event: 2
- Watch event: 1
- Issue comment event: 6
- Pull request event: 1
- Fork event: 1
Last Year
- Issues event: 2
- Watch event: 1
- Issue comment event: 6
- Pull request event: 1
- Fork event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Vincent Vatelot | v****t@g****m | 47 |
| dependabot[bot] | 4****] | 31 |
| Vincent Vatelot | v****t@i****e | 29 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 5
- Total pull requests: 136
- Average time to close issues: 11 months
- Average time to close pull requests: 14 days
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.8
- Average comments per pull request: 0.54
- Merged pull requests: 69
- Bot issues: 0
- Bot pull requests: 94
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 3.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- vvatelot (4)
Pull Request Authors
- dependabot[bot] (99)
- vvatelot (42)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 233 last-month
-
Total dependent packages: 4
(may contain duplicates) -
Total dependent repositories: 3
(may contain duplicates) - Total versions: 50
- Total maintainers: 1
pypi.org: ecoindex
Ecoindex module provides a simple way to measure the Ecoindex score based on the 3 parameters: The DOM elements of the page, the size of the page and the number of external requests of the page
- Homepage: http://www.ecoindex.fr
- Documentation: https://ecoindex.readthedocs.io/
- License: MIT
-
Latest release: 5.4.2
published over 3 years ago
Rankings
Maintainers (1)
pypi.org: ecoindex_compute
Ecoindex module provides a simple way to measure the Ecoindex score based on the 3 parameters: The DOM elements of the page, the size of the page and the number of external requests of the page
- Homepage: http://www.ecoindex.fr
- Documentation: https://ecoindex_compute.readthedocs.io/
- License: Creative Commons BY-NC-ND
-
Latest release: 5.9.0
published about 1 year ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4 composite
- actions/labeler v4 composite
- amannn/action-semantic-pull-request v5 composite
- pascalgn/size-label-action v0.5.0 composite
- MishaKav/pytest-coverage-comment main composite
- actions/checkout v4 composite
- arduino/setup-task v1 composite
- 117 dependencies
- aiofile 3.8.8
- aiosqlite 0.19.0
- alembic 1.13.0
- amqp 5.2.0
- annotated-types 0.6.0
- anyio 3.7.1
- async-timeout 4.0.3
- billiard 4.2.0
- caio 0.9.13
- celery 5.3.6
- certifi 2023.11.17
- charset-normalizer 3.3.2
- click 8.1.7
- click-didyoumean 0.3.0
- click-plugins 1.1.1
- click-repl 0.3.0
- colorama 0.4.6
- dnspython 2.4.2
- email-validator 2.1.0.post1
- exceptiongroup 1.2.0
- fastapi 0.104.1
- greenlet 3.0.1
- h11 0.14.0
- idna 3.6
- kombu 5.3.4
- mako 1.3.0
- markupsafe 2.1.3
- pillow 10.1.0
- playwright 1.40.0
- playwright-stealth 1.0.6
- prompt-toolkit 3.0.41
- pydantic 2.4.2
- pydantic-core 2.10.1
- pydantic-settings 2.1.0
- pyee 11.0.1
- python-dateutil 2.8.2
- python-dotenv 1.0.0
- pyyaml 6.0.1
- redis 5.0.1
- requests 2.31.0
- six 1.16.0
- sniffio 1.3.0
- sqlalchemy 2.0.23
- sqlmodel 0.0.14
- starlette 0.27.0
- typing-extensions 4.9.0
- tzdata 2023.3
- urllib3 2.1.0
- uvicorn 0.23.2
- vine 5.1.0
- watchdog 3.0.0
- wcwidth 0.2.12
- uvicorn ^0.23.2 backend
- aiosqlite ^0.19.0 develop
- typing-extensions ^4.8.0 develop
- watchdog ^3.0.0 develop
- aiofile ^3.8.8
- alembic ^1.12.1
- celery ^5.3.4
- fastapi ^0.104.1
- pillow ^10.1.0
- playwright ^1.39.0
- playwright-stealth ^1.0.6
- pydantic >=2.1.1,<=2.4.2
- pydantic-settings ^2.0.3
- python ^3.10
- pyyaml ^6.0.1
- redis ^5.0.1
- requests ^2.31.0
- sqlmodel ^0.0.14
- pillow ^10.1.0 worker
- playwright ^1.39.0 worker
- playwright-stealth ^1.0.6 worker
- aiofile 3.8.8
- annotated-types 0.6.0
- attrs 23.1.0
- automat 22.10.0
- caio 0.9.13
- certifi 2023.11.17
- cffi 1.16.0
- charset-normalizer 3.3.2
- click 8.1.7
- click-spinner 0.1.10
- colorama 0.4.6
- constantly 23.10.4
- contourpy 1.2.0
- cryptography 41.0.7
- cssselect 1.2.0
- cycler 0.12.1
- filelock 3.13.1
- fonttools 4.46.0
- greenlet 3.0.1
- hyperlink 21.0.0
- idna 3.6
- incremental 22.10.0
- itemadapter 0.8.0
- itemloaders 1.1.0
- jinja2 3.1.2
- jmespath 1.0.1
- kiwisolver 1.4.5
- loguru 0.7.2
- lxml 4.9.3
- markdown-it-py 3.0.0
- markupsafe 2.1.3
- matplotlib 3.8.2
- mdurl 0.1.2
- numpy 1.26.2
- packaging 23.2
- pandas 2.1.3
- parsel 1.8.1
- pillow 10.1.0
- playwright 1.40.0
- playwright-stealth 1.0.6
- protego 0.3.0
- pyasn1 0.5.1
- pyasn1-modules 0.3.0
- pycparser 2.21
- pydantic 2.5.2
- pydantic-core 2.14.5
- pydispatcher 2.0.7
- pyee 11.0.1
- pygments 2.17.2
- pyopenssl 23.3.0
- pyparsing 3.1.1
- pypydispatcher 2.1.2
- python-dateutil 2.8.2
- pytz 2023.3.post1
- pyyaml 6.0.1
- queuelib 1.6.2
- requests 2.31.0
- requests-file 1.5.1
- rich 13.7.0
- scrapy 2.11.0
- service-identity 23.1.0
- setuptools 69.0.2
- six 1.16.0
- tldextract 5.1.1
- twisted 22.10.0
- twisted-iocpsupport 1.0.4
- typer 0.9.0
- typing-extensions 4.8.0
- tzdata 2023.3
- urllib3 2.1.0
- w3lib 2.1.2
- win32-setctime 1.1.0
- zope-interface 6.1
- aiofile ^3.8.8
- click-spinner ^0.1.10
- jinja2 ^3.1.2
- loguru ^0.7.2
- matplotlib ^3.8.0
- pandas ^2.1.2
- playwright ^1.39.0
- playwright-stealth ^1.0.6
- pydantic ^2.4.2
- python >=3.10,<3.13
- pyyaml ^6.0.1
- rich ^13.6.0
- scrapy ^2.11.0
- typer ^0.9.0
- aiofile 3.8.8
- annotated-types 0.6.0
- caio 0.9.13
- certifi 2023.11.17
- charset-normalizer 3.3.2
- idna 3.6
- pydantic 2.5.2
- pydantic-core 2.14.5
- requests 2.31.0
- typing-extensions 4.8.0
- urllib3 2.1.0
- aiofile ^3.8.8
- pydantic ^2.4.2
- python ^3.10
- requests ^2.31.0
- annotated-types 0.6.0
- greenlet 3.0.1
- pillow 10.1.0
- playwright 1.40.0
- playwright-stealth 1.0.6
- pydantic 2.5.2
- pydantic-core 2.14.5
- pyee 11.0.1
- pyyaml 6.0.1
- typing-extensions 4.8.0
- pillow ^10.1.0
- playwright ^1.39.0
- playwright-stealth ^1.0.6
- pydantic ^2.4.2
- python ^3.10
- pyyaml ^6.0.1
- typing-extensions ^4.8.0
- aiosqlite ^0.19.0 api
- alembic ^1.12.1 api
- celery ^5.3.4 api
- redis ^5.0.1 api
- sqlmodel ^0.0.14 api
- fastapi ^0.104.0 api-backend
- uvicorn ^0.23.2 api-backend
- click-spinner ^0.1.10 cli
- jinja2 ^3.1.2 cli
- matplotlib ^3.8.0 cli
- pandas ^2.1.2 cli
- pyyaml ^6.0.1 cli
- rich ^13.6.0 cli
- scrapy ^2.11.0 cli
- typer ^0.9.0 cli
- black ^23.10.0 develop
- mypy ^1.7.0 develop
- pytest ^7.4.2 develop
- pytest-asyncio ^0.21.1 develop
- pytest-cov ^4.1.0 develop
- ruff ^0.1.1 develop
- types-click-spinner ^0.1.13.6 develop
- types-pyyaml ^6.0.12.12 develop
- types-requests ^2.31.0.10 develop
- watchdog ^3.0.0 develop
- aiofile ^3.8.8
- loguru ^0.7.2
- pydantic ^2.4.2
- pydantic-settings ^2.0.3
- python >=3.10,<3.13
- redis ^5.0.1
- requests ^2.31.0
- tomli ^2.0.1
- pillow ^10.1.0 scraper
- playwright ^1.39.0 scraper
- playwright-stealth ^1.0.6 scraper
- EndBug/add-and-commit v9 composite
- abatilo/actions-poetry v2 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- arduino/setup-task v2 composite
- docker/build-push-action v4 composite
- docker/login-action v3 composite
- docker/metadata-action v4 composite
- docker/setup-buildx-action v3 composite
- docker/setup-qemu-action v3 composite
- ncipollo/release-action v1 composite
- requarks/changelog-action v1 composite
- EndBug/add-and-commit v9 composite
- abatilo/actions-poetry v2 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- arduino/setup-task v2 composite
- docker/build-push-action v4 composite
- docker/login-action v3 composite
- docker/metadata-action v4 composite
- docker/setup-buildx-action v3 composite
- docker/setup-qemu-action v3 composite
- ncipollo/release-action v1 composite
- requarks/changelog-action v1 composite
- EndBug/add-and-commit v9 composite
- abatilo/actions-poetry v2 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- arduino/setup-task v2 composite
- ncipollo/release-action v1 composite
- requarks/changelog-action v1 composite
- EndBug/add-and-commit v9 composite
- abatilo/actions-poetry v2 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- arduino/setup-task v2 composite
- ncipollo/release-action v1 composite
- requarks/changelog-action v1 composite
- actions/stale v9 composite