Skip to main content

Linked Data Platform interface for Django Rest Framework

Project description

Setup a DjangoLDP server

Check the official documentation.

Settings

  • OIDC_ACCESS_CONTROL_ALLOW_HEADERS: overrides the access control headers allowed in the Access-Control-Allow-Headers CORS header of responses. Defaults to authorization, Content-Type, if-match, accept, DPoP
  • ANONYMOUS_USER_NAME a setting inherited from dependency Django-Guardian
  • DJANGOLDP_PERMISSIONS: overrides the list of all permissions on all resources
  • SERIALIZER_CACHE: toggles the use of a built-in cache in the serialization of containers/resources
  • MAX_RECORDS_SERIALIZER_CACHE: sets the maximum number of serializer cache records, at which point the cache will be cleared (reset). Defaults to 10,000
  • SEND_BACKLINKS: enables the searching and sending of Activities to distant resources linked by users to this server
  • MAX_ACTIVITY_RESCHEDULES, DEFAULT_BACKOFF_FACTOR, DEFAULT_ACTIVITY_DELAY, DEFAULT_REQUEST_TIMEOUT tweaks the behaviour of the ActivityQueueService
  • STORE_ACTIVITIES: sets whether to store activities sent and backlinks received, or to treat them as transient (value should be "VERBOSE", "ERROR" or None). Defaults to "ERROR"
  • MAX_RECORDS_ACTIVITY_CACHE: sets the maximum number of serializer cache records, at which point the cache will be cleared (reset). If set to 0 disables the cache. Defaults to 10,000
  • ENABLE_SWAGGER_DOCUMENTATION: enables the automatic OpenAPI-based API schema and documentation generation, made available at http://yourserver/docs/ is the flag is set to True. Default to False
  • DISABLE_LOCAL_OBJECT_FILTER: disabled the LocalObjectBackendFilter which is processing-time costly and only need activation in federated architecture, so we preferred to add a way to disable it as a workaround for in-progress performances improvements. Default to False

Synopsis

This module is an add-on for Django REST Framework that serves a django model respecting the Linked Data Platform convention.

It aims at enabling people with little development skills to serve their own data, to be used with a LDP application.

Check technical documentation

Contribute to DjangoLDP

Testing

Packaged with DjangoLDP is a tests module, containing unit tests

You can extend these tests and add your own test cases by following the examples in the code. You can then run your tests with: python -m unittest djangoldp.tests.runner

Check your datas integrity

Because of the way the DjangoLDP's federation work, you can reach some integrity issue within your datas.

You can check them with:

./manage.py check_integrity

You can ignore some servers:

./manage.py check_integrity --ignore "https://server/,https://another-server/"

Add you own commands to the check_integrity from your own package

Create a check_integrity.py file within your app folder containing:

def add_arguments(parser):
  parser.add_argument(
    "--my-own-argument",
    default=False,
    nargs="?",
    const=True,
    help="Some help text",
  )

def check_integrity(options):
  if(options["my_own_argument"]):
    print("You ran a check_integrity with --my-own-argument!")
  else:
    print("Run me with `./manage.py check_integrity --my-own-argument`")

You can see a sample on the check_integrity.py file of DjangoLDP.

License

Licence MIT

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

djangoldp-4.0.4.tar.gz (102.9 kB view details)

Uploaded Source

Built Distribution

djangoldp-4.0.4-py2.py3-none-any.whl (143.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file djangoldp-4.0.4.tar.gz.

File metadata

  • Download URL: djangoldp-4.0.4.tar.gz
  • Upload date:
  • Size: 102.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.12.1.2 readme-renderer/44.0 requests/2.32.4 requests-toolbelt/1.0.0 urllib3/2.5.0 tqdm/4.67.1 importlib-metadata/8.7.0 keyring/25.6.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.13

File hashes

Hashes for djangoldp-4.0.4.tar.gz
Algorithm Hash digest
SHA256 f2ee22d7934081c703d844d4af543482a17617f66237bc7855e9c61ddd43b024
MD5 2cb405ef8a9c5f385448ff41458a814b
BLAKE2b-256 19fc5c4d22c070f74265700eb6ab0aec9a8a1319c6ae94979fe43168139c4b3e

See more details on using hashes here.

File details

Details for the file djangoldp-4.0.4-py2.py3-none-any.whl.

File metadata

  • Download URL: djangoldp-4.0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 143.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.12.1.2 readme-renderer/44.0 requests/2.32.4 requests-toolbelt/1.0.0 urllib3/2.5.0 tqdm/4.67.1 importlib-metadata/8.7.0 keyring/25.6.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.13

File hashes

Hashes for djangoldp-4.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 03c6866b1748b1c91ed9c19311d8056165429b2ef753ba45580ff7f2f0954c7c
MD5 eff04eaebd86e0363f338cb193af0f49
BLAKE2b-256 3a4754992bc9fce771ef5b802370522a40e0dbb631097ebb6ac3fcf2526b6273

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page