https://github.com/zaujulio/featuresanalyzer
Python data analyze and machine learning tool
https://github.com/zaujulio/featuresanalyzer
gtk machine-learning numpy pandas python sklearn
Last synced: 11 months ago
JSON representation
Python data analyze and machine learning tool
- Host: GitHub
- URL: https://github.com/zaujulio/featuresanalyzer
- Owner: ZauJulio
- Created: 2024-03-13T23:15:21.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-27T14:38:17.000Z (11 months ago)
- Last Synced: 2025-02-27T20:41:16.353Z (11 months ago)
- Topics: gtk, machine-learning, numpy, pandas, python, sklearn
- Language: Python
- Homepage: https://zaujulio.github.io/FeaturesAnalyzer/
- Size: 1.11 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Features Analyzer















## Overview
This is a simple tool to analyze the features of a dataset, prototype and test machine learning/statistical models.
The project is built with Python type hints in all modules.
---
## Installation
1. Prerequisites
- **Python 3.12+**: Make sure you have Python 3.12 (or venv ;) ) or more recent installed on your system.
- **WSL (on Windows)**: Windows users should install the [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/pt-br/windows/wsl/install) to use Poetry.
---
2. Install Poetry (Optional but RECOMMENDED)
Poetry is used to manage dependencies and build the project. Follow the [link](https://python-poetry.org/docs/#installing-with-pipx) to install it or continue with to install with pyenv and pip.
---
3. Install Project
### **With Poetry**
1. Clone the repository:
```bash
git clone
cd
```
2. Install the dependencies:
```bash
poetry install
```
#### **With pyenv e pip**
1. Install Pyenv:
```bash
curl https://pyenv.run | bash
```
2. Install and configure the Python version:
```bash
pyenv install 3.12.0
pyenv local 3.12.0
```
3. Install the facilities using the `requirements.txt`:
```bash
pip install -r requirements.txt
```
#### **Docker**
1. The option to run via Docker is in its early stages and is a work in progress
```bash
# If you are using X11, remember to allow the connection
xhost +local:docker
docker buildx build -t fa .
# If u must use the local files, remember to map to volume
docker run --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --name fa fa
```
---
3. Run
```bash
cd src
python main.py
# Or with make
make run
```
---
## Project Structure
- Basic
```txt
├── assets # Assets files
│ ├── styles # Global styles
│ └── icons # Icons
├── docs # Documentation used by MkDocs
├── i18n # Internationalization files
├── src # Source code
│ ├── context # Context (Global state)
│ │ ├── states/* # States (With handlers)
│ │ └── store.py # Store/Merge context
│ ├── interfaces # Project interfaces
│ ├── models # Project models (extends FAModel)
│ ├── lib # Project libraries
│ │ ├── model_manager # Model manager
│ │ ├── orm # Typed JSON ORM with Pydantic and tinydb
│ │ ├── state_manager # State manager with Observer
│ │ ├── utils # Generic utils
│ │ └── widget.py # Generic Widget (extends Gtk.Widget)
│ └── sdk # SDKs for other services
├── .env.example # Environment variables example
└── requirements.txt # Python requirements file (alternative to poetry)
```
Advanced
```txt
├── assets # Assets files
│ ├── styles # Global styles
│ └── icons # Icons
├── docs # Documentation used by MkDocs
├── i18n # Internationalization files
├── src # Source code
│ ├── context # Context (Global state)
│ │ ├── states/* # States (With handlers)
│ │ └── store.py # Store/Merge context
│ ├── models/* # Project models (extends FAModel)
│ ├── interfaces # Project interfaces
│ │ ├── application.py # Global app interface
│ │ ├── controller.py # Generic (handler and connect signals)
│ │ ├── module.py # Generic (handler root state signals)
│ │ ├── state.py # Generic State
│ │ └── widget.py # Generic Widget (extends Gtk.Widget)
│ ├── lib # Project libraries
│ │ ├── model_manager # Model manager
│ │ ├── orm # Typed JSON ORM with Pydantic and tinydb
│ │ ├── state_manager # State manager with Observer
│ │ ├── utils # Generic utils
│ │ │ ├── bin_.py # Binary models access
│ │ │ ├── hsash.py # Hash utils
│ │ │ ├── lock.py # Lock utils to multiprocessing
│ │ │ ├── logger.py # Global logger
│ │ │ ├── meta.py # Meta class utils (Singleton)
│ │ │ ├── time_.py # Timezone, etc
│ │ │ ├── types_.py # State manager with Observer
│ │ │ ├── ui.py # State manager with Observer
│ │ └── widget.py # Generic Widget (extends Gtk.Widget)
│ └── sdk # SDKs for other services
├── .editorconfig # Editor configuration
├── .env.example # Environment variables example
├── .gitignore # Git ignore file
├── .pre-commit-config.yaml # Pre-commit configuration
├── Dockerfile # Dockerfile
├── Makefile # Makefile with common commands
├── poetry.lock # Poetry lock file
├── pyproject.toml # Python project file
├── requirements.txt # Python requirements file (alternative to poetry)
└── ruff.toml # Ruff (code linter/formatter) options
```
---
## Logic
- **Widget**: Interact with the user/screen
- **Controller**: Handle the widget state setter's/handle signals
- **Module**: Handle the controller with root state subscribes
- **State**: Integrate the module and interact with data/graphs, group widgets/modules, be creative ; )
---
## Tools Maintain Project
- [SonarCloud - Code Quality and Security](https://sonarcloud.io/project/overview?id=ZauJulio_FeaturesAnalyzer)
- [Renovate - Dependency Updates](https://developer.mend.io/github/ZauJulio/FeaturesAnalyzer)
- [Docs - Project documentation](https://zaujulio.github.io/FeaturesAnalyzer/)
---
## How to cite
```txt
@misc{FeaturesAnalyzer,
title={Boilerplate para Ferramentas de Visualização e Análise de Dados},
author={Zaú Júlio},
year={2024},
url={https://github.com/ZauJulio/FeaturesAnalyzer},
}
```
## License
UFRN/ZauJulio - 2024 💙🎓️