A comprehensive scientific computing library written in pure Rust โ zero dependencies, 11 modules, 48 600+ lines of code.
SciForge is organized into 8 scientific domain modules, a central Hub dispatch, a Benchmark pipeline, and a multi-format Parser โ all under a single crate with zero external dependencies.
Every line of SciForge follows these non-negotiable principles:
std#[allow] attributes โ ever| Module | Submodules | Public APIs | Tests | Documentation | Semver |
|---|---|---|---|---|---|
| Constants | 5 | 57 | 0 | ✖ | ✖ |
| Mathematics | 17 | 977 | 0 | ✖ | ✖ |
| Physics | 11 | 636 | 0 | ✖ | ✖ |
| Chemistry | 26 | 462 | 0 | ✖ | ✖ |
| Biology | 44 | 2474 | 0 | ✖ | ✖ |
| Geology | 4 | 44 | 0 | ✖ | ✖ |
| Astronomy | 4 | 49 | 0 | ✖ | ✖ |
| Meteorology | 4 | 44 | 0 | ✖ | ✖ |
| Hub | 5 | 212 | 0 | ✖ | ✖ |
| Benchmark | 6 | 29 | 28 | ✖ | ✖ |
| Parser | 5 | 90 | 66 | ✖ | ✖ |
Tracking semver validation, documentation coverage, and test coverage across all 11 modules.
2/11 modules
0/11 modules
0/11 modules
| Module | Submodules | Public APIs | Tests | Documentation | Semver | Score |
|---|---|---|---|---|---|---|
| Constants | 5 | 57 | โ none | โ missing | โ pending | 0/3 |
| Mathematics | 17 | 977 | โ none | โ missing | โ pending | 0/3 |
| Physics | 11 | 636 | โ none | โ missing | โ pending | 0/3 |
| Chemistry | 26 | 462 | โ none | โ missing | โ pending | 0/3 |
| Biology | 44 | 2474 | โ none | โ missing | โ pending | 0/3 |
| Geology | 4 | 44 | โ none | โ missing | โ pending | 0/3 |
| Astronomy | 4 | 49 | โ none | โ missing | โ pending | 0/3 |
| Meteorology | 4 | 44 | โ none | โ missing | โ pending | 0/3 |
| Hub | 5 | 212 | โ none | โ missing | โ pending | 0/3 |
| Benchmark | 6 | 29 | โ 28 | โ missing | โ pending | 1/3 |
| Parser | 5 | 90 | โ 66 | โ missing | โ pending | 1/3 |
Rendered Markdown files from the project root.
A comprehensive scientific computing library written in pure Rust.

SciForge provides a wide range of scientific computing tools spanning mathematics, physics, chemistry, biology, geology, astronomy, and meteorology โ all in a single, dependency-free Rust crate.
| Module | Submodules | Description |
|---|---|---|
| Constants | 5 | Fundamental, astrophysical, atomic constants, unit conversions, element data |
| Mathematics | 17 | Complex numbers, tensors, linear algebra, FFT, ODE/PDE solvers, statistics, optimization |
| Physics | 11 | Relativity, quantum mechanics, thermodynamics, electrodynamics, optics, acoustics |
| Chemistry | 26 | Kinetics, electrochemistry, organic/inorganic, spectroscopy, polymers, quantum chemistry |
| Biology | 44 | Genetics, neuroscience, ecology, evolution, pharmacology, genomics, proteomics |
| Geology | 4 | Seismology, radiometric dating, petrology, plate tectonics |
| Astronomy | 4 | Orbital mechanics, stellar astrophysics, cosmology, celestial mechanics |
| Meteorology | 4 | Atmospheric modeling, radiation transfer, dynamics, precipitation |
| Hub | 5 | Central dispatch API, domain engine, tools, prelude |
| Benchmark | 6 | Benchmark engine, binary encode/decode, simulation, reporting, multi-format export |
| Parser | 5 | CSV, JSON, YAML, Markdown, HTML parsing and validation |
Add SciForge to your Cargo.toml:
[dependencies]
sciforge = "0.0.1"
use sciforge::benchmark::engine::BenchmarkMetrics;
use sciforge::parser::csv;
use sciforge::parser::json;
The benchmark module generates a complete interactive HTML dashboard featuring:
118 element data files organized by IUPAC category under tableau-periodique/:
tableau-periodique/
โโโ actinides/
โโโ elements-superlourds/
โโโ gaz-nobles/
โโโ halogenes/
โโโ lanthanides/
โโโ metalloides/
โโโ metaux-alcalino-terreux/
โโโ metaux-alcalins/
โโโ metaux-de-transition/
โโโ metaux-post-transition/
โโโ non-metaux/
cargo build
cargo test
94 tests (28 benchmark + 66 parser), all passing.
cargo clippy
Zero warnings.
src/
โโโ lib.rs
โโโ constants/ # Physical constants and element data
โโโ maths/ # Mathematical computing (17 submodules)
โโโ physics/ # Physics simulations (11 submodules)
โโโ chemistry/ # Chemical modeling (26 submodules)
โโโ biology/ # Biological computing (44 submodules)
โโโ geology/ # Earth sciences (4 submodules)
โโโ astronomy/ # Astrophysics (4 submodules)
โโโ meteorology/ # Atmospheric sciences (4 submodules)
โโโ hub/ # Central dispatch API
โโโ benchmark/ # Benchmarking and export pipeline
โโโ parser/ # Multi-format file parsing
tests/
โโโ benchmark.rs # 28 benchmark tests
โโโ parser.rs # 66 parser tests
tableau-periodique/ # 118 element data files
See Contributing.md for guidelines.
See ComingSoon.md for upcoming features and development plans.
See ChangeLog.md for version history.
All notable changes to SciForge are documented in this file.
sciforge crate (Rust edition 2024, zero external dependencies)constants, maths, physics, chemistry, biology, geology, astronomy, meteorology, benchmark, parser, hubapi, domain, engine, tools submodulesengine โ benchmark runner with BenchmarkMetrics (iterations, timing, throughput)encode / decode โ compact binary .bmk format for benchmark resultssimulation โ deterministic benchmark simulation for all 118 elementsreport โ JSON, YAML, TOML report generation with tagged metadataexport โ multi-format export pipeline:csv โ CSV reader/writer with configurable delimiters and quotingjson โ JSON parser and validatoryaml โ YAML parser and validatormarkdown โ Markdown parser and validatorhtml โ HTML parser and validatortableau-periodique/:SciForge is an ambitious, single-author scientific computing library written in pure Rust (edition 2024, zero dependencies). It aims to provide a comprehensive, reliable, and efficient ecosystem spanning multiple scientific domains.
The project is maintained solely by the author. Contributions, suggestions, and collaboration requests should follow the Contributing guide.
The foundation is in place with 575 source files, 48 600+ lines of Rust, 94 passing tests, and zero clippy warnings.
| Module | Submodules | Status |
|---|---|---|
| Constants | 5 (fundamental, astro, atomic, units, elements) | Implemented |
| Mathematics | 17 (complex, tensor, linalg, FFT, ODE, PDE, ...) | Implemented |
| Physics | 11 (relativity, quantum, thermo, optics, ...) | Implemented |
| Chemistry | 26 (kinetics, organic, spectroscopy, ...) | Implemented |
| Biology | 44 (genetics, neuroscience, ecology, ...) | Implemented |
| Geology | 4 (seismology, dating, petrology, tectonics) | Implemented |
| Astronomy | 4 (orbits, stellar, cosmology, celestial) | Implemented |
| Meteorology | 4 (atmosphere, radiation, dynamics, precipitation) | Implemented |
| Hub | 5 (api, domain, engine, tools, prelude) | Implemented |
| Benchmark | 6 (engine, encode, decode, simulation, report, export) | Implemented + tested |
| Parser | 5 (csv, json, yaml, markdown, html) | Implemented + tested |
118 element data files under tableau-periodique/, organized by IUPAC category (11 groups from non-metals to superheavy elements).
Modules, examples, and documentation will be released progressively. Follow updates and participate in shaping SciForge by providing feedback via the Contributing guide.
SciForge aims to become a trusted, high-quality platform for scientific computing, exploration, and education โ fully auditable, reproducible, and dependency-free.
**Email:** The email associated with my [crates.io] account : https://crates.io/users/rayanmorel4498-ai
Discord: The official discod's servor ascociated wiith the SciForge project : https://discord.gg/PtEHcJAruj
SciForge is a pure Rust (edition 2024) scientific computing library with zero external dependencies. It currently spans 11 modules, 575 source files, and 48 600+ lines of code covering mathematics, physics, chemistry, biology, geology, astronomy, meteorology, benchmarking, parsing, and a central hub.
I will review your proposal and provide feedback. If approved, we can coordinate how to integrate it.
SciForge follows strict conventions. All contributions must adhere to:
cargo clippy must pass cleanly.cargo test must succeed (currently 94 tests: 28 benchmark + 66 parser).When proposing improvements, please include:
Even rough ideas or pseudocode are welcome โ detailed implementation can come later.
I value input on:
Your suggestions help shape a stable and ergonomic API for SciForge.
If you encounter a bug or unexpected behavior:
Please send reports via email or the discord.
I value respect, collaboration, and constructive feedback. Keep discussions professional and welcoming.
Thank you for helping make SciForge better. Your contributions โ big or small โ are always appreciated.
MIT License Copyright (c) 2026 Rayan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Interactive HTML dashboards generated by the Benchmark and Parser modules.