pypickle
is a user-friendly Python library for saving and loading data using the pickle format. Unlike the standard pickle
module, pypickle
puts safety first—offering built-in validation, extension checks, and protection against common exploits.
Whether you're persisting models, storing session data, or sharing files, pypickle
makes serialization easy and more secure.
Ideal for developers who care about both convenience and peace of mind.
⭐️ Star it if you like it ⭐️
Feature | Description |
---|---|
Load | Load your pickle files. |
Save | Save your files into pickle format. |
is_critical_path | Check whether filepath is critical. |
get_critical_paths | Get critical paths. |
get_risk_modules | Get risk modules. |
get_allowed_paths | Get allowed paths. |
For security reasons, pickle files are validated by checking the inner modules before loading. Twenty modules are classified as high-risk (see here) and can not be loaded without validation.
Module Type | Allowed? | How to Change Behavior |
---|---|---|
Unknown | ✅ | Allowed unless in high-risk list |
Custom safe | ✅ | If included in validate param |
Risky (os , etc.) |
❌ | Must be explicitly added via validate=['nt'] or validate=False |
- Documentation: Website
- Bug Reports and Feature Requests: GitHub Issues
pip install pypickle # normal install
pip install -U pypickle # update if needed
import pypickle
import pypickle
filepath = 'test.pkl'
# Some data
data = [1,2,3,4,5]
# Save
status = pypickle.save(filepath, data)
# Load file
data = pypickle.load(filepath)