Skip to main content

Automate file origin tracking in your projects

Project description

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.

Project details


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.

Supported by

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