Metadata-Version: 2.4
Name: voltops
Version: 0.1.1
Summary: A Python library for electronic formulas and signal processing
Home-page: https://github.com/madhurthareja/voltops
Author: Madhur Thareja
Author-email: madhurthareja1105@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.21.0
Requires-Dist: scipy>=1.7.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Voltops

**Voltops** is a Python library built for electronics and signal processing enthusiasts. Whether you're an engineer, student, or hobbyist, this package offers intuitive functions for working with electrical formulas and analyzing signals with ease.

---

## Installation

```bash
pip install voltops
```

---

## Quick Start

### Basic Electronic Formulas

```python
from voltops.formulas.basic import BasicFormulas

# Calculate voltage using Ohm's Law: V = I * R
voltage = BasicFormulas.ohms_law(current=2, resistance=5)
print(f"Voltage: {voltage} V")  # Output: Voltage: 10 V

# Calculate power: P = V * I
power = BasicFormulas.power(voltage=10, current=2)
print(f"Power: {power} W")  # Output: Power: 20 W
```

### Frequency Spectrum Analysis

```python
import numpy as np
from voltops.signal_processing.transforms import Transforms

# Generate a simple sine wave signal
t = np.linspace(0, 1, 1000, endpoint=False)
signal = np.sin(2 * np.pi * 10 * t)

# Get the frequency spectrum
freqs, amps = Transforms.frequency_spectrum(signal, sampling_rate=1000)
```

### Filtering Signals

```python
from voltops.signal_processing.filters import Filters

# Create a signal with multiple frequency components
t = np.linspace(0, 1, 1000, endpoint=False)
signal = np.sin(2 * np.pi * 10 * t) + 0.5 * np.sin(2 * np.pi * 20 * t)

# Apply a low-pass filter with a cutoff at 15 Hz
filtered_signal = Filters.low_pass_filter(signal, cutoff=15, sampling_rate=1000)
```


## Features

- **Electronic Formulas**: Ohm's Law, power, and more.
- **Signal Processing**: FFT, DFT, filtering, and spectral analysis.
- **Extensible API**: Easy-to-use, modular design for seamless integration.


## Contributing

Contributions are welcome!  
If you'd like to report a bug, request a feature, or contribute code, feel free to open an issue or submit a pull request on [GitHub](https://github.com/madhurthareja/voltops).


## Maintainers

This library is actively developed and maintained by **Madhur Thareja**.


## 📄 License

Licensed under the [MIT License](https://opensource.org/licenses/MIT).  
Feel free to use, modify, and distribute this library.
