forge-obsidian 0.1.1__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.
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: forge-obsidian
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Neutral, safe Obsidian interoperability primitives for Forge adapters
|
|
5
|
+
Project-URL: Repository, https://github.com/EdgarSocrates98/product-forge
|
|
6
|
+
Author: Edgar Socrates Caria
|
|
7
|
+
License: MIT
|
|
8
|
+
Keywords: forge,knowledge,obsidian,synchronization
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Requires-Python: >=3.10
|
|
14
|
+
Requires-Dist: pyyaml<7,>=6.0
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
17
|
+
# forge-obsidian
|
|
18
|
+
|
|
19
|
+
`forge-obsidian` is the neutral technical distribution for safe Obsidian
|
|
20
|
+
interoperability across Forge adapters. Its `src/forge_obsidian` package is the
|
|
21
|
+
canonical source; Product Forge embeds that same package in its own wheel
|
|
22
|
+
without copying or reimplementing the engine.
|
|
23
|
+
|
|
24
|
+
The library provides bounded Markdown/Canvas validation, authorized-vault path
|
|
25
|
+
safety, body-free scanning, import/export, sync planning, conflict handling,
|
|
26
|
+
atomic writes, receipts, rollback and skip operations. It has no dependency on
|
|
27
|
+
the Product Forge application runtime and never invokes the Obsidian CLI.
|
|
28
|
+
|
|
29
|
+
This package is technical infrastructure, not a seventh user-facing Forge.
|
|
30
|
+
Adapters must still enforce their own workspace, principal, classification and
|
|
31
|
+
approval policy before calling mutating operations.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# forge-obsidian
|
|
2
|
+
|
|
3
|
+
`forge-obsidian` is the neutral technical distribution for safe Obsidian
|
|
4
|
+
interoperability across Forge adapters. Its `src/forge_obsidian` package is the
|
|
5
|
+
canonical source; Product Forge embeds that same package in its own wheel
|
|
6
|
+
without copying or reimplementing the engine.
|
|
7
|
+
|
|
8
|
+
The library provides bounded Markdown/Canvas validation, authorized-vault path
|
|
9
|
+
safety, body-free scanning, import/export, sync planning, conflict handling,
|
|
10
|
+
atomic writes, receipts, rollback and skip operations. It has no dependency on
|
|
11
|
+
the Product Forge application runtime and never invokes the Obsidian CLI.
|
|
12
|
+
|
|
13
|
+
This package is technical infrastructure, not a seventh user-facing Forge.
|
|
14
|
+
Adapters must still enforce their own workspace, principal, classification and
|
|
15
|
+
approval policy before calling mutating operations.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling>=1.25"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "forge-obsidian"
|
|
7
|
+
version = "0.1.1"
|
|
8
|
+
description = "Neutral, safe Obsidian interoperability primitives for Forge adapters"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = { text = "MIT" }
|
|
12
|
+
authors = [{ name = "Edgar Socrates Caria" }]
|
|
13
|
+
keywords = ["obsidian", "forge", "knowledge", "synchronization"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 3 - Alpha",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"License :: OSI Approved :: MIT License",
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
]
|
|
20
|
+
dependencies = ["PyYAML>=6.0,<7"]
|
|
21
|
+
|
|
22
|
+
[project.urls]
|
|
23
|
+
Repository = "https://github.com/EdgarSocrates98/product-forge"
|
|
24
|
+
|
|
25
|
+
[tool.hatch.build.targets.wheel]
|
|
26
|
+
packages = ["src/forge_obsidian"]
|
|
27
|
+
|
|
28
|
+
[tool.hatch.build.targets.sdist]
|
|
29
|
+
include = ["README.md", "pyproject.toml", "src/forge_obsidian"]
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"""Neutral, dependency-light Obsidian interoperability library."""
|
|
2
|
+
|
|
3
|
+
from .obsidian import (
|
|
4
|
+
AttachmentResolver,
|
|
5
|
+
ConflictDetector,
|
|
6
|
+
ExportReceiptWriter,
|
|
7
|
+
FrontmatterAdapter,
|
|
8
|
+
ImportReceiptWriter,
|
|
9
|
+
KnowledgeProjector,
|
|
10
|
+
MarkdownDocumentParser,
|
|
11
|
+
ObsidianVaultError,
|
|
12
|
+
SyncPlanner,
|
|
13
|
+
VaultLocator,
|
|
14
|
+
VaultReader,
|
|
15
|
+
VaultScanner,
|
|
16
|
+
VaultWriter,
|
|
17
|
+
WikilinkResolver,
|
|
18
|
+
export_vault_document,
|
|
19
|
+
import_vault_document,
|
|
20
|
+
import_vault_documents,
|
|
21
|
+
list_obsidian_receipts,
|
|
22
|
+
obsidian_projection_metadata,
|
|
23
|
+
parse_markdown_document,
|
|
24
|
+
plan_vault_sync,
|
|
25
|
+
rollback_vault_document,
|
|
26
|
+
scan_vault_documents,
|
|
27
|
+
serialize_base_document,
|
|
28
|
+
skip_vault_sync,
|
|
29
|
+
validate_base_document,
|
|
30
|
+
validate_canvas_document,
|
|
31
|
+
validate_vault_authorization,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
__all__ = [
|
|
35
|
+
"AttachmentResolver",
|
|
36
|
+
"ConflictDetector",
|
|
37
|
+
"ExportReceiptWriter",
|
|
38
|
+
"FrontmatterAdapter",
|
|
39
|
+
"ImportReceiptWriter",
|
|
40
|
+
"KnowledgeProjector",
|
|
41
|
+
"MarkdownDocumentParser",
|
|
42
|
+
"ObsidianVaultError",
|
|
43
|
+
"SyncPlanner",
|
|
44
|
+
"VaultLocator",
|
|
45
|
+
"VaultReader",
|
|
46
|
+
"VaultScanner",
|
|
47
|
+
"VaultWriter",
|
|
48
|
+
"WikilinkResolver",
|
|
49
|
+
"export_vault_document",
|
|
50
|
+
"import_vault_document",
|
|
51
|
+
"import_vault_documents",
|
|
52
|
+
"list_obsidian_receipts",
|
|
53
|
+
"obsidian_projection_metadata",
|
|
54
|
+
"parse_markdown_document",
|
|
55
|
+
"plan_vault_sync",
|
|
56
|
+
"rollback_vault_document",
|
|
57
|
+
"scan_vault_documents",
|
|
58
|
+
"serialize_base_document",
|
|
59
|
+
"skip_vault_sync",
|
|
60
|
+
"validate_base_document",
|
|
61
|
+
"validate_canvas_document",
|
|
62
|
+
"validate_vault_authorization",
|
|
63
|
+
]
|
|
64
|
+
|