Skip to main content

A system to sort your files

Project description

wisort :magic_wand:

Your file-sorting wizard :mage: that manages your file magically :crystal_ball:

Requirements

  • python >=3.14
  • uv (heavily recommended)
  • a UNIX OS

Installation

wisort is published on PyPi

# using uv (recommended)
uv tool install wisort

# or with pip
pip install wisort

if you want to just try out and run the project you can use uvx wisort. Make sure to copy the default config.json to $XDG_CONFIG_HOME(fallback to $HOME/.config).

Concept and features

wisort is supposed to be a file sorting cli. Below can be seen my ideas for the project even if they might not be fully implemented yet. To see the progress go read the ROADMAP It has different characters:

  • apprentice
  • magician (coming soon)
  • witch
  • dragon (coming soon)

These are different magical users so they clean your file system differently. The apprentice is unsure about his work so he leave the most things to you to manually handle (confirmations when deleting etc.). The magician works way more autonomously but is very calm and doesn't destroy anything. This means a lot of capabilties with a good amount of safety. The witch is a brazen sorcerer not afraid of destruction. She cleans your filesystem very very thoroughly.

(As of now magician and witch are not implemented)

The :sparkles: magic :sparkles:

  • smart unzip: archives can be automatically unpacked before being moved. they get moved into a new folder or directly to the destination depending on the content
  • file duplicate removal strategies
    • replace the (older) duplicate by symlink
    • matching exact contents
    • diffing contents
    • intentional duplicate recognition -> diffing file names
  • auto-remove empty files
  • automatic move conflict resolution when the programm wants to move a file somewhere where a file with the same name already exist it can handle that automatically

Config

Configuration is done through config.json file in $XDG_CONFIG_HOME/wisort/

Example:

{
	"runes": {
		"images": ["png", "jpeg", "jpg"]
	},
	"libraries": {
		"pics": {
			"destination": "~/Pictures/",
			"filetypes": "@images",
			"flatten": true
		}
	},
	"orders": {
		"recurse": true,
		"honor_gitignore": true,
		"ignore_dotfiles": true
	},
	"args": {
		"quiet": true,
		"force": false
	}
}

Usage

For the exact CLI usage do wisort --help

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

wisort-0.2.3.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

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

wisort-0.2.3-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file wisort-0.2.3.tar.gz.

File metadata

  • Download URL: wisort-0.2.3.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wisort-0.2.3.tar.gz
Algorithm Hash digest
SHA256 529321ff4f22562829cd809e93e1af55f669489a1c3f8858fb5376f89a2c1050
MD5 51a41c1191f773f3b38438da24cfb7af
BLAKE2b-256 b6768a234a9ee15aa1997e6bf3e254bf0e22d623fb3bd7f0d709d44132ccf385

See more details on using hashes here.

Provenance

The following attestation bundles were made for wisort-0.2.3.tar.gz:

Publisher: release.yml on vividsystem/wisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wisort-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: wisort-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wisort-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b1e86fcee7da020bb4aa49f6d3012900ee65730f8cc6c8abfcb39ec63909dcfc
MD5 552802c1f2f9c3f0e1181f1e057b2e9b
BLAKE2b-256 86904ceda7a09f9e0add964711577f5c756be8658a310bcef592728a021e19f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for wisort-0.2.3-py3-none-any.whl:

Publisher: release.yml on vividsystem/wisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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