Skip to main content

Django Podcast Analyzer

A simple Django app that allows you to follow the feeds of various podcasts and glean interesting information from them.

PyPI PyPI - Python Version PyPI - Versions from Framework Classifiers Black code style Pre-commit License uv Ruff Security: bandit Checked with pyright Semantic Versions Test results Coverage Status Documentation

Warning

This is early stage! Things that still need to be done:

  • Improved third party analytics detection.
  • Improved podcast host company detection.
  • Improved docs.

Installation

Via pip:

python -m pip install django-podcast-analyzer

Via uv:

uv pip install django-podcast-analyzer

Then add it and our dependencies to your list of installed apps.

# settings.py

# Your setup may vary.
INSTALLED_APPS = [
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.sites",
    "django.contrib.messages",  # Optional
    "django.contrib.staticfiles",
    "django.contrib.admin",
    "django.forms",
    ...,
    # Here are our explict dependencies
    "tagulous",
    "django_q",
    "podcast_analyzer",
]

We use tagulous for tagging podcasts and django-q2 to handle the scheduled tasks related to fetching feeds and processing them. See the documentation for both of those projects to identify any additional configuration needed.

Add it to your urls.py:

# Your root urls.py

from django.urls import include, path

urlpatterns = [
    ...,
    path("podcasts/", include("podcast_analyzer.urls", namespace="podcasts")),
    ...,
]

Then run your migrations.

python manage.py migrate

You'll also want to seed the database with the known iTunes categories for podcasts. You can do this via the provided management command. It will only do so if the respective tables are empty so you won't get duplicates.

python manage.py seed_database_itunes

In order to run the application, you will also need to spawn a django-q cluster using python manage.py qcluster. You can also use a runner like honcho or a Supervisor app.

Other Recommendations

For storage of podcast art and other media, it's recommended you consider using something like django-storages.

Development

Contributions are welcome! See our contributing guide for details.

Metadata

Release files for django-podcast-analyzer 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-podcast-analyzer 0.6.0
File Size Uploaded Provenance Actions
django_podcast_analyzer-0.6.0.tar.gz 67.5 kB Without provenance Details for django_podcast_analyzer-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-podcast-analyzer 0.6.0
File Interpreter ABI Platform Actions
django_podcast_analyzer-0.6.0-py3-none-any.whl Python 3 none any Details for django_podcast_analyzer-0.6.0-py3-none-any.whl

Total release size: 126.5 kB

Release files / django_podcast_analyzer-0.6.0.tar.gz

Download URL django_podcast_analyzer-0.6.0.tar.gz
Size 67.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c3a658d659266dcc90203c108a9024a7af0d547c45a7300957b70e0f6759c990
BLAKE2b-256 checksum
How to use checksums
24054b3972a7749e084a426a8abbd377f318f18c1ae2760cbd0d0a1ca4d8a41e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.19

Release files / django_podcast_analyzer-0.6.0-py3-none-any.whl

Download URL django_podcast_analyzer-0.6.0-py3-none-any.whl
Size 59.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
080046d7ab7c04f7c468147976741c02b80a98109b3fba2f68308ee211cab44a
BLAKE2b-256 checksum
How to use checksums
bdc79915c6bd344e139ae53699e295babf8fafbf5ceb4576182b37889015aaed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.19

Security for django-podcast-analyzer 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page