Thank you for helping improve the AtomicMemory Python SDK. This package mirrors
the public surface of the TypeScript SDK while using Python-native conventions,
typed Pydantic models, and httpx clients.
Use uv for package management:
uv sync --extra dev --extra embeddingsDo not use uv pip install for repository setup.
Run these before opening a pull request:
uv sync
uv run ruff check .
uv run ruff format --check .
uv run mypy atomicmemory --strict
uv run vulture atomicmemory tests .vulture_whitelist.py --min-confidence 90
uv run pytestIntegration tests are opt-in and require a live provider backend:
uv run pytest -m integrationfeat/<name>for new featuresfix/<name>for bug fixesdocs/<name>for documentation-only changeschore/<name>for tooling, dependency, and maintenance work
- Tests or a clear validation note are included.
- Public behavior changes are documented in
README.mdor examples. - Provider-specific behavior stays aligned with the TypeScript SDK contract.
- New code keeps files under 400 lines and functions under 40 lines, excluding comments and docstrings.
- No secrets, local credentials, or environment-specific values are committed.
By contributing, you agree that your contributions will be licensed under the same license as this repository. See LICENSE.