[package]
edition = "2021"
name = "numrs2"
version = "0.3.0"
authors = ["COOLJAPAN OU (Team KitaSan)"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust implementation inspired by NumPy for numerical computing (NumRS2)"
homepage = "https://github.com/cool-japan/numrs"
documentation = "https://docs.rs/numrs2"
readme = "README.md"
keywords = [
"numpy",
"numerical",
"array",
"linear-algebra",
"mathematics",
]
categories = ["science"]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/numrs"
[features]
arrow = [
"dep:arrow",
"dep:arrow-array",
"dep:arrow-buffer",
"dep:arrow-cast",
"dep:arrow-schema",
]
bson = ["dep:bson"]
ci-safe = [
"matrix_decomp",
"validation",
]
default = [
"matrix_decomp",
"scirs",
]
distributed = [
"dep:tokio",
"tokio/net",
"tokio/io-util",
"tokio/rt-multi-thread",
"tokio/macros",
"tokio/time",
]
fast = []
gpu = [
"dep:wgpu",
"dep:bytemuck",
"dep:futures-intrusive",
"dep:tokio",
]
io-all = [
"arrow",
"parquet",
"netcdf",
"matlab",
"messagepack",
"bson",
]
lapack = []
matlab = ["dep:matfile"]
matrix_decomp = []
messagepack = ["dep:rmp-serde"]
netcdf = ["dep:netcdf3"]
parquet = ["dep:parquet"]
python = [
"dep:pyo3",
"dep:scirs2-numpy",
]
scirs = []
unstable = []
validation = []
visualization = [
"dep:plotters",
"dep:plotters-backend",
"dep:plotters-svg",
"dep:resvg",
"dep:usvg",
"dep:tiny-skia",
"dep:rgb",
]
wasm = [
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:js-sys",
"dep:web-sys",
"dep:console_error_panic_hook",
"dep:wee_alloc",
]
[lib]
name = "numrs2"
path = "src/lib.rs"
[[example]]
name = "advanced_optimization"
path = "examples/advanced_optimization.rs"
[[example]]
name = "apply_over_axes_example"
path = "examples/apply_over_axes_example.rs"
[[example]]
name = "array_creation_example"
path = "examples/array_creation_example.rs"
[[example]]
name = "array_manipulation_example"
path = "examples/array_manipulation_example.rs"
[[example]]
name = "arrow_example"
path = "examples/arrow_example.rs"
[[example]]
name = "autodiff_example"
path = "examples/autodiff_example.rs"
[[example]]
name = "axis_ops_example"
path = "examples/axis_ops_example.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "broadcasting_example"
path = "examples/broadcasting_example.rs"
[[example]]
name = "comparison_example"
path = "examples/comparison_example.rs"
[[example]]
name = "distributed_basics"
path = "examples/distributed_basics.rs"
[[example]]
name = "distributed_computing"
path = "examples/distributed_computing.rs"
[[example]]
name = "expression_templates_example"
path = "examples/expression_templates_example.rs"
[[example]]
name = "fft_example"
path = "examples/fft_example.rs"
[[example]]
name = "gnn_attention"
path = "examples/gnn_attention.rs"
[[example]]
name = "gnn_graph_classification"
path = "examples/gnn_graph_classification.rs"
[[example]]
name = "gnn_node_classification"
path = "examples/gnn_node_classification.rs"
[[example]]
name = "gpu_acceleration"
path = "examples/gpu_acceleration.rs"
[[example]]
name = "gpu_batching"
path = "examples/gpu_batching.rs"
[[example]]
name = "gpu_benchmark"
path = "examples/gpu_benchmark.rs"
[[example]]
name = "gpu_example"
path = "examples/gpu_example.rs"
[[example]]
name = "indexing_example"
path = "examples/indexing_example.rs"
[[example]]
name = "large_scale_memory_example"
path = "examples/large_scale_memory_example.rs"
[[example]]
name = "machine_learning_example"
path = "examples/machine_learning_example.rs"
[[example]]
name = "masked_array_example"
path = "examples/masked_array_example.rs"
[[example]]
name = "matrix_decomp_example"
path = "examples/matrix_decomp_example.rs"
[[example]]
name = "matrix_example"
path = "examples/matrix_example.rs"
[[example]]
name = "memory_alloc_example"
path = "examples/memory_alloc_example.rs"
[[example]]
name = "memory_optimize_example"
path = "examples/memory_optimize_example.rs"
[[example]]
name = "ml_pipeline"
path = "examples/ml_pipeline.rs"
[[example]]
name = "mmap_example"
path = "examples/mmap_example.rs"
[[example]]
name = "neural_network_basics"
path = "examples/neural_network_basics.rs"
[[example]]
name = "npy_npz_example"
path = "examples/npy_npz_example.rs"
[[example]]
name = "optimization_nsga2"
path = "examples/optimization_nsga2.rs"
[[example]]
name = "optimization_nsga3"
path = "examples/optimization_nsga3.rs"
[[example]]
name = "optimization_test_problems"
path = "examples/optimization_test_problems.rs"
[[example]]
name = "parallel_computing"
path = "examples/parallel_computing.rs"
[[example]]
name = "parallel_optimize_example"
path = "examples/parallel_optimize_example.rs"
[[example]]
name = "performance_benchmark"
path = "examples/performance_benchmark.rs"
[[example]]
name = "polynomial_example"
path = "examples/polynomial_example.rs"
[[example]]
name = "random_distributions_example"
path = "examples/random_distributions_example.rs"
[[example]]
name = "random_simple_test"
path = "examples/random_simple_test.rs"
[[example]]
name = "randomized_linalg_example"
path = "examples/randomized_linalg_example.rs"
[[example]]
name = "scientific_computing_example"
path = "examples/scientific_computing_example.rs"
[[example]]
name = "scirs2_optimization"
path = "examples/scirs2_optimization.rs"
[[example]]
name = "scirs_integration_example"
path = "examples/scirs_integration_example.rs"
[[example]]
name = "shape_manipulation_example"
path = "examples/shape_manipulation_example.rs"
[[example]]
name = "signal_processing"
path = "examples/signal_processing.rs"
[[example]]
name = "simd_example"
path = "examples/simd_example.rs"
[[example]]
name = "sparse_example"
path = "examples/sparse_example.rs"
[[example]]
name = "special_functions_example"
path = "examples/special_functions_example.rs"
[[example]]
name = "statistical_analysis"
path = "examples/statistical_analysis.rs"
[[example]]
name = "statistics_example"
path = "examples/statistics_example.rs"
[[example]]
name = "stride_tricks_example"
path = "examples/stride_tricks_example.rs"
[[example]]
name = "symbolic_math"
path = "examples/symbolic_math.rs"
[[example]]
name = "time_series_basics"
path = "examples/time_series_basics.rs"
[[example]]
name = "type_conversion_example"
path = "examples/type_conversion_example.rs"
[[example]]
name = "ufuncs_example"
path = "examples/ufuncs_example.rs"
[[example]]
name = "unique_benchmark"
path = "examples/unique_benchmark.rs"
[[example]]
name = "unique_example"
path = "examples/unique_example.rs"
[[example]]
name = "views_example"
path = "examples/views_example.rs"
[[example]]
name = "visualization"
path = "examples/visualization.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "memory_profile_test"
path = "tests/memory_profile_test.rs"
[[test]]
name = "numpy_compatibility_validation"
path = "tests/numpy_compatibility_validation.rs"
[[test]]
name = "parallel_processing_test"
path = "tests/parallel_processing_test.rs"
[[test]]
name = "performance_benchmark"
path = "tests/performance_benchmark.rs"
[[test]]
name = "simd_verification_test"
path = "tests/simd_verification_test.rs"
[[test]]
name = "test_array_operations_reference"
path = "tests/test_array_operations_reference.rs"
[[test]]
name = "test_array_ops"
path = "tests/test_array_ops.rs"
[[test]]
name = "test_cache_alignment"
path = "tests/test_cache_alignment.rs"
[[test]]
name = "test_complex_seed_scenario"
path = "tests/test_complex_seed_scenario.rs"
[[test]]
name = "test_core_array_operations"
path = "tests/test_core_array_operations.rs"
[[test]]
name = "test_datetime_integration"
path = "tests/test_datetime_integration.rs"
[[test]]
name = "test_distribution_reference"
path = "tests/test_distribution_reference.rs"
[[test]]
name = "test_fft_properties"
path = "tests/test_fft_properties.rs"
[[test]]
name = "test_fft_property_tests"
path = "tests/test_fft_property_tests.rs"
[[test]]
name = "test_financial_comprehensive"
path = "tests/test_financial_comprehensive.rs"
[[test]]
name = "test_fixed_features"
path = "tests/test_fixed_features.rs"
[[test]]
name = "test_global_vs_direct_vonmises"
path = "tests/test_global_vs_direct_vonmises.rs"
[[test]]
name = "test_gpu_reductions"
path = "tests/test_gpu_reductions.rs"
[[test]]
name = "test_gpu_reductions_f32"
path = "tests/test_gpu_reductions_f32.rs"
[[test]]
name = "test_indexing"
path = "tests/test_indexing.rs"
[[test]]
name = "test_io_comprehensive"
path = "tests/test_io_comprehensive.rs"
[[test]]
name = "test_linalg_properties"
path = "tests/test_linalg_properties.rs"
[[test]]
name = "test_linalg_reference"
path = "tests/test_linalg_reference.rs"
[[test]]
name = "test_masked"
path = "tests/test_masked.rs"
[[test]]
name = "test_matrix_stability"
path = "tests/test_matrix_stability.rs"
[[test]]
name = "test_new_functions"
path = "tests/test_new_functions.rs"
[[test]]
name = "test_nn"
path = "tests/test_nn.rs"
[[test]]
name = "test_proptest_array_properties"
path = "tests/test_proptest_array_properties.rs"
[[test]]
name = "test_proptest_mathematical"
path = "tests/test_proptest_mathematical.rs"
[[test]]
name = "test_random_advanced"
path = "tests/test_random_advanced.rs"
[[test]]
name = "test_random_advanced_distributions"
path = "tests/test_random_advanced_distributions.rs"
[[test]]
name = "test_random_properties"
path = "tests/test_random_properties.rs"
[[test]]
name = "test_random_reference"
path = "tests/test_random_reference.rs"
[[test]]
name = "test_random_state"
path = "tests/test_random_state.rs"
[[test]]
name = "test_random_statistical"
path = "tests/test_random_statistical.rs"
[[test]]
name = "test_random_values_collector"
path = "tests/test_random_values_collector.rs"
[[test]]
name = "test_scirs_integration"
path = "tests/test_scirs_integration.rs"
[[test]]
name = "test_scirs_reference"
path = "tests/test_scirs_reference.rs"
[[test]]
name = "test_special_properties"
path = "tests/test_special_properties.rs"
[[test]]
name = "test_special_reference"
path = "tests/test_special_reference.rs"
[[test]]
name = "test_stats_distributions"
path = "tests/test_stats_distributions.rs"
[[test]]
name = "test_string_ops"
path = "tests/test_string_ops.rs"
[[test]]
name = "test_structured_arrays"
path = "tests/test_structured_arrays.rs"
[[test]]
name = "test_symbolic_differentiation"
path = "tests/test_symbolic_differentiation.rs"
[[test]]
name = "test_symbolic_expr"
path = "tests/test_symbolic_expr.rs"
[[test]]
name = "test_symbolic_integration"
path = "tests/test_symbolic_integration.rs"
[[test]]
name = "test_symbolic_linalg"
path = "tests/test_symbolic_linalg.rs"
[[test]]
name = "test_symbolic_simplify"
path = "tests/test_symbolic_simplify.rs"
[[test]]
name = "test_tensor_ops"
path = "tests/test_tensor_ops.rs"
[[test]]
name = "test_unique"
path = "tests/test_unique.rs"
[[test]]
name = "test_values_helper"
path = "tests/test_values_helper.rs"
[[test]]
name = "test_vonmises_randomness_consumption"
path = "tests/test_vonmises_randomness_consumption.rs"
[[test]]
name = "test_vonmises_seed_issue"
path = "tests/test_vonmises_seed_issue.rs"
[[test]]
name = "viz_tests"
path = "tests/viz_tests.rs"
[[bench]]
name = "array_ops_benchmarks"
path = "bench/array_ops_benchmarks.rs"
harness = false
[[bench]]
name = "bench_distributions"
path = "bench/bench_distributions.rs"
harness = false
[[bench]]
name = "cache_alignment_benchmark"
path = "benches/cache_alignment_benchmark.rs"
harness = false
[[bench]]
name = "core_operations_benchmark"
path = "bench/core_operations_benchmark.rs"
harness = false
[[bench]]
name = "distributed_benchmarks"
path = "bench/distributed_benchmarks.rs"
harness = false
required-features = ["distributed"]
[[bench]]
name = "expression_template_benchmark"
path = "benches/expression_template_benchmark.rs"
[[bench]]
name = "expression_templates_benchmark"
path = "bench/expression_templates_benchmark.rs"
harness = false
[[bench]]
name = "fft_benchmark"
path = "benches/fft_benchmark.rs"
[[bench]]
name = "fft_benchmarks"
path = "bench/fft_benchmarks.rs"
harness = false
[[bench]]
name = "linalg_benchmarks"
path = "bench/linalg_benchmarks.rs"
harness = false
[[bench]]
name = "linear_algebra_benchmark"
path = "benches/linear_algebra_benchmark.rs"
[[bench]]
name = "memory_benchmarks"
path = "bench/memory_benchmarks.rs"
harness = false
[[bench]]
name = "memory_optimization_benchmark"
path = "benches/memory_optimization_benchmark.rs"
harness = false
[[bench]]
name = "multi_objective_benchmark"
path = "benches/multi_objective_benchmark.rs"
harness = false
[[bench]]
name = "nn_benchmarks"
path = "bench/nn_benchmarks.rs"
harness = false
[[bench]]
name = "numpy_comparison"
path = "bench/bench.rs"
harness = true
[[bench]]
name = "numpy_comparison_benchmark"
path = "bench/numpy_comparison_benchmark.rs"
harness = false
[[bench]]
name = "optimization_benchmarks"
path = "bench/optimization_benchmarks.rs"
harness = false
[[bench]]
name = "parallel_algorithms_benchmark"
path = "benches/parallel_algorithms_benchmark.rs"
harness = false
[[bench]]
name = "parallel_benchmarks"
path = "bench/parallel_benchmarks.rs"
harness = false
[[bench]]
name = "production_readiness_benchmark"
path = "benches/production_readiness_benchmark.rs"
[[bench]]
name = "simd_comparison_benchmark"
path = "bench/simd_comparison_benchmark.rs"
harness = false
[[bench]]
name = "simd_vs_scalar_benchmark"
path = "bench/simd_vs_scalar_benchmark.rs"
harness = false
[[bench]]
name = "simple_benchmark"
path = "benches/simple_benchmark.rs"
[[bench]]
name = "simple_production_benchmark"
path = "benches/simple_production_benchmark.rs"
[[bench]]
name = "special_functions_benchmark"
path = "benches/special_functions_benchmark.rs"
[[bench]]
name = "stats_benchmarks"
path = "bench/stats_benchmarks.rs"
harness = false
[dependencies.arrow]
version = "57.3.0"
optional = true
[dependencies.arrow-array]
version = "57.3.0"
optional = true
[dependencies.arrow-buffer]
version = "57.3.0"
optional = true
[dependencies.arrow-cast]
version = "57.3.0"
optional = true
[dependencies.arrow-schema]
version = "57.3.0"
optional = true
[dependencies.bson]
version = "3.1.0"
features = ["serde"]
optional = true
[dependencies.bytemuck]
version = "1.25.0"
features = ["derive"]
optional = true
[dependencies.byteorder]
version = "1.5.0"
[dependencies.chrono]
version = "0.4.44"
features = [
"std",
"clock",
]
default-features = false
[dependencies.console_error_panic_hook]
version = "0.1.7"
optional = true
[dependencies.csv]
version = "1.4.0"
[dependencies.futures-intrusive]
version = "0.5.0"
optional = true
[dependencies.js-sys]
version = "0.3.91"
optional = true
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.matfile]
version = "0.5.0"
features = ["ndarray"]
optional = true
[dependencies.memmap2]
version = "0.9.10"
[dependencies.netcdf3]
version = "0.6.0"
optional = true
[dependencies.num-traits]
version = "0.2.19"
[dependencies.num_cpus]
version = "1.17.0"
[dependencies.oxiarc-archive]
version = "0.2.1"
[dependencies.oxicode]
version = "0.1.1"
features = ["serde"]
[dependencies.parquet]
version = "57.3.0"
optional = true
[dependencies.paste]
version = "1.0.15"
[dependencies.plotters]
version = "0.3.7"
optional = true
[dependencies.plotters-backend]
version = "0.3.7"
optional = true
[dependencies.plotters-svg]
version = "0.3.7"
optional = true
[dependencies.pyo3]
version = "0.27.2"
features = ["extension-module"]
optional = true
[dependencies.regex]
version = "1.12.3"
[dependencies.resvg]
version = "0.46.0"
optional = true
[dependencies.rgb]
version = "0.8.53"
optional = true
[dependencies.rmp-serde]
version = "1.3.1"
optional = true
[dependencies.scirs2-core]
version = "0.3.0"
features = [
"random",
"array",
"simd",
"parallel",
"linalg",
]
[dependencies.scirs2-fft]
version = "0.3.0"
[dependencies.scirs2-linalg]
version = "0.3.0"
[dependencies.scirs2-ndimage]
version = "0.3.0"
[dependencies.scirs2-numpy]
version = "0.3.0"
optional = true
[dependencies.scirs2-spatial]
version = "0.3.0"
features = ["parallel"]
[dependencies.scirs2-special]
version = "0.3.0"
[dependencies.scirs2-stats]
version = "0.3.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde-pickle]
version = "1.2.0"
[dependencies.serde_json]
version = "1.0.149"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tiny-skia]
version = "0.12.0"
optional = true
[dependencies.tokio]
version = "1.50.0"
features = [
"sync",
"rt",
"net",
"io-util",
"rt-multi-thread",
"macros",
]
optional = true
[dependencies.usvg]
version = "0.46.0"
optional = true
[dependencies.wasm-bindgen]
version = "0.2.114"
features = ["serde-serialize"]
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4.64"
optional = true
[dependencies.web-sys]
version = "0.3.91"
features = [
"console",
"Window",
"Performance",
]
optional = true
[dependencies.wee_alloc]
version = "0.4.5"
optional = true
[dependencies.wgpu]
version = "28.0.0"
optional = true
[dev-dependencies.approx]
version = "0.5.1"
[dev-dependencies.criterion]
version = "0.8.2"
[dev-dependencies.proptest]
version = "1.10.0"
[dev-dependencies.serde_json]
version = "1.0.149"
[dev-dependencies.serial_test]
version = "3.4.0"
[dev-dependencies.tempfile]
version = "3.26.0"
[dev-dependencies.tokio]
version = "1.50.0"
features = [
"rt",
"macros",
]
[dev-dependencies.wasm-bindgen-test]
version = "0.3.64"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom_02]
version = "=0.2.17"
features = ["js"]
default-features = false
package = "getrandom"
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.22"
features = ["js"]
[lints.rust]
dead_code = "allow"
mismatched_lifetime_syntaxes = "allow"
unknown_lints = "allow"
unpredictable_function_pointer_comparisons = "allow"
unused_imports = "allow"
unused_variables = "allow"
[profile.bench]
debug = 2
inherits = "release"
strip = false
[profile.dev]
opt-level = 0
debug = 2
overflow-checks = true
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
panic = "abort"
overflow-checks = false
strip = true
[profile.test]
opt-level = 2
debug = 2
overflow-checks = true