Metadata-Version: 2.4
Name: faultlinedetectionrobotics
Version: 0.0.1
Summary: Fault Line Detection in Robotics
Author: Asif Kazi
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/ksaad20/FLDR
Project-URL: Repository, https://github.com/ksaad20/FLDR
Project-URL: Issues, https://github.com/ksaad20/FLDR/issues
Keywords: fault-detection,pipeline,pipeline-inspection,robotics,computer-vision,lidar,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12.5
Requires-Dist: numpy<2.0,>=1.26
Requires-Dist: scipy>=1.11
Requires-Dist: pandas>=2.0
Requires-Dist: scikit-learn>=1.4
Requires-Dist: matplotlib>=3.8
Provides-Extra: dev
Requires-Dist: bandit>=1.7; extra == "dev"
Requires-Dist: black>=25.0; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: flake8>=7.0; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: ruff>=0.12; extra == "dev"
Requires-Dist: twine>=6.0; extra == "dev"
Dynamic: license-file

# 🔧 FLDR — Fault Line Detection in Robotics

[![Python](https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white)](https://www.python.org/)
[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](LICENSE)
[![CI](https://github.com/ksaad20/FLDR/actions/workflows/ci.yml/badge.svg)](https://github.com/ksaad20/FLDR/actions)
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Ruff](https://img.shields.io/badge/linter-ruff-D7FF64?logo=ruff&logoColor=black)](https://github.com/astral-sh/ruff)
[![Pytest](https://img.shields.io/badge/tests-pytest-0A9EDC?logo=pytest)](https://pytest.org/)
[![Codecov](https://codecov.io/gh/ksaad20/FLDR/branch/main/graph/badge.svg)](https://codecov.io/gh/ksaad20/FLDR)
[![GitHub release](https://img.shields.io/github/v/release/ksaad20/FLDR)](https://github.com/ksaad20/FLDR/releases)
[![GitHub stars](https://img.shields.io/github/stars/ksaad20/FLDR?style=social)](https://github.com/ksaad20/FLDR)
[![GitHub forks](https://img.shields.io/github/forks/ksaad20/FLDR?style=social)](https://github.com/ksaad20/FLDR/network/members)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21611443.svg)](https://doi.org/10.5281/zenodo.21611443)

---

## Fault Line Detection in Robotics

**Signal Processing • Fault Detection • Robotics • Infrastructure Inspection**

FLDR is an open-source Python framework for developing and evaluating fault detection workflows for robotic inspection systems. The project provides modular utilities for signal processing, fault detection, simulation, metrics, and inspection reporting.

---

## Features

- Modular fault detection framework
- Signal input/output utilities
- Detection pipeline
- Simulation utilities
- Evaluation metrics
- Inspection report generation
- Configuration management
- Comprehensive unit tests
- GitHub Actions CI/CD
- Black formatting
- Ruff linting
- Flake8 compatibility
- Bandit security scanning
- Apache-2.0 License

---

# Table of Contents

- Overview
- Installation
- Quick Start
- Repository Structure
- Development
- Testing
- Continuous Integration
- Roadmap
- Contributing
- Citation
- License

---

# Installation

Clone the repository

```bash
git clone https://github.com/ksaad20/FLDR.git
cd FLDR
```

Install FLDR

```bash
pip install -e .
```

Install development dependencies

```bash
pip install -r requirements.txt
```

---

# Quick Start

```python
import numpy as np

from fldr.io import save_signal, load_signal

signal = np.random.randn(1024)

save_signal(signal, "signal.csv")

loaded = load_signal("signal.csv")

print(loaded.shape)
```

---

# Repository Structure

```text
FLDR/
│
├── .github/
├── docker/
├── docs/
├── examples/
├── fldr/
│   ├── __init__.py
│   ├── config.py
│   ├── core.py
│   ├── detector.py
│   ├── io.py
│   ├── metrics.py
│   ├── pipeline.py
│   ├── report.py
│   ├── simulation.py
│   └── utils.py
│
├── metrics/
├── tests/
│
├── LICENSE
├── Makefile
├── README.md
├── cli.py
├── mkdocs.yml
├── pre-commit-config.yaml
├── pyproject.toml
└── pytest.ini
```

---

# Development

Format code

```bash
black .
```

Lint

```bash
ruff check .
flake8 .
```

Run tests

```bash
pytest
```

Run coverage

```bash
pytest --cov=fldr --cov-report=xml
```

---

# Continuous Integration

GitHub Actions automatically performs:

- Black formatting
- Ruff linting
- Flake8 checks
- Pytest
- Coverage generation
- Bandit security analysis
- Safety dependency checks

---

# Roadmap

Future development includes:

- Additional benchmark datasets
- Advanced fault localization algorithms
- Visualization utilities
- Improved reporting
- Extended documentation
- Performance benchmarking

---

# Contributing

Contributions are welcome.

1. Fork the repository.
2. Create a feature branch.
3. Write tests.
4. Ensure all CI checks pass.
5. Submit a pull request.

---

# Citation

If FLDR contributes to your research, please cite the repository or a future archived release.

---

# License

This project is licensed under the Apache-2.0 License.

See the `LICENSE` file for details.

---

# Author

**Kazi Saad Asif**

Electrical and Electronics Engineer

GitHub: https://github.com/ksaad20
