Skip to main content

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(Include rust extension).»


Features

SciMatic is built around modular mathematical tools.

Mathematics

  • Quadratic equations
  • Quadratic inequalities
  • Factorials
  • Mathematical operators
  • PEMDAS/BODMAS expression evaluation
  • Custom mathematical functions

Statistics

  • Mean
  • Median
  • Mode
  • 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
  • Keyword Arguments

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

Computer Engineering

SciMatic also offers functions that are in the computer engineering field.

  • Logic Gates
  • 7-Segment Display system
  • Half/Full Adders
  • High-Performance signal flickers

Databasing

SciMatic also offers a database to store all the returned values with just a decorator.

  • Storing returned values, no matter the type
  • displaying the values stored
  • deleting certain functions

Conversion

SciMatic has functions that can convert certain measures from time, measurements, etc.

  • Imperial-to-metric conversion(v.v.)(from quetto to quetta)
  • Currency conversion(uses another database for offline mode)
  • temperature conversion(supports °C, °F, k, °R, °Ré)
  • Time conversion

CSV

SciMatic has functions that enable it to modify, duplicate, and read/write .csv files.

  • Serialization/Deserialization of CSV values
  • Read/Write .csv files
  • Special Bracket convention to distinguish SciMatic-Made duplicates from other common convention(example[1].csv)

Installation

Install SciMatic using pip:

pip install scimatic

Then import it in Python:

import scimatic

Quick Start

Basic calculations

import scimatic

print(scimatic.utils.convenient_utils.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/
├── .github/workflows
|
├── .gitigore
|
├── Cargo.toml
|
├── pyproject.toml
|
├── README.md <- you are here
|
├── RULES.md
|
├──LICENSE
|
├── src/
|   ├── lib.rs
|   ├── flicker.rs
|   └── conversion.rs
|
└── scimatic/
    |
    ├── _pycache_/
    |
    ├── __init__.py
    |
    ├── utils/
    |    ├── __init__.py
    |    ├── databasing.py
    |    ├── convenient_utils.py
    |    ├── csv.py
    |    └── conversion/
    |        ├── __init__.py
    |        ├── currency.py
    |        ├── data.py
    |        ├── measurements.py
    |        ├── time.py
    |        ├── temperature.py
    |        └── weight.py
    |
    ├── c_engineering/
    |   ├── __init__.py
    |   ├── circuits.py
    |   ├── logic_gates.py
    |   ├── seg_7display.py
    |   └── signals.py
    |
    ├── mathematic/
    |   ├── __init__.py
    |   ├── algebra.py
    |   ├── errors.py
    |   ├── geometry.py
    |   ├── niche.py
    |   └── statistics.py
    │
    └── scientific/
        └── mechanics.py

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
  • Circuitry

Future

  • Improved documentation
  • More comprehensive testing
  • Performance optimization
  • Expanded API
  • Educational examples

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.

Release files for SciMatic 1.61.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for SciMatic 1.61.1
File Interpreter ABI Platform
scimatic-1.61.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
scimatic-1.61.1-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details

Total release size: 396.0 kB

Release files / scimatic-1.61.1-cp314-cp314-win_amd64.whl

Download URL scimatic-1.61.1-cp314-cp314-win_amd64.whl
Size 130.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a23dcb144e3129d5152dafb447aa0f0275829cc3d41e984e3945f73dc0b84c05
BLAKE2b-256 checksum
How to use checksums
3fd9f7211d69cbd926c6658572d4bdce7c2f64763c08fa720218cb652f73189d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / scimatic-1.61.1-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL scimatic-1.61.1-cp314-cp314-manylinux_2_34_x86_64.whl
Size 266.0 kB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
7e0e297b5409852d49877359bd616a97eb4dfa72530f942a91a6d086991f718c
BLAKE2b-256 checksum
How to use checksums
ab3e1c76c4810b4ffd2ebcbe53747909a3e21a82b57e7a9c7e71dcc18b19055e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

1.61.2

2 release files

This release

1.61.1 This release

2 release files

1.60.1

2 release files

1.60.0

2 release files

1.50.1

2 release files

1.50.0

2 release files

1.40.2

2 release files

1.40.1

2 release files

1.40.0

2 release files

1.32.2

2 release files

1.31.2

2 release files

1.4.0

2 release files

1.3.6

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page