Skip to main content

Configurable desktop cleaner.

Project description

CI : Docs CI : Lint CI : Tests PyPI : deskmaid Python : versions Discord License : MIT

Description

Deskmaid is a configurable desktop cleaner. It scans your desktop and moves selected files to a folder, organizing them by file extension. Everything can be configured in ~/.config/deskmaid/config.yml.

Installation

You can install deskmaid using pipx from PyPI

pip install pipx
pipx ensurepath
pipx install deskmaid
deskmaid shortcut

This will install two shortcuts on your desktop:

Two shortcuts, one with Thoru vacuuming and the other with Kanna opening her mouth wide, both people are from the anime Miss Kobayashi's Dragon Maid

How to cancel a run ?

Open shell then run:

deskmaid undo

Development

Contributing

Contributions are very welcome. Tests can be run with poe check, please ensure the coverage at least stays the same before you submit a pull request.

Setup

You need to install Poetry and Git for work with this project.

git clone https://github.com/Dashstrom/deskmaid
cd deskmaid
poetry install --all-extras
poetry run poe setup
poetry shell

Poe

Poe is available for help you to run tasks.

test           Run test suite.
lint           Run linters: ruff checker and ruff formatter and mypy.
format         Run linters in fix mode.
check          Run all checks: lint, test and docs.
check-tag      Check if the current tag match the version.
cov            Run coverage for generate report and html.
locale         Compile locale and refresh .po and .mo files.
open-cov       Open html coverage report in webbrowser.
docs           Build documentation.
open-docs      Open documentation in webbrowser.
setup          Setup pre-commit.
pre-commit     Run pre-commit.
commit         Test, commit and push.
clean          Clean cache files.

Skip commit verification

If the linting is not successful, you can’t commit. For forcing the commit you can use the next command :

git commit --no-verify -m 'MESSAGE'

Commit with commitizen

To respect commit conventions, this repository uses Commitizen.

poe commit

How to add dependency

poetry add 'PACKAGE'

Ignore illegitimate warnings

To ignore illegitimate warnings you can add :

  • # noqa: ERROR_CODE on the same line for ruff.

  • # type: ignore[ERROR_CODE] on the same line for mypy.

  • # pragma: no cover on the same line to ignore line for coverage.

  • # doctest: +SKIP on the same line for doctest.

Uninstall

pipx uninstall deskmaid

License

This work is licensed under MIT.

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

deskmaid-2.0.2.tar.gz (263.9 kB view details)

Uploaded Source

Built Distribution

deskmaid-2.0.2-cp38-cp38-manylinux_2_31_x86_64.whl (270.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.31+ x86-64

File details

Details for the file deskmaid-2.0.2.tar.gz.

File metadata

  • Download URL: deskmaid-2.0.2.tar.gz
  • Upload date:
  • Size: 263.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for deskmaid-2.0.2.tar.gz
Algorithm Hash digest
SHA256 16998d3ff479ab3d95f9f3adc8de0218928b3740cfcb821a19339bbea5f1b61a
MD5 2d46c07d62f4a68a282c62f95f9ce9ad
BLAKE2b-256 2001fbb9e53c23830d8e6dd93516534faa36f3327b6074c58eb441e653f01ac2

See more details on using hashes here.

File details

Details for the file deskmaid-2.0.2-cp38-cp38-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for deskmaid-2.0.2-cp38-cp38-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 add4b8a5d14429c6cc40cb4e942762383945b5c5966422d0953544494842ec71
MD5 3f83bd4e7e6040ed77c1ad22a89088bb
BLAKE2b-256 bc2af796a1c554fe8e59320478cfbd6c85f4f2cbf7d4c5de87f750458ad84611

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page