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.2.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.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wisort-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 423aa6536f725472d59af7c7b13a5e44b4bb1760863168816951598713cac88d
MD5 24b7f8fe748b0090df19e1d1ff36f1f0
BLAKE2b-256 6c9596d59226669b8fd109d9779aeb8481e3f1c973fbebd31d435e82aa553793

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wisort-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 132f31ac8a09afbbd9eb9efdb72834511649f3739683b4fabfa2363774ed5fd4
MD5 fa4119682c79325b50fd37ab99d6b48f
BLAKE2b-256 e041774c42047d5ee45583b2ab8614b7de6b3f48177492bf62a73de56060da85

See more details on using hashes here.

Provenance

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