# PyMerDoc - Mermaid Documentation Tools
A modern documentation toolkit built with PyQt6 that combines Mermaid diagram support with animated GIF creation capabilities. Perfect for creating technical documentation, tutorials, and animated diagrams.


## Screenshots
### Main Documentation Interface

Create and edit documentation with live Mermaid diagram previews.
### GIF Builder Tool

Convert image sequences to animated GIFs for documentation.
### Mermaid Converter

Convert Mermaid syntax to various diagram formats.
## Features
### Main Application (pymerdoc)
- Real-time preview of Mermaid diagrams
- Export diagrams to PNG/SVG
- Modern cyberpunk-themed interface
- Theme support (Light/Dark/System)
- File management capabilities
### GIF Maker (pymerdoc-gm)
- Convert PNG sequences to animated GIFs
- Customizable background colors
- Adjustable frame delay
- Drag-and-drop frame reordering
- Preview functionality
### Mermaid Converter (pymerdoc-mc)
- Standalone Mermaid diagram converter
- Multiple export formats
- Batch processing capabilities
- Custom styling options
## Installation
### From PyPI (Recommended)
```bash
pip install pymerdoc
```
### From Source
```bash
git clone https://github.com/scottpeterman/pymerdoc.git
cd pymerdoc
pip install -e .
```
## Usage
### Running the Applications
1. Main Documentation Tool:
```bash
pymerdoc
# or
python -m pymerdoc.main
```
2. GIF Builder:
```bash
pymerdoc-gm
# or
python -m pymerdoc.gm
```
3. Mermaid Converter:
```bash
pymerdoc-mc
# or
python -m pymerdoc.mc
```
### Creating Mermaid Diagrams
1. Open the main application
2. Enter your Mermaid syntax:
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[OK]
B -->|No| D[Cancel]
```
3. Preview updates in real-time
4. Export to desired format
### Creating Animated GIFs
1. Launch the GIF Builder:
```bash
pymerdoc-gm
```
2. Add PNG files using the "Add Files" button
3. Adjust frame order and timing
4. Set background color if needed
5. Click "Generate GIF" to create animation
## Requirements
- Python 3.8+
- PyQt6 6.8.0+
- PyQt6-WebEngine 6.8.0+
- Pillow 11.0.0+
- Additional dependencies listed in requirements.txt
## Configuration
The application stores configuration in platform-specific locations:
- Windows: `%APPDATA%/pymerdoc/`
- Linux: `~/.config/pymerdoc/`
- macOS: `~/Library/Application Support/pymerdoc/`
## Development Setup
1. Create virtual environment:
```bash
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
```
2. Install development dependencies:
```bash
pip install -r requirements.txt
```
3. Run tests:
```bash
pytest tests/
```
## Project Structure
```
pymerdoc/
├── docs/ # Documentation and screenshots
├── pymerdoc/ # Main package
│ ├── main.py # Main application
│ ├── gm.py # GIF maker
│ ├── mc.py # Mermaid converter
│ └── theme_manager.py # Theme handling
└── tests/ # Test suite
```
## Contributing
1. Fork the repository
2. Create your feature branch
```bash
git checkout -b feature/AmazingFeature
```
3. Commit your changes
```bash
git commit -m 'Add some AmazingFeature'
```
4. Push to the branch
```bash
git push origin feature/AmazingFeature
```
5. Open a Pull Request
## Testing
Run the test suite:
```bash
pytest tests/
```
## License
This project is licensed under the GNU General Public License v3 (GPLv3) - see the [LICENSE](LICENSE) file for details.
## Contact
Project Link: [https://github.com/scottpeterman/pymerdoc](https://github.com/scottpeterman/pymerdoc)
## Acknowledgments
- Mermaid.js for diagram rendering
- PyQt6 for the application framework
- All our contributors and users
## Release Notes
### 0.1.0
- Initial release
- Basic Mermaid diagram support
- GIF creation tool
- Mermaid converter utility
Raw data
{
"_id": null,
"home_page": "https://github.com/scottpeterman/pymerdoc",
"name": "pymerdoc",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Scott Peterman",
"author_email": "scottpeterman@example.com",
"download_url": null,
"platform": null,
"description": "# PyMerDoc - Mermaid Documentation Tools\r\n\r\nA modern documentation toolkit built with PyQt6 that combines Mermaid diagram support with animated GIF creation capabilities. Perfect for creating technical documentation, tutorials, and animated diagrams.\r\n\r\n\r\n\r\n\r\n## Screenshots\r\n\r\n### Main Documentation Interface\r\n\r\nCreate and edit documentation with live Mermaid diagram previews.\r\n\r\n### GIF Builder Tool\r\n\r\n\r\nConvert image sequences to animated GIFs for documentation.\r\n\r\n### Mermaid Converter\r\n\r\n\r\nConvert Mermaid syntax to various diagram formats.\r\n\r\n## Features\r\n\r\n### Main Application (pymerdoc)\r\n- Real-time preview of Mermaid diagrams\r\n- Export diagrams to PNG/SVG\r\n- Modern cyberpunk-themed interface\r\n- Theme support (Light/Dark/System)\r\n- File management capabilities\r\n\r\n### GIF Maker (pymerdoc-gm)\r\n- Convert PNG sequences to animated GIFs\r\n- Customizable background colors\r\n- Adjustable frame delay\r\n- Drag-and-drop frame reordering\r\n- Preview functionality\r\n\r\n### Mermaid Converter (pymerdoc-mc)\r\n- Standalone Mermaid diagram converter\r\n- Multiple export formats\r\n- Batch processing capabilities\r\n- Custom styling options\r\n\r\n## Installation\r\n\r\n### From PyPI (Recommended)\r\n```bash\r\npip install pymerdoc\r\n```\r\n\r\n### From Source\r\n```bash\r\ngit clone https://github.com/scottpeterman/pymerdoc.git\r\ncd pymerdoc\r\npip install -e .\r\n```\r\n\r\n## Usage\r\n\r\n### Running the Applications\r\n\r\n1. Main Documentation Tool:\r\n```bash\r\npymerdoc\r\n# or\r\npython -m pymerdoc.main\r\n```\r\n\r\n2. GIF Builder:\r\n```bash\r\npymerdoc-gm\r\n# or\r\npython -m pymerdoc.gm\r\n```\r\n\r\n3. Mermaid Converter:\r\n```bash\r\npymerdoc-mc\r\n# or\r\npython -m pymerdoc.mc\r\n```\r\n\r\n### Creating Mermaid Diagrams\r\n\r\n1. Open the main application\r\n2. Enter your Mermaid syntax:\r\n```mermaid\r\ngraph TD\r\n A[Start] --> B{Decision}\r\n B -->|Yes| C[OK]\r\n B -->|No| D[Cancel]\r\n```\r\n3. Preview updates in real-time\r\n4. Export to desired format\r\n\r\n### Creating Animated GIFs\r\n\r\n1. Launch the GIF Builder:\r\n```bash\r\npymerdoc-gm\r\n```\r\n2. Add PNG files using the \"Add Files\" button\r\n3. Adjust frame order and timing\r\n4. Set background color if needed\r\n5. Click \"Generate GIF\" to create animation\r\n\r\n## Requirements\r\n\r\n- Python 3.8+\r\n- PyQt6 6.8.0+\r\n- PyQt6-WebEngine 6.8.0+\r\n- Pillow 11.0.0+\r\n- Additional dependencies listed in requirements.txt\r\n\r\n## Configuration\r\n\r\nThe application stores configuration in platform-specific locations:\r\n- Windows: `%APPDATA%/pymerdoc/`\r\n- Linux: `~/.config/pymerdoc/`\r\n- macOS: `~/Library/Application Support/pymerdoc/`\r\n\r\n## Development Setup\r\n\r\n1. Create virtual environment:\r\n```bash\r\npython -m venv .venv\r\nsource .venv/bin/activate # Linux/macOS\r\n.venv\\Scripts\\activate # Windows\r\n```\r\n\r\n2. Install development dependencies:\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n3. Run tests:\r\n```bash\r\npytest tests/\r\n```\r\n\r\n## Project Structure\r\n```\r\npymerdoc/\r\n\u251c\u2500\u2500 docs/ # Documentation and screenshots\r\n\u251c\u2500\u2500 pymerdoc/ # Main package\r\n\u2502 \u251c\u2500\u2500 main.py # Main application\r\n\u2502 \u251c\u2500\u2500 gm.py # GIF maker\r\n\u2502 \u251c\u2500\u2500 mc.py # Mermaid converter\r\n\u2502 \u2514\u2500\u2500 theme_manager.py # Theme handling\r\n\u2514\u2500\u2500 tests/ # Test suite\r\n```\r\n\r\n## Contributing\r\n\r\n1. Fork the repository\r\n2. Create your feature branch\r\n```bash\r\ngit checkout -b feature/AmazingFeature\r\n```\r\n3. Commit your changes\r\n```bash\r\ngit commit -m 'Add some AmazingFeature'\r\n```\r\n4. Push to the branch\r\n```bash\r\ngit push origin feature/AmazingFeature\r\n```\r\n5. Open a Pull Request\r\n\r\n## Testing\r\n\r\nRun the test suite:\r\n```bash\r\npytest tests/\r\n```\r\n\r\n## License\r\n\r\nThis project is licensed under the GNU General Public License v3 (GPLv3) - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Contact\r\n\r\nProject Link: [https://github.com/scottpeterman/pymerdoc](https://github.com/scottpeterman/pymerdoc)\r\n\r\n## Acknowledgments\r\n\r\n- Mermaid.js for diagram rendering\r\n- PyQt6 for the application framework\r\n- All our contributors and users\r\n\r\n## Release Notes\r\n\r\n### 0.1.0\r\n- Initial release\r\n- Basic Mermaid diagram support\r\n- GIF creation tool\r\n- Mermaid converter utility\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A tool for creating and managing Mermaid diagrams with modern UI",
"version": "0.2.0",
"project_urls": {
"Bug Reports": "https://github.com/scottpeterman/pymerdoc/issues",
"Homepage": "https://github.com/scottpeterman/pymerdoc",
"Source": "https://github.com/scottpeterman/pymerdoc"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "33fa0195e4f2fe4622c47a41343e556be0f9c03d0b0a24a1a2a498e20d2ace9b",
"md5": "fd9a70e6630b14a8d683b4804cb9454a",
"sha256": "1fb10a59c67f2aebd1cba6607fd2640916c0b674965ba20d351514cbc45d71cd"
},
"downloads": -1,
"filename": "pymerdoc-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fd9a70e6630b14a8d683b4804cb9454a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16829,
"upload_time": "2024-12-28T03:26:50",
"upload_time_iso_8601": "2024-12-28T03:26:50.527208Z",
"url": "https://files.pythonhosted.org/packages/33/fa/0195e4f2fe4622c47a41343e556be0f9c03d0b0a24a1a2a498e20d2ace9b/pymerdoc-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-28 03:26:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "scottpeterman",
"github_project": "pymerdoc",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "colorama",
"specs": [
[
">=",
"0.4.6"
]
]
},
{
"name": "exceptiongroup",
"specs": [
[
">=",
"1.2.2"
]
]
},
{
"name": "importlib_metadata",
"specs": [
[
">=",
"8.5.0"
]
]
},
{
"name": "iniconfig",
"specs": [
[
">=",
"2.0.0"
]
]
},
{
"name": "Markdown",
"specs": [
[
">=",
"3.7"
]
]
},
{
"name": "packaging",
"specs": [
[
">=",
"24.2"
]
]
},
{
"name": "pillow",
"specs": [
[
">=",
"11.0.0"
]
]
},
{
"name": "pluggy",
"specs": [
[
">=",
"1.5.0"
]
]
},
{
"name": "PyQt6",
"specs": [
[
">=",
"6.8.0"
]
]
},
{
"name": "PyQt6-Qt6",
"specs": [
[
">=",
"6.8.1"
]
]
},
{
"name": "PyQt6-WebEngine",
"specs": [
[
">=",
"6.8.0"
]
]
},
{
"name": "PyQt6-WebEngine-Qt6",
"specs": [
[
">=",
"6.8.1"
]
]
},
{
"name": "PyQt6_sip",
"specs": [
[
">=",
"13.9.1"
]
]
},
{
"name": "pytest",
"specs": [
[
">=",
"8.3.4"
]
]
},
{
"name": "pytest-qt",
"specs": [
[
">=",
"4.4.0"
]
]
},
{
"name": "tomli",
"specs": [
[
">=",
"2.2.1"
]
]
},
{
"name": "zipp",
"specs": [
[
">=",
"3.21.0"
]
]
}
],
"lcname": "pymerdoc"
}