Skip to main content

A tool to analyze Django projects for unused components

Project description

Django Project Scrubber

A powerful tool to analyze Django projects for unused components, helping you keep your codebase clean and maintainable.

Features

  • Identifies potentially unused URLs (including namespaced URLs)
  • Finds unused methods (coming soon)
  • Detects duplicate method implementations (coming soon)
  • Identifies unused templates (with improved include/extends detection)

Installation

pip install django-project-scrubber

Usage

To analyze a Django project, run:

django_scrubber /path/to/your/django/project

The tool will analyze your project and display a summary of findings, including:

  • Potentially unused URLs (excluding admin and auth URLs)
  • Unused methods (coming in future versions)
  • Duplicate method implementations (coming in future versions)
  • Unused templates (including analysis of includes, extends, and view usage)

Example Output

Django Project Analysis Summary
==============================

Potentially Unused URLs:
- /api/v1/old-endpoint/ (name: api:old_endpoint)
- /legacy/dashboard/ (name: legacy:dashboard)
- /unused-feature/ (name: unused_feature)

Unused Templates:
- templates/old_feature.html
- templates/legacy/header.html

Note: This is a static analysis and may have false positives.
Please verify these results before making any changes.

How It Works

The Django Project Scrubber analyzes your Django project by:

  1. Scanning all URL patterns in your project
  2. Checking URL usage in templates and code (including namespaced URLs)
  3. Analyzing template usage (includes, extends, and view rendering)
  4. Filtering out common false positives (admin, auth, etc.)
  5. Providing a clear summary of potentially unused components

Requirements

  • Python 3.8 or higher
  • Django 3.0 or higher

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Author

HappyMinsker - GitHub

Project Status

This is version 0.1.2 with improved URL and template analysis functionality. More features are planned for future releases.

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

django_project_scrubber-0.1.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

django_project_scrubber-0.1.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file django_project_scrubber-0.1.2.tar.gz.

File metadata

  • Download URL: django_project_scrubber-0.1.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for django_project_scrubber-0.1.2.tar.gz
Algorithm Hash digest
SHA256 027ad33ecb6f29d0ac20959e08b6ebc200a17a98aec1b898e8c65f4f1f0bb7f2
MD5 6738880c70177f4cf3c5d2f0aba03040
BLAKE2b-256 8b68197e88bf05e4169d2158114317be4aacec4fc10d692f2c1671594d53c372

See more details on using hashes here.

File details

Details for the file django_project_scrubber-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_project_scrubber-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6d42ed98a1de4321a9d6b9dc39c8ac3f08ca4016f9ba024704032b20091d6a29
MD5 d35787734bd03ad9d197fc04c01ad420
BLAKE2b-256 766e3f332f8029fd1c69598f2dcd9ee8885f70875d22b8e76eaf75a18cec6fcc

See more details on using hashes here.

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