Skip to main content

pl8-base

pl8-base is the data layer for PL8, a lightweight issue tracker backed by DynamoDB. It's a Python library, not a service: it defines PL8's entities (Issue, Space, IssueBlocker), its events, and the BasePL8 manager that reads and writes them against a DynamoDB table. It's the source of truth for PL8's data model, consumed by the Lambda functions that actually run PL8 in AWS.

Getting started

Install

pip install pl8-base

or with uv:

uv add pl8-base

Basic usage

BasePL8 wraps a boto3 DynamoDB client and a structured logger. Error logging passes arbitrary keyword args through to be merged into the log record (e.g. self.logger.error(msg, item=item)), which a stdlib logging.Logger rejects — pass an aws-lambda-powertools Logger instead (pip install aws-lambda-powertools — it's not a dependency of this package, since only your logger instance needs it, not pl8-base itself). It also expects a table already provisioned with PK/SK and a GSI1 global secondary index (GSI1PK/GSI1SK) — see Deploying below.

import boto3
from aws_lambda_powertools import Logger

from pl8_base.manager import BasePL8
from pl8_base.types import IssueStatus

pl8 = BasePL8(
    dynamodb_client=boto3.client("dynamodb"),
    table_name="pl8",
    logger=Logger(),
)

space = pl8.create_space(
    space_id="eng",
    name="Engineering",
    description="Issues for the engineering team",
)

issue = pl8.create_issue(
    space_id="eng",
    title="Fix login bug",
    description="Users can't log in on Safari",
    status=IssueStatus.TODO,
)

pl8.transition_issue(space_id="eng", issue_id=issue.issue_id,
                     status=IssueStatus.IN_PROGRESS)

Deploying

pl8-base only talks to a DynamoDB table you already have; it doesn't provision or run anything in AWS itself. Work is underway to create other repos to scaffold this.

Release files for pl8-base 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pl8-base 0.0.3
File Size Uploaded
pl8_base-0.0.3.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pl8-base 0.0.3
File Interpreter ABI Platform
pl8_base-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 53.6 kB

Release files / pl8_base-0.0.3.tar.gz

Download URL pl8_base-0.0.3.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d305668689095a40d8da740402c7242619ad914dc282c40772b41283cd848065
BLAKE2b-256 checksum
How to use checksums
9bfb41a4697dace9c76eaf5a31881b091dde4eb298806056fa6fb1ae194595d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / pl8_base-0.0.3-py3-none-any.whl

Download URL pl8_base-0.0.3-py3-none-any.whl
Size 30.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7912d551f01c601b6538440c3390309861f11c2195a5c6f342bfb0ca28786b3f
BLAKE2b-256 checksum
How to use checksums
cddfb48471df42bdbc7eedf1813aa72147d38586d4d8c37524402881bf75bf5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

0.0.5

2 release files

0.0.4

2 release files

This release

0.0.3 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page