Dswell
A daemon-based file deletion utility that allows you to schedule files or directories for deletion after a specified time period.
Why did I create this?
- I often end up writing temporary scripts and then forgetting to delete them, so they clutter my workspace.
What does it do?
- It automatically removes files after a specified age—you just pass the duration in hours, minutes, and seconds (for example, 1h30m3s), and it deletes the file after the specified time period.
dswell
Usage: dswell [OPTIONS] COMMAND [ARGS]...
dswell - Delayed file deletion utility
Options:
--help Show this message and exit.
Commands:
create Create a file or directory and schedule it for deletion.
list List all pending file/directory deletions.
Installation
# Install from source
git clone https://github.com/Agent-Hellboy/dswell.git
cd dswell
pip install -e .
# Or install directly from PyPI (current source is not updated)
pip install dswell
Usage
Create a file or directory that will be automatically deleted after a specified time:
# Create a file that will be deleted after 1 hour
dswell create --file test.txt --time 1h
# Create a directory that will be deleted after 30 minutes
dswell create --dir test_dir --time 30m
Time format supports:
- Hours (h)
- Minutes (m)
- Seconds (s)
Development
Setup Development Environment
# Clone the repository
git clone https://github.com/Agent-Hellboy/dswell.git
cd dswell
# Install development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks
pre-commit install
Running Tests
# Run all tests
python -m pytest tests/
# Run tests with coverage
python -m pytest tests/ --cov=src/dswell
Code Quality
The project uses several tools to maintain code quality:
- black: Code formatting
- ruff: Linting
- isort: Import sorting
- pytest: Testing
Run all checks:
tox
Or run individual checks:
tox -e black # Run black
tox -e ruff # Run ruff
tox -e isort # Run isort
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Author
Prince Roshan - princekrroshan01@gmail.com
Metadata
Release files for dswell 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dswell-0.1.0.tar.gz | 10.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dswell-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.3 kB
Release files / dswell-0.1.0.tar.gz
| Download URL | dswell-0.1.0.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2393317ccc08f29f02dbeb6b45d7e38a5a422e49a8e8b5fbfbbb2e183d54d08
|
|
BLAKE2b-256 checksum How to use checksums |
44f145fcee0d138489857ba2bba631aa61605c754d4fe2621021eb24937f5e79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.23
|
Release files / dswell-0.1.0-py3-none-any.whl
| Download URL | dswell-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a89b5e0deed850a3034cbfeeac888490b64780bef85889d88244655edeacd4e
|
|
BLAKE2b-256 checksum How to use checksums |
edd34853492679a2a290812d76c6625b23a229f8f0c9275ab7f2ab3152a2177c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.23
|