Skip to main content

GearMaster - Complete Engineering Analysis Suite

Python Version License Status

A comprehensive Python-based engineering platform for mechanical systems simulation, CAD operations, FEA analysis, hydraulic systems modeling, and signal processing. Built with both programmatic and visual programming interfaces.

🎯 Overview

GearMaster is a professional-grade engineering suite designed for:

  • 🔧 Mechanical Component Analysis - Fasteners, bearings, gears, shafts
  • 🏗️ Structural Analysis - FEA with Ansys DPF integration, cross-section properties
  • 💧 Hydraulic Systems Modeling - Cylinders, motors, valves, manifolds
  • 📊 Signal Processing - Time-series analysis, FFT, filtering, data analysis
  • 🎨 CAD Operations - Geometric modeling and manipulation
  • 📈 Data Management - Multi-format data handling (CSV, Excel, HDF5)

Core Features

  • Dual Interface Model

    • Programmatic: Direct Python API via GM_modules for automation and scripting
    • Visual: Node-based visual programming via GM_Visual for interactive workflows
  • 3D Analysis & Visualization

    • HEXA8 finite element support
    • Rotation-invariant strain energy calculations
    • Ansys DPF/PyDPF integration for result processing
  • Material Library

    • Comprehensive material property database
    • Metric and SAE fastener specifications
    • Pre-configured material profiles
  • Extensible Architecture

    • Modular design with 11 specialized engineering modules
    • Plugin-ready node system for visual programming
    • Clean separation of concerns

🏗️ Architecture Overview

GM_modules - Core Engineering Libraries

What it is: The programmatic foundation of GearMaster. A collection of 11 specialized Python modules providing direct APIs for engineering calculations and operations.

Use Cases:

  • Automated batch analysis scripts
  • Integration with other Python tools/frameworks
  • Custom simulation workflows
  • CI/CD pipelines and testing

Available Modules:

Module Purpose Key Classes/Functions
Data Multi-format data management (CSV, Excel, HDF5, JSON) DataManager, MultiColumn
Signals Time-series processing, FFT, filtering, analysis TimeSeriesConverter, TimeSeriesGenerator, DfTm, DsTm
Mechanical Fastener specs, bearing properties, gear calculations Fasteners, Bearings, MaterialSpecifications
Structures FEA, cross-section properties, structural analysis FEA Core, Cross-Section Solver, SWA (Strain-based Analysis)
Materials Material property database, specifications MaterialLibrary, PropertyCalculations
Hydraulic Hydraulic component modeling Cylinders, Motors, Valves, Manifolds
Fea Finite Element Analysis framework Mesh utilities, Element definitions, Solvers
Cad CAD geometry operations Geometric primitives, Boolean operations
pyAnsys Ansys/PyDPF integration DPF Core, DPF Post-processing, Result parsing
Meshless Meshless numerical methods Meshless algorithms, Geometry utilities
GUIs Reusable GUI components Custom widgets, dialog templates

Example Usage:

from GM_modules.Signals import TimeSeriesGenerator, DfTm
from GM_modules.Data import DataManager
from GM_modules.Structures import FEA

# Create time series data
gen = TimeSeriesGenerator()
signal = gen.create_sine_wave(frequency=50, amplitude=1.0, duration=10)

# Manage data
dm = DataManager()
dm.import_data(signal)

# Analyze structure
fea = FEA()
results = fea.analyze_beam(length=1.0, load=1000)

GM_Visual - Node-Based Visual Programming System

What it is: An interactive visual programming interface built on GM_modules. Use drag-and-drop nodes to create complex engineering workflows without writing code.

Use Cases:

  • Interactive analysis and exploration
  • Non-programmer engineers creating workflows
  • Educational demonstrations
  • Rapid prototyping of analysis pipelines

Key Features:

  • Node Canvas: Drag-and-drop node-based programming
  • Node Library: Pre-built nodes for all GM_modules functions
  • Project Management: Save/load workflows as .gmvproj files
  • Live Execution: Execute workflows with real-time result visualization
  • CustomTkinter UI: Modern, responsive interface
  • Debug Terminal: In-app logging and error tracking

Node Categories:

  • Data Input/Output nodes
  • Signal Processing nodes
  • FEA/Structural Analysis nodes
  • Mechanical Component nodes
  • Material Property nodes
  • Hydraulic System nodes
  • Visualization nodes
  • Custom nodes (extensible)

Example Workflow:

[CSV Loader] → [Time-Series Generator] → [FFT Analysis] → [Plot Results]

Launch:

python -m GM_Visual.main
# or
python GM_Visual/main.py

📦 Installation

From PyPI (When Published)

# Core installation
pip install gearmaster

# With Ansys DPF support
pip install gearmaster[ansys]

# With visual programming interface
pip install gearmaster[visual]

# Complete installation
pip install gearmaster[visual,ansys,data]

From Source (Development)

git clone https://github.com/simoneluce/GearMaster.git
cd GearMaster

# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode with all features
pip install -e ".[visual,ansys,data,dev]"

Requirements

  • Python: 3.9 or higher
  • Core Dependencies: NumPy, Pandas, SciPy, Matplotlib
  • Optional: Ansys DPF (for pyAnsys and Structures modules)

🚀 Quick Start

Using GM_modules (Programmatic)

# Import a module
from GM_modules.Signals import TimeSeriesGenerator, DfTm
from GM_modules.Materials import MaterialLibrary

# Create engineering objects
time_gen = TimeSeriesGenerator()
mat_lib = MaterialLibrary()

# Access functionality
signal = time_gen.create_sine_wave(freq=10, duration=5)
steel = mat_lib.get_material("Steel_AISI_1045")

print(f"Signal length: {len(signal)}")
print(f"Steel yield: {steel.yield_strength} MPa")

Using GM_Visual (Interactive)

# Start the visual programming interface
python -m GM_Visual.main

# Then in the GUI:
# 1. Create New Project
# 2. Drag nodes from right panel to canvas
# 3. Connect nodes by dragging pins
# 4. Click Run → Run All to execute workflow
# 5. View results in execution terminal

📚 Project Structure

GearMaster/
├── GM_modules/              # Core engineering libraries
│   ├── Signals/            # Signal processing & time-series
│   ├── Structures/         # FEA and structural analysis
│   ├── Mechanical/         # Mechanical components
│   ├── Materials/          # Material properties
│   ├── Hydraulic/          # Hydraulic systems
│   ├── Data/               # Data management
│   ├── Cad/                # CAD operations
│   ├── Fea/                # FEA framework
│   ├── pyAnsys/            # Ansys DPF integration
│   ├── Meshless/           # Meshless methods
│   └── GUIs/               # GUI components
│
├── GM_Visual/               # Visual programming system
│   ├── src/                # Source code
│   │   ├── nodes/          # Node definitions
│   │   ├── canvas/         # Canvas implementation
│   │   ├── core/           # Core systems
│   │   └── ...
│   ├── tests/              # Test suite
│   ├── main.py             # Application entry point
│   └── requirements.txt     # Visual-specific deps
│
├── docs/                    # Documentation (mkdocs)
├── tests/                   # Integration tests
├── pyproject.toml           # Python packaging config
├── requirements.txt         # All dependencies
└── README.md                # This file

🔄 Differences: GM_modules vs GM_Visual

Aspect GM_modules GM_Visual
Interface Python API (programmatic) GUI (node-based)
Usage Code-driven automation Drag-and-drop workflows
Target User Programmers, Engineers, Researchers Engineers, Analysts
Extensibility Easy - add Python functions Moderate - create custom nodes
Performance Native Python speed Slight overhead from GUI
Dependency Stack Lightweight core Requires CustomTkinter
Data Flow Direct function calls Visual connections (pins)
Debugging Python debuggers, logging Built-in terminal, node debugging
Version Lock Version 0.102.1 Version 0.7.7
Learning Curve Python knowledge required Visual intuition required

When to Use What

Choose GM_modules when:

  • ✅ Automating repetitive analysis tasks
  • ✅ Integrating with other Python libraries
  • ✅ Building production pipelines
  • ✅ Requiring maximum performance
  • ✅ You're comfortable with Python

Choose GM_Visual when:

  • ✅ Exploring data interactively
  • ✅ Prototyping workflows quickly
  • ✅ Team includes non-programmers
  • ✅ Teaching engineering concepts
  • ✅ Need visual feedback on workflows

🧪 Testing

# Run all tests
pytest

# Run tests for specific module
pytest tests/ GM_modules/Signals/tests/

# With coverage report
pytest --cov=GM_modules --cov-report=html

Tests follow pytest conventions with test_*.py files.


📖 Documentation

Full documentation available via MkDocs:

# Install docs dependencies
pip install gearmaster[docs]

# Serve documentation locally
mkdocs serve

# Build static docs
mkdocs build

Visit docs/ for detailed module documentation, tutorials, and API reference.


🤝 Contributing

We welcome contributions! Before starting work on a new module:

⚠️ Please contact the owner before starting a new module or making major changes.

  1. Create a feature branch from develop
  2. Implement your changes following the repository style
  3. Add tests in the appropriate tests/ folder
  4. Update documentation in the corresponding docs/ folder
  5. Submit a pull request against develop branch

Coding Standards:

  • Python 3.9+ compatible
  • Use type hints where possible
  • Follow PEP 8 style guide
  • Document all public APIs
  • Include unit tests (pytest)

📋 Module Development Guide

Each module follows a standard structure:

ModuleName/
├── __init__.py              # Module exports
├── core.py                  # Main functionality
├── [other core files].py    
├── tests/                   # pytest test files
│   └── test_*.py
├── docs/                    # Module documentation
│   └── [module].md
└── version.py               # Version info

📝 License

MIT License - See LICENSE file for details.


👤 Author

Simone Lucertini


⚠️ Status

Current Version: 0.102.1
Status: Alpha (under active development)

This project is actively maintained. Features and APIs may change. For production use, pin to a specific version.


🔗 Related Projects

  • machinesim: Machine simulation framework
  • telematics: Telemetry and data logging system

📞 Support

  • 📧 Create an issue on GitHub for bug reports
  • 💬 Discussions for feature requests
  • 📖 Check documentation in docs/ folder

Happy analyzing! 🚀

Metadata

Release files for gearmaster 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gearmaster 0.2.0
File Size Uploaded
gearmaster-0.2.0.tar.gz 37.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gearmaster 0.2.0
File Interpreter ABI Platform
gearmaster-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 75.5 MB

Release files / gearmaster-0.2.0.tar.gz

Download URL gearmaster-0.2.0.tar.gz
Size 37.6 MB
Tags Source
SHA-256 checksum
How to use checksums
4004667e79661e6a9c5972de06179a99e7363a7281c8f0281fd5bd107b67a118
BLAKE2b-256 checksum
How to use checksums
2a0198cba6f70373c4f833e97ec318ff897bebf5d6876907d00892898b2e164d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 3, 2026.

Transparency log

Release files / gearmaster-0.2.0-py3-none-any.whl

Download URL gearmaster-0.2.0-py3-none-any.whl
Size 37.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
63ef35ab9bbbcccc85705ffd78af2e1d349d7bd0e6cd3b70a08c8cd7a6dfc745
BLAKE2b-256 checksum
How to use checksums
d36920c86ceca303473093dc2221ff7edcb414d3e791ba2b14a7853cc8df27eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page