1#![allow(dead_code)]
2#![allow(non_snake_case)]
3#![allow(missing_docs)]
4#![allow(deprecated)]
5pub mod dataset;
156pub mod distributed;
157pub mod distributed_algorithms;
158pub mod error;
159pub mod parallel;
160pub mod traits;
161pub mod types;
162pub mod utils;
163pub mod validation;
164pub mod validation_examples;
165
166#[cfg(feature = "simd")]
167pub mod simd;
168
169#[cfg(feature = "gpu_support")]
170pub mod gpu;
171
172#[cfg(feature = "arrow")]
173pub mod arrow;
174
175#[cfg(feature = "binary")]
176pub mod binary;
177
178pub mod advanced_array_ops;
179pub mod advanced_benchmarking;
180pub mod algorithm_markers;
181pub mod async_traits;
182pub mod auto_benchmark_generation;
183pub mod autodiff;
184pub mod benchmarking;
185pub mod compatibility;
186pub mod compile_time_macros;
187pub mod compile_time_validation;
188pub mod contribution;
191pub mod dependent_types;
192pub mod derive_macros;
193pub mod dsl_impl;
194pub mod effect_types;
195pub mod ensemble_improvements;
196pub mod exhaustive_error_handling;
197pub mod exotic_hardware;
198pub mod exotic_hardware_impls;
199pub mod fallback_strategies;
200pub mod features;
201pub mod formal_verification;
202pub mod format_io;
203pub mod formatting;
204pub mod memory_safety;
205pub mod mock_objects;
206pub mod performance_profiling;
207pub mod performance_reporting;
208pub mod plugin;
209pub mod plugin_marketplace_impl;
210pub mod refinement_types;
211pub mod streaming_lifetimes;
212pub mod unsafe_audit;
213
214pub mod macros;
216
217pub mod api_analyzers;
219pub mod api_data_structures;
220pub mod api_formatters;
221pub mod api_generator_config;
222pub mod interactive_api_reference;
223pub mod interactive_playground;
224pub mod search_engines;
225pub mod tutorial_examples;
226pub mod tutorial_system;
227pub mod wasm_playground_impl;
228
229pub mod trait_explorer;
231
232mod private;
234pub mod public;
235
236#[cfg(feature = "custom_lints")]
238pub mod lints;
239
240pub mod dependency_audit;
242
243pub mod code_coverage;
245
246pub mod input_sanitization;
248
249pub mod prelude {
260 pub use crate::public::stable::{
269 Estimator, Fit, FitPredict, FitTransform, PartialFit, Predict, Transform,
270 };
271
272 pub use crate::public::stable::{
274 Array1, Array2, ArrayView1, ArrayView2, ArrayViewMut1, ArrayViewMut2, FeatureCount,
275 Features, Float, FloatBounds, Int, IntBounds, Labels, Numeric, Predictions, Probabilities,
276 Probability, SampleCount, Target,
277 };
278
279 pub use crate::public::stable::{ErrorChain, ErrorContext, Result, SklearsError};
281
282 pub use crate::public::stable::{Validate, ValidationContext, ValidationRule};
284
285 pub use crate::public::stable::{load_iris, make_blobs, make_regression, Dataset};
287
288 #[cfg(feature = "experimental")]
291 pub use crate::public::experimental::*;
292
293 pub use crate::types::zero_copy::{
297 array_views, dataset_ops, ArrayPool, ZeroCopyArray, ZeroCopyDataset,
298 };
299 pub use crate::types::{
300 CowDataset, CowFeatures, CowLabels, CowPredictions, CowProbabilities, CowSampleWeight,
301 CowTarget, Distances, SampleWeight, Similarities, ZeroCopy, ZeroCopyFeatures,
302 ZeroCopyTarget,
303 };
304
305 pub use crate::validation::{ml as validation_ml, ConfigValidation, ValidationRules};
307
308 pub use crate::compile_time_validation::{
310 CompileTimeValidated, DimensionValidator, LinearRegressionConfig,
311 LinearRegressionConfigBuilder, ParameterValidator, PositiveValidator, ProbabilityValidator,
312 RangeValidator, SolverCompatibility, ValidatedConfig,
313 };
314
315 #[cfg(feature = "mmap")]
317 pub use crate::dataset::MmapDataset;
318
319 #[cfg(feature = "arrow")]
321 pub use crate::arrow::{ArrowDataset, ColumnStats};
322
323 #[cfg(feature = "binary")]
325 pub use crate::binary::{
326 convenience, ArrayBinaryFormat, BinaryConfig, BinaryDeserialize, BinaryFileStorage,
327 BinaryFormat, BinaryMetadata, BinarySerialize, BinarySerializer, CompressionType,
328 StreamingBinaryReader, StreamingBinaryWriter,
329 };
330
331 #[cfg(feature = "simd")]
333 pub use crate::simd::{SimdArrayOps, SimdOps};
334
335 #[cfg(feature = "gpu_support")]
337 pub use crate::gpu::{
338 GpuArray, GpuContext, GpuDeviceProperties, GpuMatrixOps, GpuMemoryInfo, GpuUtils,
339 MemoryTransferOpts, TransferStrategy,
340 };
341
342 pub use crate::parallel::{
344 ParallelConfig, ParallelCrossValidation, ParallelCrossValidator, ParallelEnsemble,
345 ParallelEnsembleOps, ParallelFit, ParallelMatrixOps, ParallelPredict, ParallelTransform,
346 };
347
348 #[cfg(feature = "async_support")]
350 pub use crate::async_traits::{
351 AsyncConfig, AsyncCrossValidation, AsyncEnsemble, AsyncFitAdvanced,
352 AsyncHyperparameterOptimization, AsyncModelPersistence, AsyncPartialFit,
353 AsyncPredictAdvanced, AsyncTransformAdvanced, CancellationToken, ConfidenceInterval,
354 ProgressInfo,
355 };
356
357 #[cfg(feature = "plugins")]
359 pub use crate::plugin::{
360 AlgorithmPlugin, ClusteringPlugin, LogLevel, Plugin, PluginCapability, PluginCategory,
361 PluginConfig, PluginConfigBuilder, PluginFactory, PluginLoader, PluginMetadata,
362 PluginParameter, PluginRegistry, RuntimeSettings, TransformerPlugin,
363 };
364
365 pub use crate::public::{
367 api_version_info, is_api_experimental, is_api_stable, ApiStability, ApiVersionInfo,
368 ExperimentalApi, PublicApiConfig, PublicApiConfigBuilder, StableApi,
369 };
370
371 #[cfg(feature = "custom_lints")]
373 pub use crate::lints::{
374 ApiUsageLint, ArrayPerformanceLint, DataValidationLint, LintCategory, LintConfig,
375 LintRegistry, LintRule, LintSeverity, MemoryLeakLint, ModelValidationLint,
376 NumericalStabilityLint,
377 };
378
379 pub use crate::dependency_audit::{
381 calculate_metrics, generate_dependency_graph, BinarySizeImpact, CompileTimeImpact,
382 DependencyAudit, DependencyCategory, DependencyInfo, DependencyRecommendation,
383 DependencyReport, RecommendationAction,
384 };
385
386 pub use crate::code_coverage::{
388 CICoverageResult, CIDConfig, CoverageCI, CoverageCollector, CoverageConfig, CoverageReport,
389 CoverageTool, QualityGatesResult, RecommendationPriority,
390 };
391
392 pub use crate::input_sanitization::{
394 is_ml_data_safe, sanitize_ml_data, InputSanitizer, SafetyIssue, SanitizationConfig,
395 Sanitize,
396 };
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}