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 Advait Dharmadhikari


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.3.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.3-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: esgprofiler-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 556802d1f8149f4b293be1c42ca820a86795dffeb46a6eb8ee22aa19065a6365
MD5 139b449503a8a4ac01e75b1f32495e2e
BLAKE2b-256 827f52bfc86194b411ddf6e901c0bc8df9cc871abe026396a341306e3e6e2a37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: esgprofiler-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 398590e68c2a0b757448b347669dc1eee65815a01656185cc5dd24dadbaa7897
MD5 559b0432bc6bffad0cd93a792763ac67
BLAKE2b-256 48494ff422223eef787b8b292a08335d581ec964626d0e3bcc01009fee14c29d

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