A comment system backend on top of PostgreSQL
Project description
pg-discuss is a comment system backend written in Python on top of a PostgreSQL database. It is designed to support JavaScript comment widgets embedded in any page, such as static sites generated by Pelican, Sphinx, or Nikola. pg-discuss can also be used with a content management system such as WordPress, or within your own dynamic web app that needs a robust comment system.
Internals (for Extension Authors and Contributors)
Why pg-discuss?
Respect for Users
pg-discuss has a feature set comparable to popular commercial comment management systems. However, pg-discuss does not sell your users’ browsing habits and comments to marketers. You have full control over how your users’ information is used.
Permissively-Licensed Open Source
pg-discuss is a MIT-licensed open source project that allows you to operate, extend, and redistribute the application as you see fit. Contributions are welcome.
Supports Multiple JavaScript Widgets
The pg-discuss API can be adapted to work with existing embeddable comment widgets. Of course, new widgets can also be written using the default REST API.
Extensible
The application is highly extensible, with most default features implemented as extensions which are bundled. Extensions can change the comment workflow, comment metadata collection, rendering engine, authentication, and HTTP API format and endpoints. Extensions are implemented using a simple API that exposes logical plugpoints and events.
Small and Readable Codebase
The core package of pg-discuss is less than 1000 lines. Code is structured for readability, conforms to PEP8, and has ample comments. It is written to be very approachable for both auditors and extension developers. Both prose and API documentation of internals are published.
Robust and Performant Database
PostgreSQL offers strong data guarantees, ease of management, and high performance. pg-discuss is written to take advantage of several PostgreSQL-specific features that enable flexible extension and low latency querying.
Available and Scalable
The pg-discuss application can be deployed across many hosts for redundancy or load balancing since it does not store any application state itself - all state is held in the PostgreSQL database or in the client browser session. pg-discuss also plays well with HTTP caches such as nginx, and a simple extension can inform the cache when to purge stale objects.
pg-discuss alternatives
There are several good alternatives to pg-discuss that are also open source, but have somewhat different design goals.
Isso
Perhaps you don’t want to run a database?
Isso is an excellent SQLite-backed comment server - there is no separate database instance to run, since the data is stored in a file. Also written in Python. MIT licensed.
Discourse
Need a comment widget that also has file uploads, polling, private messaging, analytics, all out of the box?
Discourse is a discussion platform with a long list of features, with a Ruby on Rails backend on top of PostgreSQL. GNU GPL v2 licensed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pg-discuss-1.0b1-5.tar.gz
.
File metadata
- Download URL: pg-discuss-1.0b1-5.tar.gz
- Upload date:
- Size: 101.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d092ff57dbf8c58a4737c0221dd6b8a560546c6de18b9afc236b42e1b5023433 |
|
MD5 | 42beb22ce995604203bddfd0f45081f9 |
|
BLAKE2b-256 | 72e88145373d0aea6266d4944781c70e299fba6645354a3883ab744ac0d91b99 |