ilytix


Nameilytix JSON
Version 0.2.5 PyPI version JSON
download
home_pageNone
SummaryA simple cli tool for images analysis, written in Rust.
upload_time2024-03-27 08:49:01
maintainerNone
docs_urlNone
authorJamjamjon <jamjamjon.usls@gmail.com>
requires_python>=3.7
licenseMIT
keywords automation cli dedup rust python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ilytix
A simple command-line tool for visual image analysis, with features like checking image integrity, deduplication, and retrieval, written in Rust.

# Installation
```bash
pip install -U ilytix
```

# Getting Started

## Check the integrity of images (检查图片完整性)
It will attempt to repair incorrect image formats whenever possible.  
```bash
ilytix check -i ./datasets -r -o A/B/C
```

**Options:**  
`-i <PATH>` Path for input image or images folder.  
`-o <PATH>` Path for setting the saving results.  
`-r`, `--recursive` Recursively traverse folders to obtain files.  
`--mv` Store results by moving instead of copying.

**And you'll see something like this**
```bash
✔  Source · /home/qweasd/Desktop/datasets › Folder
✔  Recursively · true

🐢 Integrity Checking [####################] 73/73 (100% | 0.00s | 00:00:00)
✔  Found · x73
    · Intact › x34
    · Incorrect › x3
    · Deprecated Or Unsupported › x36

🐢 Saving[Copy] [####################] 73/73 (100% | 0.00s | 00:00:00)
✔  Results saved to · /home/qweasd/Desktop/A/B/C
```

## Images deduplication (图片去重)
Used for deduplicating images within a folder.  

```bash
ilytix dedup -i ./datasets -r -o A/B/C
```
**Options:**  
`-i <PATH>` Path for images folder.  
`-o <PATH>` Path for setting the saving results.  
`-r`, `--recursive` Recursively traverse folders to obtain files.  
`--mv` Store results by moving instead of copying.  
`-thresh` Used to adjust image similarity threshold.  

**And you'll see something like this**
```bash
✔  Source · /home/qweasd/Desktop/datasets › Folder
✔  Recursively · true

🐢 Building [####################] 73/73 (100% | 0.00s | 00:00:00)
✔  Index
    · Capacity › 73
    · Size › 37
    · Dimensions › 32

🐢 Deduplicating [####################] 73/73 (100% | 0.00s | 00:00:00)
✔  Found
    · Duplicated › x17
    · Curated › x20
    · Deprecated Or Unsupported › x36

🐢 Saving[Copy] [####################] 73/73 (100% | 0.00s | 00:00:00)
✔  Results saved to · /home/qweasd/Desktop/A/B/C-1

```

## Image-Image Retrival (图片检索相似图片)
```bash
ilytix retrive -i <Images Folder> -r --query <Query> -v
```

**Output**
```bash
✔  Collection · /home/qweasd/Desktop/4test › Folder
✔  Recursively · true

🐢 Building [####################] 10,693/10,693 (100% | 0.00s | 00:00:36)
✔  Index
    · Capacity › 10693
    · Size › 10677
    · Dimensions › 32
✔  Query · /home/qweasd/Desktop/query.png
✔  Matched · x6
    · /home/qweasd/Desktop/4test/clips/query (3rd copy).png
    · /home/qweasd/Desktop/4test/clips/query (another copy).png
    · /home/qweasd/Desktop/4test/clips/query (4th copy).png
    · /home/qweasd/Desktop/4test/clips/query (copy).png
    · /home/qweasd/Desktop/4test/clips/query.png
    · /home/qweasd/Desktop/4test/clips/query (5th copy).png

🐢 Saving[Copy] [####################] 6/6 (100% | 0.00s | 00:00:00)
✔  Results saved to · /home/qweasd/Desktop/A/B

```


# TODO
- [X]  images integrity check
- [X]  images de-duplicate
- [X]  image-image retrival
- [ ]  text-image retrival
- [ ]  image catption

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ilytix",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "automation, cli, Dedup, rust, python",
    "author": "Jamjamjon <jamjamjon.usls@gmail.com>",
    "author_email": "Jamjamjon <jamjamjon.usls@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/03/8e/924d62ed1afcb2f0605cca762cfb089161699617934aedd4780ae21ef809/ilytix-0.2.5.tar.gz",
    "platform": null,
    "description": "# ilytix\nA simple command-line tool for visual image analysis, with features like checking image integrity, deduplication, and retrieval, written in Rust.\n\n# Installation\n```bash\npip install -U ilytix\n```\n\n# Getting Started\n\n## Check the integrity of images (\u68c0\u67e5\u56fe\u7247\u5b8c\u6574\u6027)\nIt will attempt to repair incorrect image formats whenever possible.  \n```bash\nilytix check -i ./datasets -r -o A/B/C\n```\n\n**Options:**  \n`-i <PATH>` Path for input image or images folder.  \n`-o <PATH>` Path for setting the saving results.  \n`-r`, `--recursive` Recursively traverse folders to obtain files.  \n`--mv` Store results by moving instead of copying.\n\n**And you'll see something like this**\n```bash\n\u2714  Source \u00b7 /home/qweasd/Desktop/datasets \u203a Folder\n\u2714  Recursively \u00b7 true\n\n\ud83d\udc22 Integrity Checking [####################] 73/73 (100% | 0.00s | 00:00:00)\n\u2714  Found \u00b7 x73\n    \u00b7 Intact \u203a x34\n    \u00b7 Incorrect \u203a x3\n    \u00b7 Deprecated Or Unsupported \u203a x36\n\n\ud83d\udc22 Saving[Copy] [####################] 73/73 (100% | 0.00s | 00:00:00)\n\u2714  Results saved to \u00b7 /home/qweasd/Desktop/A/B/C\n```\n\n## Images deduplication (\u56fe\u7247\u53bb\u91cd)\nUsed for deduplicating images within a folder.  \n\n```bash\nilytix dedup -i ./datasets -r -o A/B/C\n```\n**Options:**  \n`-i <PATH>` Path for images folder.  \n`-o <PATH>` Path for setting the saving results.  \n`-r`, `--recursive` Recursively traverse folders to obtain files.  \n`--mv` Store results by moving instead of copying.  \n`-thresh` Used to adjust image similarity threshold.  \n\n**And you'll see something like this**\n```bash\n\u2714  Source \u00b7 /home/qweasd/Desktop/datasets \u203a Folder\n\u2714  Recursively \u00b7 true\n\n\ud83d\udc22 Building [####################] 73/73 (100% | 0.00s | 00:00:00)\n\u2714  Index\n    \u00b7 Capacity \u203a 73\n    \u00b7 Size \u203a 37\n    \u00b7 Dimensions \u203a 32\n\n\ud83d\udc22 Deduplicating [####################] 73/73 (100% | 0.00s | 00:00:00)\n\u2714  Found\n    \u00b7 Duplicated \u203a x17\n    \u00b7 Curated \u203a x20\n    \u00b7 Deprecated Or Unsupported \u203a x36\n\n\ud83d\udc22 Saving[Copy] [####################] 73/73 (100% | 0.00s | 00:00:00)\n\u2714  Results saved to \u00b7 /home/qweasd/Desktop/A/B/C-1\n\n```\n\n## Image-Image Retrival (\u56fe\u7247\u68c0\u7d22\u76f8\u4f3c\u56fe\u7247)\n```bash\nilytix retrive -i <Images Folder> -r --query <Query> -v\n```\n\n**Output**\n```bash\n\u2714  Collection \u00b7 /home/qweasd/Desktop/4test \u203a Folder\n\u2714  Recursively \u00b7 true\n\n\ud83d\udc22 Building [####################] 10,693/10,693 (100% | 0.00s | 00:00:36)\n\u2714  Index\n    \u00b7 Capacity \u203a 10693\n    \u00b7 Size \u203a 10677\n    \u00b7 Dimensions \u203a 32\n\u2714  Query \u00b7 /home/qweasd/Desktop/query.png\n\u2714  Matched \u00b7 x6\n    \u00b7 /home/qweasd/Desktop/4test/clips/query (3rd copy).png\n    \u00b7 /home/qweasd/Desktop/4test/clips/query (another copy).png\n    \u00b7 /home/qweasd/Desktop/4test/clips/query (4th copy).png\n    \u00b7 /home/qweasd/Desktop/4test/clips/query (copy).png\n    \u00b7 /home/qweasd/Desktop/4test/clips/query.png\n    \u00b7 /home/qweasd/Desktop/4test/clips/query (5th copy).png\n\n\ud83d\udc22 Saving[Copy] [####################] 6/6 (100% | 0.00s | 00:00:00)\n\u2714  Results saved to \u00b7 /home/qweasd/Desktop/A/B\n\n```\n\n\n# TODO\n- [X]  images integrity check\n- [X]  images de-duplicate\n- [X]  image-image retrival\n- [ ]  text-image retrival\n- [ ]  image catption\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A simple cli tool for images analysis, written in Rust.",
    "version": "0.2.5",
    "project_urls": {
        "Repository": "https://github.com/jamjamjon/ilytix"
    },
    "split_keywords": [
        "automation",
        " cli",
        " dedup",
        " rust",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d56dca2cdabfe1f15661168c5278ca1296222f10b95d3fc0bc4c1d6991bf4f99",
                "md5": "05875804e9013d16ea224561322e0092",
                "sha256": "9accb66b3ee0a02d45aa1c42f6578513ecbc73b353d2c10bb53cc369a32a85a2"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5-py3-none-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "05875804e9013d16ea224561322e0092",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1271591,
            "upload_time": "2024-03-27T08:48:49",
            "upload_time_iso_8601": "2024-03-27T08:48:49.638323Z",
            "url": "https://files.pythonhosted.org/packages/d5/6d/ca2cdabfe1f15661168c5278ca1296222f10b95d3fc0bc4c1d6991bf4f99/ilytix-0.2.5-py3-none-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "294bbcaa29d7c8960850921d2751fc005ee69309f14399b4cf45cbf21ee8398d",
                "md5": "0aef0af68d4bb1f248125e1440f1f8cb",
                "sha256": "ed39f22de0be92d82c83b9a35b8e09502465f9f75055387bc0e901318d65efaa"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5-py3-none-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0aef0af68d4bb1f248125e1440f1f8cb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1221457,
            "upload_time": "2024-03-27T08:48:51",
            "upload_time_iso_8601": "2024-03-27T08:48:51.580767Z",
            "url": "https://files.pythonhosted.org/packages/29/4b/bcaa29d7c8960850921d2751fc005ee69309f14399b4cf45cbf21ee8398d/ilytix-0.2.5-py3-none-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "12861c409da167d3e5ca159c3ab555bb85acd893aae1048f7e86d52129f8ecb1",
                "md5": "5a01bc9c0a2806735003ad95be288a0f",
                "sha256": "241bb9b6d6f2e47a0d483a6b9d28421a997d118a7cdb5150349dcdbfba0fd44c"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5a01bc9c0a2806735003ad95be288a0f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1415866,
            "upload_time": "2024-03-27T08:48:53",
            "upload_time_iso_8601": "2024-03-27T08:48:53.426085Z",
            "url": "https://files.pythonhosted.org/packages/12/86/1c409da167d3e5ca159c3ab555bb85acd893aae1048f7e86d52129f8ecb1/ilytix-0.2.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7949db200b82573bd11a9c14c2e42583280eb50a78a40065a691eb78292693b5",
                "md5": "1227cb7e7f8c3d339e6fde1eb80e8ef2",
                "sha256": "8c277d53b2ab7ab6bc92617385353da4330a5b5fc75b0603f48a6103b1de45a5"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1227cb7e7f8c3d339e6fde1eb80e8ef2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1277853,
            "upload_time": "2024-03-27T08:48:55",
            "upload_time_iso_8601": "2024-03-27T08:48:55.276381Z",
            "url": "https://files.pythonhosted.org/packages/79/49/db200b82573bd11a9c14c2e42583280eb50a78a40065a691eb78292693b5/ilytix-0.2.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ef1ec1a0f8fd5d939dd6b2a570be8f48e77a88a36a66085343a75b72e26da582",
                "md5": "467a747af2d75c60930b4f7955b979b5",
                "sha256": "f274764462a0b77587d24080bcaf02ed8e5b98a3b916db33bc605109e88d678a"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5-py3-none-win32.whl",
            "has_sig": false,
            "md5_digest": "467a747af2d75c60930b4f7955b979b5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1128983,
            "upload_time": "2024-03-27T08:48:57",
            "upload_time_iso_8601": "2024-03-27T08:48:57.137964Z",
            "url": "https://files.pythonhosted.org/packages/ef/1e/c1a0f8fd5d939dd6b2a570be8f48e77a88a36a66085343a75b72e26da582/ilytix-0.2.5-py3-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "20ba9cc84deb89f8ab7aa8be057559797013df4f2d349814300cdda21f3b6f63",
                "md5": "5adb34694a672dc3ea7bd62c8a118c76",
                "sha256": "3942ea00bb14177991ffc667adfbc1df52e1f8ffb90b5d36c420f951834a72ea"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5adb34694a672dc3ea7bd62c8a118c76",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1170839,
            "upload_time": "2024-03-27T08:48:59",
            "upload_time_iso_8601": "2024-03-27T08:48:59.088442Z",
            "url": "https://files.pythonhosted.org/packages/20/ba/9cc84deb89f8ab7aa8be057559797013df4f2d349814300cdda21f3b6f63/ilytix-0.2.5-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "038e924d62ed1afcb2f0605cca762cfb089161699617934aedd4780ae21ef809",
                "md5": "b727db509a4df6561bb819ef1e667c66",
                "sha256": "f12cb31b5e2ab5bc154c51b21436a14e0d5112c2e2471756307558510194ac9f"
            },
            "downloads": -1,
            "filename": "ilytix-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "b727db509a4df6561bb819ef1e667c66",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 17936,
            "upload_time": "2024-03-27T08:49:01",
            "upload_time_iso_8601": "2024-03-27T08:49:01.103642Z",
            "url": "https://files.pythonhosted.org/packages/03/8e/924d62ed1afcb2f0605cca762cfb089161699617934aedd4780ae21ef809/ilytix-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-27 08:49:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jamjamjon",
    "github_project": "ilytix",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ilytix"
}
        
Elapsed time: 0.20057s