Skip to main content

Generic Django Apps Plugin System

Project description

The GDAPS library allows Django to make real "pluggable" apps.

A standard Django "app" is reusable (if done correctly), but is not pluggable, like being distributed and "plugged" into a Django main application without modifications. GDAPS is filling this gap.

The reason you want to use GDAPS is: you want to create an application that should be extended via plugins. GDAPS consists of a few bells and twistles where Django lacks "automagic":

  • Apps are automatically found using setuptools' entry points
  • Apps can provide their own URLs (they are included and merged into urlpatterns automatically)
  • Apps can define Interfaces, that other GDAPS apps then can implement
  • Apps can provide template hooks that can be filled with plugins' content

Limitations

  • GDAPS interfaces cannot inherit classes that import models (like PermissionRequiredMixin), as the declaration is too early in the Django setup process, and apps aren't loaded at that time.

Contribute

You can support me in various ways.

  • Test the code and write bug reports.
  • Write code
  • Suggest ideas (as bug report)
  • Support this work financially. Feel free to send me a few bucks vie Ethereum at 0xf29f45a3632a1721b9ea3795808337eba06e1814: Ethereum QR-code

Credits

I was majorly influenced by other plugin systems when writing this code, big thanks to them:

License

GDAPS is licensed under the BSD License, see License.

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

gdaps-0.8.1.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

gdaps-0.8.1-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file gdaps-0.8.1.tar.gz.

File metadata

  • Download URL: gdaps-0.8.1.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.4.1 CPython/3.10.9

File hashes

Hashes for gdaps-0.8.1.tar.gz
Algorithm Hash digest
SHA256 ea5c8d6ae0e86dc5aee079839a397759026088a742f9067e9b5efe0483179a45
MD5 da8912c92be7f1d71de5c2474b6d9c1f
BLAKE2b-256 c72a5b280b2cb232c28af933a3f359c2dcf1b27cc29fd3e9fe7c12723d25b472

See more details on using hashes here.

Provenance

File details

Details for the file gdaps-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: gdaps-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.4.1 CPython/3.10.9

File hashes

Hashes for gdaps-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5057ddc08615a6fb9c28eb2582a151c8930ac26b2408e431a411b4f14c787a1
MD5 3f10a31f0188f5dd7fb26c040855e967
BLAKE2b-256 cd6c0944a6889162a0fe3b78999c7754aba260970b5d0851d166f150ac3555be

See more details on using hashes here.

Provenance

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