Metadata-Version: 2.4
Name: Formulix
Version: 1.2
Summary: A toolkit of geometry and physics formulas
Author: Darsh Nayak Das
Author-email: darsh.nayak@outlook.com
Keywords: geometry,physics,formulas,science,education
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: periodictable
Requires-Dist: matplotlib
Requires-Dist: sympy
Requires-Dist: numpy
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 📦 Formulix

Formulix is a powerful and easy-to-use Python package that provides a collection of tools and utilities for solving problems in **Geometry**, **Physics**, **Chemistry**, **Mathematics**, **Plotting**, and **Unit Conversions**.

It's perfect for students, educators, and developers building science-related applications.

---

## 🚀 Features

### 📐 Geometry (`shapes.py`)
- **Area Calculations**:
  - `rectangle_area(length, breadth)`
  - `square_area(side)`
  - `circle_area(radius)`
  - `rhombus_area(diagonal1, diagonal2)`
  - `triangle_area(base, height)`
  - `eq_triangle_area(side)` (Equilateral triangle)
  - `parallelogram_area(base, height)`
  - `trapezium_area(base1, base2, height)`
  - `heron_area(a, b, c)` (Heron's formula for triangles)
  
- **Perimeter/Circumference Calculations**:
  - `rectangle_perimeter(length, breadth)`
  - `square_perimeter(side)`
  - `triangle_perimeter(a, b, c)`
  - `circle_circumference(radius)`
  - `rhombus_perimeter(side)`
  - `parallelogram_perimeter(base, side)`
  - `trapezium_perimeter(a, b, c, d)`
  
- **Volume Calculations**:
  - `cube_volume(side)`
  - `cuboid_volume(length, breadth, height)`
  - `cylinder_volume(radius, height)`
  - `cone_volume(radius, height)`
  - `sphere_volume(radius)`
  
- **Other Geometric Functions**:
  - `pythagoras_hypotenuse(a, b)`
  - `pythagoras_missing_side(hypotenuse, side)`
  - `triangle_median(a, b, c)`

### 🧲 Physics (`physics.py`)
- `speed(distance, time)`
- `distance(speed, time)`
- `time(distance, speed)`
- `acceleration(final_velocity, initial_velocity, time)`
- `force(mass, acceleration)`
- `weight(mass, gravity=9.8)`

### ⚗️ Chemistry (`chem.py`)
- `get_element(symbol)` - Get element by symbol
- `get_atomic_mass(symbol)` - Get atomic mass
- `get_atomic_number(symbol)` - Get atomic number
- `get_name(symbol)` - Get element name
- `get_density(symbol)` - Get element density
- `describe_element(symbol)` - Returns dictionary with all element properties

### 📊 Plotting (`plot.py`)
- `plot_equation(equation, x_range=(-10, 10), title="Equation Plot")` - Plot a single equation
- `plot_multiple(equations, x_range=(-10, 10), title="Multiple Equations Plot")` - Plot multiple equations

### 🔢 Equation Solver (`eq_solver.py`)
- `solve_equation(equation_str, var='x')` - Solves single-variable equations
- `simplify_expression(expr_str)` - Simplifies mathematical expressions

### 🔁 Unit Conversions (`conversions.py`)
- `convert_length(value, from_unit, to_unit)`
- `convert_mass(value, from_unit, to_unit)`
- `convert_time(value, from_unit, to_unit)`
- `convert_temperature(value, from_unit, to_unit)`
- `convert_volume(value, from_unit, to_unit)`
- `convert_speed(value, from_unit, to_unit)`

---

## 📦 Installation

```bash
pip install Formulix
```

---

## ✅ Example Usage

```python
from Formulix import (
    rectangle_area, force, get_element,
    solve_equation, plot_equation, convert_temperature
)

print(rectangle_area(10, 5))         # 50
print(force(10, 2))                  # 20
print(get_element("H").mass)         # 1.00794
print(solve_equation("x**2 - 4 = 0"))  # [2, -2]

plot_equation("x**2 + 2*x + 1")      # Shows a plot
print(convert_temperature(0, 'C', 'F')) # 32.0
```

---

## 🧪 Requirements

- `numpy`
- `matplotlib`
- `sympy`
- `periodictable`

All are installed automatically with pip.

---

## 📬 Author

**Darsh Nayak Das**

darsh.nayak@outlook.com

9th Grade Student & Science Coder 💡

---

## 📄 License

MIT License
