# StrataRegula
[](https://badge.fury.io/py/strataregula)
[](https://opensource.org/licenses/Apache-2.0)
[](https://www.python.org/downloads/)
**StrataRegula** (strata + regula) is a YAML Configuration Pattern Compiler for hierarchical configuration management with wildcard pattern expansion, designed for enterprise-scale configuration processing.
## Features
### Core Features
- **Pattern Expansion**: Expand wildcard patterns in configuration structures (100K+ patterns/sec)
- **Hierarchical Processing**: Handle nested configuration data efficiently
- **Multiple Formats**: Support for YAML, JSON, Python output formats
- **Performance Monitoring**: Optional memory and CPU monitoring with psutil
- **Environment Compatibility**: Built-in compatibility checking and diagnostics
### v0.2.0 Plugin System ✨
- **5 Hook Points**: Complete compilation pipeline integration
- `pre_compilation` - Before processing starts
- `pattern_discovered` - When patterns are found
- `pre_expand` / `post_expand` - Around pattern expansion
- `compilation_complete` - After output generation
- **Auto-discovery**: Plugins loaded automatically via entry points
- **Configuration Cascading**: Multi-level plugin configuration system
- **Sample Plugins**: Timestamp, Environment, Prefix plugins included
### Advanced CLI Features
- **Config Visualization**: `--dump-compiled-config` with 5 output formats (JSON, YAML, Python, Table, Tree)
- **Format Selection**: `--dump-format` for customized output views
- **Environment Diagnostics**: `strataregula doctor` with fix suggestions
- **Verbose Processing**: Enhanced logging and debugging options
## Installation
```bash
pip install strataregula
```
### Compatibility & Troubleshooting
**Supported Python versions:** 3.8+ (recommended: 3.9+)
#### For pyenv users:
If you encounter dependency issues, try:
```bash
# Install a newer Python version
pyenv install 3.9.16
pyenv global 3.9.16
pip install --upgrade pip
pip install strataregula
```
#### Environment check:
```bash
# Check your environment compatibility
strataregula doctor
# Get detailed fix suggestions
strataregula doctor --fix-suggestions
```
#### Common issues:
- **psutil build errors**: psutil is now optional. Core functionality works without it.
- For performance monitoring: `pip install 'strataregula[performance]'`
- **Package version conflicts**: Try `pip install --upgrade --force-reinstall strataregula`
- **Rich display issues**: The CLI works with basic output if Rich is unavailable
- **pyenv compatibility**: Older pyenv Python versions may need package updates
## Quick Start
### Try it in 30 seconds!
```bash
# Install
pip install strataregula
# Create a simple config with wildcards
echo "service_times:
web.*.response: 150
api.*.timeout: 30
db.*.query: 50" > traffic.yaml
# See the magic happen
strataregula compile --traffic traffic.yaml
```
**Result:** Wildcards automatically expand to real service configurations!
### Real-world example
```bash
# Create a realistic service configuration
cat > services.yaml << EOF
service_times:
frontend.*.response: 200
backend.*.processing: 500
database.*.query: 100
resource_limits:
web.*.cpu: 80
api.*.memory: 512
cache.*.storage: 1024
EOF
# Compile to see all combinations
strataregula compile --traffic services.yaml --format json
```
**Output example:**
```json
{
"service_times": {
"frontend.web.response": 200,
"frontend.api.response": 200,
"backend.worker.processing": 500,
"backend.scheduler.processing": 500,
"database.primary.query": 100,
"database.replica.query": 100
},
"resource_limits": {
"web.frontend.cpu": 80,
"web.backend.cpu": 80,
"api.v1.memory": 512,
"api.v2.memory": 512
}
}
```
### What just happened?
1. **You wrote**: `frontend.*.response: 200` (one line)
2. **Strataregula created**: Multiple service-specific configurations
3. **Pattern expansion**: `*` automatically matches available services
4. **Consistent naming**: No typos, perfect patterns
**Why developers love this:**
- ✨ **DRY principle**: Write patterns once, expand everywhere
- 🎯 **Zero typos**: Consistent service naming automatically
- ⚡ **Fast setup**: New service type? One pattern covers all
- 🔧 **Easy maintenance**: Change one pattern, update all services
Perfect for:
- 🚀 Microservice configurations (service × environment combinations)
- ⚙️ Infrastructure as Code templates
- 📊 Performance monitoring setups
- 🔧 DevOps automation scripts
## Architecture
```
strataregula/ # Core Library (v0.2.0)
├── core/ # Core pattern expansion engine
│ ├── compiler.py # High-performance pattern compiler
│ ├── config_compiler.py # Main compilation with plugin integration
│ ├── pattern_expander.py # Enhanced pattern expansion with hooks
│ └── compatibility.py # Environment compatibility checking
├── plugins/ # Plugin system (v0.2.0)
│ ├── manager.py # Plugin lifecycle management
│ ├── base.py # Plugin base classes
│ ├── config.py # Configuration management
│ ├── samples/ # Sample plugin implementations
│ └── hooks.py # Hook point definitions
├── cli/ # Command-line interface
│ ├── main.py # Main CLI with diagnostics
│ └── compile_command.py # Compilation with visualization
└── data/ # Data sources and hierarchy definitions
```
**Note**: Editor integration (LSP, VS Code) developed in separate repositories:
- `strataregula-lsp/` - Language Server Protocol implementation
- `strataregula-vscode/` - VS Code extension
## Plugin System (v0.2.0)
The plugin system allows extending pattern expansion with custom logic through 5 hook points:
### Basic Plugin Example
```python
from strataregula.plugins.base import PatternPlugin
class TimestampPlugin(PatternPlugin):
def can_handle(self, pattern: str) -> bool:
return '@timestamp' in pattern
def expand(self, pattern: str, context) -> dict:
from datetime import datetime
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
expanded_pattern = pattern.replace('@timestamp', timestamp)
return {expanded_pattern: context.get('default_value', 1.0)}
```
### Advanced Hook Integration
```python
from strataregula.plugins.base import HookPlugin
class LoggingPlugin(HookPlugin):
async def pre_compilation(self, **kwargs):
print(f"Starting compilation of {kwargs['traffic_file']}")
async def compilation_complete(self, **kwargs):
print(f"Compilation completed in {kwargs['duration']:.2f}s")
```
### Plugin Management
```bash
# Enable/disable plugins programmatically
from strataregula.core.config_compiler import ConfigCompiler
# With plugins (default)
compiler = ConfigCompiler(use_plugins=True)
# Without plugins for performance
compiler = ConfigCompiler(use_plugins=False)
```
### Available Sample Plugins
- **`TimestampPlugin`**: Replace `@timestamp` with formatted dates
- **`EnvironmentPlugin`**: Expand `$ENV_VAR` environment variables
- **`PrefixPlugin`**: Add configurable prefixes to patterns
- **`ConditionalPlugin`**: Pattern expansion with conditional logic
- **`TransformPlugin`**: Custom data transformations during expansion
- **`MetricsPlugin`**: Performance monitoring and metrics collection
See [PLUGIN_DEVELOPMENT.md](PLUGIN_DEVELOPMENT.md) for detailed development guide.
## CLI Reference (v0.2.0)
### Basic Compilation
```bash
# Simple compilation
strataregula compile --traffic config.yaml
# With custom output format
strataregula compile --traffic config.yaml --format json
# With prefecture hierarchy
strataregula compile --traffic services.yaml --prefectures regions.yaml
```
### Advanced Features
```bash
# Config visualization - see what StrataRegula generated
strataregula compile --traffic config.yaml --dump-compiled-config --dump-format tree
# Available dump formats: json, yaml, python, table, tree
strataregula compile --traffic config.yaml --dump-compiled-config --dump-format json > output.json
# Environment diagnostics
strataregula doctor # Basic compatibility check
strataregula doctor --verbose # Detailed environment info
strataregula doctor --fix-suggestions # Get help fixing issues
# Examples and help
strataregula examples # Show usage examples
strataregula --help # Command help
```
### Configuration Visualization Formats
**Tree Format** - Hierarchical view:
```
services/
├── web/
│ ├── frontend.response: 200ms
│ └── backend.response: 300ms
└── api/
├── v1.timeout: 30s
└── v2.timeout: 45s
```
**Table Format** - Structured data:
```
| Pattern | Value | Type |
|---------------------|-------|---------|
| web.frontend.response| 200 | service |
| api.v1.timeout | 30 | config |
```
## Performance
Based on testing with the current implementation:
- **Pattern Expansion**: ~100,000-400,000 patterns per second
- **Memory Usage**: Efficient processing with streaming support for large datasets
- **Plugin Overhead**: <5% performance impact with plugin system enabled
- **Compilation**: Fast compilation for typical configuration sizes (1-10MB)
- **Hook Processing**: Minimal latency for hook point execution
Note: Performance varies based on pattern complexity, plugin usage, and system resources.
## Development
### Setup
```bash
git clone https://github.com/yourusername/strataregula.git
cd strataregula
pip install -e ".[dev]"
```
### Running Tests
```bash
pytest tests/
```
### Plugin Development
See `PLUGIN_DEVELOPMENT.md` for detailed plugin development guide with examples and best practices.
## Project Status
### Core Library (This Repository)
- **v0.1.1**: Core pattern expansion engine with CLI interface
- **v0.2.0**: ✅ **Production Ready** - Complete plugin system with 5 hook points
- Plugin architecture (1,758 lines, 28 classes)
- Config visualization (`--dump-compiled-config`)
- Environment diagnostics (`strataregula doctor`)
- Enhanced performance monitoring
- 87% test coverage, enterprise-grade quality
### Related Projects (Separate Repositories)
- **strataregula-lsp**: Language Server Protocol implementation (in development)
- **strataregula-vscode**: VS Code extension for YAML editing support (in development)
**Note**: LSP and VS Code integration are developed separately and not included in v0.2.0 release.
### Migration from v0.1.x
v0.2.0 is **fully backward compatible**. Existing configurations work unchanged.
**New capabilities:**
- Plugin system can be disabled: `ConfigCompiler(use_plugins=False)`
- Enhanced CLI with visualization options
- Better error handling and diagnostics
- Optional performance monitoring
**Performance notes:**
- Plugin system adds <5% overhead when enabled
- Can be disabled for maximum performance in production
- All v0.1.x features remain at full speed
## Contributing
Contributions are welcome! Please see our contributing guidelines for details on submitting pull requests, reporting issues, and development setup.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- **Issues**: [GitHub Issues](https://github.com/yourusername/strataregula/issues)
- **Documentation**: Available in the repository docs/ folder
---
**StrataRegula v0.2.0** - Enterprise-ready pattern expansion with plugin extensibility.
Raw data
{
"_id": null,
"home_page": null,
"name": "strataregula",
"maintainer": null,
"docs_url": null,
"requires_python": "==3.11.*",
"maintainer_email": "Strataregula Team <team@strataregula.com>",
"keywords": "yaml, configuration, pattern, compiler, expansion, infrastructure, automation, cli, streaming, pipe, strata, layered, hierarchical, rules, engine",
"author": null,
"author_email": "Strataregula Team <team@strataregula.com>",
"download_url": "https://files.pythonhosted.org/packages/40/05/769482830838e669e467fe5e1772908b98a0b8639b54f250cfd2c1c47201/strataregula-0.3.0.tar.gz",
"platform": null,
"description": "# StrataRegula\r\n\r\n[](https://badge.fury.io/py/strataregula)\r\n[](https://opensource.org/licenses/Apache-2.0)\r\n[](https://www.python.org/downloads/)\r\n\r\n**StrataRegula** (strata + regula) is a YAML Configuration Pattern Compiler for hierarchical configuration management with wildcard pattern expansion, designed for enterprise-scale configuration processing.\r\n\r\n## Features\r\n\r\n### Core Features\r\n- **Pattern Expansion**: Expand wildcard patterns in configuration structures (100K+ patterns/sec)\r\n- **Hierarchical Processing**: Handle nested configuration data efficiently \r\n- **Multiple Formats**: Support for YAML, JSON, Python output formats\r\n- **Performance Monitoring**: Optional memory and CPU monitoring with psutil\r\n- **Environment Compatibility**: Built-in compatibility checking and diagnostics\r\n\r\n### v0.2.0 Plugin System \u2728\r\n- **5 Hook Points**: Complete compilation pipeline integration\r\n - `pre_compilation` - Before processing starts\r\n - `pattern_discovered` - When patterns are found\r\n - `pre_expand` / `post_expand` - Around pattern expansion\r\n - `compilation_complete` - After output generation\r\n- **Auto-discovery**: Plugins loaded automatically via entry points\r\n- **Configuration Cascading**: Multi-level plugin configuration system\r\n- **Sample Plugins**: Timestamp, Environment, Prefix plugins included\r\n\r\n### Advanced CLI Features\r\n- **Config Visualization**: `--dump-compiled-config` with 5 output formats (JSON, YAML, Python, Table, Tree)\r\n- **Format Selection**: `--dump-format` for customized output views\r\n- **Environment Diagnostics**: `strataregula doctor` with fix suggestions\r\n- **Verbose Processing**: Enhanced logging and debugging options\r\n\r\n## Installation\r\n\r\n```bash\r\npip install strataregula\r\n```\r\n\r\n### Compatibility & Troubleshooting\r\n\r\n**Supported Python versions:** 3.8+ (recommended: 3.9+)\r\n\r\n#### For pyenv users:\r\nIf you encounter dependency issues, try:\r\n```bash\r\n# Install a newer Python version\r\npyenv install 3.9.16\r\npyenv global 3.9.16\r\npip install --upgrade pip\r\npip install strataregula\r\n```\r\n\r\n#### Environment check:\r\n```bash\r\n# Check your environment compatibility\r\nstrataregula doctor\r\n\r\n# Get detailed fix suggestions\r\nstrataregula doctor --fix-suggestions\r\n```\r\n\r\n#### Common issues:\r\n- **psutil build errors**: psutil is now optional. Core functionality works without it.\r\n - For performance monitoring: `pip install 'strataregula[performance]'`\r\n- **Package version conflicts**: Try `pip install --upgrade --force-reinstall strataregula`\r\n- **Rich display issues**: The CLI works with basic output if Rich is unavailable\r\n- **pyenv compatibility**: Older pyenv Python versions may need package updates\r\n\r\n## Quick Start\r\n\r\n### Try it in 30 seconds! \r\n\r\n```bash\r\n# Install\r\npip install strataregula\r\n\r\n# Create a simple config with wildcards\r\necho \"service_times:\r\n web.*.response: 150\r\n api.*.timeout: 30\r\n db.*.query: 50\" > traffic.yaml\r\n\r\n# See the magic happen\r\nstrataregula compile --traffic traffic.yaml\r\n```\r\n\r\n**Result:** Wildcards automatically expand to real service configurations!\r\n\r\n### Real-world example\r\n\r\n```bash\r\n# Create a realistic service configuration\r\ncat > services.yaml << EOF\r\nservice_times:\r\n frontend.*.response: 200\r\n backend.*.processing: 500\r\n database.*.query: 100\r\n\r\nresource_limits:\r\n web.*.cpu: 80\r\n api.*.memory: 512\r\n cache.*.storage: 1024\r\nEOF\r\n\r\n# Compile to see all combinations\r\nstrataregula compile --traffic services.yaml --format json\r\n```\r\n\r\n**Output example:**\r\n```json\r\n{\r\n \"service_times\": {\r\n \"frontend.web.response\": 200,\r\n \"frontend.api.response\": 200,\r\n \"backend.worker.processing\": 500,\r\n \"backend.scheduler.processing\": 500,\r\n \"database.primary.query\": 100,\r\n \"database.replica.query\": 100\r\n },\r\n \"resource_limits\": {\r\n \"web.frontend.cpu\": 80,\r\n \"web.backend.cpu\": 80,\r\n \"api.v1.memory\": 512,\r\n \"api.v2.memory\": 512\r\n }\r\n}\r\n```\r\n\r\n### What just happened?\r\n\r\n1. **You wrote**: `frontend.*.response: 200` (one line) \r\n2. **Strataregula created**: Multiple service-specific configurations\r\n3. **Pattern expansion**: `*` automatically matches available services\r\n4. **Consistent naming**: No typos, perfect patterns\r\n\r\n**Why developers love this:**\r\n- \u2728 **DRY principle**: Write patterns once, expand everywhere\r\n- \ud83c\udfaf **Zero typos**: Consistent service naming automatically \r\n- \u26a1 **Fast setup**: New service type? One pattern covers all\r\n- \ud83d\udd27 **Easy maintenance**: Change one pattern, update all services\r\n\r\nPerfect for:\r\n- \ud83d\ude80 Microservice configurations (service \u00d7 environment combinations)\r\n- \u2699\ufe0f Infrastructure as Code templates\r\n- \ud83d\udcca Performance monitoring setups\r\n- \ud83d\udd27 DevOps automation scripts\r\n\r\n## Architecture\r\n\r\n```\r\nstrataregula/ # Core Library (v0.2.0)\r\n\u251c\u2500\u2500 core/ # Core pattern expansion engine\r\n\u2502 \u251c\u2500\u2500 compiler.py # High-performance pattern compiler\r\n\u2502 \u251c\u2500\u2500 config_compiler.py # Main compilation with plugin integration\r\n\u2502 \u251c\u2500\u2500 pattern_expander.py # Enhanced pattern expansion with hooks\r\n\u2502 \u2514\u2500\u2500 compatibility.py # Environment compatibility checking\r\n\u251c\u2500\u2500 plugins/ # Plugin system (v0.2.0)\r\n\u2502 \u251c\u2500\u2500 manager.py # Plugin lifecycle management\r\n\u2502 \u251c\u2500\u2500 base.py # Plugin base classes\r\n\u2502 \u251c\u2500\u2500 config.py # Configuration management\r\n\u2502 \u251c\u2500\u2500 samples/ # Sample plugin implementations\r\n\u2502 \u2514\u2500\u2500 hooks.py # Hook point definitions\r\n\u251c\u2500\u2500 cli/ # Command-line interface\r\n\u2502 \u251c\u2500\u2500 main.py # Main CLI with diagnostics\r\n\u2502 \u2514\u2500\u2500 compile_command.py # Compilation with visualization\r\n\u2514\u2500\u2500 data/ # Data sources and hierarchy definitions\r\n```\r\n\r\n**Note**: Editor integration (LSP, VS Code) developed in separate repositories:\r\n- `strataregula-lsp/` - Language Server Protocol implementation \r\n- `strataregula-vscode/` - VS Code extension\r\n\r\n## Plugin System (v0.2.0)\r\n\r\nThe plugin system allows extending pattern expansion with custom logic through 5 hook points:\r\n\r\n### Basic Plugin Example\r\n\r\n```python\r\nfrom strataregula.plugins.base import PatternPlugin\r\n\r\nclass TimestampPlugin(PatternPlugin):\r\n def can_handle(self, pattern: str) -> bool:\r\n return '@timestamp' in pattern\r\n \r\n def expand(self, pattern: str, context) -> dict:\r\n from datetime import datetime\r\n timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')\r\n expanded_pattern = pattern.replace('@timestamp', timestamp)\r\n return {expanded_pattern: context.get('default_value', 1.0)}\r\n```\r\n\r\n### Advanced Hook Integration\r\n\r\n```python\r\nfrom strataregula.plugins.base import HookPlugin\r\n\r\nclass LoggingPlugin(HookPlugin):\r\n async def pre_compilation(self, **kwargs):\r\n print(f\"Starting compilation of {kwargs['traffic_file']}\")\r\n \r\n async def compilation_complete(self, **kwargs):\r\n print(f\"Compilation completed in {kwargs['duration']:.2f}s\")\r\n```\r\n\r\n### Plugin Management\r\n\r\n```bash\r\n# Enable/disable plugins programmatically\r\nfrom strataregula.core.config_compiler import ConfigCompiler\r\n\r\n# With plugins (default)\r\ncompiler = ConfigCompiler(use_plugins=True)\r\n\r\n# Without plugins for performance\r\ncompiler = ConfigCompiler(use_plugins=False)\r\n```\r\n\r\n### Available Sample Plugins\r\n- **`TimestampPlugin`**: Replace `@timestamp` with formatted dates\r\n- **`EnvironmentPlugin`**: Expand `$ENV_VAR` environment variables \r\n- **`PrefixPlugin`**: Add configurable prefixes to patterns\r\n- **`ConditionalPlugin`**: Pattern expansion with conditional logic\r\n- **`TransformPlugin`**: Custom data transformations during expansion\r\n- **`MetricsPlugin`**: Performance monitoring and metrics collection\r\n\r\nSee [PLUGIN_DEVELOPMENT.md](PLUGIN_DEVELOPMENT.md) for detailed development guide.\r\n\r\n## CLI Reference (v0.2.0)\r\n\r\n### Basic Compilation\r\n```bash\r\n# Simple compilation\r\nstrataregula compile --traffic config.yaml\r\n\r\n# With custom output format\r\nstrataregula compile --traffic config.yaml --format json\r\n\r\n# With prefecture hierarchy\r\nstrataregula compile --traffic services.yaml --prefectures regions.yaml\r\n```\r\n\r\n### Advanced Features\r\n```bash\r\n# Config visualization - see what StrataRegula generated\r\nstrataregula compile --traffic config.yaml --dump-compiled-config --dump-format tree\r\n\r\n# Available dump formats: json, yaml, python, table, tree\r\nstrataregula compile --traffic config.yaml --dump-compiled-config --dump-format json > output.json\r\n\r\n# Environment diagnostics\r\nstrataregula doctor # Basic compatibility check\r\nstrataregula doctor --verbose # Detailed environment info\r\nstrataregula doctor --fix-suggestions # Get help fixing issues\r\n\r\n# Examples and help\r\nstrataregula examples # Show usage examples\r\nstrataregula --help # Command help\r\n```\r\n\r\n### Configuration Visualization Formats\r\n\r\n**Tree Format** - Hierarchical view:\r\n```\r\nservices/\r\n\u251c\u2500\u2500 web/\r\n\u2502 \u251c\u2500\u2500 frontend.response: 200ms\r\n\u2502 \u2514\u2500\u2500 backend.response: 300ms \r\n\u2514\u2500\u2500 api/\r\n \u251c\u2500\u2500 v1.timeout: 30s\r\n \u2514\u2500\u2500 v2.timeout: 45s\r\n```\r\n\r\n**Table Format** - Structured data:\r\n```\r\n| Pattern | Value | Type |\r\n|---------------------|-------|---------| \r\n| web.frontend.response| 200 | service |\r\n| api.v1.timeout | 30 | config |\r\n```\r\n\r\n## Performance\r\n\r\nBased on testing with the current implementation:\r\n\r\n- **Pattern Expansion**: ~100,000-400,000 patterns per second\r\n- **Memory Usage**: Efficient processing with streaming support for large datasets\r\n- **Plugin Overhead**: <5% performance impact with plugin system enabled\r\n- **Compilation**: Fast compilation for typical configuration sizes (1-10MB)\r\n- **Hook Processing**: Minimal latency for hook point execution\r\n\r\nNote: Performance varies based on pattern complexity, plugin usage, and system resources.\r\n\r\n## Development\r\n\r\n### Setup\r\n\r\n```bash\r\ngit clone https://github.com/yourusername/strataregula.git\r\ncd strataregula\r\npip install -e \".[dev]\"\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\npytest tests/\r\n```\r\n\r\n### Plugin Development\r\n\r\nSee `PLUGIN_DEVELOPMENT.md` for detailed plugin development guide with examples and best practices.\r\n\r\n## Project Status\r\n\r\n### Core Library (This Repository)\r\n- **v0.1.1**: Core pattern expansion engine with CLI interface\r\n- **v0.2.0**: \u2705 **Production Ready** - Complete plugin system with 5 hook points\r\n - Plugin architecture (1,758 lines, 28 classes) \r\n - Config visualization (`--dump-compiled-config`)\r\n - Environment diagnostics (`strataregula doctor`)\r\n - Enhanced performance monitoring\r\n - 87% test coverage, enterprise-grade quality\r\n\r\n### Related Projects (Separate Repositories)\r\n- **strataregula-lsp**: Language Server Protocol implementation (in development)\r\n- **strataregula-vscode**: VS Code extension for YAML editing support (in development)\r\n\r\n**Note**: LSP and VS Code integration are developed separately and not included in v0.2.0 release.\r\n\r\n### Migration from v0.1.x\r\n\r\nv0.2.0 is **fully backward compatible**. Existing configurations work unchanged.\r\n\r\n**New capabilities:**\r\n- Plugin system can be disabled: `ConfigCompiler(use_plugins=False)`\r\n- Enhanced CLI with visualization options\r\n- Better error handling and diagnostics\r\n- Optional performance monitoring\r\n\r\n**Performance notes:**\r\n- Plugin system adds <5% overhead when enabled\r\n- Can be disabled for maximum performance in production\r\n- All v0.1.x features remain at full speed\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please see our contributing guidelines for details on submitting pull requests, reporting issues, and development setup.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Support\r\n\r\n- **Issues**: [GitHub Issues](https://github.com/yourusername/strataregula/issues)\r\n- **Documentation**: Available in the repository docs/ folder\r\n\r\n---\r\n\r\n**StrataRegula v0.2.0** - Enterprise-ready pattern expansion with plugin extensibility.\r\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Layered Configuration Management with Strata Rules Architecture",
"version": "0.3.0",
"project_urls": {
"Bug Tracker": "https://github.com/strataregula/strataregula/issues",
"Changelog": "https://github.com/strataregula/strataregula/blob/main/CHANGELOG.md",
"Discussions": "https://github.com/strataregula/strataregula/discussions",
"Documentation": "https://strataregula.readthedocs.io/",
"Homepage": "https://github.com/strataregula/strataregula",
"Performance Benchmarks": "https://strataregula.github.io/strataregula/benchmark.html",
"Repository": "https://github.com/strataregula/strataregula"
},
"split_keywords": [
"yaml",
" configuration",
" pattern",
" compiler",
" expansion",
" infrastructure",
" automation",
" cli",
" streaming",
" pipe",
" strata",
" layered",
" hierarchical",
" rules",
" engine"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0a9453ae6afa145162f69af296a7d9df1f152396f8bd493d0afd887200d32578",
"md5": "97e02e7e61845cfb06080a5ddbe66bdf",
"sha256": "ed8944f1092aaa5c6320ca599c9970dd1c4582e1a130d1964fef6607ffcabf7c"
},
"downloads": -1,
"filename": "strataregula-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "97e02e7e61845cfb06080a5ddbe66bdf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "==3.11.*",
"size": 112767,
"upload_time": "2025-08-29T15:24:03",
"upload_time_iso_8601": "2025-08-29T15:24:03.415887Z",
"url": "https://files.pythonhosted.org/packages/0a/94/53ae6afa145162f69af296a7d9df1f152396f8bd493d0afd887200d32578/strataregula-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4005769482830838e669e467fe5e1772908b98a0b8639b54f250cfd2c1c47201",
"md5": "d33f57e6d8ea1a555237110fa6284980",
"sha256": "ff64dc09c03ccb10d1a44cf84fee9407ead4c5c58e0621c6640f6770ff7ab678"
},
"downloads": -1,
"filename": "strataregula-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "d33f57e6d8ea1a555237110fa6284980",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "==3.11.*",
"size": 173772,
"upload_time": "2025-08-29T15:24:04",
"upload_time_iso_8601": "2025-08-29T15:24:04.687701Z",
"url": "https://files.pythonhosted.org/packages/40/05/769482830838e669e467fe5e1772908b98a0b8639b54f250cfd2c1c47201/strataregula-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-29 15:24:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "strataregula",
"github_project": "strataregula",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "PyYAML",
"specs": [
[
">=",
"6.0"
]
]
}
],
"lcname": "strataregula"
}