Skip to main content

Fast Reading System using RSVP Technology

Project description

eTech Reading - Fast Reading System

Python 3.7+ License: MIT PyPI

A PyQt5-based desktop application for rapid serial visual presentation (RSVP) reading. Increase your reading speed while maintaining comprehension through focused letter highlighting.

Features

🚀 Speed Enhancement

  • Increases reading speed 2-3 times
  • Adjustable speed from 50 to 1000 WPM (Words Per Minute)
  • Real-time speed display and adjustment

👁️ Focus-Based Reading

  • Optimal Position Fixation (OPF) algorithm
  • Each word's focus letter highlighted in red
  • Reduces eye movement fatigue

📊 Statistics & Analytics

  • Reading speed comparison table
  • Estimated reading time calculation
  • Performance tracking

⚙️ Customization

  • Adjustable font size (20-80pt)
  • Pause, resume, and stop controls
  • Keyboard shortcuts (Space for play/pause, Esc for stop)

Installation

Via pip

pip install etech-reading

From source

git clone https://github.com/eymenomersenyigit-lang/etech-reading.git
cd etech-reading
pip install -e .

Quick Start

Command Line

etech-reading

Python Script

from etech_reading import RSVPReader
from PyQt5.QtWidgets import QApplication
import sys

app = QApplication(sys.argv)
reader = RSVPReader()
reader.show()
sys.exit(app.exec_())

Using TextAnalyzer

from etech_reading import TextAnalyzer

text = "Your text here..."
analysis = TextAnalyzer.analyze_text(text)

for sentence in analysis:
    print(f"Sentence {sentence['sentence_index']}: {sentence['original_sentence']}")
    for word in sentence['words']:
        print(f"  Word: {word['clean']}, Focus: {word['focus_letter']}")

Requirements

  • Python 3.7 or higher
  • PyQt5 >= 5.15.0
  • PyQtWebEngine >= 5.15.0

How It Works

RSVP Technology

Rapid Serial Visual Presentation (RSVP) is a technique that displays text word-by-word at a fixed position instead of requiring your eyes to move across the page.

  1. Sentence Breaking: Text is split into sentences
  2. Word Analysis: Each word is analyzed for optimal focus point
  3. Focus Positioning: The Optimal Position Fixation (OPF) algorithm calculates the best letter to focus on:
    • 1-2 letters: First letter
    • 3-4 letters: Second letter
    • 5-6 letters: Third letter
    • And so on...
  4. Visual Presentation: Words are displayed sequentially with the focus letter highlighted in red

Benefits

  • Faster Reading: 2-3x speed increase
  • Reduced Eye Strain: Eyes stay fixed on one point
  • Maintained Comprehension: Optimal position fixation keeps meaning clear
  • Improved Focus: Minimizes distractions

Configuration

Speed Settings

  • 50-150 WPM: Very Slow (ideal for learning difficult texts)
  • 150-250 WPM: Slow (comfortable for average readers)
  • 250-400 WPM: Normal (standard reading pace)
  • 400-600 WPM: Fast (experienced readers)
  • 600-900 WPM: Very Fast (advanced readers)
  • 900+ WPM: Ultra Fast (speed reading)

Font Size

Adjust font size from 20pt to 80pt for comfortable viewing.

Keyboard Shortcuts

Key Action
Space Play/Pause reading
Esc Stop reading

Terminal Commands

eTech Reading includes 10 powerful terminal commands for various use cases:

Command Purpose
pip install etech-reading Install the package
etech-reading Launch GUI application
pip show etech-reading View package information
python test_package.py Run test suite
python -m build Build distribution packages
twine upload dist/* Publish to PyPI
pip uninstall etech-reading Uninstall package
python -m etech_reading.reader Run as Python module
python -c "from etech_reading import ..." Use as library in scripts
source venv/bin/activate Create isolated environment

For detailed terminal commands, see TERMINAL_COMMANDS.md

Usage Advantages

eTech Reading is not just for casual reading. It's designed for multiple use cases and professional applications:

👤 Individual Users

  • Read 2-3x faster without losing comprehension
  • Reduce eye strain with fixed focus point
  • Better focus and concentration
  • Save hours every week on reading

🎓 Educational Use

  • Accelerate student learning
  • Standardized test preparation
  • Improved reading comprehension
  • 85-95% retention at higher speeds

💼 Corporate Training

  • Faster employee onboarding (2x speed increase)
  • Policy and compliance training
  • Cost reduction: $125,000+ annually for 100 new hires
  • Measurable productivity improvements

📝 Content Creators

  • Estimate article reading time
  • Optimize content length
  • Analyze content metrics
  • Better reader engagement

🌍 Language Learning

  • Accelerated reading in new languages
  • Vocabulary exposure
  • Practice with authentic native texts
  • Faster reading proficiency

🏥 Healthcare & Medical

  • Continuing education
  • Patient education materials
  • Literature review acceleration
  • Protocol training

💻 Software Developers

  • Faster API documentation reading
  • Technical article comprehension
  • Framework learning acceleration
  • Code documentation analysis

📊 Researchers & Academics

  • Literature review 50% faster
  • Process more research papers
  • Better knowledge synthesis
  • Accelerate research progress

For complete details, see USAGE_ADVANTAGES.md

Development

Setup Development Environment

git clone https://github.com/yourusername/etech-reading.git
cd etech-reading
pip install -e ".[dev]"

Running Tests

pytest

Code Formatting

black etech_reading/

Linting

flake8 etech_reading/

Project Structure

etech_reading/
├── __init__.py          # Package initialization
├── analyzer.py          # Text analysis module
└── reader.py            # Main GUI application

setup.py                 # Setup configuration
pyproject.toml          # Project metadata
README.md               # This file
LICENSE                 # MIT License

API Documentation

TextAnalyzer

split_into_sentences(text: str) -> List[str]

Splits text into sentences using common sentence endings.

get_focus_letter_index(word: str) -> Tuple[int, str]

Returns the index and character of the focus letter for a given word.

analyze_text(text: str) -> List[Dict]

Analyzes text and returns structured data for RSVP display.

RSVPReader

analyze_text() -> None

Analyzes the input text and prepares it for display.

start_reading() -> None

Starts the RSVP presentation.

pause_reading() -> None

Pauses or resumes the presentation.

stop_reading() -> None

Stops the presentation and resets the position.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

If you use eTech Reading in your research or projects, please cite it as:

@software{etech_reading_2026,
  title={eTech Reading - Fast Reading System using RSVP Technology},
  author={eOS},
  year={2026},
  url={https://github.com/eOS/etech-reading}
}

Support

For support, email eos@etech.com or open an issue on GitHub.

Roadmap

  • Multi-language support
  • Import from files (PDF, DOCX, TXT)
  • Export reading statistics
  • Customizable color schemes
  • Browser extension
  • Mobile application
  • Dark mode
  • Advanced text processing (stopwords removal, etc.)

References


Made with ❤️ by eOS

Windows

pip install etech-reading

macOS

pip install etech-reading

Kullanım

etech-reading

Veya Python'dan doğrudan:

python -m fastread

Kontroller

  • Space: Oynat/Duraklat
  • Esc: Durdur

RSVP Nedir?

Rapid Serial Visual Presentation (RSVP), metinleri hızlı bir şekilde okumak için kullanılan bir tekniktir. Her kelime sabit bir konumda sırasıyla gösterilir. Bu sayede:

  • 👀 Göz kaybı azalır
  • ⚡ Okuma hızı 2-3 kat artır
  • 🧠 Anlama yeteneği korunur

Gereksinimler

  • Python 3.8+
  • PyQt5 5.15+
  • PyQtWebEngine 5.15+

Lisans

MIT License - Detaylar için LICENSE dosyasına bakın.

İletişim

Sorularınız ve önerileriniz için lütfen issue açınız.


📝 Not: İlk Yayınlanan Proje

Bu proje, eOS tarafından ilk olarak yayınlanan bir projedir. Yolculuk boyunca bazı hatalar ve eksiklikler yaşanmış olabilir.

Özür Diliyorum 🙏

  • Eğer dokumentasyonda veya kodda hatalar buldunuz
  • Bazı özellikler beklediğiniz gibi çalışmadıysa
  • Kurulum veya kullanımda sorun yaşadıysanız

Lütfen bu sorunları bildirin. Sizin geri bildirimleri beni geliştirmeme yardımcı oluyor!

Teşekkürler ❤️

Bu projeyi tercih ettiğiniz ve destek verdiğiniz için çok teşekkürler. Continuous improvement ve feedback-driven development ile daha iyi bir ürün sunmaya çalışacağız.

GitHub: eymenomersenyigit-lang/etech-reading
Email: eOS@eTech.org (note: domain not acquired yet, use eymenomersenyigit@gmail.com)


Version 1.0.1 - Updated: January 20, 2026

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

etech_reading-1.0.2.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

etech_reading-1.0.2-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file etech_reading-1.0.2.tar.gz.

File metadata

  • Download URL: etech_reading-1.0.2.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for etech_reading-1.0.2.tar.gz
Algorithm Hash digest
SHA256 745c7df8e917152dbb7ab8e22470710a5a5c05ac00c73c097cf16b09d9e4bdca
MD5 42ef8fad9d034f68dbe45d4e88717563
BLAKE2b-256 0d7ccee9914db78e7951736833832fef96f2b90b205b7533db9f696154f252cb

See more details on using hashes here.

File details

Details for the file etech_reading-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: etech_reading-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for etech_reading-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ffe5cb66259df493a9ea5756c3db5987789fe1bb75cd15ad91021b2545dacdc8
MD5 9ce17c8d55c39008dbe78f6082c867d5
BLAKE2b-256 5d444d9f3976bbec1fb498ce967d1db65deece0dedddfb67463c2142eef22ee9

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