Skip to main content

A CLI tool that detects alcohol intoxication from facial images.

Project description

logo

Sober Scan

Ask DeepWiki PyPI License uv Ruff Downloads Last Commit
A CLI tool that detects alcohol intoxication from facial images.

#Alcohol Intoxication   #Facial Recognition   #CLI


Demo GIF Test Image

🚀 Getting Started

It is recommended to use uv to create a virtual environment and pip install the following package.

pip install sober-scan

To run the application, simply type:

sober-scan
# or
sober-scan --help

👨‍💻 Development Setup

  1. Clone the repository and navigate to project folder:

    git clone https://github.com/Sang-Buster/Sober-Scan
    cd Sober-Scan
    
  2. Install uv first:

    # macOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Windows
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  3. Create a virtual environment at Sober-Scan/.venv/:

    uv venv --python 3.10
    
  4. Activate the virtual environment:

    # macOS/Linux
    source .venv/bin/activate
    
    # Windows
    .venv\Scripts\activate
    
  5. Install the required packages:

    uv pip install -e .
    
  6. Install ruff and pre-commit:

    uv pip install ruff pre-commit
    
    • ruff is a super fast Python linter and formatter.
    • pre-commit helps maintain code quality by running automated checks before commits are made.
  7. Install git hooks:

    pre-commit install --hook-type commit-msg --hook-type pre-commit --hook-type pre-push
    

    These hooks perform different checks at various stages:

    • commit-msg: Ensures commit messages follow the conventional format
    • pre-commit: Runs Ruff linting and formatting checks before each commit
    • pre-push: Performs final validation before pushing to remote
  8. Code Linting:

    ruff check
    ruff check --fix
    ruff check --select I
    ruff check --select I --fix
    ruff format
    
  9. Run the application:

uv run src/sober_scan/cli.py

📝 File Structure

📂Sober-Scan
 ┣ 📂src                         // Source Code
 ┃ ┗ 📦sober_scan                  // Python package
 ┃ ┃ ┣ 📂commands                      // Command line interface
 ┃ ┃ ┃ ┣ 📄detect.py
 ┃ ┃ ┃ ┣ 📄model.py
 ┃ ┃ ┃ ┗ 📄train.py
 ┃ ┃ ┣ 📂models                        // Model files
 ┃ ┃ ┃ ┣ 📄cnn.py
 ┃ ┃ ┃ ┣ 📄knn.py
 ┃ ┃ ┃ ┣ 📄nb.py
 ┃ ┃ ┃ ┣ 📄rf.py
 ┃ ┃ ┃ ┗ 📄svm.py
 ┃ ┃ ┣ 📂tests                        // Test files
 ┃ ┃ ┃ ┗ 📄test_cli.py
 ┃ ┃ ┣ 📄cli.py                      // CLI interface
 ┃ ┃ ┣ 📄config.py                   // Configuration
 ┃ ┃ ┣ 📄feature_extraction.py       // Feature extraction
 ┃ ┃ ┗ 📄utils.py                    // Utility functions
 ┣ 📄.gitignore                  // Git ignore patterns (env, cache, database)
 ┣ 📄.pre-commit-config.yaml     // Pre-commit hooks (ruff, commit message)
 ┣ 📄.pre-commit_msg_template.py // Commit message format validator
 ┣ 📄.python-version             // Python version
 ┣ 📄LICENSE                     // MIT License
 ┣ 📄README.md                   // Project documentation
 ┣ 📄pyproject.toml              // Project configuration
 ┗ 📄uv.lock                     // Lock file

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

sober_scan-0.0.3.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

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

sober_scan-0.0.3-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file sober_scan-0.0.3.tar.gz.

File metadata

  • Download URL: sober_scan-0.0.3.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for sober_scan-0.0.3.tar.gz
Algorithm Hash digest
SHA256 89588ab46bb31dd8002093bbec8ed09c52b6438fb96ff57a4671848e682bd1e5
MD5 7ba07973411c1785b88afd55ed9bd944
BLAKE2b-256 6a47756d8743d2bee89839c51f907e60ef2b8ce7f7a33490c08e34c915dc3bdf

See more details on using hashes here.

File details

Details for the file sober_scan-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: sober_scan-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for sober_scan-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 df12bcbf28ae5c8f36e5ecf66d5d59b1e31d7a77065c3580c852c0073d4ee8b0
MD5 c64e0c8a9c5d0d41190021f9a6601757
BLAKE2b-256 c3a92b9dd8b2cb07ffa6b06c98c03ccbb2cc97e1fa0b8ffa4a206f9027bcde64

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