Skip to main content

goldfishmem

A production grade memory system for agents.

goldfishmem is published on PyPI under the same name. The Python import name matches the distribution:

from goldfishmem import hello_world

Consumer-facing documentation lives in docs/. This README is the developer guide for working on the project.

Tech stack

Concern Tool
Language Python 3.12+
Package manager uv
Build backend hatchling
Linter / formatter ruff
Type checker pyright (strict)
Tests pytest + pytest-cov
Pre-commit pre-commit
Commit linting commitizen (Conventional Commits)
Docs Markdown + mermaid diagrams under docs/
CI/CD GitHub Actions
PyPI publishing OIDC Trusted Publishing (no API tokens)

Repository layout

goldfishmem/          # source package (all code lives here, import as `goldfishmem`)
tests/
  unit/               # fast unit tests
  integration/        # integration tests (also gated on the `integration` marker)
docs/                 # consumer-facing documentation
.claude/              # Claude Code permissions/skills/plugins
.mcp.json             # MCP server registrations (chrome-devtools, Lucid)
.github/workflows/    # ci.yml, release.yml
CLAUDE.md             # guidance for Claude
AGENT.md / AGENTS.md  # guidance for Cursor and other agents
CONTRIBUTING.md       # contributor guide

Local development

1. Install uv (one-time)

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Clone and sync dependencies

git clone https://github.com/MadaraUchiha-314/goldfishmem.git
cd goldfishmem
uv sync

uv sync creates .venv/ in the project root and installs runtime + dev dependencies from pyproject.toml.

3. Install the pre-commit hooks

uv run pre-commit install --hook-type pre-commit --hook-type commit-msg

This installs two hooks:

  • pre-commit — runs ruff check, ruff format, pyright, and the unit test suite on every commit.
  • commit-msg — runs commitizen check to enforce Conventional Commits.

You can also run the hooks ad-hoc:

uv run pre-commit run --all-files

4. The dev loop

uv run ruff check .              # lint
uv run ruff format .             # format
uv run pyright                   # type-check (strict)
uv run pytest tests/unit         # unit tests
uv run pytest tests/integration  # integration tests

5. Writing a commit

Either format the message yourself (feat: ..., fix: ..., etc.) or use the interactive helper:

uv run cz commit

CI/CD

  • .github/workflows/ci.yml — runs on every PR and on push to main:
    • ruff check and ruff format --check
    • pyright (strict)
    • Unit tests against Python 3.12 and 3.13
    • Integration tests
    • Commit-message linting on PRs
  • .github/workflows/release.yml — runs on push to main after CI passes:
    • cz bump --yes --changelog computes the next semver from the conventional commits since the last tag, updates pyproject.toml and goldfishmem/__init__.py, and updates CHANGELOG.md.
    • Pushes the version-bump commit and the new tag back to main.
    • Builds the sdist + wheel with uv build.
    • Publishes to PyPI via OIDC Trusted Publishing (no PYPI_API_TOKEN secret needed — configure the PyPI project under Settings → Publishing to trust this GitHub repo + release.yml).
    • Creates a GitHub Release with the changelog and dist artifacts attached.

One-time PyPI Trusted Publisher setup

Before the first release succeeds, configure PyPI:

  1. Reserve the project name goldfishmem on https://pypi.org by uploading a first version manually, OR pre-create the project via "pending publisher" under your PyPI account → Publishing → Add a new pending publisher.
  2. Add a trusted publisher with:
    • Owner: MadaraUchiha-314
    • Repository: goldfishmem
    • Workflow filename: release.yml
    • Environment name: pypi
  3. In this repo's settings, create a GitHub Environment named pypi.

Project management

  • Roadmap, features, bugs: tracked on GitHub Projects.
  • Community feedback: open a GitHub Issue.
  • Coding-agent contributions: see CLAUDE.md and AGENT.md. Agents must post a plan with a [Plan by <agent>] prefix on the relevant issue and wait for human approval before implementing.

License

MIT

Metadata

Release files for goldfishmem 0.1.0

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

Source distribution (sdist)

Source distribution for goldfishmem 0.1.0
File Size Uploaded Provenance
goldfishmem-0.1.0.tar.gz 6.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for goldfishmem 0.1.0
File Interpreter ABI Platform
goldfishmem-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.9 kB

Release files / goldfishmem-0.1.0.tar.gz

Download URL goldfishmem-0.1.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2830e97a5d05b62010d4d01f5a4b82ecf5ade5dde701a3059ae715055de39d48
BLAKE2b-256 checksum
How to use checksums
230c9057c6c423ced1a8960fcacdbeb021f38397ca389ae3b3d33050cb48a6aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / goldfishmem-0.1.0-py3-none-any.whl

Download URL goldfishmem-0.1.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5f54aa9e9313bf85ce6ca08bd7c77216a4e4c94404891bcac2548d2a6272864
BLAKE2b-256 checksum
How to use checksums
30340ba50f811195c32c5f1a266e78e048ec6662fb95e040f1c5e084f3fa8052
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Security for goldfishmem 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for goldfishmem-0.1.0.tar.gz

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 May 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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