Shittier is a multi-language code obfuscation tool. It is designed to protect your code from being used in AI training datasets without your consent. If you want your code to NOT be used for AI training, you should add Shittier, not Prettier. By obfuscating your code, you make it significantly harder for AI models to learn from and reproduce your code patterns. Shittier supports Python, C/C++, JavaScript/TypeScript, Go, and Rust.
Features
- Adds random multi-line comments to code.
- Renames variables and functions to random strings.
- Inserts unnecessary spaces and dummy assignments.
- Includes unused imports and random function calls.
- Modifies code structure to make it harder to read.
- Supports batch file transformation.
- Processes entire directories while preserving structure.
Installation
1. Install from PyPI
pip install shittier
2. Install from GitHub
pip install git+https://github.com/jaywyawhare/Shittier.git
3. Developer Installation
git clone https://github.com/jaywyawhare/Shittier.git
cd Shittier
python setup.py install
For more information, see the documentation.
Usage
Command-Line Interface (CLI)
You can use the CLI to obfuscate code files in multiple languages:
Supported Languages:
| Language | Extensions |
|---|---|
| Python | .py |
| C/C++ | .c, .cpp, .cc, .cxx, .h, .hpp |
| JavaScript | .js, .jsx |
| TypeScript | .ts, .tsx |
| Go | .go |
| Rust | .rs |
Basic Usage:
python main.py filename.py
python main.py program.c
python main.py script.js
python main.py main.go
python main.py lib.rs
Additional Options:
-
Multiple files:
python main.py file1.py file2.c file3.js
-
Process entire directory:
python main.py /path/to/project
This creates a
shittified_<dirname>directory with the same structure. -
Show help:
python main.py --help python main.py help
Programmatic Usage
You can also transform Python code inside your scripts:
from src.transformer import shittify_code
source_code = '''
def example_function(x, y):
return x + y
'''
shitty_code = shittify_code(source_code)
print(shitty_code)
Running Tests
To ensure everything is working, run:
python -m unittest discover -s tests
License
This project is licensed under the DBaJ-NC-CFL.
Release files for shittier 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shittier-0.1.2.tar.gz | 26.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shittier-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.2 kB
Release files / shittier-0.1.2.tar.gz
| Download URL | shittier-0.1.2.tar.gz |
|---|---|
| Size | 26.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a22091a4a63093bad848509d946fd6586bafacaf53662f16f63e4557558c3ad
|
|
BLAKE2b-256 checksum How to use checksums |
25442889c5cfa68f58bfbd270da8b10b6bc0938a1605385d48a26cc85e3e8160
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 4, 2025.
Transparency logRelease files / shittier-0.1.2-py3-none-any.whl
| Download URL | shittier-0.1.2-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f9eccf0fb23f129883b94aa25b19a5dab6f66df4cabd97d1463920d4f3c1814
|
|
BLAKE2b-256 checksum How to use checksums |
578508eb21fa7494ff44a5253ad50192eaef375dd3baf0a568a007d3c691b97b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 4, 2025.
Transparency log