Skip to main content

Who Created Me

banner

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

whocreatedme-1.0.0.tar.gz (4.1 kB view details)

Uploaded Source

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

Hashes for whocreatedme-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4bc51adaa12e7f2af43761bece8249f11756addc2b6ef3fa795a4e25fc96a2c8
MD5 6ba1bfa0b09c1c9f8f33c38798a1ea27
BLAKE2b-256 fc2d454e3c706e5d132f7dbadcf1854ebaf0fe1b004530a06c6e09b7ffdce895

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page