Skip to main content

Automated ESG scoring and profiling for companies using NLP and open data sources.

Project description

ESGProfiler

🌍 Automated ESG Scoring & Profiling with NLP and Open Data

ESGProfiler is an open-source Python package and Streamlit dashboard for programmatically analyzing and visualizing the Environmental, Social, and Governance (ESG) signals for any company.


Features

  • 📈 ESG Composite Scoring: NLP-based analysis of annual reports, news, and filings to auto-compute ESG subscores (Environment, Social, Governance)
  • 📰 Flexible Data Ingestion: Profile companies from Yahoo Finance, SEC filings, news headlines, report URLs, or custom-pasted text
  • 🗺 Streamlit Dashboard: Interactive web app for quick analysis and ESG visualization
  • Modular and Extensible: Robust Python API for developers and researchers to adapt, plug in new data sources, and customize their workflow

Quick Start

1. Install

pip install esgprofiler python -m spacy download en_core_web_sm

text

2. Run Dashboard

esgprofiler-dashboard

text Or for source builds: streamlit run esgprofiler/dashboard.py

text

3. Use Python API

from esgprofiler.data_ingest import fetch_yahoo_profile, fetch_news_headlines from esgprofiler.nlp_extract import count_esg_mentions from esgprofiler.scoring import score_esg_text

profile = fetch_yahoo_profile("MSFT") news = fetch_news_headlines("MSFT") text = " ".join(news) scores = score_esg_text(text) print(scores)

text


Dashboard Features

  • Enter a company ticker or CIK
  • Choose a data source: Yahoo News, SEC filing, report URL, or manual text
  • See company profile and ESG scores
  • Interactive breakdown by E/S/G
  • Key signal sentences and expandable sections
  • NEW: Copy/paste your own text or link to analyze custom data

Project Structure

esgprofiler/ │ init.py │ data_ingest.py │ nlp_extract.py │ scoring.py │ config.py │ dashboard.py README.md setup.py requirements.txt tests/ examples/

text


Developer & Contribution Guide

  • Fork and clone the repo
  • Add features or suggestions via PRs and Issue tracker
  • Extend keyword sets and weighting logic in config.py
  • Package and dashboard designed for easy extension to global data (news APIs, non-US filings, etc.)

License

MIT License © 2025 Your Name


Acknowledgements


Disclaimer

This tool uses open/public data and simple NLP approaches. Scores are for demonstration and educational purposes only—do not use alone for serious investment decisions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

esgprofiler-0.1.2.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

esgprofiler-0.1.2-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file esgprofiler-0.1.2.tar.gz.

File metadata

  • Download URL: esgprofiler-0.1.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for esgprofiler-0.1.2.tar.gz
Algorithm Hash digest
SHA256 34b4e85c2c5848a28b5169bc93621b59cad7de6a51ee78e5d1513d3d74eb5d30
MD5 65bdf0f991b59712f4a4347ee144d733
BLAKE2b-256 727416e30da80cab8c860800ebeaf64cbe86020fe4ee09e4f41f036c336ec561

See more details on using hashes here.

File details

Details for the file esgprofiler-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: esgprofiler-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for esgprofiler-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 afe5115bf275260c934b88a3d4fdaba15a8361bb4f84413faa2989deb40d6dbb
MD5 5fe0992c48775f0de51b24e92d6df9ed
BLAKE2b-256 a210551089e12721483c8c7de863d7a4ba9b88d69434bcfa59935453d92fbb67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page