3D Filament Manager

A desktop application for managing your 3D printing filament inventory. Keep track of materials, colors, usage, costs, and slicer settings in one place.
β¨ Features
- π Multi-Language Support: Available in English and Italian
- π¨ Modern UI: Clean interface with emoji icons and theme support (light/dark mode)
- π Comprehensive Filament Management:
- Store detailed filament information (brand, material, color, diameter, etc.)
- Track filament usage and remaining quantity
- Calculate material costs
- Price tracking and history
- Interactive price analysis with visualizations
- Vendor price comparison
- βοΈ Slicer Integration:
- Save and manage slicer profiles (Cura, PrusaSlicer, eQuidiSlicer)
- Custom print profiles for different printers
- π Advanced Search & Filtering:
- Search by any filament property
- Sort by any column
- Filter by material type, color, or custom tags
- π Import/Export:
- Backup and restore your filament library
- Share profiles with others
- Bulk import/export support
- π Data Security:
- Settings saved in
config/
directory
- No internet connection required
- Local data storage
π Requirements
- Python 3.8+
- Required packages (automatically installed):
lxml
- Fast XML processing
pillow
- Image processing for icons
matplotlib
- Data visualization for price analysis
π οΈ Installation
Prerequisites
- Python 3.8 or higher
- Git (optional, for development)
Installation Steps
-
Clone the repository (or download as ZIP):
git clone https://github.com/Nsfr750/3D_Filament_Manager.git
cd 3D_Filament_Manager
-
Create and activate a virtual environment (recommended):
# On Windows
python -m venv venv
.\venv\Scripts\activate
# On macOS/Linux
python3 -m venv venv
source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
Data Storage
- Filament profiles are stored in the
fdm/
directory
- Application settings are saved in the
config/
directory
- Logs are written to the
logs/
directory
π€ Contributing
We welcome contributions! Hereβs how you can help:
- Report bugs by opening an issue
- Suggest new features or improvements
- Submit pull requests with code changes
- Help improve documentation
- Translate the application to new languages
Development Setup
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add some amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
Code Style
- Follow PEP 8 guidelines
- Use type hints for better code clarity
- Write docstrings for all public functions and classes
π License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
π Support
If you find this project useful, consider supporting its development:
- GitHub: @Nsfr750
- Email: nsfr750@yandex.com
Support the Developer
If you find this application useful, please consider supporting the developer: