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