Who Created Me
What is this?
This is a tool to automatically track which piece of code created your data.
In particular, every time you save a numpy array or a torch tensor, this tool will automatically create a file with metadata about the code that created the data.
.
├── data.npy
└── .data.npy.who
cat .data.npy.who
───────┬─────────────────────────────────────────────────────────────────────
│ File: .data.npy.who
───────┼─────────────────────────────────────────────────────────────────────
1 │ Script Path: /path/to/example_numpy.py
2 │ -------------------------------------------------------
3 │ Code:
4 │ -------------------------------------------------------
5 │ import numpy as np
6 │ import whocreatedme as wcme
7 │ wcme.trace(numpy=True)
8 │
9 │ np.save("./test.npy", np.random.randn(50, 50))
10 │ -------------------------------------------------------
───────┴─────────────────────────────────────────────────────────────────────
How to use
You can either use the CLI or the Python API:
CLI
python -m whocreatedme.cli <your-script> [--npsave] [--torchsave]
For example, to trace both numpy and torch save methods
for a script script.py, simply run:
python -m whocreatedme.cli script.py --npsave --torchsave
Python API
Alternatively, you can trace the numpy and torch save methods
from your code by using the Python API:
import numpy as np
import whocreatedme
whocreatedme.trace()
# this will automatically create a file `.data.npy.who` in the same directory as `data.npy`
np.save("data.npy", np.array([1, 2, 3]))
Install
pip install whocreatedme
Limitations
For now, this lightweight module only supports monkey-patching the .save()
methods in numpy and torch.
Images in README created with DALL-E.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file whocreatedme-1.0.0.tar.gz.
File metadata
- Download URL: whocreatedme-1.0.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bc51adaa12e7f2af43761bece8249f11756addc2b6ef3fa795a4e25fc96a2c8
|
|
| MD5 |
6ba1bfa0b09c1c9f8f33c38798a1ea27
|
|
| BLAKE2b-256 |
fc2d454e3c706e5d132f7dbadcf1854ebaf0fe1b004530a06c6e09b7ffdce895
|