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.1

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.1
File Size Uploaded
pl8_base-0.0.1.tar.gz 22.9 kB Details

Built distribution (wheel)

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

Total release size: 52.9 kB

Release files / pl8_base-0.0.1.tar.gz

Download URL pl8_base-0.0.1.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
34b7aa70fc29ca816ed25800f696bf210f62949655c8eb88b1c6c575d1fb5379
BLAKE2b-256 checksum
How to use checksums
baba10f69ac386b413941b4ee70f687ecc8e233b4fcc079f2e19b81a51f6efb7
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 20, 2026.

Transparency log

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

Download URL pl8_base-0.0.1-py3-none-any.whl
Size 30.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb2e330e5246fc2955a0032d2b5a3fb43b8cbf9a6376de00a061c1bf54ab0170
BLAKE2b-256 checksum
How to use checksums
b95b1f372e1cbe5dad1a21f108f28f7202c982f97d324e3e23d890ddfa1f9c6a
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 20, 2026.

Transparency log

Release history Release notifications | RSS feed

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

This release

0.0.1 This release

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