Skip to main content

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.

Prerequisite

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 an anonymized copy of your project in <OUTPUT_DIRECTORY>.

You can also run grep -r "Your Name" <OUTPUT_DIRECTORY> to verify your name is not accidentally 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.

Furthermore, you can provide a list of file paths or glob patterns to exclude from output by the --exclude option. By default, license files (LICEN[CS]E, LICEN[CS]E.*) are excluded.

2. pyproject.toml anonymization

project.authors, project.maintainers and project.urls fields will be removed (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unname-0.3.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unname-0.3.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file unname-0.3.0.tar.gz.

File metadata

  • Download URL: unname-0.3.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for unname-0.3.0.tar.gz
Algorithm Hash digest
SHA256 548d0e5d60652e9c36024d7cc82e296a89796db203a0d664dede5661b7b6b40d
MD5 b9dda5c843e6926a1f8ee26375f5ee07
BLAKE2b-256 5f609569d6dc5d1cd49c39b3489b16ad2f85e1063dc1d4e5e73e2f2c0a8a57b9

See more details on using hashes here.

File details

Details for the file unname-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: unname-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for unname-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0697124dba6f1d8f486b5c1d01e9d781fe9e47b332e8680105f6a2567f51597
MD5 b9db4526c1d8b7022e628867abfe35d8
BLAKE2b-256 41aa9131f5a25530004e4251f41d66d9f06061b87dbbedea0963df51c33cd5cd

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