Skip to main content

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.
  • Text & NLP: Count / TF-IDF / Hashing vectorizers, a configurable Tokenizer, Multinomial & Bernoulli Naive Bayes, and optional dense Sentence Embeddings (skyulf-core[nlp]).
  • 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.

Docs PyPI License Downloads issues contributors

Website & Documentation

Visit the full documentation and project site for guides, API reference, and examples:

Installation

pip install skyulf-core

# EDA-focused install (core EDA + optional advanced EDA + visualization)
pip install skyulf-core[eda,viz]

# For visualization support (Rich dashboard + Matplotlib plots)
pip install skyulf-core[viz]

# For advanced EDA add-ons (sentiment + causal discovery)
pip install skyulf-core[eda]

# For hyperparameter tuning engines
pip install skyulf-core[tuning]

# For imbalance-aware preprocessing (e.g., SMOTE)
pip install skyulf-core[preprocessing-imbalanced]

# For XGBoost modeling nodes
pip install skyulf-core[modeling-xgboost]

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skyulf_core-0.3.4.tar.gz (229.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skyulf_core-0.3.4-py3-none-any.whl (271.0 kB view details)

Uploaded Python 3

File details

Details for the file skyulf_core-0.3.4.tar.gz.

File metadata

  • Download URL: skyulf_core-0.3.4.tar.gz
  • Upload date:
  • Size: 229.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for skyulf_core-0.3.4.tar.gz
Algorithm Hash digest
SHA256 56e8e621ad69b8c00ea8cbbac41eaf3c31247f13c65d8d46de420913dcb9521f
MD5 7c4cabecf6e2da0b859cc7ee12cd6a37
BLAKE2b-256 b47f3573c6e1c1c6e8f1c0098581088d5b1c7d7f87e01eb5269e0ffbafc283d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for skyulf_core-0.3.4.tar.gz:

Publisher: release.yml on flyingriverhorse/Skyulf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skyulf_core-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: skyulf_core-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 271.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for skyulf_core-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a79d070ec837c5c5826d8bffddab3ac4de3805d9fb290055ef7dca5c48b2ec07
MD5 546f5cd68930c920a483afca5d9bf429
BLAKE2b-256 a45dcadcaf8108b949037a13078a71e2416762dbdb9a73183ed7639d7324754f

See more details on using hashes here.

Provenance

The following attestation bundles were made for skyulf_core-0.3.4-py3-none-any.whl:

Publisher: release.yml on flyingriverhorse/Skyulf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page