# Kannadafy ✨
![Python Version](https://img.shields.io/badge/python-3.6%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)
Welcome to *Kannadafy, where Python meets Kannada! 🚀 This quirky little tool takes your regular Python scripts and *magically obfuscates them using Kannada letters. Yes, you read that right — Kannada! What’s more fun than transforming your code into a beautiful script that only the initiated can decode? 🎭
Whether you're a developer looking for a challenge, a language enthusiast, or just in it for the fun, *Kannadafy* adds a layer of linguistic mystique to your Python code. But don’t worry — it's still Python, just a bit more... puzzling. 🤔
---
## Table of Contents 🗂
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Basic Usage](#basic-usage)
- [Advanced Options](#advanced-options)
- [Using Kannadafy in Your Code](#using-kannadafy-in-your-code)
- [How It Works](#how-it-works)
- [Disclaimer](#disclaimer)
- [Contributing](#contributing)
- [Authors](#authors)
- [License](#license)
---
## Features ✨
- *Obfuscation with Kannada*: Convert your Python code into an artistic jumble of Kannada characters while keeping it executable.
- *Command-Line Interface (CLI)*: Easy-to-use CLI for obfuscating Python scripts with a simple command.
- *Customizable Alphabet*: By default, Kannada is used, but feel free to explore using other alphabets.
- *Portable*: Just run python -m Kannadafy and you're ready to roll, no complicated setup needed.
- *Use in Your Python Code: You can also integrate **Kannadafy* directly into your Python code, making it easy to obfuscate scripts programmatically.
---
## Installation 🔧
Ready to Kannadafy your code? Here’s how to get started:
### Install via PyPI
If *Kannadafy* is available on PyPI (soon!), just run:
bash
pip install Kannadafy
### Install from Source (for the daring ones)
If you want to tinker with the source or if *Kannadafy* isn’t on PyPI yet, you can install it directly from GitHub:
bash
git clone https://github.com/mithun50/Kannadafy.git
cd Kannadafy
pip install .
---
## Usage 💻
### Basic Usage
Once installed, *Kannadafy* can be run from the command line to obfuscate your Python scripts. Here's how:
bash
python -m Kannadafy -i input_script.py -o obfuscated_script.py
Where:
- -i or --input: The input Python script that you want to obfuscate.
- -o or --output: The name of the output file where the obfuscated code will be saved (with .py extension).
- -v or --version: *Optional* flag to display the version of Kannadafy.
### Advanced Options 🧑💻
You can use the -v flag to check the version of *Kannadafy*:
bash
python -m Kannadafy -v
### Using Kannadafy in Your Code 🧑💻
You can also use *Kannadafy* directly in your Python code for more flexibility. For example:
python
from Kannadafy import obfuscate
# Specify input and output file paths
input_file = "input_script.py"
output_file = "obfuscated_script.py"
# Obfuscate the Python script
obfuscate(input_file, output_file)
print(f"Your script has been obfuscated and saved as {output_file}")
Here, you can programmatically obfuscate Python code by importing the obfuscate function from the Kannadafy module and calling it with the input and output file paths.
### Example: Obfuscating a Python Script
Let’s say you have a Python script like this:
python
print("Hello, World!")
Run this command to obfuscate it:
bash
python -m Kannadafy -i hello.py -o obfuscated_hello.py
This will generate a file obfuscated_hello.py that looks like this (an obfuscated Kannada version):
python
exec("".join(map(chr,[int("".join(str({'ಅ': 0,
'ಅ:': 14,
'ಅಂ': 13,
'ಆ': 1,
'ಇ': 2,
'ಈ': 3,
'ಉ': 4,
'ಊ': 5,
'ಋ': 6,
'ಎ': 7,
'ಏ': 8,
'ಐ': 9,
'ಒ': 10,
'ಓ': 11,
'ಔ': 12,
'ಕ': 15,
'ಖ': 16,
'ಗ': 17,
'ಘ': 18,
'ಙ': 19,
'ಚ': 20,
'ಛ': 21,
'ಜ': 22,
'ಝ': 23,
'ಞ': 24,
'ಟ': 25,
'ಠ': 26,
'ಡ': 27,
'ಢ': 28,
'ಣ': 29,
'ತ': 30,
'ಥ': 31,
'ದ': 32,
'ಧ': 33,
'ನ': 34,
'ಪ': 35,
'ಫ': 36,
'ಬ': 37,
'ಭ': 38,
'ಮ': 39,
'ಯ': 40,
'ರ': 41,
'ಲ': 42,
'ಳ': 48,
'ವ': 43,
'ಶ': 44,
'ಷ': 45,
'ಸ': 46,
'ಹ': 47}[i]) for i in x.split())) for x in
"ಆ ಆ ಇ ಆ ಆ ಉ ಆ ಅ ಊ ಆ ಆ ಅ ಆ ಆ ಋ ಉ ಅ ಈ ಉ ಎ ಇ ಆ ಅ ಆ ಆ ಅ ಏ ಆ ಅ ಏ \
ಆ ಆ ಆ ಉ ಉ ಈ ಇ ಏ ಎ ಆ ಆ ಆ ಆ ಆ ಉ ಆ ಅ ಏ ಆ ಅ ಅ ಈ ಈ ಈ ಉ ಉ ಆ ಆ ಅ"
.split(" ")])))
It will still print "Hello, World!" when executed, but good luck reading that code! 😎
---
## How It Works 🛠
### 1. *The Obfuscation Process* 🤫
The tool reads your Python script, processes each character, and maps it to a character from the Kannada alphabet (or another alphabet, if specified). This is all done behind the scenes, so all you need to do is run the command.
### 2. **Execution with exec()** 🎭
To make sure the obfuscated script is still executable, we wrap it in an exec() function. When you run the obfuscated code, the Python interpreter will execute it normally — though it might take a second to figure out how it works. 😜
### 3. *Chunking for Readability* 📏
To prevent the obfuscated code from being a single, massive line, the tool breaks it into chunks of a manageable size. This makes it slightly more readable and prevents issues with long line lengths in the Python interpreter.
---
## Disclaimer ⚠
*Important Note: **Kannadafy* does *not* provide a reverse process. Once a Python script is obfuscated using Kannada letters, *there is no built-in way to de-obfuscate or reverse the process* back to the original source code.
This tool is meant purely for fun, learning, and experimentation. If you need to keep a backup of your original code, please make sure to store it in a safe place before obfuscating it. 😄
---
## Contributing 🌱
We’d love to have you on board! Here’s how you can help:
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and write tests (if applicable).
4. Submit a pull request with a description of your changes.
Got an idea or found a bug? [Open an issue!](https://github.com/mithun50/Kannadafy/issues)
---
## Authors 👨💻💻 👨
*Mithun Gowda B* and *Manvanth* are the creators of *Kannadafy*. Both are passionate about Python, languages, and making programming fun and more accessible to people of all backgrounds. They aim to combine creativity with code to explore new possibilities in software development.
Feel free to reach out to the authors if you have any questions or just want to say "hello!" 👋
- *Mithun Gowda B*:
Email: [mithungowda.b7411@gmail.com](mailto:mithungowda.b7411@gmail.com)
Instagram: [@MithunGowda.B](https://www.instagram.com/mithun.gowda.b)
- *Manvanth*:
Email: [appuka1431@gmail.com](mailto:appuka1431@gmail.com)
Instagram: [@Manvanth](https://www.instagram.com/_.appu_kannadiga)
---
## License 📝
This project is licensed under the *MIT License*. See the [LICENSE](LICENSE) file for more details.
---
### Why Kannada?
You might be wondering, “Why Kannada?” Well, why not! 😄 Kannada is a beautiful and ancient language, and using it to obfuscate Python code just adds a unique twist. Plus, it’s a fun way to learn about language encoding and Python internals.
---
*Disclaimer: While **Kannadafy* is a fun tool for learning and experimenting, please use it responsibly. Obfuscating code for malicious purposes or for hiding malicious content is not condoned. Keep coding fun and ethical! 🧑💻💡
Raw data
{
"_id": null,
"home_page": "https://github.com/mithun50/Kannadafy",
"name": "Kannadafy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "This is the PyPi Module which give the user to Obfuscate The Python in Kannada",
"author": "MithunGowda.B, Manvanth.",
"author_email": "mithungowda.b7411@gmail.com, appuka1431@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/66/0c/a48607fc26bb4f36e2b2be410f0af91f1d9142796ebad1e30589eeab8b5c/kannadafy-1.0.2.tar.gz",
"platform": null,
"description": "# Kannadafy \u2728\r\n\r\n![Python Version](https://img.shields.io/badge/python-3.6%2B-blue)\r\n![License](https://img.shields.io/badge/license-MIT-green)\r\n\r\nWelcome to *Kannadafy, where Python meets Kannada! \ud83d\ude80 This quirky little tool takes your regular Python scripts and *magically obfuscates them using Kannada letters. Yes, you read that right \u2014 Kannada! What\u2019s more fun than transforming your code into a beautiful script that only the initiated can decode? \ud83c\udfad\r\n\r\nWhether you're a developer looking for a challenge, a language enthusiast, or just in it for the fun, *Kannadafy* adds a layer of linguistic mystique to your Python code. But don\u2019t worry \u2014 it's still Python, just a bit more... puzzling. \ud83e\udd14\r\n\r\n---\r\n\r\n## Table of Contents \ud83d\uddc2\r\n\r\n- [Features](#features)\r\n- [Installation](#installation)\r\n- [Usage](#usage)\r\n - [Basic Usage](#basic-usage)\r\n - [Advanced Options](#advanced-options)\r\n - [Using Kannadafy in Your Code](#using-kannadafy-in-your-code)\r\n- [How It Works](#how-it-works)\r\n- [Disclaimer](#disclaimer)\r\n- [Contributing](#contributing)\r\n- [Authors](#authors)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## Features \u2728\r\n\r\n- *Obfuscation with Kannada*: Convert your Python code into an artistic jumble of Kannada characters while keeping it executable.\r\n- *Command-Line Interface (CLI)*: Easy-to-use CLI for obfuscating Python scripts with a simple command.\r\n- *Customizable Alphabet*: By default, Kannada is used, but feel free to explore using other alphabets.\r\n- *Portable*: Just run python -m Kannadafy and you're ready to roll, no complicated setup needed.\r\n- *Use in Your Python Code: You can also integrate **Kannadafy* directly into your Python code, making it easy to obfuscate scripts programmatically.\r\n\r\n---\r\n\r\n## Installation \ud83d\udd27\r\n\r\nReady to Kannadafy your code? Here\u2019s how to get started:\r\n\r\n### Install via PyPI\r\n\r\nIf *Kannadafy* is available on PyPI (soon!), just run:\r\n\r\nbash\r\npip install Kannadafy\r\n\r\n\r\n### Install from Source (for the daring ones)\r\n\r\nIf you want to tinker with the source or if *Kannadafy* isn\u2019t on PyPI yet, you can install it directly from GitHub:\r\n\r\nbash\r\ngit clone https://github.com/mithun50/Kannadafy.git\r\ncd Kannadafy\r\npip install .\r\n\r\n\r\n---\r\n\r\n## Usage \ud83d\udcbb\r\n\r\n### Basic Usage\r\n\r\nOnce installed, *Kannadafy* can be run from the command line to obfuscate your Python scripts. Here's how:\r\n\r\nbash\r\npython -m Kannadafy -i input_script.py -o obfuscated_script.py\r\n\r\n\r\nWhere:\r\n- -i or --input: The input Python script that you want to obfuscate.\r\n- -o or --output: The name of the output file where the obfuscated code will be saved (with .py extension).\r\n- -v or --version: *Optional* flag to display the version of Kannadafy.\r\n\r\n### Advanced Options \ud83e\uddd1\u200d\ud83d\udcbb\r\n\r\nYou can use the -v flag to check the version of *Kannadafy*:\r\n\r\nbash\r\npython -m Kannadafy -v\r\n\r\n\r\n### Using Kannadafy in Your Code \ud83e\uddd1\u200d\ud83d\udcbb\r\n\r\nYou can also use *Kannadafy* directly in your Python code for more flexibility. For example:\r\n\r\npython\r\nfrom Kannadafy import obfuscate\r\n\r\n# Specify input and output file paths\r\ninput_file = \"input_script.py\"\r\noutput_file = \"obfuscated_script.py\"\r\n\r\n# Obfuscate the Python script\r\nobfuscate(input_file, output_file)\r\n\r\nprint(f\"Your script has been obfuscated and saved as {output_file}\")\r\n\r\n\r\nHere, you can programmatically obfuscate Python code by importing the obfuscate function from the Kannadafy module and calling it with the input and output file paths.\r\n\r\n### Example: Obfuscating a Python Script\r\n\r\nLet\u2019s say you have a Python script like this:\r\n\r\npython\r\nprint(\"Hello, World!\")\r\n\r\n\r\nRun this command to obfuscate it:\r\n\r\nbash\r\npython -m Kannadafy -i hello.py -o obfuscated_hello.py\r\n\r\n\r\nThis will generate a file obfuscated_hello.py that looks like this (an obfuscated Kannada version):\r\n\r\npython\r\nexec(\"\".join(map(chr,[int(\"\".join(str({'\u0c85': 0,\r\n '\u0c85:': 14,\r\n '\u0c85\u0c82': 13,\r\n '\u0c86': 1,\r\n '\u0c87': 2,\r\n '\u0c88': 3,\r\n '\u0c89': 4,\r\n '\u0c8a': 5,\r\n '\u0c8b': 6,\r\n '\u0c8e': 7,\r\n '\u0c8f': 8,\r\n '\u0c90': 9,\r\n '\u0c92': 10,\r\n '\u0c93': 11,\r\n '\u0c94': 12,\r\n '\u0c95': 15,\r\n '\u0c96': 16,\r\n '\u0c97': 17,\r\n '\u0c98': 18,\r\n '\u0c99': 19,\r\n '\u0c9a': 20,\r\n '\u0c9b': 21,\r\n '\u0c9c': 22,\r\n '\u0c9d': 23,\r\n '\u0c9e': 24,\r\n '\u0c9f': 25,\r\n '\u0ca0': 26,\r\n '\u0ca1': 27,\r\n '\u0ca2': 28,\r\n '\u0ca3': 29,\r\n '\u0ca4': 30,\r\n '\u0ca5': 31,\r\n '\u0ca6': 32,\r\n '\u0ca7': 33,\r\n '\u0ca8': 34,\r\n '\u0caa': 35,\r\n '\u0cab': 36,\r\n '\u0cac': 37,\r\n '\u0cad': 38,\r\n '\u0cae': 39,\r\n '\u0caf': 40,\r\n '\u0cb0': 41,\r\n '\u0cb2': 42,\r\n '\u0cb3': 48,\r\n '\u0cb5': 43,\r\n '\u0cb6': 44,\r\n '\u0cb7': 45,\r\n '\u0cb8': 46,\r\n '\u0cb9': 47}[i]) for i in x.split())) for x in\r\n\"\u0c86 \u0c86 \u0c87 \u0c86 \u0c86 \u0c89 \u0c86 \u0c85 \u0c8a \u0c86 \u0c86 \u0c85 \u0c86 \u0c86 \u0c8b \u0c89 \u0c85 \u0c88 \u0c89 \u0c8e \u0c87 \u0c86 \u0c85 \u0c86 \u0c86 \u0c85 \u0c8f \u0c86 \u0c85 \u0c8f \\\r\n \u0c86 \u0c86 \u0c86 \u0c89 \u0c89 \u0c88 \u0c87 \u0c8f \u0c8e \u0c86 \u0c86 \u0c86 \u0c86 \u0c86 \u0c89 \u0c86 \u0c85 \u0c8f \u0c86 \u0c85 \u0c85 \u0c88 \u0c88 \u0c88 \u0c89 \u0c89 \u0c86 \u0c86 \u0c85\"\r\n.split(\" \")])))\r\n\r\n\r\n\r\nIt will still print \"Hello, World!\" when executed, but good luck reading that code! \ud83d\ude0e\r\n\r\n---\r\n\r\n## How It Works \ud83d\udee0\r\n\r\n### 1. *The Obfuscation Process* \ud83e\udd2b\r\n\r\nThe tool reads your Python script, processes each character, and maps it to a character from the Kannada alphabet (or another alphabet, if specified). This is all done behind the scenes, so all you need to do is run the command.\r\n\r\n### 2. **Execution with exec()** \ud83c\udfad\r\n\r\nTo make sure the obfuscated script is still executable, we wrap it in an exec() function. When you run the obfuscated code, the Python interpreter will execute it normally \u2014 though it might take a second to figure out how it works. \ud83d\ude1c\r\n\r\n### 3. *Chunking for Readability* \ud83d\udccf\r\n\r\nTo prevent the obfuscated code from being a single, massive line, the tool breaks it into chunks of a manageable size. This makes it slightly more readable and prevents issues with long line lengths in the Python interpreter.\r\n\r\n---\r\n\r\n## Disclaimer \u26a0\r\n\r\n*Important Note: **Kannadafy* does *not* provide a reverse process. Once a Python script is obfuscated using Kannada letters, *there is no built-in way to de-obfuscate or reverse the process* back to the original source code.\r\n\r\nThis tool is meant purely for fun, learning, and experimentation. If you need to keep a backup of your original code, please make sure to store it in a safe place before obfuscating it. \ud83d\ude04\r\n\r\n---\r\n\r\n\r\n\r\n## Contributing \ud83c\udf31\r\n\r\nWe\u2019d love to have you on board! Here\u2019s how you can help:\r\n\r\n1. Fork the repository.\r\n2. Create a new branch for your feature or bug fix.\r\n3. Make your changes and write tests (if applicable).\r\n4. Submit a pull request with a description of your changes.\r\n\r\nGot an idea or found a bug? [Open an issue!](https://github.com/mithun50/Kannadafy/issues)\r\n\r\n---\r\n\r\n## Authors \ud83d\udc68\u200d\ud83d\udcbb\ud83d\udcbb \ud83d\udc68\r\n\r\n*Mithun Gowda B* and *Manvanth* are the creators of *Kannadafy*. Both are passionate about Python, languages, and making programming fun and more accessible to people of all backgrounds. They aim to combine creativity with code to explore new possibilities in software development.\r\n\r\nFeel free to reach out to the authors if you have any questions or just want to say \"hello!\" \ud83d\udc4b\r\n\r\n- *Mithun Gowda B*:\r\n Email: [mithungowda.b7411@gmail.com](mailto:mithungowda.b7411@gmail.com)\r\n Instagram: [@MithunGowda.B](https://www.instagram.com/mithun.gowda.b)\r\n\r\n- *Manvanth*:\r\n Email: [appuka1431@gmail.com](mailto:appuka1431@gmail.com)\r\n Instagram: [@Manvanth](https://www.instagram.com/_.appu_kannadiga)\r\n\r\n---\r\n\r\n## License \ud83d\udcdd\r\n\r\nThis project is licensed under the *MIT License*. See the [LICENSE](LICENSE) file for more details.\r\n\r\n---\r\n\r\n### Why Kannada?\r\n\r\nYou might be wondering, \u201cWhy Kannada?\u201d Well, why not! \ud83d\ude04 Kannada is a beautiful and ancient language, and using it to obfuscate Python code just adds a unique twist. Plus, it\u2019s a fun way to learn about language encoding and Python internals.\r\n\r\n---\r\n\r\n*Disclaimer: While **Kannadafy* is a fun tool for learning and experimenting, please use it responsibly. Obfuscating code for malicious purposes or for hiding malicious content is not condoned. Keep coding fun and ethical! \ud83e\uddd1\u200d\ud83d\udcbb\ud83d\udca1\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Python in Kannada",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/mithun50/Kannadafy"
},
"split_keywords": [
"this",
"is",
"the",
"pypi",
"module",
"which",
"give",
"the",
"user",
"to",
"obfuscate",
"the",
"python",
"in",
"kannada"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "91bf6155a30261c9d25267820812975f0685a5ecdfa5e2056c5eb4ed44fcdbcf",
"md5": "c493b85857803c5066785ed67548afc1",
"sha256": "500d062df9f83516f1c7c93c33e537fd9de312e18d9d17c6d87b2e69bc6b7fd1"
},
"downloads": -1,
"filename": "Kannadafy-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c493b85857803c5066785ed67548afc1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 10206,
"upload_time": "2024-11-10T04:33:20",
"upload_time_iso_8601": "2024-11-10T04:33:20.464381Z",
"url": "https://files.pythonhosted.org/packages/91/bf/6155a30261c9d25267820812975f0685a5ecdfa5e2056c5eb4ed44fcdbcf/Kannadafy-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "660ca48607fc26bb4f36e2b2be410f0af91f1d9142796ebad1e30589eeab8b5c",
"md5": "7ae1616ed6fb2e0a1eb25cac4c44a42c",
"sha256": "28531cb35857a90a8b4fea064e3748e27ea7058b8baf46075821701c4120f527"
},
"downloads": -1,
"filename": "kannadafy-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "7ae1616ed6fb2e0a1eb25cac4c44a42c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 10613,
"upload_time": "2024-11-10T04:33:22",
"upload_time_iso_8601": "2024-11-10T04:33:22.555606Z",
"url": "https://files.pythonhosted.org/packages/66/0c/a48607fc26bb4f36e2b2be410f0af91f1d9142796ebad1e30589eeab8b5c/kannadafy-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-10 04:33:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mithun50",
"github_project": "Kannadafy",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "kannadafy"
}