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)

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

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.0.tar.gz (21.8 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.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wisort-0.2.0.tar.gz
  • Upload date:
  • Size: 21.8 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.0.tar.gz
Algorithm Hash digest
SHA256 044f227f8730493779ff9f147eede0f24d6cf54f747ee6d17814ea1e9e5d3c78
MD5 4286e4e9fe91e514fde35ba146b198fc
BLAKE2b-256 633dcb91ca4e39e346aa9c34a40c96e92b4006048c3bfd8f1cdaa8cb63546574

See more details on using hashes here.

Provenance

The following attestation bundles were made for wisort-0.2.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: wisort-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 327aefe800da52aaf275d86478eba47e79fa48b2b25401d1c0a9c0df63935da1
MD5 b999eadb1491dcc8af97df3dc99fb0c9
BLAKE2b-256 e2249943da9b50bb13c6ea372cb3616b2176e63664eb27577e9b2542263f77fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for wisort-0.2.0-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