{"id":28578432,"url":"https://github.com/powerappsdarren/power-platform-utility","last_synced_at":"2025-06-11T01:10:13.998Z","repository":{"id":297862248,"uuid":"998133646","full_name":"PowerAppsDarren/Power-Platform-Utility","owner":"PowerAppsDarren","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-08T00:11:00.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-08T00:29:09.681Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PowerAppsDarren.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-07T23:47:08.000Z","updated_at":"2025-06-08T00:11:05.000Z","dependencies_parsed_at":"2025-06-08T00:39:31.806Z","dependency_job_id":null,"html_url":"https://github.com/PowerAppsDarren/Power-Platform-Utility","commit_stats":null,"previous_names":["powerappsdarren/power-platform-utility"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerAppsDarren%2FPower-Platform-Utility","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerAppsDarren%2FPower-Platform-Utility/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerAppsDarren%2FPower-Platform-Utility/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerAppsDarren%2FPower-Platform-Utility/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PowerAppsDarren","download_url":"https://codeload.github.com/PowerAppsDarren/Power-Platform-Utility/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerAppsDarren%2FPower-Platform-Utility/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259178542,"owners_count":22817389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-11T01:10:11.591Z","updated_at":"2025-06-11T01:10:13.987Z","avatar_url":"https://github.com/PowerAppsDarren.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Power Platform Utility\n\nA modern Python GUI application built with PySide6 for interfacing with Power Platform environments using the PAC CLI (Power Platform CLI).\n\n## Features\n\n### 🚀 Core Functionality\n- **Environment Management**: Connect to and switch between Power Platform environments\n- **Solution Operations**: Import, export, and manage Power Platform solutions\n- **Authentication**: Secure authentication with Power Platform services\n- **Real-time Logging**: Comprehensive activity logging and monitoring\n\n### 🎨 Modern UI\n- **PySide6 Interface**: Professional, native-looking GUI\n- **Tabbed Navigation**: Organized workflow with multiple tabs\n- **Progress Indicators**: Visual feedback for long-running operations\n- **Responsive Design**: Adaptable layout for different screen sizes\n\n### 🔧 Advanced Features\n- **Background Processing**: Non-blocking operations using worker threads\n- **Configuration Management**: Customizable settings and preferences\n- **Error Handling**: Robust error management and user feedback\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n\n## Prerequisites\n\n### Required Software\n1. **Python 3.8+**: Download from [python.org](https://www.python.org/)\n2. **Power Platform CLI (PAC)**: Install from [Microsoft Docs](https://docs.microsoft.com/en-us/power-platform/developer/cli/introduction)\n\n### PAC CLI Installation\n```powershell\n# Install PAC CLI using PowerShell\nwinget install Microsoft.PowerPlatformCLI\n```\n\nOr download from the [official releases page](https://github.com/microsoft/powerplatform-build-tools).\n\n## Installation\n\n### 1. Clone the Repository\n```powershell\ngit clone https://github.com/powerplatformtools/power-platform-utility.git\ncd power-platform-utility\n```\n\n### 2. Create Virtual Environment\n```powershell\npython -m venv venv\n.\\venv\\Scripts\\Activate.ps1\n```\n\n### 3. Install Dependencies\n```powershell\npip install -r requirements.txt\n```\n\n### 4. Verify PAC CLI Installation\n```powershell\npac --version\n```\n\n## Usage\n\n### Starting the Application\n```powershell\n# From the project root directory\npython src/main.py\n```\n\n### First Time Setup\n1. **Launch the application**\n2. **Authenticate**: Click \"Authenticate\" to sign in to Power Platform\n3. **Refresh Environments**: Click \"Refresh\" to load your environments\n4. **Select Environment**: Choose an environment from the dropdown\n5. **Connect**: Click \"Connect\" to establish connection\n\n### Working with Solutions\n\n#### Viewing Solutions\n1. Navigate to the **Solutions** tab\n2. Click **Refresh** to load solutions from the connected environment\n3. View solution details in the table\n\n#### Exporting Solutions\n1. Go to the **Import/Export** tab\n2. Select a solution from the dropdown\n3. Choose export location\n4. Select export options (Managed/Unmanaged)\n5. Click **Export Solution**\n\n#### Importing Solutions\n1. Go to the **Import/Export** tab\n2. Browse and select a solution file (.zip)\n3. Configure import options\n4. Click **Import Solution**\n\n## Project Structure\n\n```\nPower-Platform-Utility/\n├── src/                    # Source code\n│   ├── main.py            # Application entry point\n│   ├── core/              # Core business logic\n│   │   ├── pac_cli.py     # PAC CLI wrapper\n│   │   └── environment.py # Environment management\n│   ├── ui/                # User interface\n│   │   └── main_window.py # Main application window\n│   └── utils/             # Utility functions\n│       └── helpers.py     # Helper functions\n├── config/                # Configuration files\n│   └── settings.json      # Application settings\n├── requirements.txt       # Python dependencies\n└── setup.py              # Package setup\n```\n\n## Configuration\n\nThe application uses `config/settings.json` for configuration:\n\n```json\n{\n    \"application\": {\n        \"name\": \"Power Platform Utility\",\n        \"version\": \"1.0.0\",\n        \"theme\": \"default\"\n    },\n    \"pac_cli\": {\n        \"timeout\": 30,\n        \"retry_attempts\": 3\n    },\n    \"ui\": {\n        \"window_width\": 1200,\n        \"window_height\": 800,\n        \"remember_size\": true,\n        \"remember_position\": true\n    },\n    \"logging\": {\n        \"level\": \"INFO\",\n        \"file_logging\": true\n    }\n}\n```\n\n## Development\n\n### Setting up Development Environment\n```powershell\n# Install development dependencies\npip install pytest black flake8\n\n# Run code formatting\nblack src/\n\n# Run linting\nflake8 src/\n\n# Run tests\npytest\n```\n\n### Building Executable\n```powershell\n# Install PyInstaller\npip install pyinstaller\n\n# Build executable\npyinstaller --windowed --onefile src/main.py --name \"PowerPlatformUtility\"\n```\n\n## Troubleshooting\n\n### Common Issues\n\n#### PAC CLI Not Found\n**Error**: `PAC CLI not installed or not accessible`\n**Solution**: \n1. Install PAC CLI using `winget install Microsoft.PowerPlatformCLI`\n2. Restart your terminal/IDE\n3. Verify with `pac --version`\n\n#### Authentication Issues\n**Error**: Authentication failures\n**Solution**:\n1. Clear browser cache\n2. Try `pac auth clear` followed by `pac auth create`\n3. Check network connectivity and proxy settings\n\n#### Environment Connection Issues\n**Error**: Failed to connect to environment\n**Solution**:\n1. Verify environment URL is correct\n2. Check user permissions for the environment\n3. Ensure proper authentication\n\n### Logging\nApplication logs are stored in:\n- **Console**: Real-time logging in the application\n- **File**: `logs/power_platform_utility.log`\n- **Detailed**: Available in the Logs tab\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/powerplatformtools/power-platform-utility/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/powerplatformtools/power-platform-utility/discussions)\n- **Documentation**: [Wiki](https://github.com/powerplatformtools/power-platform-utility/wiki)\n\n## Acknowledgments\n\n- Microsoft Power Platform team for the PAC CLI\n- Qt/PySide6 team for the excellent GUI framework\n- Python community for the amazing ecosystem\n\n\n## Project Structure\n\n\n```Text\nPower-Platform-Utility/\n├── src/\n│   ├── main.py              # Application entry point\n│   ├── ui/\n│   │   ├── __init__.py\n│   │   ├── main_window.py   # Main application window\n│   │   ├── dialogs/         # Various dialog windows\n│   │   └── widgets/         # Custom widgets\n│   ├── core/\n│   │   ├── __init__.py\n│   │   ├── pac_cli.py       # PAC CLI wrapper\n│   │   └── environment.py   # Environment management\n│   └── utils/\n│       ├── __init__.py\n│       └── helpers.py       # Utility functions\n├── requirements.txt\n├── setup.py\n└── config/\n    └── settings.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerappsdarren%2Fpower-platform-utility","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowerappsdarren%2Fpower-platform-utility","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerappsdarren%2Fpower-platform-utility/lists"}