The core machine learning library for Skyulf.
Project description
Skyulf Core
Skyulf Core (skyulf-core) is the standalone machine learning library that powers the Skyulf MLOps platform. It provides a robust, type-safe, and modular set of tools for:
- Data Preprocessing: A comprehensive suite of transformers for cleaning, scaling, encoding, and feature engineering.
- Modeling: Unified interfaces for classification and regression models, wrapping Scikit-Learn and other libraries.
- Pipeline Management: Tools to build, serialize, and execute complex ML pipelines.
- Tuning: Advanced hyperparameter tuning capabilities with support for Grid Search, Random Search, and Optuna.
- Evaluation: Standardized metrics and evaluation schemas for model performance tracking.
Website & Documentation
Visit the full documentation and project site for guides, API reference, and examples:
- Project site / docs: https://www.skyulf.com
- Repository: https://github.com/flyingriverhorse/Skyulf
- PyPI package: https://pypi.org/project/skyulf-core
Installation
pip install skyulf-core
# For visualization support (Rich dashboard + Matplotlib plots)
pip install skyulf-core[viz]
Quick Start: Automated EDA
Skyulf Core includes a powerful automated Exploratory Data Analysis (EDA) module.
import polars as pl
from skyulf.profiling.analyzer import EDAAnalyzer
from skyulf.profiling.visualizer import EDAVisualizer
# 1. Load Data
df = pl.read_csv("data.csv")
# 2. Analyze
analyzer = EDAAnalyzer(df)
# Optional: Manually specify special columns if auto-detection fails
profile = analyzer.analyze(
target_col="target",
date_col="timestamp", # Optional
lat_col="latitude", # Optional
lon_col="longitude" # Optional
)
# 3. Visualize
viz = EDAVisualizer(profile, df)
viz.summary() # Prints rich terminal dashboard
viz.plot() # Opens interactive plots
Features
- Automated EDA: One-line profiling with Data Quality, Outliers, Time Series, and Geospatial analysis.
- Type-Safe: Built with modern Python type hints and Pydantic models.
- Modular: Use only the components you need.
- Serializable: All components are designed to be easily serialized for storage and deployment.
- Extensible: Easy to extend with your own custom transformers and models.
License
This project is licensed under the terms of the Apache 2.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skyulf_core-0.1.8.tar.gz.
File metadata
- Download URL: skyulf_core-0.1.8.tar.gz
- Upload date:
- Size: 113.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03ded783eefa213f8f5398cd15419d84aa907899e9065e51ead8b4d2f4a48f7d
|
|
| MD5 |
6786c3a6a58c5fe7af58b19683edd0ca
|
|
| BLAKE2b-256 |
35ead8d5b409347e41dfe82f6e9fd90ae2e8bd84cf689f12c009f0e9ec4c9de7
|
File details
Details for the file skyulf_core-0.1.8-py3-none-any.whl.
File metadata
- Download URL: skyulf_core-0.1.8-py3-none-any.whl
- Upload date:
- Size: 133.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c134bc1bcbf74a37f96be6d517eb6075ab99fd065aa86cf1f1283af9094118ae
|
|
| MD5 |
0d9ac16b7f7eb22452fec2c4540e8362
|
|
| BLAKE2b-256 |
b7a9aeb93945fb602a059134b9abc2bfb4cd788dc48401f4e48409a6c1d51758
|