Skip to main content

DIT Activity Stream

Project description

DIT Activity Stream

Installation

Read the Django Hawk installation documentation.

Add the package to your urls.py file.

from django.urls import include, path

urlpatterns = [
    ...
    path("dit-activity-stream/", include("dit_activity_stream.urls")),
    ...
]

How to implement?

Write your custom client, here is an example client for returning all users:

from typing import Any, Dict

from django.contrib.auth import get_user_model
from django.db.models import QuerySet
from django.http import HttpRequest

from dit_activity_stream.client import ActivityStreamClient

User = get_user_model()


class ActivityStreamUserClient(ActivityStreamClient):
    object_uuid_field: str = "user_id"
    object_last_modified_field: str = "last_modified"

    def get_queryset(self, request: HttpRequest) -> QuerySet:
        return User.objects.all()

    def render_object(self, object: User) -> Dict:
        return {
            "id": object.id,
            "username": object.username,
            "first_name": object.first_name,
            "last_name": object.last_name,
        }

Where the following attributes:

  • object_uuid_field is a field on the Object that is a Unique Identifier for the object.
    • This will be output in the URL GET parameter so it should be a UUID.
  • object_last_modified_field us a field on the Object that holds a datetime value of when the object was last modified.
    • This will be output in the URL GET parameter.

Set DIT_ACTIVITY_STREAM_CLIENT_CLASS in your django settings file:

DIT_ACTIVITY_STREAM_CLIENT_CLASS = "package.client.ActivityStreamUserClient"

Pushing to PyPI

Running make build will build the package into the dist/ directory. Running make push-pypi-test will push the built package to Test PyPI. Running make push-pypi will push the built package to PyPI.

Setting up poetry for pushing to PyPI

First you will need to add the test pypy repository to your poetry config:

poetry config repositories.test-pypi https://test.pypi.org/legacy/

Then go to https://test.pypi.org/manage/account/token/ and generate a token.

Then add it to your poetry config:

poetry config pypi-token.test-pypi XXXXXXXX

Then you also need to go to https://pypi.org/manage/account/token/ to generate a token for the real PyPI.

Then add it to your poetry config:

poetry config pypi-token.pypi XXXXXXXX

Now the make commands should work as expected.

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

dit_activity_stream-0.2.5.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dit_activity_stream-0.2.5-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file dit_activity_stream-0.2.5.tar.gz.

File metadata

  • Download URL: dit_activity_stream-0.2.5.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/24.5.0

File hashes

Hashes for dit_activity_stream-0.2.5.tar.gz
Algorithm Hash digest
SHA256 0fc6d77e9b2eed7231ad9749d808e606566b2e5210b45ff95e364d02ed1fb97a
MD5 3129324e990b5e2fd90789633588448a
BLAKE2b-256 a7702087517218622aa7b90ee7cc00b07d1d4e54e3a2584375d4a282c6b2e8c1

See more details on using hashes here.

File details

Details for the file dit_activity_stream-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for dit_activity_stream-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9d3c00c155ee3967480fd27040930d2d88e70af42725881f7005e80cd61b5c13
MD5 3e07b51ada7fae5c7b4dd7254df97805
BLAKE2b-256 b153b22928f6fff4b674bdeff82d3f2478d5a716254b1a88152f7c6b8f0b8d6a

See more details on using hashes here.

Supported by

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