Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/benchmark_case.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Benchmark Case
description: Propose a benchmark, regression case, or evaluation scenario.
labels: [benchmark]
body:
- type: textarea
id: scenario
attributes:
label: Scenario
description: What behavior should the benchmark measure?
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected signal
description: What would a good result demonstrate?
validations:
required: true
- type: textarea
id: data
attributes:
label: Dataset or fixture
description: Link or describe the data needed to reproduce the case.
- type: textarea
id: notes
attributes:
label: Notes
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Bug Report
description: Report a reproducible bug in the AtomicMemory Python SDK.
labels: [bug]
body:
- type: textarea
id: description
attributes:
label: Description
description: What happened, and what did you expect instead?
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: Include a minimal code sample or repository when possible.
placeholder: |
1. Install package version ...
2. Configure provider ...
3. Run ...
validations:
required: true
- type: input
id: version
attributes:
label: Package version
placeholder: "atomicmemory==..."
- type: input
id: python-version
attributes:
label: Python version
placeholder: "3.10, 3.11, 3.12, or 3.13"
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant logs or errors
render: shell
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Documentation
url: https://docs.atomicmemory.ai
about: Read the AtomicMemory docs and quickstarts.
- name: Discussions
url: https://github.com/atomicstrata/atomicmemory-python/discussions
about: Ask questions, share ideas, and discuss roadmap items.
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/docs_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Docs Issue
description: Report missing, unclear, or incorrect documentation.
labels: [docs]
body:
- type: input
id: page
attributes:
label: Page or file
placeholder: "README.md, docs URL, API section, etc."
validations:
required: true
- type: textarea
id: issue
attributes:
label: What is wrong or missing?
validations:
required: true
- type: textarea
id: suggestion
attributes:
label: Suggested fix
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Feature Request
description: Suggest a Python SDK capability or improvement.
labels: [enhancement]
body:
- type: textarea
id: problem
attributes:
label: Problem
description: What user or developer problem should this solve?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: Describe the Python API or behavior you want.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
- type: dropdown
id: area
attributes:
label: Area
options:
- Memory client
- Provider contract
- Storage
- Local search
- Async client
- Documentation
- Not sure
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/provider_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Provider Request
description: Request support for a memory, embedding, LLM, storage, or reranking provider.
labels: [provider]
body:
- type: input
id: provider
attributes:
label: Provider name
placeholder: "Provider or service name"
validations:
required: true
- type: dropdown
id: provider-type
attributes:
label: Provider type
options:
- Memory backend
- Embedding model
- LLM
- Reranker
- Storage
- Other
validations:
required: true
- type: textarea
id: use-case
attributes:
label: Use case
description: What workflow would this provider enable?
validations:
required: true
- type: textarea
id: references
attributes:
label: API docs or references
27 changes: 27 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## Summary

<!-- What changed and why? -->

## Validation

- [ ] Tests were run or the reason they were not run is documented.
- [ ] Typecheck/build were run when code or package output changed.
- [ ] Docs were updated or no docs changes are needed.
- [ ] Benchmark or performance impact was considered.

## Change Type

- [ ] Bug fix
- [ ] Feature
- [ ] Provider change
- [ ] Refactoring (no behavior change)
- [ ] Documentation
- [ ] Tests / benchmarks
- [ ] Chore / maintenance

## Breaking Changes

- [ ] No breaking changes
- [ ] Breaking changes are documented below

<!-- Describe migration impact if applicable. -->
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

## [Unreleased]

## [1.0.1] - 2026-05-14

### Changed
- Version bump for public package publication after internal-to-public repository sync.

## [1.0.0]

Initial public stable release.

### Added
- `AtomicMemoryClient` and `AsyncAtomicMemoryClient` as the primary public client surfaces.
- Memory ingestion, search, package, get, list, and delete support.
- AtomicMemory and Mem0 provider adapters.
- AtomicMemory, Mem0, and Hindsight provider adapters.
- Typed AtomicMemory namespace handles for lifecycle, audit, lessons, agents, and runtime config.
- Direct artifact storage client with pointer and managed artifact workflows.
- Local embedding, semantic search, and KV cache helpers.
Expand Down
39 changes: 39 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

## Our Standards

Examples of behavior that contributes to a positive environment:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior:

- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the project maintainers at **support@atomicstrata.ai**. All complaints
will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the
[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1.
54 changes: 54 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Contributing to atomicmemory-python

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.

## Setup

Use `uv` for package management:

```bash
uv sync --extra dev --extra embeddings
```

Do not use `uv pip install` for repository setup.

## Development Checks

Run these before opening a pull request:

```bash
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 pytest
```

Integration tests are opt-in and require a live provider backend:

```bash
uv run pytest -m integration
```

## Branch Conventions

- `feat/<name>` for new features
- `fix/<name>` for bug fixes
- `docs/<name>` for documentation-only changes
- `chore/<name>` for tooling, dependency, and maintenance work

## Pull Request Checklist

- Tests or a clear validation note are included.
- Public behavior changes are documented in `README.md` or 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.

## License

By contributing, you agree that your contributions will be licensed under the
same license as this repository. See [LICENSE](LICENSE).
Loading
Loading