Skip to main content

NeuroGuard FND - Fake News Detection Desktop Application

Project description

NeuroGuard FND — Fake News Detection

PyPI Package: fakenews-ussu321
Python Package: fakenews_ussu321
Version: 2.0.0
Developer: Mohammed Usman
GitHub: @issu321
Website: issu321.github.io


Overview

NeuroGuard FND is a professional desktop application for detecting fake news using an Enhanced Ensemble NLP model. It combines TF-IDF vectorization, statistical feature engineering, sentiment analysis, and machine learning to classify news articles as Real or Fake with confidence scores and explainable AI insights.


Features

  • Single Article Analysis — Paste any news article and get instant real/fake classification with confidence score
  • Batch Processing — Upload CSV or Excel files to analyze multiple articles at once
  • Explainable AI — Get detailed explanations of why an article was flagged (sensationalist language, emotional tone, capitalization, etc.)
  • Sentiment Analysis — Real-time polarity and subjectivity scoring via TextBlob
  • User Authentication — Secure registration and login with Flask-Login
  • Desktop App — Native desktop window powered by pywebview (no browser needed)
  • Web Server Mode — Optional --server-only flag for browser-based deployment
  • Model Statistics API — Compare ensemble model performance metrics

Installation

pip install fakenews-ussu321

Usage

Desktop Mode (Default)

fakenews

Or:

python -m fakenews_ussu321

Launches a native desktop window at http://127.0.0.1:5000/.

Web Server Mode

fakenews --server-only

Or:

python -m fakenews_ussu321 --server-only

Runs the Flask development server accessible from any browser.


Package Structure

fakenews_ussu321/
├── __init__.py          # Package metadata
├── __main__.py          # python -m entry point
├── cli.py               # CLI entry point (fakenews command)
├── desktop.py           # pywebview desktop launcher
├── app.py               # Flask application factory
├── config.py            # Configuration settings
├── models/
│   ├── __init__.py      # SQLAlchemy & LoginManager init
│   ├── predictor.py     # FakeNewsPredictor (ensemble NLP model)
│   └── user.py          # User database model
├── routes/
│   ├── __init__.py      # Blueprint registration
│   ├── main.py          # Public pages (index, about, contact, features)
│   ├── auth.py          # Authentication (login, register, logout)
│   └── dashboard.py     # Prediction API & dashboard routes
├── templates/           # Jinja2 HTML templates
├── static/              # CSS, JS, images
├── Datasets/            # Sample datasets
├── instance/            # SQLite database storage
└── *.pkl                # Trained ML models

Dependencies

Package Version
Flask >=2.3.0
Flask-SQLAlchemy >=3.0.0
Flask-Login >=0.6.0
Werkzeug >=2.3.0
pandas >=2.0.0
numpy >=1.24.0
scikit-learn >=1.3.0
joblib >=1.3.0
textblob >=0.17
openpyxl >=3.1.0
pywebview >=4.4.0

Model Architecture

The Enhanced Ensemble NLP model extracts the following features:

  1. TF-IDF Vectorization — Term frequency-inverse document frequency
  2. Statistical Features (6 features):
    • Capitalization ratio
    • Exclamation mark count
    • Question mark count
    • Word count
    • Average word length
    • Sensationalist word count
  3. Sentiment Features (2 features):
    • Polarity (via TextBlob)
    • Subjectivity (via TextBlob)

All features are combined into a sparse matrix and fed into an ensemble classifier.


API Endpoints

Endpoint Method Auth Description
/ GET No Landing page
/features GET No Features page
/about GET No About page
/contact GET No Contact page
/auth/register GET/POST No User registration
/auth/login GET/POST No User login
/auth/logout GET Yes User logout
/auth/api/check-username/<username> GET No Username availability
/dashboard/ GET Yes Main dashboard
/dashboard/api/predict POST Yes Single article prediction
/dashboard/api/predict-batch POST Yes Batch file prediction
/dashboard/api/stats GET Yes Model performance stats
/api/model-stats GET No Best model statistics

Developer

Mohammed Usman


License

MIT License


Related Packages

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

fakenews_ussu321-2.0.0.tar.gz (374.4 kB view details)

Uploaded Source

Built Distribution

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

fakenews_ussu321-2.0.0-py3-none-any.whl (389.6 kB view details)

Uploaded Python 3

File details

Details for the file fakenews_ussu321-2.0.0.tar.gz.

File metadata

  • Download URL: fakenews_ussu321-2.0.0.tar.gz
  • Upload date:
  • Size: 374.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for fakenews_ussu321-2.0.0.tar.gz
Algorithm Hash digest
SHA256 bf0a49fec16496229d41d9413ec46eba1e88f2ef6448b59be62a9dc8c4525538
MD5 7f06ac18b50007498df007265bfaaadc
BLAKE2b-256 e8b2f39cf2fc44a8d49ce8fda7c31c7bf586f09ac99e2d0d1e0770e410e0d6a4

See more details on using hashes here.

File details

Details for the file fakenews_ussu321-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fakenews_ussu321-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 286f6fa710821fe998fe8eee9251a90f188eac6519824deb99eb87e24a2e13eb
MD5 a2c12d49e542abccbc9e372abd5dae0a
BLAKE2b-256 eee9497e1c5a7642e6a5cb67f5cf2cd3d623ca9a322b46f7f88226965422a7e9

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