Skip to main content

A Django app for monitoring outdated packages and dependencies.

Project description

Outdated Package Tracker

:warning: Use at your own risk.. Author is not responsible for any damage resulting from using this application.

Show and update outdated versions of python packages in your project.

The app serves to:

  • list in django admin all outdated python packages
  • show dependent apps using each package
  • locally update them one-by-one using django backend
  • optionally, exposes via DRF an endpoint to PackHub application to allow remotely querying the list of outdated packages

Installation

Install the package, as well as the required dependency

pip install django-packtrack
pip install django-oauth-toolkit

Installed apps and dependencies

    # add to settings, INSTALLED_APPS:
    "packtrack",
    # dependencies for packtrack: 
    "oauth2_provider",
    "rest_framework",  # packtrack, packhub
    "rest_framework_simplejwt",  # packtrack

Configuration

In the project settings, add REST_FRAMEWORK entry if not present, and optionally PACKTRACK_LATEST_VERSION_CACHE_TIME to modify the default 1 hour

PACKTRACK_LATEST_VERSION_CACHE_TIME = timedelta(
    hours=1
)  # optional entry, default is 1 hour

REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": (
        "oauth2_provider.contrib.rest_framework.OAuth2Authentication",  # for clientid/secret authentication
    ),
    "DEFAULT_PERMISSION_CLASSES": ("rest_framework.permissions.IsAuthenticated",),
}

CLI Usage

These commands are designed to be used from within the application interface, or via DRF, but if you really want to call them from CLI (rather than directly calling pip), suit yourself :-)

The following management commands are available:

update_package {package_name}

Executes pip command updating the package to the most current version, as stored in PackageCache

Django Admin /UI usage

In Django Admin, under PackTrack app, in the Outdated packages:

  • at the top right, hit "Updated Outdated Packages" button to refresh the list of outdated packages in your project
  • in the list below, you can update each package by individually by clicking the "Update" button.
  • to hide the updated packages, use the filter with option "Installed != Latest", to show only old packages.

In the "Update Logs" you can see what was updated and when, and you can examine the console outputs from each update.

API usage

  1. Configure Application in Django Oauth Toolkit, to get your Client ID, and Client Secret, e.g.:
  • client type: Confidential
  • Authorization grant type: Client credentials
  • Hash client secret
  1. You can then fetch the outdated packages from a site where PackTrack is running using /api/outdated-packages/ endpoint.

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_packtrack-24.12.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

django_packtrack-24.12.1-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file django_packtrack-24.12.1.tar.gz.

File metadata

  • Download URL: django_packtrack-24.12.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.8

File hashes

Hashes for django_packtrack-24.12.1.tar.gz
Algorithm Hash digest
SHA256 8a6337ecb3cb84c490814046766e72579a1ac9dd198489b0053aa150bbf0757e
MD5 5494747f61306ed74c0865463606baef
BLAKE2b-256 f317b8fe8d08ce9c720fb6094fbeea86ca1e6a6b69ca7da17a88bdd50429a080

See more details on using hashes here.

File details

Details for the file django_packtrack-24.12.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_packtrack-24.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 63896ef03a35c81536ac295f7dff973b2e4e9b5c94c2e47ecc716a7b4a47373a
MD5 5b358ff70f8916ce37dccf5853789e9c
BLAKE2b-256 3a400e3c57dc9a06ba1ee953ea77fb4cb31c739b6115e05085ee35862e416b72

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