basic-memory 0.1.2__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of basic-memory might be problematic. Click here for more details.
- basic_memory-0.2.0/.github/workflows/pr-title.yml +41 -0
- basic_memory-0.2.0/.github/workflows/release.yml +83 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/CHANGELOG.md +18 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/PKG-INFO +1 -1
- basic_memory-0.2.0/installer/Basic.icns +0 -0
- basic_memory-0.2.0/installer/icon.svg +64 -0
- basic_memory-0.2.0/installer/make_icons.sh +27 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/installer/setup.py +4 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/pyproject.toml +1 -1
- {basic_memory-0.1.2 → basic_memory-0.2.0}/uv.lock +1 -1
- basic_memory-0.1.2/.github/workflows/release.yml +0 -46
- {basic_memory-0.1.2 → basic_memory-0.2.0}/.github/workflows/test.yml +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/.gitignore +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/.python-version +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/CITATION.cff +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/CODE_OF_CONDUCT.md +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/CONTRIBUTING.md +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/LICENSE +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/Makefile +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/README.md +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/alembic.ini +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/basic-memory.md +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/installer/installer.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/memory.json +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/scripts/install.sh +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/alembic/README +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/alembic/env.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/alembic/migrations.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/alembic/script.py.mako +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/app.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/routers/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/routers/knowledge_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/routers/memory_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/routers/resource_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/api/routers/search_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/app.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/db.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/mcp.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/status.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/sync.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/main.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/config.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/db.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/deps.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/file_utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/markdown/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/markdown/entity_parser.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/markdown/markdown_processor.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/markdown/plugins.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/markdown/schemas.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/markdown/utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/async_client.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/server.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/tools/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/tools/knowledge.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/tools/memory.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/tools/notes.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/tools/search.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/mcp/tools/utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/models/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/models/base.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/models/knowledge.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/models/search.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/entity_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/observation_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/relation_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/search_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/base.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/delete.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/discovery.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/memory.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/request.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/response.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/schemas/search.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/context_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/entity_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/exceptions.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/file_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/link_resolver.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/search_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/services/service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/sync/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/sync/file_change_scanner.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/sync/sync_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/sync/utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/sync/watch_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tasks.md +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/api/conftest.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/api/test_knowledge_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/api/test_memory_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/api/test_resource_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/api/test_search_router.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/cli/test_import_memory_json.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/cli/test_status.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/cli/test_sync.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/conftest.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/edit_file_test.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/__init__.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_entity_parser.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_markdown_plugins.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_markdown_processor.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_observation_edge_cases.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_parser_edge_cases.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_relation_edge_cases.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/markdown/test_task_detection.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/conftest.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/test_tool_get_entity.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/test_tool_knowledge.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/test_tool_memory.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/test_tool_notes.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/test_tool_search.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/mcp/test_tool_utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/repository/test_entity_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/repository/test_observation_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/repository/test_relation_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/repository/test_repository.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/schemas/test_memory_url.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/schemas/test_schemas.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/schemas/test_search.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/services/test_context_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/services/test_entity_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/services/test_file_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/services/test_link_resolver.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/services/test_search_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/sync/test_file_change_scanner.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/sync/test_sync_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/sync/test_watch_service.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/test_basic_memory.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/utils/test_file_utils.py +0 -0
- {basic_memory-0.1.2 → basic_memory-0.2.0}/tests/utils/test_permalink_formatting.py +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: "Pull Request Title"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types:
|
|
6
|
+
- opened
|
|
7
|
+
- edited
|
|
8
|
+
- synchronize
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
main:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: amannn/action-semantic-pull-request@v5
|
|
15
|
+
env:
|
|
16
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
17
|
+
with:
|
|
18
|
+
# Configure allowed types based on what we want in our changelog
|
|
19
|
+
types: |
|
|
20
|
+
feat
|
|
21
|
+
fix
|
|
22
|
+
chore
|
|
23
|
+
docs
|
|
24
|
+
style
|
|
25
|
+
refactor
|
|
26
|
+
perf
|
|
27
|
+
test
|
|
28
|
+
build
|
|
29
|
+
ci
|
|
30
|
+
# Require at least one from scope list (optional)
|
|
31
|
+
scopes: |
|
|
32
|
+
core
|
|
33
|
+
cli
|
|
34
|
+
api
|
|
35
|
+
mcp
|
|
36
|
+
sync
|
|
37
|
+
ui
|
|
38
|
+
deps
|
|
39
|
+
installer
|
|
40
|
+
# Allow breaking changes (needs "!" after type/scope)
|
|
41
|
+
requireScopeForBreakingChange: true
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
version_type:
|
|
7
|
+
description: 'Type of version bump (major, minor, patch)'
|
|
8
|
+
required: true
|
|
9
|
+
default: 'patch'
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- patch
|
|
13
|
+
- minor
|
|
14
|
+
- major
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
release:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
concurrency: release
|
|
20
|
+
permissions:
|
|
21
|
+
id-token: write
|
|
22
|
+
contents: write
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v4
|
|
26
|
+
with:
|
|
27
|
+
fetch-depth: 0
|
|
28
|
+
|
|
29
|
+
- name: Python Semantic Release
|
|
30
|
+
id: release
|
|
31
|
+
uses: python-semantic-release/python-semantic-release@master
|
|
32
|
+
with:
|
|
33
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
34
|
+
|
|
35
|
+
- name: Publish to PyPI
|
|
36
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
37
|
+
if: steps.release.outputs.released == 'true'
|
|
38
|
+
with:
|
|
39
|
+
password: ${{ secrets.PYPI_TOKEN }}
|
|
40
|
+
|
|
41
|
+
- name: Publish to GitHub Release Assets
|
|
42
|
+
uses: python-semantic-release/publish-action@v9.8.9
|
|
43
|
+
if: steps.release.outputs.released == 'true'
|
|
44
|
+
with:
|
|
45
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
46
|
+
tag: ${{ steps.release.outputs.tag }}
|
|
47
|
+
|
|
48
|
+
build-macos:
|
|
49
|
+
needs: release
|
|
50
|
+
if: needs.release.outputs.released == 'true'
|
|
51
|
+
runs-on: macos-latest
|
|
52
|
+
steps:
|
|
53
|
+
- uses: actions/checkout@v4
|
|
54
|
+
with:
|
|
55
|
+
ref: ${{ needs.release.outputs.tag }}
|
|
56
|
+
|
|
57
|
+
- name: Set up Python
|
|
58
|
+
uses: actions/setup-python@v5
|
|
59
|
+
with:
|
|
60
|
+
python-version: '3.12'
|
|
61
|
+
|
|
62
|
+
- name: Install uv
|
|
63
|
+
run: |
|
|
64
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
65
|
+
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
66
|
+
|
|
67
|
+
- name: Build macOS installer
|
|
68
|
+
run: |
|
|
69
|
+
uv pip install -e ".[dev]"
|
|
70
|
+
cd installer
|
|
71
|
+
uv run python setup.py bdist_mac
|
|
72
|
+
|
|
73
|
+
- name: Zip macOS installer
|
|
74
|
+
run: |
|
|
75
|
+
cd installer/dist
|
|
76
|
+
zip -r "Basic-Memory-Installer-${{ needs.release.outputs.tag }}.zip" "Basic Memory Installer.app"
|
|
77
|
+
|
|
78
|
+
- name: Upload macOS installer
|
|
79
|
+
uses: softprops/action-gh-release@v1
|
|
80
|
+
with:
|
|
81
|
+
files: installer/dist/Basic-Memory-Installer-${{ needs.release.outputs.tag }}.zip
|
|
82
|
+
tag_name: ${{ needs.release.outputs.tag }}
|
|
83
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## v0.2.0 (2025-02-14)
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
- Build installer via github action ([#7](https://github.com/basicmachines-co/basic-memory/pull/7),
|
|
9
|
+
[`7c381a5`](https://github.com/basicmachines-co/basic-memory/commit/7c381a59c962053c78da096172e484f28ab47e96))
|
|
10
|
+
|
|
11
|
+
* feat(ci): build installer via github action
|
|
12
|
+
|
|
13
|
+
* enforce conventional commits in PR titles
|
|
14
|
+
|
|
15
|
+
* feat: add icon to installer
|
|
16
|
+
|
|
17
|
+
---------
|
|
18
|
+
|
|
19
|
+
Co-authored-by: phernandez <phernandez@basicmachines.co>
|
|
20
|
+
|
|
21
|
+
|
|
4
22
|
## v0.1.2 (2025-02-14)
|
|
5
23
|
|
|
6
24
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: basic-memory
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Local-first knowledge management combining Zettelkasten with knowledge graphs
|
|
5
5
|
Project-URL: Homepage, https://github.com/basicmachines-co/basic-memory
|
|
6
6
|
Project-URL: Repository, https://github.com/basicmachines-co/basic-memory
|
|
Binary file
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<!-- Background -->
|
|
4
|
+
<rect x="0" y="0" width="512" height="512" rx="64" fill="#111111"/>
|
|
5
|
+
|
|
6
|
+
<!-- Define arrowhead marker -->
|
|
7
|
+
<defs>
|
|
8
|
+
<marker id="arrowhead"
|
|
9
|
+
markerWidth="10"
|
|
10
|
+
markerHeight="10"
|
|
11
|
+
refX="8"
|
|
12
|
+
refY="5"
|
|
13
|
+
orient="auto">
|
|
14
|
+
<path d="M 0 0 L 10 5 L 0 10 Z"
|
|
15
|
+
fill="#00cc00"/>
|
|
16
|
+
</marker>
|
|
17
|
+
</defs>
|
|
18
|
+
|
|
19
|
+
<!-- State 1 (initial) -->
|
|
20
|
+
<circle cx="156" cy="256" r="30" fill="none" stroke="#00cc00" stroke-width="3"/>
|
|
21
|
+
|
|
22
|
+
<!-- State 2 (accept) -->
|
|
23
|
+
<circle cx="356" cy="176" r="34" fill="none" stroke="#00cc00" stroke-width="3"/>
|
|
24
|
+
<circle cx="356" cy="176" r="28" fill="none" stroke="#00cc00" stroke-width="3"/>
|
|
25
|
+
|
|
26
|
+
<!-- State 3 (accept) -->
|
|
27
|
+
<circle cx="356" cy="336" r="34" fill="none" stroke="#00cc00" stroke-width="3"/>
|
|
28
|
+
<circle cx="356" cy="336" r="28" fill="none" stroke="#00cc00" stroke-width="3"/>
|
|
29
|
+
|
|
30
|
+
<!-- Initial arrow -->
|
|
31
|
+
<path d="M 96 256 L 126 256"
|
|
32
|
+
stroke="#00cc00" stroke-width="3" fill="none"
|
|
33
|
+
marker-end="url(#arrowhead)"/>
|
|
34
|
+
|
|
35
|
+
<!-- State transitions -->
|
|
36
|
+
<!-- 1 -> 2 -->
|
|
37
|
+
<path d="M 180 240
|
|
38
|
+
Q 260 200, 320 176"
|
|
39
|
+
stroke="#00cc00" stroke-width="3" fill="none"
|
|
40
|
+
marker-end="url(#arrowhead)"/>
|
|
41
|
+
|
|
42
|
+
<!-- 1 -> 3 -->
|
|
43
|
+
<path d="M 180 272
|
|
44
|
+
Q 260 312, 320 336"
|
|
45
|
+
stroke="#00cc00" stroke-width="3" fill="none"
|
|
46
|
+
marker-end="url(#arrowhead)"/>
|
|
47
|
+
|
|
48
|
+
<!-- Self loops -->
|
|
49
|
+
<path d="M 356 142
|
|
50
|
+
Q 396 142, 396 176
|
|
51
|
+
Q 396 210, 356 210
|
|
52
|
+
Q 316 210, 316 176
|
|
53
|
+
Q 316 142, 356 142"
|
|
54
|
+
stroke="#00cc00" stroke-width="2" fill="none"
|
|
55
|
+
marker-end="url(#arrowhead)"/>
|
|
56
|
+
|
|
57
|
+
<path d="M 356 302
|
|
58
|
+
Q 396 302, 396 336
|
|
59
|
+
Q 396 370, 356 370
|
|
60
|
+
Q 316 370, 316 336
|
|
61
|
+
Q 316 302, 356 302"
|
|
62
|
+
stroke="#00cc00" stroke-width="2" fill="none"
|
|
63
|
+
marker-end="url(#arrowhead)"/>
|
|
64
|
+
</svg>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Convert SVG to PNG at various required sizes
|
|
4
|
+
rsvg-convert -h 16 -w 16 icon.svg > icon_16x16.png
|
|
5
|
+
rsvg-convert -h 32 -w 32 icon.svg > icon_32x32.png
|
|
6
|
+
rsvg-convert -h 128 -w 128 icon.svg > icon_128x128.png
|
|
7
|
+
rsvg-convert -h 256 -w 256 icon.svg > icon_256x256.png
|
|
8
|
+
rsvg-convert -h 512 -w 512 icon.svg > icon_512x512.png
|
|
9
|
+
|
|
10
|
+
# Create iconset directory
|
|
11
|
+
mkdir -p Basic.iconset
|
|
12
|
+
|
|
13
|
+
# Move files into iconset with Mac-specific names
|
|
14
|
+
cp icon_16x16.png Basic.iconset/icon_16x16.png
|
|
15
|
+
cp icon_32x32.png Basic.iconset/icon_16x16@2x.png
|
|
16
|
+
cp icon_32x32.png Basic.iconset/icon_32x32.png
|
|
17
|
+
cp icon_128x128.png Basic.iconset/icon_32x32@2x.png
|
|
18
|
+
cp icon_256x256.png Basic.iconset/icon_128x128.png
|
|
19
|
+
cp icon_512x512.png Basic.iconset/icon_256x256.png
|
|
20
|
+
cp icon_512x512.png Basic.iconset/icon_512x512.png
|
|
21
|
+
|
|
22
|
+
# Convert iconset to icns
|
|
23
|
+
iconutil -c icns Basic.iconset
|
|
24
|
+
|
|
25
|
+
# Clean up
|
|
26
|
+
rm -rf Basic.iconset
|
|
27
|
+
rm icon_*.png
|
|
@@ -14,15 +14,18 @@ if sys.platform == "win32":
|
|
|
14
14
|
"include_msvcr": True, # Include Visual C++ runtime
|
|
15
15
|
})
|
|
16
16
|
target_name = "Basic Memory Installer.exe"
|
|
17
|
+
icon = None # We'll add Windows icon later
|
|
17
18
|
else: # darwin
|
|
18
19
|
base = None # Don't use GUI base for macOS
|
|
19
20
|
target_name = "Basic Memory Installer"
|
|
21
|
+
icon = "Basic.icns"
|
|
20
22
|
|
|
21
23
|
executables = [
|
|
22
24
|
Executable(
|
|
23
25
|
script="installer.py",
|
|
24
26
|
target_name=target_name,
|
|
25
27
|
base=base,
|
|
28
|
+
icon=icon
|
|
26
29
|
)
|
|
27
30
|
]
|
|
28
31
|
|
|
@@ -34,6 +37,7 @@ setup(
|
|
|
34
37
|
"build_exe": build_exe_options,
|
|
35
38
|
"bdist_mac": {
|
|
36
39
|
"bundle_name": "Basic Memory Installer",
|
|
40
|
+
"iconfile": icon if sys.platform == "darwin" else None
|
|
37
41
|
}
|
|
38
42
|
},
|
|
39
43
|
executables=executables,
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
inputs:
|
|
6
|
-
version_type:
|
|
7
|
-
description: 'Type of version bump (major, minor, patch)'
|
|
8
|
-
required: true
|
|
9
|
-
default: 'patch'
|
|
10
|
-
type: choice
|
|
11
|
-
options:
|
|
12
|
-
- patch
|
|
13
|
-
- minor
|
|
14
|
-
- major
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
release:
|
|
18
|
-
runs-on: ubuntu-latest
|
|
19
|
-
concurrency: release
|
|
20
|
-
permissions:
|
|
21
|
-
id-token: write
|
|
22
|
-
contents: write
|
|
23
|
-
|
|
24
|
-
steps:
|
|
25
|
-
- uses: actions/checkout@v4
|
|
26
|
-
with:
|
|
27
|
-
fetch-depth: 0
|
|
28
|
-
|
|
29
|
-
- name: Python Semantic Release
|
|
30
|
-
id: release
|
|
31
|
-
uses: python-semantic-release/python-semantic-release@master
|
|
32
|
-
with:
|
|
33
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
34
|
-
|
|
35
|
-
- name: Publish to PyPI
|
|
36
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
37
|
-
if: steps.release.outputs.released == 'true'
|
|
38
|
-
with:
|
|
39
|
-
password: ${{ secrets.PYPI_TOKEN }}
|
|
40
|
-
|
|
41
|
-
- name: Publish to GitHub Release Assets
|
|
42
|
-
uses: python-semantic-release/publish-action@v9.8.9
|
|
43
|
-
if: steps.release.outputs.released == 'true'
|
|
44
|
-
with:
|
|
45
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
46
|
-
tag: ${{ steps.release.outputs.tag }}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/cli/commands/import_memory_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/observation_repository.py
RENAMED
|
File without changes
|
{basic_memory-0.1.2 → basic_memory-0.2.0}/src/basic_memory/repository/relation_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|