Skip to main content

East Data Science - ML/optimization platform functions for East Python runtime

Project description

East Data Science

Data science and ML platform functions for the East language

TypeScript: AGPL-3.0 Python: BSL 1.1 Node Version

East Data Science provides machine learning and optimization platform functions for the East language.

Installation

npm install @elaraai/east-py-datascience @elaraai/east

Python Optional Dependencies

Each module has its own optional Python dependencies to avoid installing unnecessary packages. Install only the extras you need:

# Single extra
pip install "east-py-datascience[scipy]"

# Multiple extras
pip install "east-py-datascience[scipy,sklearn,xgboost]"

# All extras
pip install "east-py-datascience[all]"

When using a git dependency in pyproject.toml:

"east-py-datascience[scipy] @ git+https://github.com/elaraai/east-workspace@main#subdirectory=libs/east-py/packages/east-py-datascience"
Module Extra Python Packages
MADS mads PyNomadBBO
Optuna optuna optuna
SimAnneal simanneal simanneal
Scipy scipy scipy, cloudpickle
Optimization (none) (core only — numpy)
GoogleOr google-or ortools
Sklearn sklearn scikit-learn, skl2onnx, onnxruntime, cloudpickle
XGBoost xgboost xgboost, cloudpickle
LightGBM lightgbm lightgbm, cloudpickle
NGBoost ngboost ngboost, cloudpickle
Torch torch torch, cloudpickle
GP gp scikit-learn, cloudpickle
Lightning lightning torch, pytorch-lightning, cloudpickle
Shap shap shap, cloudpickle
MAPIE mapie mapie, cloudpickle
ALNS alns alns
PyMC pymc pymc, cloudpickle
Simulation (none) (core only — numpy)
Causal causal dowhy, econml, PyALE, pandas, matplotlib, scikit-learn, cloudpickle

Quick Start

import { East, FloatType, variant } from "@elaraai/east";
import { MADS } from "@elaraai/east-py-datascience";

// Define objective function: minimize sum of squares
const objective = East.function([MADS.Types.VectorType], FloatType, ($, x) => {
    const x0 = $.let(x.get(0n));
    const x1 = $.let(x.get(1n));
    return $.return(x0.multiply(x0).add(x1.multiply(x1)));
});

// Optimize
const optimize = East.function([], MADS.Types.ResultType, $ => {
    const x0 = $.let([0.5, 0.5]);
    const bounds = $.let({
        lower: [-1.0, -1.0],
        upper: [1.0, 1.0],
    });
    const config = $.let({
        max_bb_eval: variant('some', 100n),
        display_degree: variant('some', 0n),
        direction_type: variant('none', null),
        initial_mesh_size: variant('none', null),
        min_mesh_size: variant('none', null),
        seed: variant('some', 42n),
    });

    return $.return(MADS.optimize(objective, x0, bounds, variant('none', null), config));
});

Modules

Optimization

Module Description Use Cases
MADS Derivative-free blackbox optimization using NOMAD algorithm Functions without derivatives, expensive evaluations, noisy/discontinuous objectives
Optuna Bayesian optimization with TPE sampler Hyperparameter tuning, mixed-type parameters, efficient search with few evaluations
SimAnneal Simulated annealing for discrete optimization TSP, scheduling, subset selection, knapsack, assignment problems
Scipy Scientific optimization and curve fitting Gradient-based minimization, curve fitting, interpolation, statistics
Optimization Iterative coordinate descent optimization Parameter tuning, sequential optimization across parameter groups
GoogleOr Google OR-Tools constraint programming, routing, LP, and graph algorithms CP-SAT, vehicle routing (TSP/VRP), linear/mixed-integer programming, min-cost flow, max flow, assignment

Machine Learning

Module Description Use Cases
Sklearn Core ML utilities from scikit-learn N-way splits, preprocessing (Standard/MinMax/RobustScaler), encoding (Label/Ordinal), metrics, GMM clustering, multi-target regression
XGBoost Gradient boosting with XGBoost Regression, classification, feature importance, fast training
LightGBM Fast gradient boosting with leaf-wise growth Large datasets, high cardinality features, faster than XGBoost on big data
NGBoost Natural gradient boosting with uncertainty Probabilistic predictions, confidence intervals, uncertainty quantification
Torch Neural networks with PyTorch MLP regression/classification, deep learning, custom architectures
Lightning PyTorch Lightning neural networks MLP, autoencoder, conv1d, sequential, transformer architectures
GP Gaussian Process regression Small datasets, uncertainty quantification, Bayesian optimization surrogate
MAPIE Conformal prediction intervals Prediction intervals, prediction sets, uncertainty quantification

Bayesian Inference

Module Description Use Cases
PyMC Bayesian inference with PyMC Bayesian linear regression, hierarchical models, multi-layer joint estimation, posterior analysis

Causal Inference

Module Description Use Cases
Causal One declarative causal experiment (Causal.experiment) over DoWhy / EconML / PyALE internals, plus Causal.designValidation (statsmodels power) Naive vs adjusted effect, confounder balance, propensity overlap, placebo/E-value robustness, and an honesty verdict (refuses when the data can't support an answer); and the real controlled-trial recipe that would confirm it — sample size, split, match-on categories, and a power curve

Simulation

Module Description Use Cases
Simulation Economic ontology simulation via DES Simulating economic resources, events, and processes; single deterministic runs, Monte Carlo trajectories

Explainability

Module Description Use Cases
Shap SHAP values for model interpretation Feature importance, model explanations, debugging predictions

Documentation

See USAGE.md for detailed API reference with examples.

Development

npm run build     # Compile TypeScript
npm run test      # Run test suite
npm run lint      # Check code quality

Claude Code plugin

The East ecosystem also ships a Claude Code plugin — East language skills, example search, and preemptive diagnostics for East code — installed separately from the elaraai marketplace:

# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai

License

This package has different licenses for TypeScript and Python code:

TypeScript (type definitions): Dual AGPL-3.0 / Commercial

Python (runtime implementations): BSL 1.1 (Business Source License)

  • Non-production use (evaluation, testing, development) is free
  • Production use by or on behalf of for-profit entities requires a commercial license
  • Code becomes AGPL-3.0 four years after each release

See LICENSE.md for full details.

Commercial licensing: support@elara.ai

Ecosystem

  • East: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.

    • @elaraai/east: Core language SDK with type system, expressions, and reference JS compiler
  • East Node: Node.js platform functions for I/O, databases, and system operations.

  • East C: C11 native runtime for executing East IR. Distributed via npm (launcher + per-platform optional dependencies) and as tarballs on each GitHub Release.

    • @elaraai/east-c-cli: npm launcher — installs the matching native binary as an optional dependency
    • east-c: Core runtime — type system, IR interpreter, builtins, serialization (Beast2, JSON, CSV, East text)
    • east-c-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-c-cli: CLI for running East IR programs natively
  • East Python: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.

    • east-py: Core Python runtime — type system, IR compiler, 212+ builtins, Cython-accelerated hot paths
    • east-py-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-py-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
    • east-py-cli: CLI for running East IR programs in Python
    • east-py-datascience (PyPI) + @elaraai/east-py-datascience (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
  • East UI: Typed UI component definitions and React renderer, plus VS Code preview.

  • e3 — East Execution Engine: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.

Links

About Elara

East is developed by Elara AI Pty Ltd, an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.


Developed by Elara AI Pty Ltd.


Developed by Elara AI Pty Ltd

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

elaraai_east_py_datascience-1.0.28.tar.gz (559.1 kB view details)

Uploaded Source

Built Distributions

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

elaraai_east_py_datascience-1.0.28-cp313-cp313-win_amd64.whl (239.2 kB view details)

Uploaded CPython 3.13Windows x86-64

elaraai_east_py_datascience-1.0.28-cp313-cp313-win32.whl (236.8 kB view details)

Uploaded CPython 3.13Windows x86

elaraai_east_py_datascience-1.0.28-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (237.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

elaraai_east_py_datascience-1.0.28-cp313-cp313-macosx_11_0_arm64.whl (235.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

elaraai_east_py_datascience-1.0.28-cp313-cp313-macosx_10_13_x86_64.whl (235.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

elaraai_east_py_datascience-1.0.28-cp312-cp312-win_amd64.whl (239.2 kB view details)

Uploaded CPython 3.12Windows x86-64

elaraai_east_py_datascience-1.0.28-cp312-cp312-win32.whl (236.9 kB view details)

Uploaded CPython 3.12Windows x86

elaraai_east_py_datascience-1.0.28-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (237.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

elaraai_east_py_datascience-1.0.28-cp312-cp312-macosx_11_0_arm64.whl (235.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

elaraai_east_py_datascience-1.0.28-cp312-cp312-macosx_10_13_x86_64.whl (235.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

elaraai_east_py_datascience-1.0.28-cp311-cp311-win_amd64.whl (238.9 kB view details)

Uploaded CPython 3.11Windows x86-64

elaraai_east_py_datascience-1.0.28-cp311-cp311-win32.whl (236.5 kB view details)

Uploaded CPython 3.11Windows x86

elaraai_east_py_datascience-1.0.28-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (236.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

elaraai_east_py_datascience-1.0.28-cp311-cp311-macosx_11_0_arm64.whl (234.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

elaraai_east_py_datascience-1.0.28-cp311-cp311-macosx_10_9_x86_64.whl (235.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file elaraai_east_py_datascience-1.0.28.tar.gz.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28.tar.gz
Algorithm Hash digest
SHA256 6751ee694518afb228beb53db7103bb04ac0790c192fb4e4b206f02078fde07f
MD5 595644eab5f3b189a54dac21d1c29c34
BLAKE2b-256 c9dc0a607cee53e9d59ef867ad3dcdc0a3e8644e446fc0190a803da8303aedeb

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 18bc5783b9b198f02f65ab6e476f6e97cd58b9d8cfd8ff6d180ec4366325a4a9
MD5 61ca5cff1e4cdc3a8ce8b9bd589d65dd
BLAKE2b-256 4dbb487a3be6c8b265c0d69666491a6fa20f76d44f9bb1a257eba4e3824b8e72

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 7f78d4fd652299413806681eae9ad25596cb785d7b7a59ec7922f5a70e1bffa4
MD5 fa1559fa66e18f0307e2571fcdf66aab
BLAKE2b-256 fcaf02efb4e57aa48be16ab2ff8c59c08047eeb96fd40e56c05cbdc29c7da591

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09c9eada0c3456c3d292ca8fb78073bbcd9d60633186c1c79932b60cf564f6b9
MD5 fe593db426c3dd6518cb8222133978ef
BLAKE2b-256 2b3034f6fc828a6fc0c12721b805eaa40155ca2ac4f88d0e67282dfd824d5d40

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8752ac98822a5fc53b50fcc45691eb3a8d79414a64110e75975bd44ed9c8a982
MD5 ced7a6ab400293841e82bb987d5927f8
BLAKE2b-256 c2c251e3834612a8ef2545e501f26fb03d064ddff8ce7eab7b71af27b6f2d6a2

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d2d1d027ca897471c3d788036363031a789ef63bc7da879b433a6d93a9464307
MD5 b0dbb808993ab6bb7b4bee7bc8c1e4cd
BLAKE2b-256 6aeeaf705f72ade5d7834975a4b26f7e2f89cabc64693bf65388ac9017e946bb

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fae81b5ef0b6c66888d34f438b24ffea77b157a8171a524511b112b6518adf52
MD5 796447e2c1d6a1b68f16053d9d27b41d
BLAKE2b-256 03d39a6ff2848c4f2caf7a444879b7e6886388f4e1b94a9b42527d3188316f9c

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 23cd57bf0fd38d4d0e027b2bf2a5400f2c7f2ade130d98eeca5de5ff6d30828e
MD5 a1b91c43130e0059789f221b5715a04e
BLAKE2b-256 a9b57aea93a3bfd84f6102c4c9e358d8d2f3a87cd8472b205365cfcec4fdfb14

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 69fbf86d924856c9db30dada47c96daf3609b2c7474fc0814c540f182ce3de19
MD5 6f76b3ee2b321cf7338fe84e90a91748
BLAKE2b-256 a498cd33a13a7271e6e9b2f1b4213bcca195aa4c6058322e1822533377a729b8

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d23c4acde1985636dece665db8fcf09842a288e982fe87913c281345fd18a67f
MD5 29e0f548a2664829cd01397222447e76
BLAKE2b-256 862fe5a1f46c946c95f0c936828cdc9299c3f50d11854eaabc545c919bb4e951

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cf3b5e9dc47531dedf7552928e6cb54b70d3b209debadf16fed8dcb0c856e6b9
MD5 76c73f22c95edbf7369ed1909a6003ab
BLAKE2b-256 a6c2423136e77b9eeb6fd04e2fcd5f8901237353f89dc376cff575b1b2613ab8

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 525bc627e8857f70ee5ad2249ac6243858a3b6623aacb0166ace233498588ebe
MD5 7094fd0168deeb117be2218c9a899ebd
BLAKE2b-256 1bec28e393306cb5b758d079e196b74afa0eb21d72cd6716a9ccc9202c009302

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b79965fada4e3863e6cd943e714fd8b8f087635a1a07ebce8ba3fed419e13898
MD5 8e8576fa709edc4bbb73fd50d35d9d53
BLAKE2b-256 97370b208cd0ef0db9bbe341250ec540941c22729abe4e416d7e0924b68adc67

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f598730c8ece22a3d341957f51916b27c2201cf5f2c8385727f71a53c8964894
MD5 e7edb8b06ef32013fb44ce65b1280e3c
BLAKE2b-256 9bc5b77d3919735b3a4c2f33b9346878cf245196fc877f374d3ca344f38e50fb

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebb7a894f0e31414467b73b91d98e0a6c2e459bb7a3060eb0b6045ecb43d5ab1
MD5 518beadc8998f3e9ed18d783d1d71022
BLAKE2b-256 b572ff0aa0c703bf2a6b79aab3273a486f5db58f8fe31607dbf36924d9402201

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.28-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.28-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c2e8fdabbf07a94b8fbe960fdbca5024a44219cfef5bf42d40f9f591c3eb3733
MD5 fc1a6edf9f1c04d50e1201f21e7b342d
BLAKE2b-256 3aea41f0138e2bcbce93162f9041087608b84bc9b028de9c39b6b635abcb8bd7

See more details on using hashes here.

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