SciMatic
A Python library for mathematics, statistics, science, and scientific computing.
SciMatic is a lightweight, student-friendly Python library designed to make mathematical and scientific calculations easier to perform programmatically.
«From basic mathematics to advanced scientific concepts — all in Python.»
Features
SciMatic is built around modular mathematical tools.
Mathematics
- Quadratic equations
- Quadratic inequalities
- Factorials
- Mathematical operators
- PEMDAS/BODMAS expression evaluation
- Custom mathematical functions
Statistics
- Median
- Quartiles
- Deciles
- Percentiles
- Interpolation
Trigonometry
- Law of Sines
- Law of Cosines
- Trigonometric calculations
- Triangle-related mathematics
Parser
SciMatic includes a general-purpose parser for processing mathematical expressions and tokens.
The parser can split input into:
- Characters
- Words
- Tokens
It can also convert recognized tokens into numerical values such as integers and floats.
Scientific Computing
SciMatic is designed to eventually expand beyond pure mathematics into scientific computing, including modules for:
- Physics
- Thermodynamics
- Calculus
- Engineering mathematics
- Advanced scientific calculations
Installation
Install SciMatic using pip:
pip install scimatic
Then import it in Python:
import scimatic
Quick Start
Basic calculations
import scimatic
print(scimatic.factorial(5))
Output:
120
Expression Parsing
SciMatic can be used to process mathematical expressions while respecting operator precedence.
For example:
equation = '2 + 3 * 4'
SciMatic evaluates multiplication before addition:
2 + (3 * 4)
Result:
14
SciMatic's expression system supports operators such as:
+
-
*
/
//
%
**
and parentheses.
Quadratics
SciMatic provides tools for solving quadratic equations.
For an equation such as:
x² + 5x + 6 = 0
SciMatic can determine its roots:
x = -2
x = -3
The quadratic module is designed to provide a convenient programmatic interface for algebraic calculations.
Statistics
SciMatic provides common statistical operations.
Example:
data = [10, 20, 20, 30, 40]
You can calculate values such as:
Mean
Median
Mode
Quartiles
Percentiles
SciMatic also supports interpolation-based statistical calculations.
Modular Architecture
SciMatic is designed as a modular library.
A simplified structure looks like:
SciMatic/
│
├── general.py
├── error.py
├── quadratics.py
├── statistics.py
├── trigonometry.py
│
└── scientific/
├── physics.py
└── rocket_science.py(my proposed idea)
This allows different areas of mathematics and science to remain separated while still being part of the same library.
£ Error Handling
SciMatic provides specialized exceptions for mathematical errors.
Examples include:
DataError
NegativeDiscriminantError
VariableError
These errors are intended to make invalid mathematical input easier to identify and handle.
Philosophy
SciMatic is designed around three principles:
Simple
Mathematical operations should be easy to understand and use.
Modular
Different mathematical disciplines should be separated into dedicated modules.
Extensible
SciMatic should be able to grow from a mathematics library into a broader scientific-computing ecosystem.
Development
SciMatic is currently under active development.
The project is intended to expand into areas such as:
- Advanced calculus
- Thermodynamics
- Physics
- Scientific simulations
- More advanced statistics
- Probability
- Engineering mathematics
- Scientific computing
Roadmap
Mathematics
- Basic mathematical utilities
- Expression parser
- Operator handling
- Quadratic calculations
- Statistical utilities
- Trigonometric utilities
- More advanced calculus
- More advanced algebra
Statistics
- Mean
- Median
- Mode
- Quartiles
- Percentiles
- Interpolation
- Advanced statistical analysis
Science
- Physics module
- Thermodynamics
- Scientific constants
- Engineering calculations
- Advanced scientific simulations
Computer Engineering
- Logic Gates
- Binary translation
- 7-display
Future
- Improved documentation
- More comprehensive testing
- Performance optimization
- Expanded API
- Educational examples
- Possible integration of a
anshistory system with sqlite3
Contributing
Contributions, suggestions, and bug reports are welcome.
If you find a bug or have an idea for SciMatic, feel free to open an issue or submit a pull request.
When contributing, please try to keep new functionality modular and well documented.
License
SciMatic is distributed under its project license.
See the "LICENSE" file for the full license terms.
Author
SciMatic is an independently developed Python project focused on making mathematics and scientific computing accessible through code.
Support the Project
If you find SciMatic useful, consider giving the project a ⭐ on GitHub.
Every improvement, experiment, and contribution helps SciMatic grow.
SciMatic — Mathematics, engineered for Python.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scimatic-1.2.4.tar.gz.
File metadata
- Download URL: scimatic-1.2.4.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fed7dc0149632eaa521bf8ae39498dd1316e206b10704f0d70c6e33e92ba683a
|
|
| MD5 |
e3e21af68d991f1080b63201a60a276b
|
|
| BLAKE2b-256 |
a20fea6a24fd7739751f81def215ce7c47cc11b550b47e32921d3e2d1ece9412
|
Provenance
The following attestation bundles were made for scimatic-1.2.4.tar.gz:
Publisher:
python-publish.yml on bingchiliingsacker-dot/SciMatic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scimatic-1.2.4.tar.gz -
Subject digest:
fed7dc0149632eaa521bf8ae39498dd1316e206b10704f0d70c6e33e92ba683a - Sigstore transparency entry: 2710125067
- Sigstore integration time:
-
Permalink:
bingchiliingsacker-dot/SciMatic@c8899d159517e09991cf6f65da8e48f5a4f723a2 -
Branch / Tag:
refs/tags/v1.2.4 - Owner: https://github.com/bingchiliingsacker-dot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c8899d159517e09991cf6f65da8e48f5a4f723a2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file scimatic-1.2.4-py3-none-any.whl.
File metadata
- Download URL: scimatic-1.2.4-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
575f26f18ee785e68932717ae1f50341a75c38609a46190d869e46ddf61c525f
|
|
| MD5 |
aba3c90bf26909c3377861f16851f513
|
|
| BLAKE2b-256 |
5667a976e3b42d4f504b43cd4e772544d9a814dc27314432fad2b287ac94accd
|
Provenance
The following attestation bundles were made for scimatic-1.2.4-py3-none-any.whl:
Publisher:
python-publish.yml on bingchiliingsacker-dot/SciMatic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scimatic-1.2.4-py3-none-any.whl -
Subject digest:
575f26f18ee785e68932717ae1f50341a75c38609a46190d869e46ddf61c525f - Sigstore transparency entry: 2710125088
- Sigstore integration time:
-
Permalink:
bingchiliingsacker-dot/SciMatic@c8899d159517e09991cf6f65da8e48f5a4f723a2 -
Branch / Tag:
refs/tags/v1.2.4 - Owner: https://github.com/bingchiliingsacker-dot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@c8899d159517e09991cf6f65da8e48f5a4f723a2 -
Trigger Event:
release
-
Statement type: