See Issues for known limitations and upcoming improvements.
- Click "Code"
- Download ZIP (no Git required)
OR
git clone https://github.com/NSA-Computer-Exchange/ion-flow-tools
ION Flow Tools is a Python-based toolkit for working with Infor ION Dataflows outside the ION UI.
It enables you to export, analyze, document, validate, reconstruct, secure, and enhance ION dataflows using Python tooling and a structured workspace model.
ION Flow Tools allows you to:
- Export ION dataflows
- Parse and normalize XML into structured JSON
- Generate Markdown documentation
- Generate Mermaid diagrams
- Validate dependencies (scripts, workflows, connection points)
- Reconstruct deployable XML
- Manage flow workspaces
- Sync artifacts to Git
- Secure API access using
.env - Enhance documentation using AI
git clone <your-repo-url>
cd ion_flow_toolspython -m venv env
source env/bin/activate # macOS/Linux
env\Scripts\activate # Windowspip install -r requirements.txtOptional (for CLI usage):
pip install -e .After installation, run:
ionflow menuFrom the menu, select:
Setup API Credentials
-
A valid
.ionapifile from:- Infor OS → Authorized Apps → Ion API
- Reads
.ionapi - Extracts credentials
- Automatically creates
.env
No manual editing required
AI features enhance documentation and analysis.
From the menu:
Setup AI Credentials
This will add default values to your .env.
OPENAI_API_KEY=
INFOR_GENAI_BASE_URL=https://mingle-ionapi.inforcloudsuite.com/NSACOM_DEM
INFOR_GENAI_LOGICAL_ID=infor.genai.genai
INFOR_GENAI_MODEL=CLAUDE
INFOR_GENAI_VERSION=claude-sonnet-4-6
INFOR_GENAI_MAX_TOKENS=1500-
AI features are optional
-
If not configured:
- Core functionality works normally
- AI features are skipped
ionflowionflow stage <dataflow.xml>
ionflow open
ionflow document
ionflow diagram
ionflow validate
ionflow reconstruct
ionflow pdf
ionflow sync
ionflow ai-docEach flow is isolated into its own workspace:
workspace/<flow_name>/
├── exports/
├── artifacts/
└── manifest.json
exports/
dataflows/
workflows/
scripts/
connection_points/
mappings/
artifacts/
normalized/
docs/
diagrams/
bundles/
- Keeps flows isolated
- Stores generated outputs cleanly
- Enables Git versioning per flow
- Prevents pollution of main repo
ion_flow_tools/
├── ionflow_cli/
├── tools/
├── security/
├── workspace/ (ignored in main repo)
├── .env
├── .gitignore
└── README.md
ionflow_cli/ Handles command routing and user interaction.
Parses raw XML into structured data.
Creates standardized JSON representation.
Rebuilds deployable ION XML.
Generates Markdown documentation.
Generates Mermaid diagrams.
Validates dependencies.
Manages workspace structure.
Tracks active workspace.
Extracts embedded components.
Handles workspace Git operations.
Exports docs to PDF.
AI-enhanced documentation generation.
Handles authentication.
Handles token caching and reuse.
.envis required for credentials- Never commit
.env - Token handling is centralized in
security/ - Supports secure API access and token reuse
AI enhances:
- Documentation readability
- Flow summaries
- Natural language explanations
Future enhancements:
- Flow analysis
- Dependency explanations
- Migration insights
Tracks:
- Source code
- CLI
- Tools
- Security modules
Tracks:
- Exports
- Docs
- Diagrams
- Artifacts
.env
*.env
workspace/
__pycache__/
*.pyc
.DS_Store
build/
dist/
*.egg-info/- Run
ionflow menu - Setup API credentials
- Stage a dataflow
- Generate docs & diagrams
- Validate dependencies
- Reconstruct XML (optional)
- Sync workspace
- Use AI enhancements
- Reverse engineer flows
- Document integrations
- Prepare deployment bundles
- Visualize architecture
- Generate client-ready documentation
- Some activity types may require additional support
- PDF formatting may vary
- AI output should be reviewed
- Expand reconstruction support
- Improve PDF rendering
- Add VS Code integration
- Add CI/CD support
- Expand AI capabilities
Rob Thayer Senior Technical Consultant NSA / Python / Integration Development