Skip to content

Commit 5b6d1f3

Browse files
committed
Rename PatternLab to Pattern Analyzer
All references to PatternLab have been updated to Pattern Analyzer across code, documentation, and configuration files. Source code directories and modules were renamed, and related test, CI, and usage instructions were updated to reflect the new project name. Benchmark result files and report artifacts were added for statistical test validation.
1 parent be4565b commit 5b6d1f3

121 files changed

Lines changed: 320 additions & 318 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
run: |
4141
ruff check .
4242
black --check .
43-
mypy patternlab || true
43+
mypy patternanalyzer || true
4444
4545
- name: Run tests with coverage
4646
run: |

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,3 +184,4 @@ pattern.txt
184184
report.json
185185
report.html
186186
report.json
187+
/bench_results

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2024 PatternLab Team
3+
Copyright (c) 2025 EdgeTypE
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# PatternLab
1+
# Pattern Analyzer
22

3-
PatternLab is a comprehensive, plugin-based framework for binary data analysis in Python. It provides a powerful engine to apply statistical tests, cryptographic analysis, and structural format detection on any binary data source.
3+
Pattern Analyzer is a comprehensive, plugin-based framework for binary data analysis in Python. It provides a powerful engine to apply statistical tests, cryptographic analysis, and structural format detection on any binary data source.
44

55
## Features
66

@@ -10,16 +10,16 @@ PatternLab is a comprehensive, plugin-based framework for binary data analysis i
1010
- **Cryptographic Analysis**: Detects ECB mode encryption, repeating-key XOR patterns, and searches for known constants like AES S-boxes.
1111
- **Structural Analysis**: Basic parsers for formats like ZIP, PNG, and PDF.
1212
- **Machine Learning**: Anomaly detection using Autoencoders, LSTMs, and pre-trained classifiers.
13-
- **Multiple Interfaces**: Use PatternLab the way you want:
13+
- **Multiple Interfaces**: Use Pattern Analyzer the way you want:
1414
- **Command-Line Interface (CLI)** for scripting and automation.
1515
- **Web User Interface (Streamlit)** for interactive analysis and visualization.
1616
- **Text-based User Interface (TUI)** for terminal-based interaction.
17-
- **REST API (FastAPI)** to integrate PatternLab into other services.
17+
- **REST API (FastAPI)** to integrate Pattern Analyzer into other services.
1818
- **High-Performance Engine**: Supports parallel test execution, streaming analysis for large files, and sandboxed plugin execution for security and stability.
1919

2020
## Installation
2121

22-
It is recommended to install PatternLab in a virtual environment.
22+
It is recommended to install Pattern Analyzer in a virtual environment.
2323

2424
```bash
2525
# Clone the repository
@@ -46,21 +46,21 @@ The optional dependencies are:
4646
Analyze a binary file using a default set of tests and save the report.
4747

4848
```bash
49-
patternlab analyze test.bin --out report.json
49+
patternanalyzer analyze test.bin --out report.json
5050
```
5151

5252
Use a specific configuration profile for a focused analysis (e.g., cryptographic tests).
5353

5454
```bash
55-
patternlab analyze encrypted.bin --profile crypto --out crypto_report.json
55+
patternanalyzer analyze encrypted.bin --profile crypto --out crypto_report.json
5656
```
5757

5858
### Python API
5959

6060
Programmatically run an analysis pipeline.
6161

6262
```python
63-
from patternlab.engine import Engine
63+
from patternanalyzer.engine import Engine
6464

6565
# Initialize the analysis engine
6666
engine = Engine()
@@ -89,7 +89,7 @@ print(json.dumps(output, indent=2))
8989

9090
```
9191
pattern-analyzer/
92-
├── patternlab/ # Main source code for the framework
92+
├── patternanalyzer/ # Main source code for the framework
9393
│ ├── plugins/ # Built-in analysis and transform plugins
9494
│ ├── __init__.py
9595
│ ├── engine.py # The core analysis engine

app.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import base64
33
import pandas as pd
44
import json
5-
from patternlab.engine import Engine
5+
from patternanalyzer.engine import Engine
66

7-
st.set_page_config(page_title="PatternLab Analizi", layout="wide", page_icon="🔬")
7+
st.set_page_config(page_title="Pattern Analyzer Analizi", layout="wide", page_icon="🔬")
88

99
engine = Engine()
1010

@@ -50,10 +50,10 @@ def main():
5050
# Language support
5151
if 'language' not in st.session_state:
5252
st.session_state.language = "tr"
53-
53+
# TO DO (P3): Load language strings from an external file
5454
lang = {
5555
"tr": {
56-
"main_title": "🔬 PatternLab Analiz Platformu",
56+
"main_title": "🔬 Pattern Analyzer Analiz Platformu",
5757
"main_desc": "Bu platform, verilerinizde rastgelelik paternlerini analiz etmek için güçlü istatistiksel testler sunar. Dosya yükleyin veya doğrudan veri girin ve kapsamlı bir analiz raporu elde edin.",
5858
"results_title": "📊 Analiz Sonuçları",
5959
"control_panel": "⚙️ Kontrol Paneli",
@@ -161,7 +161,7 @@ def main():
161161
}
162162
},
163163
"en": {
164-
"main_title": "🔬 PatternLab Analysis Platform",
164+
"main_title": "🔬 Pattern Analyzer Analysis Platform",
165165
"main_desc": "This platform offers powerful statistical tests to analyze randomness patterns in your data. Upload a file or enter data directly and get a comprehensive analysis report.",
166166
"results_title": "📊 Analysis Results",
167167
"control_panel": "⚙️ Control Panel",

debug_bmr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from patternlab.plugin_api import BytesView
2-
from patternlab.plugins.binary_matrix_rank import BinaryMatrixRankTest
1+
from patternanalyzer.plugin_api import BytesView
2+
from patternanalyzer.plugins.binary_matrix_rank import BinaryMatrixRankTest
33

44
def inspect_rows(m=8, num_matrices=1):
55
bits_per_matrix = m * m

debug_engine.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from patternlab.engine import Engine
2-
from patternlab.plugin_api import TestPlugin, TestResult
1+
from patternanalyzer.engine import Engine
2+
from patternanalyzer.plugin_api import TestPlugin, TestResult
33

44
class ObsTest(TestPlugin):
55
def describe(self): return "Observ"
@@ -11,8 +11,8 @@ def run(self, data, params):
1111
e.register_test("obs_test", ObsTest())
1212
out = e.analyze(b"\x00\x01\x02", {"tests":[{"name":"obs_test","params":{}}]})
1313
print("analyze returned:", repr(out))
14-
import inspect, patternlab.engine
15-
src = inspect.getsource(patternlab.engine)
14+
import inspect, patternanalyzer.engine
15+
src = inspect.getsource(patternanalyzer.engine)
1616
print("\n--- source slice 1000..1320 ---")
1717
for i, line in enumerate(src.splitlines(), start=1):
1818
if 1000 <= i <= 1320:

docs/api-reference.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# API Reference
22

3-
This page provides a reference for the programmatic use of the PatternLab Python API. It is intended for developers who want to integrate PatternLab's analysis capabilities into their own applications.
3+
This page provides a reference for the programmatic use of the Pattern Analyzer Python API. It is intended for developers who want to integrate Pattern Analyzer's analysis capabilities into their own applications.
44

55
## Core Components
66

7-
The API revolves around a few key classes defined in `patternlab.engine` and `patternlab.plugin_api`.
7+
The API revolves around a few key classes defined in `patternanalyzer.engine` and `patternanalyzer.plugin_api`.
88

99
### `Engine`
1010

1111
The `Engine` class is the main entry point for all analysis tasks.
1212

1313
```python
14-
from patternlab.engine import Engine
14+
from patternanalyzer.engine import Engine
1515

1616
# Initialize the engine. This automatically discovers installed plugins.
1717
engine = Engine()
@@ -57,7 +57,7 @@ Returns a list of names of all registered test plugins.
5757
A memory-efficient wrapper for binary data passed to plugins. It's the primary data type used within the `run` method of plugins.
5858

5959
```python
60-
from patternlab.plugin_api import BytesView
60+
from patternanalyzer.plugin_api import BytesView
6161

6262
data = BytesView(b'\xAA\xBB\xCC')
6363

@@ -74,7 +74,7 @@ bits = data.bit_view()
7474
A dataclass used by `TestPlugin` instances to return their findings.
7575

7676
```python
77-
from patternlab.plugin_api import TestResult
77+
from patternanalyzer.plugin_api import TestResult
7878

7979
# Example of creating a TestResult within a plugin
8080
result = TestResult(
@@ -90,7 +90,7 @@ result = TestResult(
9090
This example demonstrates initializing the engine, defining a custom analysis pipeline, and running the analysis.
9191

9292
```python
93-
from patternlab.engine import Engine
93+
from patternanalyzer.engine import Engine
9494
import json
9595
import os
9696

docs/configs/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Configuration Examples
22

3-
This directory contains example configuration files for PatternLab in both `JSON` and `YAML` formats. These files demonstrate how to customize an analysis pipeline.
3+
This directory contains example configuration files for Pattern Analyzer in both `JSON` and `YAML` formats. These files demonstrate how to customize an analysis pipeline.
44

55
## Files
66

@@ -25,8 +25,8 @@ You can run an analysis using one of the example configuration files like this:
2525

2626
```bash
2727
# Using the YAML configuration
28-
patternlab analyze my_data.bin --config docs/configs/example.yml
28+
patternanalyzer analyze my_data.bin --config docs/configs/example.yml
2929

3030
# Using the JSON configuration
31-
patternlab analyze my_data.bin --config docs/configs/example.json
31+
patternanalyzer analyze my_data.bin --config docs/configs/example.json
3232
```

docs/getting-started.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Getting Started
22

3-
This guide will walk you through the basic steps to set up PatternLab and perform your first analysis.
3+
This guide will walk you through the basic steps to set up Pattern Analyzer and perform your first analysis.
44

55
## Prerequisites
66

@@ -25,15 +25,15 @@ python -m venv .venv
2525
pip install -e .[test,ml,ui]
2626
```
2727

28-
This command installs PatternLab and all dependencies required for the user interfaces, machine learning plugins, and running tests.
28+
This command installs Pattern Analyzer and all dependencies required for the user interfaces, machine learning plugins, and running tests.
2929

3030
## Running Your First Analysis (CLI)
3131

3232
The Command-Line Interface (CLI) is the quickest way to analyze a file. Let's analyze the provided `test.bin` file.
3333

3434
```bash
3535
# Run analysis on a file and save the output to report.json
36-
patternlab analyze test.bin --out report.json
36+
patternanalyzer analyze test.bin --out report.json
3737
```
3838

3939
After the command completes, a `report.json` file will be created in your directory. It contains a detailed breakdown of the results from all default tests.
@@ -60,12 +60,12 @@ After the command completes, a `report.json` file will be created in your direct
6060

6161
## Using the Python API
6262

63-
For more advanced use cases, you can integrate PatternLab directly into your Python scripts.
63+
For more advanced use cases, you can integrate Pattern Analyzer directly into your Python scripts.
6464

6565
Create a file named `example.py` with the following content:
6666

6767
```python
68-
from patternlab.engine import Engine
68+
from patternanalyzer.engine import Engine
6969
import json
7070

7171
# 1. Initialize the analysis engine
@@ -99,7 +99,7 @@ python example.py
9999

100100
## Launching the Web UI
101101

102-
PatternLab includes a user-friendly web interface built with Streamlit for interactive analysis.
102+
Pattern Analyzer includes a user-friendly web interface built with Streamlit for interactive analysis.
103103

104104
To start it, run the following command in your terminal:
105105

0 commit comments

Comments
 (0)