Bar directory reconnaissance and automation tool for legal professional data extraction
Project description
Universal Recon - Bar Directory Reconnaissance Tool
Workflow Status
Overview
Universal Recon is a comprehensive bar directory reconnaissance and automation tool designed for legal professional data extraction. It provides a modular plugin system for extracting, validating, and analyzing data from legal bar directories and professional websites.
Key Features
- Plugin-Based Architecture: Modular system with specialized extractors for different data types
- Social Media Detection: Automated discovery of LinkedIn, Twitter, Facebook, and Instagram profiles
- Firm Data Extraction: Intelligent parsing of law firm information and contact details
- ML-Powered Classification: Machine learning-based content labeling and categorization
- Validation Framework: Comprehensive data validation and quality assessment tools
- Analytics Suite: Risk assessment, trend analysis, and reporting capabilities
- Cross-Platform Support: Works on Windows and Linux with automated environment detection
Cross-Device Bootstrap
Alienware Device Setup
For setting up this project on a fresh Alienware device to match the ASUS golden image configuration:
📦 Download Bootstrap Bundle: alienware_bootstrap_bundle.zip (27.4KB - Updated July 30, 2025)
SHA256: 2999b1ac6dc9d94045778fee902c2f484b65c3514caa737f9e033c2cff626b85
Quick Setup (Windows):
# 1. Download and extract the bootstrap bundle
# 2. Run as Administrator
.\bootstrap_alienware.ps1
# Custom workspace location
.\bootstrap_alienware.ps1 -WorkspaceRoot "D:\Development"
# Skip validation (faster setup)
.\bootstrap_alienware.ps1 -SkipValidation
Quick Setup (Linux/macOS):
# 1. Make executable and run
chmod +x bootstrap_alienware.sh
./bootstrap_alienware.sh
# Custom workspace location
./bootstrap_alienware.sh /opt/development --skip-validation
What the Bootstrap Does:
- ✅ Clones repository at v2.0 tag
- ✅ Sets up Python 3.13 virtual environment
- ✅ Installs all 55+ required packages
- ✅ Creates device-specific configuration
- ✅ Sets up complete directory structure
- ✅ Generates validation report
- ✅ Configures automation framework
- ✅ Sets up cross-device compatibility
Bundle Contents (8 files, 27.4KB total):
bootstrap_alienware.ps1- PowerShell bootstrap script (529 lines)bootstrap_alienware.sh- Bash bootstrap script (523 lines).env.template- Environment variables templateconfig/device_profile-Alienware.json- Device-specific configurationvalidate_alienware_bootstrap.py- Bootstrap validation scriptvalidate_env_state.py- Environment validation scriptalienware_playbook.ps1- Complete automation playbook (675 lines)ENV_READY_REPORT.md- Current environment status report
Documentation:
- � Environment Readiness Report - 95% parity achieved
- 🔧 Phase 3 Roadmap - Advanced features and planning
- ✅ ASUS Completion Report - Phase 2 wrap-up status
Requirements:
- Python 3.13+
- Git 2.40+
- 5GB free disk space
- Administrator privileges (Windows) / sudo access (Linux)
- Internet connection for package downloads
Expected Setup Time: 10-15 minutes for complete environment
Validation Status: ✅ 95% Golden Image Parity - Ready for deployment
Getting Started
Requirements
- Windows 10/11, PowerShell 5.1+
- OneDrive installed and configured
- Python 3.11+
- Admin rights for scheduled tasks
Virtual Environment Setup
- Use
activate_venv.bat(CMD) orActivateVenv.ps1(PowerShell) to activate the Python environment. - For full dev setup:
RunDevelopment.batorStartDevPowerShell.bat. - To fix or recreate the venv:
fix_venv_activation.batandInstallDependencies.bat.
Environment Variables
.env.workand.env.asusare used for device-specific configs.env_loader.pyauto-detects and loads the correct file.- Only one
.envis loaded per execution.
First-Time Setup
- Activate the venv and install dependencies.
- Run
RunOneDriveAutomation.batand follow the menu. - For preview, use option 7; for full automation, use option 1.
Automation Scripts
- OneDriveAutomation.ps1: Main entry for all tasks.
- auto_git_commit.py: Auto-commits and pushes to GitHub.
- git_commit_and_notify.py: Commits, pushes, and sends notifications.
- notifier.py: Handles all email notifications (HTML supported).
- motion_task_creator.py: Local integration with Motion App via Flask API.
- health_check.py: Verifies environment and variables.
- log_rotator.py: Archives old logs.
Best Practices
- Always use
env_loader.pyfor environment detection. - Maintain only one version of each core script.
- Keep
.envfiles in the project root. - Log all actions for traceability.
- Deprecated:
.env(generic),token.pickle, device-specific notifier scripts.
Project Roadmap (Excerpt)
- Unified .env management and loader
- Centralized logging
- AI-powered task automation (Motion App integration)
- Git automation and notification
- Optional: Further AI enhancements and advanced analytics
Contributors & Contact
- For setup help, see the archived Setup Instructions and Roadmap in
docs/archive/. - For issues, open a ticket or contact the maintainer.
Data Hunter - Automated Discovery Module
The Data Hunter module provides automated discovery and download of property lists and inspection documents from municipal websites.
Key Features
- Automated Web Scanning: Periodically crawls configured municipal websites
- Smart File Detection: Uses regex patterns to identify relevant documents
- Intelligent Download Management: Prevents duplicate downloads and manages file sizes
- Multi-Source Support: Configurable sources for easy expansion
- Notification System: Email, Slack, and console notifications for new discoveries
- Pipeline Integration: Suggests processing commands for new files
Quick Start
# Test the system
python test_data_hunter.py
# Run discovery once
python src/data_hunter.py --run-once
# Start scheduled discovery (daily)
python src/data_hunter.py --schedule
# Windows users - use the batch script
RunDataHunter.bat
Configuration
Edit config/data_hunter_config.json to:
- Add new municipal data sources
- Configure notification preferences
- Adjust download settings and file patterns
- Set scheduling preferences
Supported Sources
Currently configured for:
- Miami-Dade County: Property appraiser and inspection lists
- Broward County: Building safety inspection programs
- Palm Beach County: Recertification and property lists
Adding New Sources
To add a new city/county source:
{
"name": "New-City",
"url": "https://newcity.gov/inspections",
"patterns": [
".*inspection.*\\.pdf",
".*property.*list.*\\.pdf"
],
"enabled": true,
"check_frequency_hours": 24
}
Notification Setup
Email Notifications:
"email": {
"enabled": true,
"smtp_server": "smtp.gmail.com",
"smtp_port": 587,
"username": "your-email@gmail.com",
"password": "your-app-password",
"to_emails": ["recipient@example.com"]
}
Slack Notifications:
"slack": {
"enabled": true,
"webhook_url": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
}
File Processing
Downloaded files are saved to input/ with timestamped names:
inspection_list_20250709_120000_miami_dade.pdf
property_safety_20250709_120000_broward.xlsx
Process new files using existing pipeline scripts:
python unified_scraper.py --pdf input/filename.pdf
python final_hallandale_pipeline.py # Adapt for other cities
This README consolidates all previous documentation, setup guides, and roadmaps. For historical docs, see docs/archive/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bar_directory_recon-0.1.3.dev0.tar.gz.
File metadata
- Download URL: bar_directory_recon-0.1.3.dev0.tar.gz
- Upload date:
- Size: 67.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7397d137bf5623393c7d4007dc0f8e10da863c689331c816524fd7c6dc9668f9
|
|
| MD5 |
3b7b50bba1c85b144b79e234dc36a923
|
|
| BLAKE2b-256 |
0bfe429122b26b3f99c82524c2f187050f987bebe4550b3bec47b503ef56b27f
|
File details
Details for the file bar_directory_recon-0.1.3.dev0-py3-none-any.whl.
File metadata
- Download URL: bar_directory_recon-0.1.3.dev0-py3-none-any.whl
- Upload date:
- Size: 80.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5022db89d572be28c55fc7220b5257383ade57433dad9d9e35ea99396606c6ab
|
|
| MD5 |
7988dd961535037943afc6fc2c4e9716
|
|
| BLAKE2b-256 |
8e05db8704dc029bb792667bd1e55d6e0cc58e942999514da0064a340fa24333
|