Metadata-Version: 2.4
Name: scientific-computing-system
Version: 2.2.0
Summary: A pure-Python computational science platform for numerical methods, modeling, validation, uncertainty, scientific workflows, dimensional analysis, and optional research-data backends. Zero runtime dependencies.
Project-URL: Homepage, https://github.com/Furox-Art/scientific-computing-system
Project-URL: Repository, https://github.com/Furox-Art/scientific-computing-system
Project-URL: Documentation, https://furox-art.github.io/scientific-computing-system/
Project-URL: PyPI, https://pypi.org/project/scientific-computing-system/
Project-URL: Issues, https://github.com/Furox-Art/scientific-computing-system/issues
Project-URL: Changelog, https://github.com/Furox-Art/scientific-computing-system/releases
Author-email: Furox-Art <furkanarkn1451@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: data-analysis,differential-equations,dimensional-analysis,graph-theory,hypothesis-generation,knowledge-graph,linear-algebra,machine-learning,monte-carlo,nlp,numerical-integration,numerical-methods,ode,optimization,pde,physics,probability,pure-python,quantum,reproducibility,scientific-computing,scientific-workflows,sensitivity-analysis,signal-processing,statistics,symbolic-math,uncertainty-quantification
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Provides-Extra: all
Requires-Dist: build; extra == 'all'
Requires-Dist: h5py>=3.10; extra == 'all'
Requires-Dist: hypothesis>=6.100; extra == 'all'
Requires-Dist: ipykernel; extra == 'all'
Requires-Dist: matplotlib>=3.8.0; extra == 'all'
Requires-Dist: mkdocs-material>=9.0.0; extra == 'all'
Requires-Dist: mkdocs>=1.5.0; extra == 'all'
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'all'
Requires-Dist: mypy>=1.10; extra == 'all'
Requires-Dist: netcdf4>=1.6; extra == 'all'
Requires-Dist: notebook; extra == 'all'
Requires-Dist: numpy>=1.26; extra == 'all'
Requires-Dist: pandas>=2.0; extra == 'all'
Requires-Dist: pre-commit; extra == 'all'
Requires-Dist: pytest-cov; extra == 'all'
Requires-Dist: pytest>=8.0; extra == 'all'
Requires-Dist: ruff>=0.4; extra == 'all'
Requires-Dist: scikit-learn>=1.4; extra == 'all'
Requires-Dist: scipy>=1.11; extra == 'all'
Requires-Dist: statsmodels>=0.14; extra == 'all'
Requires-Dist: streamlit>=1.30.0; extra == 'all'
Requires-Dist: sympy>=1.12; extra == 'all'
Requires-Dist: z3-solver>=4.12.2; extra == 'all'
Provides-Extra: dashboard
Requires-Dist: pandas; extra == 'dashboard'
Requires-Dist: streamlit>=1.30.0; extra == 'dashboard'
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: ipykernel; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: notebook; extra == 'dev'
Requires-Dist: numpy<2.5,>=2.0; extra == 'dev'
Requires-Dist: pandas-stubs>=2.0; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'docs'
Provides-Extra: io
Requires-Dist: h5py>=3.10; extra == 'io'
Requires-Dist: netcdf4>=1.6; extra == 'io'
Provides-Extra: pandas
Requires-Dist: pandas>=2.0; extra == 'pandas'
Provides-Extra: plot
Requires-Dist: matplotlib>=3.8.0; extra == 'plot'
Provides-Extra: promo
Requires-Dist: imageio-ffmpeg>=0.5.1; extra == 'promo'
Requires-Dist: matplotlib>=3.8.0; extra == 'promo'
Requires-Dist: numpy>=1.26.0; extra == 'promo'
Requires-Dist: pillow>=10.0.0; extra == 'promo'
Provides-Extra: property
Requires-Dist: hypothesis>=6.100; extra == 'property'
Provides-Extra: scientific
Requires-Dist: numpy>=1.26; extra == 'scientific'
Requires-Dist: scikit-learn>=1.4; extra == 'scientific'
Requires-Dist: scipy>=1.11; extra == 'scientific'
Requires-Dist: statsmodels>=0.14; extra == 'scientific'
Requires-Dist: sympy>=1.12; extra == 'scientific'
Requires-Dist: z3-solver>=4.12.2; extra == 'scientific'
Provides-Extra: test
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest>=8.0; extra == 'test'
Description-Content-Type: text/markdown

<p align="center">
  <img src="assets/logo.svg" alt="scientific-computing-system" width="640">
</p>

<h1 align="center">scientific-computing-system</h1>

<p align="center"><b>A pure-Python computational science platform for numerical methods, modeling, validation, uncertainty, scientific workflows, dimensional analysis, and reproducible research.</b></p>

<p align="center">
  <a href="https://pypi.org/project/scientific-computing-system/"><img src="https://img.shields.io/pypi/v/scientific-computing-system.svg" alt="PyPI version"></a>
  <a href="https://www.npmjs.com/package/scientific-computing-system"><img src="https://img.shields.io/npm/v/scientific-computing-system.svg" alt="npm version"></a>
  <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.10+-green.svg" alt="Python 3.10+"></a>
  <a href="https://codecov.io/gh/Furox-Art/scientific-computing-system"><img src="https://codecov.io/gh/Furox-Art/scientific-computing-system/branch/main/graph/badge.svg" alt="codecov"></a>
  <a href="https://github.com/Furox-Art/scientific-computing-system/actions/workflows/tests.yml"><img src="https://github.com/Furox-Art/scientific-computing-system/actions/workflows/tests.yml/badge.svg" alt="CI"></a>
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
  <a href="https://furox-art.github.io/scientific-computing-system/"><img src="https://img.shields.io/badge/docs-mkdocs-teal.svg" alt="Docs"></a>
  <a href="https://github.com/Furox-Art/scientific-computing-system/releases"><img src="https://img.shields.io/github/v/release/Furox-Art/scientific-computing-system.svg" alt="GitHub release"></a>
</p>

Download counts: [PyPI stats](https://pypi.org/project/scientific-computing-system/)

I wrote this because NumPy and SciPy are incredible, but they're also 20 years old and carry two decades of design decisions that don't always make sense anymore.

This is a from-scratch rethinking of what scientific computing in Python could look like if we started today. No C extensions, no Fortran legacy, no dependency hell. Just Python, type hints, and algorithms that are actually readable.

This repository is the front door. The NumPy build is [scientific-computing-system-2.0](https://github.com/Furox-Art/scientific-computing-system-2.0), not a second project. Beside it: [axiomize](https://github.com/Furox-Art/axiomize) for units and Model IR, [quantum-reasoning-skill](https://github.com/Furox-Art/quantum-reasoning-skill) for the reasoning skill, and [plan-auditor](https://github.com/Furox-Art/plan-auditor) for a fail-closed agent check. Install this package from PyPI. npm is no longer published.

## What's inside

- **Linear algebra**: SVD, QR, Cholesky, eigenvalues-all implemented in pure Python with proper error handling
- **Optimization**: gradient descent, constrained optimization, metaheuristics
- **Statistics**: hypothesis testing, Bayesian inference, time series
- **Machine learning**: PCA, clustering, simple neural nets (educational, not production)
- **Quantum computing**: circuit simulation, state vectors, basic gates
- **Signal processing**: filters, wavelets, STFT
- **ODE/PDE solvers**: stiff and non-stiff, symplectic integrators

## Quick Start

```bash
pip install scientific-computing-system
```

```python
from scs.linear_algebra import svd
from scs.ode import solve_ivp
from scs.stats import bayesian_posterior

# every algorithm is readable pure Python — open the source, see the math
U, S, Vt = svd(matrix, full_matrices=False)

solution = solve_ivp(
    lambda t, y: [y[1], -y[0] - 0.1 * y[1]],  # damped oscillator
    t_span=(0, 50),
    y0=[1.0, 0.0],
    method="rk45",
    rtol=1e-8,
)
```

Full docs: [furox-art.github.io/scientific-computing-system](https://furox-art.github.io/scientific-computing-system/).

## Common use cases

- Learn and inspect **numerical methods in pure Python** without compiled extensions.
- Prototype **scientific computing** workflows with transparent implementations.
- Explore **ODE/PDE solvers**, numerical integration, optimization, Monte Carlo, signal processing, and linear algebra.
- Run **statistics, uncertainty quantification, sensitivity analysis, dimensional analysis, and reproducible research** workflows.
- Teach or audit algorithms where readable source code matters more than raw NumPy/SciPy performance.

## The catch

It's slower than NumPy. Sometimes 10x slower, sometimes 100x. That's the price of pure Python. But it's also completely transparent-you can read every algorithm, understand every step, and modify anything without compiling C.

I use it for prototyping, for teaching, and for cases where I need to know exactly what the computer is doing. For production number crunching, I still reach for NumPy.

## License

MIT.
