semvec/pypi-packages huggingface dataset:
pyParkO 0.0.2
pyParkO is a Python-based implementation of the Parker-Oldenburg Algorithm for calculating gravity anomalies from a density interface and recovering the density interface from gravity anomalies.
Requires Python: >=3.6

# pyParkO

### Abstract
`pyParkO` is a Python-based algorithm implementation of the Parker-Oldenburg method for: 
1. **Forward modeling**: Calculating gravity anomalies from the density interface.  
2. **Inverse modeling**: Recovering the density interface from gravity anomalies.  

### Key Features  
- A Parker-Oldenburg toolkit containing:  
  - Forward program (`density interface → gravity anomalies`).  
  - Inversion program (`gravity anomalies → density interface`), optimized for reconstructing **seafloor topography** from gridded gravity data.  
- Extended capability to handle **variable density-contrast scenarios** (implemented in this package).  
- **Critical note**: When `mu=0`, the variable density-contrast formula simplifies to the original Parker-Oldenburg method.  

### Functionality  
✅ Parameter tuning for constant/variable density-contrast models.  
✅ Regional adaptability for seafloor topography inversion.  
✅ Built-in visualization tools for forward/inverse results.  

### More Information
For more information, please visit the GitHub website: https://github.com/Eurrreka/pyParkO
django-advanced-bulk-signals 0.1.0
Custom Django signals for update, bulk update/create operations with field tracking
Requires Python: >=3.8

# django-bulk-signals

**Custom signal support for Django bulk operations — with granular field-level diffing.**

This library extends Django's signal framework to support `bulk_create`, `bulk_update`, and queryset `update()` operations. It also helps detect exactly **which fields changed** in each object.

---

## ✨ Features

- `pre_bulk_create`, `post_bulk_create` signals
- `pre_bulk_update`, `post_bulk_update` signals
- `pre_update` for regular `.update()` calls
- Field-level change tracking during bulk operations
- Decorators for easy multi-signal binding
- Drop-in replacement for your model `Manager` or `QuerySet`

---

## 🚀 Installation

```bash
pip install django-bulk-signals
```
🧠 Usage

1. Use the custom manager:
```python
from django_bulk_signals.managers import CustomManager
from django.db import models

class Customer(models.Model):
    ...
    objects = CustomManager()
```
2. Connect to signals:
```python
from django.dispatch import receiver
from django_bulk_signals.signals import pre_bulk_update

@receiver(pre_bulk_update, sender=Customer)
def customer_bulk_update_handler(sender, **kwargs):
    forward_data = kwargs.get("forward_data")
    print("Changed fields:", forward_data)
```
3. Signal Reference
| Signal             | Description            |
| ------------------ | ---------------------- |
| `pre_update`       | Before `.update()`     |
| `pre_bulk_update`  | Before `bulk_update()` |
| `post_bulk_update` | After `bulk_update()`  |
| `pre_bulk_create`  | Before `bulk_create()` |
| `post_bulk_create` | After `bulk_create()`  |

🛠️ Tools
Decorator
```python
from django_bulk_signals.decorators import apply_signals

@apply_signals(Customer, pre_bulk_update, pre_update)
def handler(sender, **kwargs):
    ...
```