Skip to main content

django app web interface to Robin Hanson's content

Project description

django-overcomingbias-pages is a standalone Django app which provides a web interface to Robin Hanson’s content.

Features

The main features are:

  • Scrape content from across the web (overcomingbias, YouTube, Spotify and more) via the admin site.

  • Search content with meilisearch.

  • Create sequences (series) of content and export them to PDF, epub, plaintext, or any other format supported by pandoc.

  • Persistent user accounts.

Configuration

To configure django-overcomingbias-pages, add the following to your settings:

# settings.py

# add required apps
INSTALLED_APPS = [
  # required for admin site / user accounts
  "django.contrib.admin",
  "django.contrib.auth",
  "django.contrib.contenttypes",
  "django.contrib.sessions",
  "django.contrib.messages",
  # for collecting static files
  "django.contrib.staticfiles",
  # django-overcomingbias-api
  "ordered_model",
  "obapi",
  # async tasks
  "huey.contrib.djhuey",
  # django-overcomingbias-pages
  "obpages",
  # custom form rendering
  "django.forms",
]

# Use the (custom) obpages user model
AUTH_USER_MODEL = "obpages.User"

Search is provided using meilisearch. To configure search, first set up a MeiliSearch instance, and then set up the following settings:

# settings.py

MEILISEARCH_CLIENT = {
    "url": "http://127.0.0.1:7700",
}
MEILISEARCH_INDEX = "content"

MEILISEARCH_CLIENT specifies the location of the MeiliSearch instance, while MEILISEARCH_INDEX controls which MeiliSearch index is used for search. Indexes can be created, updated and deleted via the admin site.

django-overcomingbias-pages uses Huey to run tasks asynchronously. To enable this feature, follow the Django/Huey instructions. A minimal configuration is shown below:

# settings.py

connection_pool = ConnectionPool(host="127.0.0.1", port=6379, db=0, max_connections=100)

# See docs for full list of settings
HUEY = {
    "huey_class": "huey.PriorityRedisHuey",
    "name": PROJECT_NAME,
    "connection": {
        "connection_pool": connection_pool,
        # see redis-py for more options
        # https://redis-py.readthedocs.io/en/latest/connections.html
        "read_timeout": 0,
    },
    "consumer": {
        "workers": 4,
        "worker_type": "thread",
    },
}

(Note that this requires (1) a Redis server running on localhost:6379 and (2) installing via pip install django-overcomingbias-pages[redis].)

Optionally, you can also configure Huey as your email backend.

Bugs/Requests

Please use the GitHub issue tracker to submit bugs or request features.

License

Copyright (c) 2022 Christopher McDonald

Distributed under the terms of the MIT license.

All overcomingbias posts are copyright the original authors.

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_overcomingbias_pages-0.7.1.tar.gz (71.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file django_overcomingbias_pages-0.7.1.tar.gz.

File metadata

File hashes

Hashes for django_overcomingbias_pages-0.7.1.tar.gz
Algorithm Hash digest
SHA256 c15fa9c1e5cde80dae7ca430b564e26b7938154488898c7a3b7016e187a0085a
MD5 8cee8bea0c172dbc06fec718d0e777ff
BLAKE2b-256 712bd4164b398c0ce348de7fcf60e976b356135473d10d895c91917864780945

See more details on using hashes here.

File details

Details for the file django_overcomingbias_pages-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_overcomingbias_pages-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8748b6f715cd8fb343ee1b70f09dd46dce2dee6f8af5cba4fd59b4626c3b9bc0
MD5 fc569f82a36b16bef19b40b5a2ebd27a
BLAKE2b-256 bd1db359cd3f645d8d1a57b1a431852f836161d8cae820c0b5d12400b5c4489e

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