# Renify
A simple cli tool for batch renaming files and folders, written in Rust.
- π written in Rust, fast.
- π Available on PyPi, install via `pip`.
- 𧩠`Windows` `Linux` `MacOS` support.
- π `files` and `folders` support.
- π **7** renaming methods provided.
- β οΈ `symlinks` are `unsupported` for now!
![Example GIF](assets/demo.gif)
# Installation
```
pip install renify
# or
cargo install renify
```
# Usage
### Renaming - ιε½ε
For those new to Renify, consider using the following code for **interactive mode**:
```bash
renify -i <File or Folder Path>
```
Or you can use:
```bash
renify -i <File or Folder Path> --target file --method znum --nbits 5 --recursive false --start 1 -y
```
### Rolling back - ιεδΈδΈζ¬‘ζδ½
You can revert to the previous state of the modifications by using:
```bash
renify -i . --roll
```
### Help & options
You can get help from:
```bash
renify --help
```
# Methods provided
- [x] **random:** Sample a u8, uniformly distributed over ASCII letters and numbers: a-z, A-Z and 0-9. `9AFoh, wGRLC, knj9y, ...`
- [x] **uuid:** Uuid4. `de2662a9-fb02-4686-b556-0aca36c0e087`
- [x] **time:** Local time now. `2023-03-04-22-26-42-222655555`
- [x] **num:** Numbers start from `--start` (1 by default). `1, 2, 3, ...`
- [x] **znum:** Numbers with left zero padding start from `--start` (1 by default). `001, 002, 003, ...`
- [x] **prefix:** Add a prefix string to the file stem, along with a delimiter. `X.jpg => [--with][--delimiter]X.jpg`
- [x] **append:** Append a delimiter and a string after the file stem. `X.jpg => X[--delimiter][--with].jpg`
# Note that
Renify will set `--indiscriminate false` to make sure that the file stems stay consistent. This means that if you have files with the same stems in the same folder, they'll still look the same even after you rename them. Certainly, you can use `--indiscriminate` to treat each file as an independent entity without considering its relationship with other files.
Raw data
{
"_id": null,
"home_page": null,
"name": "renify",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "automation, rename, cli, rust, python",
"author": "Jamjamjon <jamjamjon.usls@gmail.com>",
"author_email": "Jamjamjon <jamjamjon.usls@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/69/27/af74f748bc50525626ed719dd59ab83dce615cd1b0d6edc0fd4683e8ccaf/renify-0.1.1.tar.gz",
"platform": null,
"description": "# Renify\nA simple cli tool for batch renaming files and folders, written in Rust.\n\n- \ud83d\ude80 written in Rust, fast.\n- \ud83c\udf89 Available on PyPi, install via `pip`.\n- \ud83e\udde9 `Windows` `Linux` `MacOS` support.\n- \ud83d\udcd4 `files` and `folders` support.\n- \ud83c\udf81 **7** renaming methods provided.\n- \u26a0\ufe0f `symlinks` are `unsupported` for now!\n\n\n\n![Example GIF](assets/demo.gif)\n\n# Installation\n```\npip install renify\n# or\ncargo install renify\n```\n\n# Usage\n### Renaming - \u91cd\u547d\u540d\nFor those new to Renify, consider using the following code for **interactive mode**:\n```bash\nrenify -i <File or Folder Path>\n```\n\nOr you can use:\n```bash\nrenify -i <File or Folder Path> --target file --method znum --nbits 5 --recursive false --start 1 -y\n```\n\n### Rolling back - \u9000\u56de\u4e0a\u4e00\u6b21\u64cd\u4f5c\nYou can revert to the previous state of the modifications by using:\n```bash\nrenify -i . --roll\n```\n\n### Help & options\nYou can get help from:\n```bash\nrenify --help\n```\n\n# Methods provided\n- [x] **random:** Sample a u8, uniformly distributed over ASCII letters and numbers: a-z, A-Z and 0-9. `9AFoh, wGRLC, knj9y, ...`\n- [x] **uuid:** Uuid4. `de2662a9-fb02-4686-b556-0aca36c0e087`\n- [x] **time:** Local time now. `2023-03-04-22-26-42-222655555`\n- [x] **num:** Numbers start from `--start` (1 by default). `1, 2, 3, ...`\n- [x] **znum:** Numbers with left zero padding start from `--start` (1 by default). `001, 002, 003, ...`\n- [x] **prefix:** Add a prefix string to the file stem, along with a delimiter. `X.jpg => [--with][--delimiter]X.jpg`\n- [x] **append:** Append a delimiter and a string after the file stem. `X.jpg => X[--delimiter][--with].jpg`\n\n# Note that\nRenify will set `--indiscriminate false` to make sure that the file stems stay consistent. This means that if you have files with the same stems in the same folder, they'll still look the same even after you rename them. Certainly, you can use `--indiscriminate` to treat each file as an independent entity without considering its relationship with other files.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A simple cli tool for batch renaming files and folders, written in Rust.",
"version": "0.1.1",
"project_urls": {
"Repository": "https://github.com/jamjamjon/renify"
},
"split_keywords": [
"automation",
" rename",
" cli",
" rust",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5834b6749be27de67c0297780505fb6c8a5a2174e6a400fc6b5f803b3e83e68d",
"md5": "3ce7c6402736c9e8702fd2cea88cd81c",
"sha256": "58fb94352ee9a69ada6a097e4fb5612de0f8860622641ff7cb8980778a3e7374"
},
"downloads": -1,
"filename": "renify-0.1.1-py3-none-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "3ce7c6402736c9e8702fd2cea88cd81c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 627390,
"upload_time": "2024-05-20T06:55:06",
"upload_time_iso_8601": "2024-05-20T06:55:06.137140Z",
"url": "https://files.pythonhosted.org/packages/58/34/b6749be27de67c0297780505fb6c8a5a2174e6a400fc6b5f803b3e83e68d/renify-0.1.1-py3-none-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8cb43287924576aef6bd60fe5457a3d4b53315ce1d3b9dc5c5aa73bc9074dffe",
"md5": "179362f18723eab5c46466d42a5f7257",
"sha256": "9ee5a7feae0b85be664f32e2a1058544f22375dfc29e5b701fc3e302cd4ce95d"
},
"downloads": -1,
"filename": "renify-0.1.1-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "179362f18723eab5c46466d42a5f7257",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 599769,
"upload_time": "2024-05-20T06:55:08",
"upload_time_iso_8601": "2024-05-20T06:55:08.417082Z",
"url": "https://files.pythonhosted.org/packages/8c/b4/3287924576aef6bd60fe5457a3d4b53315ce1d3b9dc5c5aa73bc9074dffe/renify-0.1.1-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "128bde269a61e6d16a9289362838a2c2160586e8adadeb89d815995ca8f76b4d",
"md5": "3847458e59675513700b1b92d0c75210",
"sha256": "8333ed101e1745638f1360f251df658a23905d72ee4ef8c91b58c0fd7c389f68"
},
"downloads": -1,
"filename": "renify-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3847458e59675513700b1b92d0c75210",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 646943,
"upload_time": "2024-05-20T06:55:11",
"upload_time_iso_8601": "2024-05-20T06:55:11.122327Z",
"url": "https://files.pythonhosted.org/packages/12/8b/de269a61e6d16a9289362838a2c2160586e8adadeb89d815995ca8f76b4d/renify-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "31ea4b3943f625779a2cbfbdfd2750316d19d2f78ac57058ceb83b308fa34555",
"md5": "763285a1ea1f45c32c19ed3933062883",
"sha256": "b290699170b30f7afefa287c3d8f8afdceab32e9e8c26b74adb0faef162e2aca"
},
"downloads": -1,
"filename": "renify-0.1.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "763285a1ea1f45c32c19ed3933062883",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 709623,
"upload_time": "2024-05-20T06:55:13",
"upload_time_iso_8601": "2024-05-20T06:55:13.079537Z",
"url": "https://files.pythonhosted.org/packages/31/ea/4b3943f625779a2cbfbdfd2750316d19d2f78ac57058ceb83b308fa34555/renify-0.1.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "15b936f92f65131f99b6d0d8b6e21c261a4e73922850c9e868b0c5d0290e641d",
"md5": "7b59908b21e4d78cba6a9f2cbb2ad6d2",
"sha256": "af5ab9019fa38e9ba62904beff7d28961c4bae1a622452aebb0b4d121d67442a"
},
"downloads": -1,
"filename": "renify-0.1.1-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "7b59908b21e4d78cba6a9f2cbb2ad6d2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 494929,
"upload_time": "2024-05-20T06:55:14",
"upload_time_iso_8601": "2024-05-20T06:55:14.963990Z",
"url": "https://files.pythonhosted.org/packages/15/b9/36f92f65131f99b6d0d8b6e21c261a4e73922850c9e868b0c5d0290e641d/renify-0.1.1-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b631a2c8a9069ee6ef969da6fe557a6eacf16285e374f28cc2b7784912b00ade",
"md5": "d6d33c3fee639e3e4b12d6242f6dff2e",
"sha256": "ac1db0def4d94b052799a96722e080f5924e4e67a1dafcf67704901ed605e0fb"
},
"downloads": -1,
"filename": "renify-0.1.1-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "d6d33c3fee639e3e4b12d6242f6dff2e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 525852,
"upload_time": "2024-05-20T06:55:16",
"upload_time_iso_8601": "2024-05-20T06:55:16.914080Z",
"url": "https://files.pythonhosted.org/packages/b6/31/a2c8a9069ee6ef969da6fe557a6eacf16285e374f28cc2b7784912b00ade/renify-0.1.1-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6927af74f748bc50525626ed719dd59ab83dce615cd1b0d6edc0fd4683e8ccaf",
"md5": "6a1e22c20fad682cfca97ef1929755a4",
"sha256": "a7d7f449dc402f6cd983e24fab86aaf5ddcbefed613a0e372fd02322a4779b0e"
},
"downloads": -1,
"filename": "renify-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "6a1e22c20fad682cfca97ef1929755a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 3494009,
"upload_time": "2024-05-20T06:55:18",
"upload_time_iso_8601": "2024-05-20T06:55:18.768692Z",
"url": "https://files.pythonhosted.org/packages/69/27/af74f748bc50525626ed719dd59ab83dce615cd1b0d6edc0fd4683e8ccaf/renify-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-20 06:55:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jamjamjon",
"github_project": "renify",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "renify"
}