A state-of-the-art Intelligent Profiling Engine that combines Unsupervised Machine Learning, Natural Language Processing (NLP), and Human-in-the-Loop (HITL) feedback to track, analyze, and evolve entity profiles in real-time.
v0.2.0 β Audit remediation release. See the audit report and the changelog for the full list of fixes, or ARCHITECTURE.md for the design.
- π§ Hybrid Intelligence: K-Means clustering + Isolation Forest anomaly detection with debounced JSON persistence.
- π¬ NLP-Driven Insights: spaCy NER + TextBlob sentiment + SentenceTransformer embeddings β loaded lazily with caching.
- π₯ Human-in-the-Loop (HITL): validations + overrides stored alongside profiles.
- π₯οΈ Triple-Mode Interface: CLI (
run.py), Tkinter desktop (gui_app.py), Streamlit web (app.py). - π Temporal Evolution: behavioral signals timestamped with timezone-aware datetimes.
- π οΈ Synthetic Data: config-driven generator for finance, NGO, telecom, traffic across 7 world regions.
- Core: Python 3.9+
- ML: scikit-learn (K-Means, Isolation Forest)
- NLP: spaCy, TextBlob, sentence-transformers
- Data: pandas, NumPy
- Interfaces: Streamlit (web), Tkinter (desktop)
- Visualisation: matplotlib
- Packaging:
pyproject.toml(PEP 621) - CI/CD: GitHub Actions + Dependabot + pre-commit
git clone https://github.com/bucky-ops/intelligent-profiling-engine.git
cd intelligent-profiling-engine
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python -m spacy download en_core_web_smFor development / tests:
pip install -r requirements-dev.txt
pre-commit installstreamlit run app.pypython gui_app.pypython run.pypython run_synthetic.py \
--config config/global_synthetic_config.yaml \
--domain finance --region NA --size 1000 \
--output data/output.jsonl> help
> profile CUST-1 update --behavior amount:100 --behavior frequency:5
> profile CUST-1
> cluster --n 3
> analyze anomalies
> visualize CUST-1
> hitl validate CUST-1 "looks like a legitimate customer"
> exit
make docker
make docker-run # starts the Streamlit app on http://localhost:8501src/profile_system/ Core engine: Profile, Clustering, AnomalyDetection, NLP, HITL
src/generator/ Synthetic-data generator (config-driven orchestrator + domains)
app.py Streamlit web application
gui_app.py Tkinter desktop application
run.py CLI entrypoint
run_synthetic.py Synthetic-data CLI
tests/ Pytest test suite (unit + integration)
docs/ mkdocs documentation source
config/ YAML config for the synthetic generator
Dockerfile Multi-stage container image
See ARCHITECTURE.md for the design.
make test # run pytest
make test-cov # run pytest with coverage
make lint # ruff
make type # mypy
make security # pip-audit + banditCI runs on Python 3.9 / 3.10 / 3.11 / 3.12 on every push and PR.
- Docker: see
Dockerfileanddocker-compose.yml. - Environment variables: see
.env.example. - Production checklist: see SECURITY.md.
- Architecture
- Contributing
- Security Policy
- Code of Conduct
- Changelog
- Audit Report
- Profiling Algorithm Guide
- Interface Design
- Whitepaper
Contributions are welcome! Please read CONTRIBUTING.md and follow the Code of Conduct.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'feat: add AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Nexus Profile System - Bridging the gap between raw data and actionable intelligence.