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.18.tar.gz (550.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.18-cp313-cp313-win_amd64.whl (236.5 kB view details)

Uploaded CPython 3.13Windows x86-64

elaraai_east_py_datascience-1.0.18-cp313-cp313-win32.whl (234.2 kB view details)

Uploaded CPython 3.13Windows x86

elaraai_east_py_datascience-1.0.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (234.3 kB view details)

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

elaraai_east_py_datascience-1.0.18-cp313-cp313-macosx_11_0_arm64.whl (232.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

elaraai_east_py_datascience-1.0.18-cp313-cp313-macosx_10_13_x86_64.whl (233.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

elaraai_east_py_datascience-1.0.18-cp312-cp312-win_amd64.whl (236.6 kB view details)

Uploaded CPython 3.12Windows x86-64

elaraai_east_py_datascience-1.0.18-cp312-cp312-win32.whl (234.2 kB view details)

Uploaded CPython 3.12Windows x86

elaraai_east_py_datascience-1.0.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (234.4 kB view details)

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

elaraai_east_py_datascience-1.0.18-cp312-cp312-macosx_11_0_arm64.whl (232.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

elaraai_east_py_datascience-1.0.18-cp312-cp312-macosx_10_13_x86_64.whl (233.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

elaraai_east_py_datascience-1.0.18-cp311-cp311-win_amd64.whl (236.2 kB view details)

Uploaded CPython 3.11Windows x86-64

elaraai_east_py_datascience-1.0.18-cp311-cp311-win32.whl (233.8 kB view details)

Uploaded CPython 3.11Windows x86

elaraai_east_py_datascience-1.0.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (234.2 kB view details)

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

elaraai_east_py_datascience-1.0.18-cp311-cp311-macosx_11_0_arm64.whl (232.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

elaraai_east_py_datascience-1.0.18-cp311-cp311-macosx_10_9_x86_64.whl (233.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18.tar.gz
Algorithm Hash digest
SHA256 1bbee7a0f9f6c5f0df87898b83dbe81a871fd34fec4c1e9cd959c8c399ba7126
MD5 87a34653b6a803c0e400eef5f31a4f33
BLAKE2b-256 9346b9c7e8a67fe7b1dca9f76dc2457c2e8306b888ec13f1b56d16b89820a505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d1f8bc265dd5011d1fa00f53e0d5c23ac388c4daf1deba9bc7f9b54a02317fe
MD5 e49c92e67fdbbdb232b6d2184ccd9935
BLAKE2b-256 4c37e757e909b0fbe7946ad62dae7c53d8c6e65bc7ffa8d34b2e69c3d1b5db1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 1010629868ca7cf464598aafa360c02d5c471b7391e3031f9b253d1f9d48c7c1
MD5 c8e2ef6efaa53033cc491a257277fc1f
BLAKE2b-256 61e34a1f6d7eaff34e7fa81cbd27656a1e060c85c24dfc7abd9200e5b175660e

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.18-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.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed0909747da01cb3c2505affcc3b5d75cac5a6390974b7f984784c31258752b6
MD5 d72c55665a018e28f754a387fcbc3c73
BLAKE2b-256 9963cb2070f972909d1c86158a8ea0cea69bffc49f6c953295be0662c1477b47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78ba4294a9b3d780a4c57f1e37747b760db58c1f7237f0c7063020d32233bf2d
MD5 729be5c53028c385795fcf92c12b578c
BLAKE2b-256 292bf65f321368a4db20519f464c608c1667302ceb8fb16794ab2a5a89e5b638

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a1eaa2fb4c37175ea456400f879bae4560fd0a187b05732d8da41e34ea0c9de8
MD5 1ac4f52d84025f718b9a7e20a9d911cd
BLAKE2b-256 1b2098e359e1f03a47f061a7143667044e1dc50ed29d845ed152071f7b5da776

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 75e9475b1ab95b509e5d3c8944e051d6f99d1df87889927526a01719df093f5a
MD5 06d7ff792048d86d140f4d0b4e0f4299
BLAKE2b-256 e850704565adb75490b0a885854f1620c3cf83303a3541a135f00e82aa50aa79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4ceb5639f5dc2dfbeb7c02052397882c183c2e994bbc0ded1e54be62f5a08e22
MD5 a7775d68b42ea6f42c516f9b978a8d6c
BLAKE2b-256 fb0d8f6d6ddd4b48ee93599d4f9a2a0fe52d0184c93bc991a04bacb9bb20cdc1

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.18-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.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 667da661aff41bee5650d99a212c590c7fe74d78eee8d7c6aa1a760e93ffe916
MD5 7792d3b1072d99ad25d4a80c2c153bef
BLAKE2b-256 6966d0ef6a6a0df3f3f1b2a00a64f9ba80c96346f23b2b9e07de1888c2ad4033

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 874a4ad376b2bbcb26c070a9a7ac8f1195bada355c0b134773fdd2fc1b73b592
MD5 6f20c32d9276829bd4be046b120a6f13
BLAKE2b-256 d7dabce861e741a089d9eff79f13656cfcdceb08e06b84d5f623470b8abb5c0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8ba458ee86a25c5c17b6837e6b1d9d44f8d86920a368a879f102a8d1353f07e2
MD5 85f41cca557af97fa3d11002be2bc9fa
BLAKE2b-256 860b5d1dbe6c96113a25ac37c01b4b0d784659c773b7d239fd563e61f7fa62f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4eedf5672c3a42155839a92bff3f82997938be6733a8f5cd4fbabcefac690045
MD5 f5311c347eea398781a480a9fc2b0e5b
BLAKE2b-256 86ca66bb2281e0669d5b1d5d4f24309a2d14d04c1acf51d220875a11bf5732c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 227bf6d9fe01e14da009b07427a7a6cba21e6a6ab43c9b95616607c0a876ce44
MD5 3541bc33c3577f0d8cb9c9549b2b705d
BLAKE2b-256 45e9c0906add5c53bd1e7aa582ed4aa13424562dc3541823e984349e180f75e2

See more details on using hashes here.

File details

Details for the file elaraai_east_py_datascience-1.0.18-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.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a45e32ec886646194c71e4d84ae49b3b5d49185190d99b74a5e2bb78f274a0d
MD5 cff0ce873bba0a858be509d23f668f9c
BLAKE2b-256 0476ea6024b372c6d2746f65311d964d852b1f88cd9af3a25bf39bc50a67e36c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 516c35221c4bcba3e44c59a48a275a196b37670491471cd69316ea59a86f1ef4
MD5 07280beddddfd15ff273f80af43c9097
BLAKE2b-256 09500275d1402aec164fed1c19da1cf6d9bc2c38d761a27cfe8119e3ab9e61ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elaraai_east_py_datascience-1.0.18-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7c6f5b208ae7ea9b757bc5b731bef69383ca81688c94e4fe14da4cb4f6a8823b
MD5 aab870009255287efb09f45e18d17e20
BLAKE2b-256 bbe9803af434190ebe91303f173c821d28565726f9367b2d14b3357328166da0

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