CLI-first FileMaker DDR extraction and analysis toolkit
Project description
FM2WEB_CLI
Standalone CLI-first extraction of the ddr-docs toolkit from the broader FM2Web repo.
This repo is meant to be the first private-repo candidate Marcus can own separately. It keeps the Python CLI, extraction pipeline, SQLite ingestion, and analyzer-backed analysis flows. It intentionally drops the desktop/Tauri app, Streamlit UI, and other non-CLI project baggage.
What this repo includes
ddr_docs/, the CLI and DDR extraction pipelineanalyzer/, the SQLite-backed ingestion and analysis services used by CLI analysis commandsscripts/, extractor and rendering scripts invoked by the pipelinetests/, CLI, extractor, ingestion, pipeline, and smoke testsdocs/, architecture and schema notes still relevant to the CLI/analyzer workflow
What this repo intentionally excludes
- desktop/Tauri app code
- Streamlit UI
- export2web prompt packs and workflow assets
- playgrounds, bundled build artifacts, temp outputs, and egg metadata
- analyzer API server and DAG workflow runtime from the original monorepo
Package identity
- Repository name:
FM2WEB_CLI - Python package name:
ddr-docs - Console command:
ddr-docs
Keeping the package name avoids unnecessary churn for the CLI while making the repo identity clearly standalone.
Install
From a local checkout
python -m pip install -e .
# or with analyzer extras
python -m pip install -e '.[analyzer,dev]'
Quick start
Generate extracted docs from a DDR XML file
ddr-docs generate /path/to/file.ddr.xml -o ./out/ddr-run
Run the full analyzer-backed flow
ddr-docs analyze full-analysis \
--input /path/to/file.ddr.xml \
--output-dir ./out/full-analysis \
--sqlite-path ./out/full-analysis/fm2web.sqlite3
Common commands
ddr-docs --help
ddr-docs generate --help
ddr-docs analyze --help
ddr-docs analyze full-analysis --help
Development
Run a focused validation pass:
python -m pytest \
tests/test_cli_full_analysis.py \
tests/test_cli_optional_deps.py \
tests/test_pipeline.py \
tests/test_ingestion_idempotency.py \
tests/test_ingestion_offline_policy.py \
tests/test_smoke.py
Build package artifacts:
python -m build
Notes on extraction scope
This repo was extracted from FM2Web as a practical first standalone candidate, not a full architectural rewrite. A few internals still reflect the original FM2Web naming and workspace assumptions.
The biggest known coupling is that the pipeline still depends on top-level scripts/ helpers at runtime, so source-checkout usage is the most trustworthy path for now.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ddr_docs-0.2.1.tar.gz.
File metadata
- Download URL: ddr_docs-0.2.1.tar.gz
- Upload date:
- Size: 282.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3f5330481756297ccf12de8fe2c439be1df58ec80795cb967aee146e1303f88
|
|
| MD5 |
a52388f22b1ab666b682357fc8bd0b4c
|
|
| BLAKE2b-256 |
79bd511286e1a94d7e02f620cef7b0b0ea5b11dea68c348b84551dd99ec7eddd
|
File details
Details for the file ddr_docs-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ddr_docs-0.2.1-py3-none-any.whl
- Upload date:
- Size: 281.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dbfb264764585044548616408eafa57884c8f2e007f4264331157d2fc7204c0
|
|
| MD5 |
db6fcf060ad6e9a2b9f89616a1884dcc
|
|
| BLAKE2b-256 |
4335a61c877f0870fd8742104c2b0568375d77b0980e120193760c02b432e440
|