Automate file origin tracking in your projects
Project description
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.
Project details
Release history Release notifications | RSS feed
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
|