A simple CLI for anonymizing Python codebases for blind review.
Project description
unname
A simple CLI for anonymizing Python codebases for blind review.
It anonymizes pyproject.toml and README.md in your project (see below for details).
If your project is a uv workspace, it anonymizes all workspace members.
Prerequisit
Your project must be a git repository since unname internally uses git ls-files to filter out .gitignored files.
Usage
Using uv:
uvx unname -o <OUTPUT_DIRECTORY>
This will create a anonymized copy of your project in `<OUTPUT_DIRECTORY>.
You can also run grep -r "Your Name" <OUTPUT_DIRECTORY> to verify your name is not accidentaly left in the git repository.
What it does
1. Make a copy of your project
First of all, unname will create a copy of your project in the directory specified by the -o or --output option.
unname only copies git-tracked files so that you don't have to manually filter out irrelevant files such as .venv from your code submission.
2. pyproject.toml anonymization
authors and maintainers fields will be replaced with an empty list (if they exist).
3. README.md anonymization
The content between <!-- begin-unname --> and <!-- end-unname --> will be removed.
For example:
Input
# My Awesome Project
Code for the paper "My Awesome Method."
<!-- begin-unname -->
- Authors: Alice & Bob
- arXiv link: https://arxiv.org/abs/1234.56789
<!-- end-unname -->
## Install
...
Output
# My Awesome Project
Code for the paper "My Awesome Method."
## Install
...
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unname-0.2.0.tar.gz.
File metadata
- Download URL: unname-0.2.0.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
808f3f766edf979804e86ad5a6d1c75cb2ae1741ed4a392038ce0f153b56ea83
|
|
| MD5 |
69e354720d90b0f9b0d3b8757e8783a1
|
|
| BLAKE2b-256 |
c2a0e3b494e83d1869bf31d77cc19f1f5020f28101c4baa4cd581d5dc518e524
|
File details
Details for the file unname-0.2.0-py3-none-any.whl.
File metadata
- Download URL: unname-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0da56cd8482b5ed8b430954524b17d5a5fcc57718974e9f2e5bb502b2b206663
|
|
| MD5 |
5a88a1b88589a6f4e56b97a5be6fa7c6
|
|
| BLAKE2b-256 |
fb73a9d9538d236e030f9ac0de2ada6a31c07537040733e952f1b0b2f1a4ef19
|