firesense


Namefiresense JSON
Version 0.10.1 PyPI version JSON
download
home_pageNone
SummaryAI-powered fire detection system using Gemma 3N E4B vision model
upload_time2025-08-04 02:17:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords ai computer-vision fire-detection gemma safety video-analysis wildfire
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # FireSense

[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

FireSense is an AI-powered fire detection system that uses the Gemma 3N E4B vision model to analyze video content for fire and smoke detection. It provides real-time analysis, comprehensive fire characteristics assessment, and emergency response recommendations.

## Features

- 🚀 **Fast Development**: Leverages uv for 10-100x faster dependency installation
- 📦 **Modern Packaging**: PEP 621 compliant with pyproject.toml
- 🔍 **Type Safety**: Full mypy strict mode support
- ✅ **Testing**: Comprehensive pytest setup with coverage
- 🎨 **Code Quality**: Pre-configured with ruff, black, and pre-commit
- 📚 **Documentation**: Ready for MkDocs with Material theme
- 🔄 **CI/CD**: GitHub Actions workflow included

## Quick Start

### Prerequisites

- Python 3.11 or higher
- [uv](https://github.com/astral-sh/uv) package manager

### Installation

#### From PyPI (Recommended)

```bash
pip install firesense
```

#### From Source

1. Clone the repository:
```bash
git clone https://github.com/gregorymulla/firesense_ai.git
cd firesense_ai
```

2. Install with pip:
```bash
pip install -e ".[dev]"
```

#### Using uv (Fastest)

1. Install uv:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

2. Install firesense:
```bash
uv pip install firesense
```

## Usage

### Running the Application

```bash
# Analyze a video file
firesense analyze video.mp4

# Analyze with custom settings
firesense analyze video.mp4 --interval 1.0 --confidence 0.8

# Preview frame extraction
firesense preview video.mp4 --frames 10

# Launch demo UI
firesense demo wildfire_example_01

# Process multiple videos
firesense batch /path/to/videos --pattern "*.mp4"
```

### Development Commands

```bash
# Run tests
make test

# Run linting
make lint

# Format code
make format

# Type check
make type-check

# Run all checks
make check

# Build documentation
make docs

# Clean build artifacts
make clean
```

## Project Structure

```
firesense/
├── src/gemma_3n/       # Source code
│   └── fire_detection/ # Fire detection system
│       ├── models/     # Data models and AI interface
│       ├── processing/ # Video and frame processing
│       └── vision/     # Computer vision utilities
├── tests/              # Test suite
│   ├── unit/           # Unit tests
│   └── integration/    # Integration tests
├── docs/               # Documentation
├── scripts/            # Utility scripts
└── .github/            # GitHub Actions
```

## Configuration

The application can be configured using environment variables with the `GEMMA_` prefix:

```bash
export GEMMA_DEBUG=true
export GEMMA_API_PORT=9000
export GEMMA_LOG_LEVEL=DEBUG
```

Or using a `.env` file:

```env
GEMMA_DEBUG=true
GEMMA_API_PORT=9000
GEMMA_LOG_LEVEL=DEBUG
```

## Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run tests and checks (`make check`)
5. Commit your changes (`git commit -m 'Add amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request

## Releasing

To publish a new release to PyPI, simply push a commit to the main branch with a message starting with "new release" followed by the version number:

```bash
git commit -m "new release 0.3.0"
git push origin main
```

The GitHub Actions workflow will automatically:
1. Extract the version from the commit message
2. Update the version in `pyproject.toml` and `__init__.py`
3. Build and publish the package to PyPI
4. Create a git tag
5. Create a GitHub release

**Note**: Make sure you have set up the `PYPI_API_TOKEN` secret in your GitHub repository settings.

## License

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

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "firesense",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Gregory Mulla <gregory.cr.mulla@gmail.com>",
    "keywords": "ai, computer-vision, fire-detection, gemma, safety, video-analysis, wildfire",
    "author": null,
    "author_email": "Gregory Mulla <gregory.cr.mulla@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/99/31/679c32edda4b48c0163636080025cfc1b8d45fc3360f0a222fc36df56b23/firesense-0.10.1.tar.gz",
    "platform": null,
    "description": "# FireSense\n\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nFireSense is an AI-powered fire detection system that uses the Gemma 3N E4B vision model to analyze video content for fire and smoke detection. It provides real-time analysis, comprehensive fire characteristics assessment, and emergency response recommendations.\n\n## Features\n\n- \ud83d\ude80 **Fast Development**: Leverages uv for 10-100x faster dependency installation\n- \ud83d\udce6 **Modern Packaging**: PEP 621 compliant with pyproject.toml\n- \ud83d\udd0d **Type Safety**: Full mypy strict mode support\n- \u2705 **Testing**: Comprehensive pytest setup with coverage\n- \ud83c\udfa8 **Code Quality**: Pre-configured with ruff, black, and pre-commit\n- \ud83d\udcda **Documentation**: Ready for MkDocs with Material theme\n- \ud83d\udd04 **CI/CD**: GitHub Actions workflow included\n\n## Quick Start\n\n### Prerequisites\n\n- Python 3.11 or higher\n- [uv](https://github.com/astral-sh/uv) package manager\n\n### Installation\n\n#### From PyPI (Recommended)\n\n```bash\npip install firesense\n```\n\n#### From Source\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/gregorymulla/firesense_ai.git\ncd firesense_ai\n```\n\n2. Install with pip:\n```bash\npip install -e \".[dev]\"\n```\n\n#### Using uv (Fastest)\n\n1. Install uv:\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n2. Install firesense:\n```bash\nuv pip install firesense\n```\n\n## Usage\n\n### Running the Application\n\n```bash\n# Analyze a video file\nfiresense analyze video.mp4\n\n# Analyze with custom settings\nfiresense analyze video.mp4 --interval 1.0 --confidence 0.8\n\n# Preview frame extraction\nfiresense preview video.mp4 --frames 10\n\n# Launch demo UI\nfiresense demo wildfire_example_01\n\n# Process multiple videos\nfiresense batch /path/to/videos --pattern \"*.mp4\"\n```\n\n### Development Commands\n\n```bash\n# Run tests\nmake test\n\n# Run linting\nmake lint\n\n# Format code\nmake format\n\n# Type check\nmake type-check\n\n# Run all checks\nmake check\n\n# Build documentation\nmake docs\n\n# Clean build artifacts\nmake clean\n```\n\n## Project Structure\n\n```\nfiresense/\n\u251c\u2500\u2500 src/gemma_3n/       # Source code\n\u2502   \u2514\u2500\u2500 fire_detection/ # Fire detection system\n\u2502       \u251c\u2500\u2500 models/     # Data models and AI interface\n\u2502       \u251c\u2500\u2500 processing/ # Video and frame processing\n\u2502       \u2514\u2500\u2500 vision/     # Computer vision utilities\n\u251c\u2500\u2500 tests/              # Test suite\n\u2502   \u251c\u2500\u2500 unit/           # Unit tests\n\u2502   \u2514\u2500\u2500 integration/    # Integration tests\n\u251c\u2500\u2500 docs/               # Documentation\n\u251c\u2500\u2500 scripts/            # Utility scripts\n\u2514\u2500\u2500 .github/            # GitHub Actions\n```\n\n## Configuration\n\nThe application can be configured using environment variables with the `GEMMA_` prefix:\n\n```bash\nexport GEMMA_DEBUG=true\nexport GEMMA_API_PORT=9000\nexport GEMMA_LOG_LEVEL=DEBUG\n```\n\nOr using a `.env` file:\n\n```env\nGEMMA_DEBUG=true\nGEMMA_API_PORT=9000\nGEMMA_LOG_LEVEL=DEBUG\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run tests and checks (`make check`)\n5. Commit your changes (`git commit -m 'Add amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n## Releasing\n\nTo publish a new release to PyPI, simply push a commit to the main branch with a message starting with \"new release\" followed by the version number:\n\n```bash\ngit commit -m \"new release 0.3.0\"\ngit push origin main\n```\n\nThe GitHub Actions workflow will automatically:\n1. Extract the version from the commit message\n2. Update the version in `pyproject.toml` and `__init__.py`\n3. Build and publish the package to PyPI\n4. Create a git tag\n5. Create a GitHub release\n\n**Note**: Make sure you have set up the `PYPI_API_TOKEN` secret in your GitHub repository settings.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AI-powered fire detection system using Gemma 3N E4B vision model",
    "version": "0.10.1",
    "project_urls": {
        "Documentation": "https://github.com/gregorymulla/firesense_ai#readme",
        "Homepage": "https://github.com/gregorymulla/firesense_ai",
        "Issues": "https://github.com/gregorymulla/firesense_ai/issues",
        "Repository": "https://github.com/gregorymulla/firesense_ai"
    },
    "split_keywords": [
        "ai",
        " computer-vision",
        " fire-detection",
        " gemma",
        " safety",
        " video-analysis",
        " wildfire"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d857ca4844384b83c28474f1b14bfd541cbbcf87a9ad36d887f43c2e021baba9",
                "md5": "49fadf6f259a95966916c76486001f7c",
                "sha256": "3b62f9b02e8044277002d84781c29cfef4a28441627552494eac6569bcf1de9c"
            },
            "downloads": -1,
            "filename": "firesense-0.10.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "49fadf6f259a95966916c76486001f7c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 75772,
            "upload_time": "2025-08-04T02:17:43",
            "upload_time_iso_8601": "2025-08-04T02:17:43.361292Z",
            "url": "https://files.pythonhosted.org/packages/d8/57/ca4844384b83c28474f1b14bfd541cbbcf87a9ad36d887f43c2e021baba9/firesense-0.10.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9931679c32edda4b48c0163636080025cfc1b8d45fc3360f0a222fc36df56b23",
                "md5": "e96d6f59402555667881b145cdc4e0e8",
                "sha256": "d216101d508e6d39599badfeca9f6a3152caab78357dfd47e97d1efcda9ff330"
            },
            "downloads": -1,
            "filename": "firesense-0.10.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e96d6f59402555667881b145cdc4e0e8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 298519,
            "upload_time": "2025-08-04T02:17:45",
            "upload_time_iso_8601": "2025-08-04T02:17:45.219647Z",
            "url": "https://files.pythonhosted.org/packages/99/31/679c32edda4b48c0163636080025cfc1b8d45fc3360f0a222fc36df56b23/firesense-0.10.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-04 02:17:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gregorymulla",
    "github_project": "firesense_ai#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "firesense"
}
        
Elapsed time: 1.78990s