# ๐๏ธ Fylax - Smart File Organization Utility
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://github.com/JohnTocci/Fylax)
**Fylax** is an intelligent file organization tool that automatically sorts your files into structured folders based on customizable rules. Whether you're dealing with a cluttered Downloads folder or organizing years of documents, Fylax makes file management effortless with its intuitive GUI and powerful automation features.
## โจ Key Features
### ๐ฏ **Smart Organization**
- **Extension-based Rules**: Automatically sort files by type (.pdf โ Documents/PDFs)
- **Advanced Pattern Matching**: Organize by filename patterns (invoice_*.pdf โ Invoices)
- **Date-based Sorting**: Archive old files by date (files older than 1 year โ Archive/2023/March)
- **Size-based Filtering**: Handle large files differently (files > 1GB โ Large Files)
### ๐ **Enhanced Preview & Control**
- **Interactive Dry-Run**: Preview all changes before applying them
- **Selective Organization**: Choose exactly which files to move/copy
- **Tree View**: Visual representation of proposed file structure
- **One-Click Undo**: Safely revert any organization operation
### ๐ง **Powerful Management**
- **Profile System**: Multiple rule sets for different scenarios (Work, Personal, etc.)
- **Duplicate Detection**: Find and handle duplicate files intelligently
- **Drag & Drop**: Simply drag folders onto the app to select them
- **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux
### ๐ก๏ธ **Safety First**
- **Protected Files**: Automatically skips system and application files
- **Conflict Resolution**: Smart handling of naming conflicts
- **Operation Logging**: Complete audit trail of all file operations
- **Backup Integration**: Safe organization with full rollback capability
---
## ๐ Quick Start
### ๐ฆ Installation
#### Option 1: Using pip (Recommended)
```bash
pip install fylax
fylax
```
#### Option 2: From Source
```bash
# Clone the repository
git clone https://github.com/JohnTocci/Fylax.git
cd Fylax
# Install dependencies
pip install -r requirements.txt
# Run the application
python src/fylax/gui.py
```
#### Option 3: Windows Executable
Download the latest `.exe` file from the [Releases](https://github.com/JohnTocci/Fylax/releases) page and run directly.
### ๐ฎ Basic Usage
1. **Launch Fylax** using one of the methods above
2. **Select a folder** to organize (or drag & drop it onto the app)
3. **Choose your settings**:
- Enable dry-run mode to preview changes
- Select move or copy operation
- Choose whether to include subfolders
4. **Click "Organize"** and watch your files get sorted!
---
## โ๏ธ Configuration
Fylax uses a `config.json` file to define organization rules. You can edit this file directly or use the built-in GUI editor.
### ๐ Basic Rules (Extension-based)
Perfect for simple file type organization:
```json
{
"rules": {
".pdf": "Documents/PDFs",
".jpg": "Images/Photos",
".jpeg": "Images/Photos",
".png": "Images/Screenshots",
".mp4": "Videos",
".mp3": "Audio/Music",
".zip": "Archives",
".exe": "Software"
}
}
```
### ๐ฏ Advanced Rules
For more sophisticated organization needs:
```json
{
"advanced_rules": [
{
"type": "filename_pattern",
"pattern": "invoice_*.pdf",
"destination": "Business/Invoices"
},
{
"type": "filename_pattern",
"pattern": "vacation_2024_*",
"destination": "Photos/Vacation 2024"
},
{
"type": "date",
"condition": "older_than_days",
"value": 365,
"destination": "Archive/{{year}}/{{month}}"
},
{
"type": "size",
"condition": "larger_than_mb",
"value": 1024,
"destination": "Large Files"
}
]
}
```
### ๐ Rule Types Reference
| Rule Type | Description | Example |
|-----------|-------------|---------|
| `filename_pattern` | Match files by name pattern | `screenshot_*.png` |
| `date` | Organize by file age | Files older than 1 year |
| `size` | Sort by file size | Files larger than 100MB |
| `extension` | Basic file type sorting | `.pdf` โ Documents |
### ๐ญ Profile System
Create different rule sets for different scenarios:
```json
{
"active_profile": "work",
"profiles": {
"work": {
"rules": {
".pdf": "Work/Documents",
".xlsx": "Work/Spreadsheets"
}
},
"personal": {
"rules": {
".jpg": "Personal/Photos",
".mp3": "Personal/Music"
}
}
}
}
```
---
## ๐ผ๏ธ Screenshots
### Main Interface

### Dry-Run Preview

### Duplicate Detection

---
## ๐ง Advanced Usage
### ๐ฆ Building Executables
Create a standalone Windows executable:
```bash
# Install PyInstaller
pip install pyinstaller
# Build single-file executable
pyinstaller --noconfirm --windowed --onefile \
--name Fylax \
--icon assets/app.ico \
--add-data "assets;assets" \
src/fylax/gui.py
```
The executable will be created in the `dist/` folder.
### ๐ Python API
Use Fylax programmatically in your own scripts:
```python
from fylax.main import organize_folder
# Organize a folder with custom settings
result = organize_folder(
folder_path="/path/to/messy/folder",
profile_name="default",
mode="move", # or "copy"
dry_run=False,
include_subfolders=True,
unknown_destination="Misc"
)
print(f"Organized {result['moved']} files")
```
### ๐ Duplicate File Management
```python
from fylax.main import find_duplicate_files, handle_duplicates
# Find duplicates
duplicates = find_duplicate_files(
folder_path="/path/to/folder",
min_size_mb=1 # Skip files smaller than 1MB
)
# Handle duplicates automatically
handle_duplicates(
duplicates,
action="move", # "move", "delete", or "skip"
destination="Duplicates",
keep_criteria="shortest_path" # or "longest_path", "first_found"
)
```
---
## ๐ Safety & Security
Fylax is designed with safety as a top priority:
- **Protected Extensions**: Automatically skips system files (`.exe`, `.dll`, `.sys`, etc.)
- **Dangerous Path Detection**: Blocks organization of system directories
- **Hidden File Handling**: Respects hidden file attributes across platforms
- **Operation Logging**: Complete audit trail for all file operations
- **Undo Functionality**: One-click rollback for recent operations
### ๐ซ Protected File Types
The following file types are never moved to prevent system damage:
- Executables: `.exe`, `.dll`, `.sys`, `.msi`
- System files: `.ini`, `.lnk`, `.bat`, `.cmd`
- Application bundles: `.app`, `.msix`, `.appx`
---
## ๐ ๏ธ Development
### ๐๏ธ Setup Development Environment
```bash
# Clone repository
git clone https://github.com/JohnTocci/Fylax.git
cd Fylax
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -r requirements.txt
pip install -e .
# Run in development mode
python src/fylax/gui.py
```
### ๐งช Running Tests
```bash
# Run all tests
python -m pytest tests/
# Run with coverage
python -m pytest tests/ --cov=fylax
```
### ๐ Code Style
This project uses:
- **Black** for code formatting
- **isort** for import sorting
- **flake8** for linting
- **mypy** for type checking
```bash
# Format code
black fylax/
isort fylax/
# Check style
flake8 fylax/
mypy fylax/
```
---
## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
### ๐ Bug Reports
Found a bug? Please [open an issue](https://github.com/JohnTocci/Fylax/issues) with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- System information (OS, Python version)
### ๐ก Feature Requests
Have an idea? We'd love to hear it! [Create a feature request](https://github.com/JohnTocci/Fylax/issues) with:
- Clear description of the feature
- Use case and benefits
- Proposed implementation (if any)
---
## ๐ง Troubleshooting
### Common Issues
**Q: Error about `customtkinter` not found**
```bash
pip install customtkinter>=5.2.2
```
**Q: GUI looks odd on high-DPI screens**
- Try switching Appearance to "System" or "Light" in the app settings
**Q: Files not organizing as expected**
- Check your rules in `config.json` for syntax errors
- Ensure destination folders don't conflict with source folders
- Enable dry-run mode to preview the organization
**Q: Application won't start**
- Ensure Python 3.8+ is installed
- Verify all dependencies are installed: `pip install -r requirements.txt`
- Check for error messages in the console
### ๐ Getting Help
- ๐ Check our [Wiki](https://github.com/JohnTocci/Fylax/wiki) for detailed guides
- ๐ฌ [Open a discussion](https://github.com/JohnTocci/Fylax/discussions) for questions
- ๐ [Report bugs](https://github.com/JohnTocci/Fylax/issues) for technical issues
---
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ค Author
**John Tocci**
- ๐ Website: [johntocci.com](https://johntocci.com)
- ๐ง Email: [john@johntocci.com](mailto:john@johntocci.com)
- ๐ GitHub: [@JohnTocci](https://github.com/JohnTocci)
---
## ๐ Acknowledgments
- Thanks to all contributors who have helped improve Fylax
- Built with [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter) for the modern GUI
- Icons provided by the community
---
โญ **If you find Fylax helpful, please consider giving it a star on GitHub!**
[๐ Back to top](#-fylax---smart-file-organization-utility)
Raw data
{
"_id": null,
"home_page": null,
"name": "fylax",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "file-organization, automation, file-management, gui, desktop-app",
"author": null,
"author_email": "John Tocci <john@johntocci.com>",
"download_url": "https://files.pythonhosted.org/packages/e2/62/da614ae3770047dcaac04fbc7636ac4b6411d88f103d46a466a2f87c800b/fylax-1.0.1.tar.gz",
"platform": null,
"description": "# \ud83d\uddc2\ufe0f Fylax - Smart File Organization Utility\n\n[](https://opensource.org/licenses/MIT)\n[](https://www.python.org/downloads/)\n[](https://github.com/JohnTocci/Fylax)\n\n**Fylax** is an intelligent file organization tool that automatically sorts your files into structured folders based on customizable rules. Whether you're dealing with a cluttered Downloads folder or organizing years of documents, Fylax makes file management effortless with its intuitive GUI and powerful automation features.\n\n## \u2728 Key Features\n\n### \ud83c\udfaf **Smart Organization**\n- **Extension-based Rules**: Automatically sort files by type (.pdf \u2192 Documents/PDFs)\n- **Advanced Pattern Matching**: Organize by filename patterns (invoice_*.pdf \u2192 Invoices)\n- **Date-based Sorting**: Archive old files by date (files older than 1 year \u2192 Archive/2023/March)\n- **Size-based Filtering**: Handle large files differently (files > 1GB \u2192 Large Files)\n\n### \ud83d\udd0d **Enhanced Preview & Control**\n- **Interactive Dry-Run**: Preview all changes before applying them\n- **Selective Organization**: Choose exactly which files to move/copy\n- **Tree View**: Visual representation of proposed file structure\n- **One-Click Undo**: Safely revert any organization operation\n\n### \ud83d\udd27 **Powerful Management**\n- **Profile System**: Multiple rule sets for different scenarios (Work, Personal, etc.)\n- **Duplicate Detection**: Find and handle duplicate files intelligently\n- **Drag & Drop**: Simply drag folders onto the app to select them\n- **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux\n\n### \ud83d\udee1\ufe0f **Safety First**\n- **Protected Files**: Automatically skips system and application files\n- **Conflict Resolution**: Smart handling of naming conflicts\n- **Operation Logging**: Complete audit trail of all file operations\n- **Backup Integration**: Safe organization with full rollback capability\n\n---\n\n## \ud83d\ude80 Quick Start\n\n### \ud83d\udce6 Installation\n\n#### Option 1: Using pip (Recommended)\n```bash\npip install fylax\nfylax\n```\n\n#### Option 2: From Source\n```bash\n# Clone the repository\ngit clone https://github.com/JohnTocci/Fylax.git\ncd Fylax\n\n# Install dependencies\npip install -r requirements.txt\n\n# Run the application\npython src/fylax/gui.py\n```\n\n#### Option 3: Windows Executable\nDownload the latest `.exe` file from the [Releases](https://github.com/JohnTocci/Fylax/releases) page and run directly.\n\n### \ud83c\udfae Basic Usage\n\n1. **Launch Fylax** using one of the methods above\n2. **Select a folder** to organize (or drag & drop it onto the app)\n3. **Choose your settings**:\n - Enable dry-run mode to preview changes\n - Select move or copy operation\n - Choose whether to include subfolders\n4. **Click \"Organize\"** and watch your files get sorted!\n\n---\n\n## \u2699\ufe0f Configuration\n\nFylax uses a `config.json` file to define organization rules. You can edit this file directly or use the built-in GUI editor.\n\n### \ud83d\udcc1 Basic Rules (Extension-based)\n\nPerfect for simple file type organization:\n\n```json\n{\n \"rules\": {\n \".pdf\": \"Documents/PDFs\",\n \".jpg\": \"Images/Photos\", \n \".jpeg\": \"Images/Photos\",\n \".png\": \"Images/Screenshots\",\n \".mp4\": \"Videos\",\n \".mp3\": \"Audio/Music\",\n \".zip\": \"Archives\",\n \".exe\": \"Software\"\n }\n}\n```\n\n### \ud83c\udfaf Advanced Rules\n\nFor more sophisticated organization needs:\n\n```json\n{\n \"advanced_rules\": [\n {\n \"type\": \"filename_pattern\",\n \"pattern\": \"invoice_*.pdf\",\n \"destination\": \"Business/Invoices\"\n },\n {\n \"type\": \"filename_pattern\", \n \"pattern\": \"vacation_2024_*\",\n \"destination\": \"Photos/Vacation 2024\"\n },\n {\n \"type\": \"date\",\n \"condition\": \"older_than_days\",\n \"value\": 365,\n \"destination\": \"Archive/{{year}}/{{month}}\"\n },\n {\n \"type\": \"size\",\n \"condition\": \"larger_than_mb\", \n \"value\": 1024,\n \"destination\": \"Large Files\"\n }\n ]\n}\n```\n\n### \ud83d\udccb Rule Types Reference\n\n| Rule Type | Description | Example |\n|-----------|-------------|---------|\n| `filename_pattern` | Match files by name pattern | `screenshot_*.png` |\n| `date` | Organize by file age | Files older than 1 year |\n| `size` | Sort by file size | Files larger than 100MB |\n| `extension` | Basic file type sorting | `.pdf` \u2192 Documents |\n\n### \ud83c\udfad Profile System\n\nCreate different rule sets for different scenarios:\n\n```json\n{\n \"active_profile\": \"work\",\n \"profiles\": {\n \"work\": {\n \"rules\": {\n \".pdf\": \"Work/Documents\",\n \".xlsx\": \"Work/Spreadsheets\"\n }\n },\n \"personal\": {\n \"rules\": {\n \".jpg\": \"Personal/Photos\",\n \".mp3\": \"Personal/Music\"\n }\n }\n }\n}\n```\n\n---\n\n## \ud83d\uddbc\ufe0f Screenshots\n\n### Main Interface\n\n\n### Dry-Run Preview\n\n\n### Duplicate Detection\n\n\n---\n\n## \ud83d\udd27 Advanced Usage\n\n### \ud83d\udce6 Building Executables\n\nCreate a standalone Windows executable:\n\n```bash\n# Install PyInstaller\npip install pyinstaller\n\n# Build single-file executable\npyinstaller --noconfirm --windowed --onefile \\\n --name Fylax \\\n --icon assets/app.ico \\\n --add-data \"assets;assets\" \\\n src/fylax/gui.py\n```\n\nThe executable will be created in the `dist/` folder.\n\n### \ud83d\udc0d Python API\n\nUse Fylax programmatically in your own scripts:\n\n```python\nfrom fylax.main import organize_folder\n\n# Organize a folder with custom settings\nresult = organize_folder(\n folder_path=\"/path/to/messy/folder\",\n profile_name=\"default\",\n mode=\"move\", # or \"copy\"\n dry_run=False,\n include_subfolders=True,\n unknown_destination=\"Misc\"\n)\n\nprint(f\"Organized {result['moved']} files\")\n```\n\n### \ud83d\udd0d Duplicate File Management\n\n```python\nfrom fylax.main import find_duplicate_files, handle_duplicates\n\n# Find duplicates\nduplicates = find_duplicate_files(\n folder_path=\"/path/to/folder\",\n min_size_mb=1 # Skip files smaller than 1MB\n)\n\n# Handle duplicates automatically\nhandle_duplicates(\n duplicates,\n action=\"move\", # \"move\", \"delete\", or \"skip\"\n destination=\"Duplicates\",\n keep_criteria=\"shortest_path\" # or \"longest_path\", \"first_found\"\n)\n```\n\n---\n\n## \ud83d\udd12 Safety & Security\n\nFylax is designed with safety as a top priority:\n\n- **Protected Extensions**: Automatically skips system files (`.exe`, `.dll`, `.sys`, etc.)\n- **Dangerous Path Detection**: Blocks organization of system directories\n- **Hidden File Handling**: Respects hidden file attributes across platforms\n- **Operation Logging**: Complete audit trail for all file operations\n- **Undo Functionality**: One-click rollback for recent operations\n\n### \ud83d\udeab Protected File Types\n\nThe following file types are never moved to prevent system damage:\n- Executables: `.exe`, `.dll`, `.sys`, `.msi`\n- System files: `.ini`, `.lnk`, `.bat`, `.cmd`\n- Application bundles: `.app`, `.msix`, `.appx`\n\n---\n\n## \ud83d\udee0\ufe0f Development\n\n### \ud83c\udfd7\ufe0f Setup Development Environment\n\n```bash\n# Clone repository\ngit clone https://github.com/JohnTocci/Fylax.git\ncd Fylax\n\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\n\n# Install development dependencies\npip install -r requirements.txt\npip install -e .\n\n# Run in development mode\npython src/fylax/gui.py\n```\n\n### \ud83e\uddea Running Tests\n\n```bash\n# Run all tests\npython -m pytest tests/\n\n# Run with coverage\npython -m pytest tests/ --cov=fylax\n```\n\n### \ud83d\udcdd Code Style\n\nThis project uses:\n- **Black** for code formatting\n- **isort** for import sorting \n- **flake8** for linting\n- **mypy** for type checking\n\n```bash\n# Format code\nblack fylax/\nisort fylax/\n\n# Check style\nflake8 fylax/\nmypy fylax/\n```\n\n---\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.\n\n### \ud83d\udc1b Bug Reports\n\nFound a bug? Please [open an issue](https://github.com/JohnTocci/Fylax/issues) with:\n- Clear description of the problem\n- Steps to reproduce\n- Expected vs actual behavior\n- System information (OS, Python version)\n\n### \ud83d\udca1 Feature Requests\n\nHave an idea? We'd love to hear it! [Create a feature request](https://github.com/JohnTocci/Fylax/issues) with:\n- Clear description of the feature\n- Use case and benefits\n- Proposed implementation (if any)\n\n---\n\n## \ud83d\udd27 Troubleshooting\n\n### Common Issues\n\n**Q: Error about `customtkinter` not found**\n```bash\npip install customtkinter>=5.2.2\n```\n\n**Q: GUI looks odd on high-DPI screens**\n- Try switching Appearance to \"System\" or \"Light\" in the app settings\n\n**Q: Files not organizing as expected**\n- Check your rules in `config.json` for syntax errors\n- Ensure destination folders don't conflict with source folders\n- Enable dry-run mode to preview the organization\n\n**Q: Application won't start**\n- Ensure Python 3.8+ is installed\n- Verify all dependencies are installed: `pip install -r requirements.txt`\n- Check for error messages in the console\n\n### \ud83d\udcde Getting Help\n\n- \ud83d\udcd6 Check our [Wiki](https://github.com/JohnTocci/Fylax/wiki) for detailed guides\n- \ud83d\udcac [Open a discussion](https://github.com/JohnTocci/Fylax/discussions) for questions\n- \ud83d\udc1b [Report bugs](https://github.com/JohnTocci/Fylax/issues) for technical issues\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\udc64 Author\n\n**John Tocci**\n- \ud83c\udf10 Website: [johntocci.com](https://johntocci.com)\n- \ud83d\udce7 Email: [john@johntocci.com](mailto:john@johntocci.com)\n- \ud83d\udc19 GitHub: [@JohnTocci](https://github.com/JohnTocci)\n\n---\n\n## \ud83d\ude4f Acknowledgments\n\n- Thanks to all contributors who have helped improve Fylax\n- Built with [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter) for the modern GUI\n- Icons provided by the community\n\n---\n\n\u2b50 **If you find Fylax helpful, please consider giving it a star on GitHub!**\n\n[\ud83d\udd1d Back to top](#-fylax---smart-file-organization-utility)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A smart file organization utility that automatically sorts files into structured folders based on customizable rules",
"version": "1.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/JohnTocci/Fylax/issues",
"Changelog": "https://github.com/JohnTocci/Fylax/blob/main/CHANGELOG.md",
"Discussions": "https://github.com/JohnTocci/Fylax/discussions",
"Documentation": "https://github.com/JohnTocci/Fylax#readme",
"Homepage": "https://github.com/JohnTocci/Fylax",
"Repository": "https://github.com/JohnTocci/Fylax"
},
"split_keywords": [
"file-organization",
" automation",
" file-management",
" gui",
" desktop-app"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b61a970ed3e985e57b2264e129cdb1f3001e1fb2d335fe60547e9119269c5e2c",
"md5": "64f3ccbca9ceb6351bae8ff8fc5ce93a",
"sha256": "f34a6b9fc7e893f127a6d2da4cb6c4590d7279e3dc224c847a46da3628600389"
},
"downloads": -1,
"filename": "fylax-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "64f3ccbca9ceb6351bae8ff8fc5ce93a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30701,
"upload_time": "2025-08-31T16:23:52",
"upload_time_iso_8601": "2025-08-31T16:23:52.487683Z",
"url": "https://files.pythonhosted.org/packages/b6/1a/970ed3e985e57b2264e129cdb1f3001e1fb2d335fe60547e9119269c5e2c/fylax-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e262da614ae3770047dcaac04fbc7636ac4b6411d88f103d46a466a2f87c800b",
"md5": "66c10cfaab926052caa31ea6582d460e",
"sha256": "021455f691a9f7c2fd791ab96f9479e4934a1bca7249ced78553d3138df23f8d"
},
"downloads": -1,
"filename": "fylax-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "66c10cfaab926052caa31ea6582d460e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 35890,
"upload_time": "2025-08-31T16:23:53",
"upload_time_iso_8601": "2025-08-31T16:23:53.596378Z",
"url": "https://files.pythonhosted.org/packages/e2/62/da614ae3770047dcaac04fbc7636ac4b6411d88f103d46a466a2f87c800b/fylax-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-31 16:23:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JohnTocci",
"github_project": "Fylax",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "customtkinter",
"specs": [
[
"==",
"5.2.2"
]
]
},
{
"name": "darkdetect",
"specs": [
[
"==",
"0.8.0"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"25.0"
]
]
}
],
"lcname": "fylax"
}