1#![allow(dead_code)]
2#![allow(non_snake_case)]
3#![allow(missing_docs)]
4#![allow(deprecated)]
5pub mod dataset;
149pub mod distributed;
150pub mod distributed_algorithms;
151pub mod error;
152pub mod parallel;
153pub mod traits;
154pub mod types;
155pub mod utils;
156pub mod validation;
157pub mod validation_examples;
158
159#[cfg(feature = "simd")]
160pub mod simd;
161
162#[cfg(feature = "gpu_support")]
163pub mod gpu;
164
165#[cfg(feature = "arrow")]
166pub mod arrow;
167
168#[cfg(feature = "binary")]
169pub mod binary;
170
171pub mod advanced_array_ops;
172pub mod advanced_benchmarking;
173pub mod algorithm_markers;
174pub mod async_traits;
175pub mod auto_benchmark_generation;
176pub mod autodiff;
177pub mod benchmarking;
178pub mod compatibility;
179pub mod compile_time_macros;
180pub mod compile_time_validation;
181pub mod contribution;
185pub mod dependent_types;
186pub mod derive_macros;
187pub mod dsl_impl;
188pub mod effect_types;
189pub mod ensemble_improvements;
190pub mod exhaustive_error_handling;
191pub mod exotic_hardware;
192pub mod exotic_hardware_impls;
193pub mod fallback_strategies;
194pub mod features;
195pub mod formal_verification;
196pub mod format_io;
197pub mod formatting;
198pub mod memory_safety;
199pub mod mock_objects;
200pub mod performance_profiling;
201pub mod performance_reporting;
202pub mod plugin;
203pub mod plugin_marketplace_impl;
204pub mod refinement_types;
205pub mod streaming_lifetimes;
206pub mod unsafe_audit;
207
208pub mod macros;
210
211pub mod api_analyzers;
213pub mod api_data_structures;
214pub mod api_formatters;
215pub mod api_generator_config;
216pub mod interactive_api_reference;
217pub mod interactive_playground;
218pub mod search_engines;
219pub mod tutorial_examples;
220pub mod tutorial_system;
221pub mod wasm_playground_impl;
222
223pub mod trait_explorer;
225
226mod private;
228pub mod public;
229
230#[cfg(feature = "custom_lints")]
232pub mod lints;
233
234pub mod dependency_audit;
236
237pub mod code_coverage;
239
240pub mod input_sanitization;
242
243pub mod prelude {
254 pub use crate::public::stable::{
263 Estimator, Fit, FitPredict, FitTransform, PartialFit, Predict, Transform,
264 };
265
266 pub use crate::public::stable::{
268 Array1, Array2, ArrayView1, ArrayView2, ArrayViewMut1, ArrayViewMut2, FeatureCount,
269 Features, Float, FloatBounds, Int, IntBounds, Labels, Numeric, Predictions, Probabilities,
270 Probability, SampleCount, Target,
271 };
272
273 pub use crate::public::stable::{ErrorChain, ErrorContext, Result, SklearsError};
275
276 pub use crate::public::stable::{Validate, ValidationContext, ValidationRule};
278
279 pub use crate::public::stable::{load_iris, make_blobs, make_regression, Dataset};
281
282 #[cfg(feature = "experimental")]
285 pub use crate::public::experimental::*;
286
287 pub use crate::types::zero_copy::{
291 array_views, dataset_ops, ArrayPool, ZeroCopyArray, ZeroCopyDataset,
292 };
293 pub use crate::types::{
294 CowDataset, CowFeatures, CowLabels, CowPredictions, CowProbabilities, CowSampleWeight,
295 CowTarget, Distances, SampleWeight, Similarities, ZeroCopy, ZeroCopyFeatures,
296 ZeroCopyTarget,
297 };
298
299 pub use crate::validation::{ml as validation_ml, ConfigValidation, ValidationRules};
301
302 pub use crate::compile_time_validation::{
304 CompileTimeValidated, DimensionValidator, LinearRegressionConfig,
305 LinearRegressionConfigBuilder, ParameterValidator, PositiveValidator, ProbabilityValidator,
306 RangeValidator, SolverCompatibility, ValidatedConfig,
307 };
308
309 #[cfg(feature = "mmap")]
311 pub use crate::dataset::MmapDataset;
312
313 #[cfg(feature = "arrow")]
315 pub use crate::arrow::{ArrowDataset, ColumnStats};
316
317 #[cfg(feature = "binary")]
319 pub use crate::binary::{
320 convenience, ArrayBinaryFormat, BinaryConfig, BinaryDeserialize, BinaryFileStorage,
321 BinaryFormat, BinaryMetadata, BinarySerialize, BinarySerializer, CompressionType,
322 StreamingBinaryReader, StreamingBinaryWriter,
323 };
324
325 #[cfg(feature = "simd")]
327 pub use crate::simd::{SimdArrayOps, SimdOps};
328
329 #[cfg(feature = "gpu_support")]
331 pub use crate::gpu::{
332 GpuArray, GpuContext, GpuDeviceProperties, GpuMatrixOps, GpuMemoryInfo, GpuUtils,
333 MemoryTransferOpts, TransferStrategy,
334 };
335
336 pub use crate::parallel::{
338 ParallelConfig, ParallelCrossValidation, ParallelCrossValidator, ParallelEnsemble,
339 ParallelEnsembleOps, ParallelFit, ParallelMatrixOps, ParallelPredict, ParallelTransform,
340 };
341
342 #[cfg(feature = "async_support")]
344 pub use crate::async_traits::{
345 AsyncConfig, AsyncCrossValidation, AsyncEnsemble, AsyncFitAdvanced,
346 AsyncHyperparameterOptimization, AsyncModelPersistence, AsyncPartialFit,
347 AsyncPredictAdvanced, AsyncTransformAdvanced, CancellationToken, ConfidenceInterval,
348 ProgressInfo,
349 };
350
351 #[cfg(feature = "plugins")]
353 pub use crate::plugin::{
354 AlgorithmPlugin, ClusteringPlugin, LogLevel, Plugin, PluginCapability, PluginCategory,
355 PluginConfig, PluginConfigBuilder, PluginFactory, PluginLoader, PluginMetadata,
356 PluginParameter, PluginRegistry, RuntimeSettings, TransformerPlugin,
357 };
358
359 pub use crate::public::{
361 api_version_info, is_api_experimental, is_api_stable, ApiStability, ApiVersionInfo,
362 ExperimentalApi, PublicApiConfig, PublicApiConfigBuilder, StableApi,
363 };
364
365 #[cfg(feature = "custom_lints")]
367 pub use crate::lints::{
368 ApiUsageLint, ArrayPerformanceLint, DataValidationLint, LintCategory, LintConfig,
369 LintRegistry, LintRule, LintSeverity, MemoryLeakLint, ModelValidationLint,
370 NumericalStabilityLint,
371 };
372
373 pub use crate::dependency_audit::{
375 calculate_metrics, generate_dependency_graph, BinarySizeImpact, CompileTimeImpact,
376 DependencyAudit, DependencyCategory, DependencyInfo, DependencyRecommendation,
377 DependencyReport, RecommendationAction,
378 };
379
380 pub use crate::code_coverage::{
382 CICoverageResult, CIDConfig, CoverageCI, CoverageCollector, CoverageConfig, CoverageReport,
383 CoverageTool, QualityGatesResult, RecommendationPriority,
384 };
385
386 pub use crate::input_sanitization::{
388 is_ml_data_safe, sanitize_ml_data, InputSanitizer, SafetyIssue, SanitizationConfig,
389 Sanitize,
390 };
391
392 pub use crate::advanced_array_ops::{ArrayStats, MatrixOps, MemoryOps};
394
395 pub use crate::error_context;
397
398 pub use crate::formatting::{
400 CodeFormatter, FormattingConfig, FormattingConfigBuilder, FormattingIssue,
401 FormattingReport, IssueSeverity, MLFormattingRules,
402 };
403
404 pub use crate::unsafe_audit::{
405 SafetyRecommendation, SafetySeverity, UnsafeAuditConfig, UnsafeAuditReport, UnsafeAuditor,
406 UnsafeFinding, UnsafePattern, UnsafeType,
407 };
408
409 pub use crate::memory_safety::{
411 MemoryPoolStats, MemorySafety, MemorySafetyGuarantee, SafeArrayOps, SafeMemoryPool,
412 SafePooledBuffer, SafePtr, SafeSharedModel, UnsafeValidationResult,
413 };
414
415 pub use crate::benchmarking::{
417 AccuracyComparison, AlgorithmBenchmark, AlgorithmType, AutomatedBenchmarkRunner,
418 BenchmarkConfig, BenchmarkDataset, BenchmarkResults, BenchmarkRunResult, BenchmarkSuite,
419 MemoryStatistics, TimingStatistics,
420 };
421
422 pub use crate::mock_objects::{
424 MockBehavior, MockConfig, MockEnsemble, MockErrorType, MockEstimator, MockEstimatorBuilder,
425 MockStateSnapshot, MockTransformConfig, MockTransformType, MockTransformer,
426 MockTransformerBuilder, TrainedMockEstimator, VotingStrategy,
427 };
428
429 pub use crate::compatibility::{
437 numpy::NumpyArray,
438 pandas::{DataFrame, DataValue},
439 pytorch::{ndarray_to_pytorch_tensor, TensorMetadata},
440 serialization::{CrossPlatformModel, ModelFormat, ModelSerialization},
441 sklearn::{FittedScikitLearnModel, ParamValue, ScikitLearnModel, SklearnCompatible},
442 };
443
444 pub use crate::format_io::{
446 CsvOptions, DataFormat, FormatDetector, FormatOptions, FormatReader, FormatWriter,
447 Hdf5Options, JsonOptions, NumpyOptions, ParquetOptions, StreamingReader,
448 };
449
450 pub use crate::contribution::{
452 AlgorithmicCriteria, ClippyLevel, CodeQualityCriteria, ContributionChecker,
453 ContributionConfig, ContributionResult, ContributionWorkflow, DocumentationCriteria,
454 GateResult, PerformanceCriteria, QualityGate, QualityGateType, ReviewCriteria,
455 TestingCriteria, WorkflowStep,
456 };
457
458 pub use crate::performance_reporting::{
460 AlertConfig, AnalysisResult, AnalysisType, HealthStatus, OutputFormat, PerformanceAnalyzer,
461 PerformanceReport, PerformanceReporter, RegressionThreshold, ReportConfig, TimeRange,
462 TrendDirection,
463 };
464
465 pub use crate::api_analyzers::{
467 CrossReferenceBuilder as ModularCrossReferenceBuilder, ExampleValidator,
468 TraitAnalyzer as ModularTraitAnalyzer, TypeExtractor as ModularTypeExtractor,
469 };
470 pub use crate::api_data_structures::{
471 ApiReference as ModularApiReference, CodeExample as ModularCodeExample,
472 TraitInfo as ModularTraitInfo, TypeInfo as ModularTypeInfo,
473 };
474 pub use crate::api_formatters::{
475 ApiReferenceGenerator as ModularApiReferenceGenerator, DocumentFormatter,
476 };
477 pub use crate::api_generator_config::{
478 GeneratorConfig as ModularGeneratorConfig, OutputFormat as ModularOutputFormat,
479 ValidationConfig,
480 };
481 pub use crate::interactive_playground::{
482 LiveCodeRunner, UIComponentBuilder, WasmPlaygroundManager,
483 };
484 pub use crate::search_engines::{
485 AutocompleteTrie, SearchQuery, SearchResult, SemanticSearchEngine,
486 };
487 pub use crate::tutorial_system::{
488 LearningPath, ProgressTracker, Tutorial, TutorialBuilder, TutorialSystem,
489 };
490
491 pub use crate::trait_explorer::{
493 CompilationImpact, DependencyAnalysis, DependencyAnalyzer, EdgeType, ExampleCategory,
494 ExampleDifficulty, ExampleGenerator, ExplorerConfig, GraphExportFormat, MemoryFootprint,
495 PerformanceAnalysis, RuntimeOverhead, SimilarTrait, TraitExplorationResult, TraitExplorer,
496 TraitGraph, TraitGraphEdge, TraitGraphGenerator, TraitGraphMetadata, TraitGraphNode,
497 TraitNodeType, TraitPerformanceAnalyzer, TraitRegistry, UsageExample,
498 };
499
500 #[cfg(feature = "exotic_hardware")]
502 pub use crate::exotic_hardware::{
503 ActivationType, ComputationGraph, ComputationMetadata, ComputationNode, ComputationResult,
504 ExoticHardware, ExoticHardwareManager, FpgaDevice, FpgaVendor, HardwareCapabilities,
505 HardwareCompiler, HardwareComputation, HardwareId, HardwareMemoryManager, HardwareStatus,
506 HardwareType, MemoryHandle, MemoryStats, Operation, PerformanceEstimate, Precision,
507 QuantumBackend, QuantumDevice, TensorSpec, TpuDevice, TpuVersion, ValidationReport,
508 };
509
510 #[cfg(feature = "effect_types")]
512 pub use crate::effect_types::{
513 AsyncEffect, Capability, Combined, Effect, EffectAnalyzer, EffectBuilder, EffectMetadata,
514 EffectType, Fallible, FallibleIOEffect, GPUMemoryEffect, IORandomEffect, Linear, Memory,
515 MemoryIOEffect, Pure, Random, GPU, IO,
516 };
517
518 #[cfg(feature = "autodiff")]
520 pub use crate::autodiff::{
521 ADMode, AutodiffConfig, ComputationNode as ADNode, Dual, SymbolicExpression, Variable,
522 VariableId,
523 };
524
525 #[cfg(feature = "auto_benchmarks")]
544 pub use crate::auto_benchmark_generation::{
545 generate_benchmarks_for_type, AutoBenchmarkConfig, BenchmarkExecutor, BenchmarkGenerator,
546 BenchmarkResult, BenchmarkType, ComplexityClass, GeneratedBenchmark,
547 PerformanceEstimate as AutoBenchmarkPerformanceEstimate, RegressionDetector,
548 ScalingDimension,
549 };
550
551 pub use crate::ensemble_improvements::{
553 AggregationMethod, BaseEstimator, BaseEstimatorConfig, BaseEstimatorType,
554 DistributedConfig, DistributedEnsemble, EnsembleConfig, EnsembleType,
555 LoadBalancingStrategy, NodeRole, ParallelConfig as EnsembleParallelConfig,
556 ParallelEnsemble as AdvancedParallelEnsemble, SamplingStrategy, TrainedBaseModel,
557 TrainedParallelEnsemble, TrainingState,
558 };
559}