Gearpy

Latest version: v1.1.0

Safety actively analyzes 702684 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.5.0

This release contains:

- Development:
- create `Current` and `Angle` units
- add units format method and possibility to calculate the opposite of a unit
- add `electric_current` and `pwm` properties and time variables to `DCMotor`
- update `Transmission` and `Solver` to manage `electric_current` and `pwm` properties
- edit `Transmission.snapshot` to select variables to be printed
- add multiple simulation concatenation feature
- add simulation result reset through `Transmission.reset`
- create DC motor animation function
- create `PWMControl` to control `DCMotor`'s `pwm`
- edit `Solver` to integrate motor control
- create `AbsoluteRotaryEncoder` and `Tachometer` sensors
- create basic rules to control `DCMotor`'s `pwm`
- Tests:
- update `external_torque` tests
- update tests according to `eletric_current` and `pwm` modifications
- update tests according to `Transmission` and `Solver` last modifications
- add `DCMotor` animation tests
- add `Angle` and `Current` tests
- add `AbsoluteRotaryEncoder` and `Tachometer` tests
- add motor control basic rules tests
- improve composite strategies tests
- Maintenance:
- fix some typo in documentation and tests
- Enhancement:
- improved `external_torque` input checks
- add check in `Transmission.snapshot` on `target_time` parameter value outside simulation limits
- complete type hinting
- simplify `DCMotor.compute_torque`'s formula
- `DCMotor.compute_torque` assigns computed value to `driving_torque` and returns `None`
- move simulation parameter from `Solver` instantiation to `Solver.run` method
- improve error messages
- Bug:
- fix bug on simulation final time step
- fix bug on `Solver` operation order
- remove `Transmission.snapshot` `NaN`s
- Documentation:
- add documentation for new units
- add documentation for new `DCMotor` properties
- update `Transmission` and `Solver` documentation
- add `DCMotor` animation documentation
- add sensors documentation
- add rules documentation
- add PWM control documentation
- add more usage examples for new features

0.4.0

This release contains:

- Development:
- create `Length`, `Force`, `Surface` and `Stress` units
- add `module`, `reference_diameter`, `lewis_factor`, `face_width`, `elastic_modulus`, `tangential_force`, `bending_stress`, `contact_stress`, `tangential_force_is_computable`, `bending_stress_is_computable`, `contact_stress_is_computable` and `mating_role` properties to `SpurGear`
- add `compute_tangential_force`, `compute_bending_stress`, `compute_contact_stress` methods to `SpurGear`
- allow units absolute value computation
- allow mating between gears only if they have the same `module`
- update `Solver` to compute forces and stresses
- update `Transmission.snapshot` and `Transmission.plot` to deal with new forces and stresses time variables
- Tests:
- add tests for new units `Length`, `Force`, `Surface` and `Stress`
- update `SpurGear` tests according to new properties and methods
- update `Transmission` tests
- update `Solver` tests
- update `utils` tests
- Enhancement:
- move general units operators to abstract base class
- Documentation:
- fix installation documentation link
- update dependencies documentation
- fix docstrings vocabulary
- add documentation pages for new `SpurGear` properties and methods
- update first usage example
- add second usage example
- Releasing:
- move dependencies in specific separate files
- update dependencies

0.3.0

This release contains:

- Development:
- create mechanical object `Flywheel`
- `Transmission` accept only mechanical objects with unique names
- move `time` property from `Solver` to `Transmission`
- add method `Transmission.snapshot` to get a snapshot of the mechanical transmission status at a specific time
- add method `Transmission.plot` to plot the time variables of the mechanical transmission elements
- add more available units
- Tests:
- add tests for `Flywheel`
- add tests for `Transmission.snapshot`
- add test for `Transmission.plot`
- reorganized tests folder
- limit test data range to avoid overflow errors
- Enhancement:
- simplify package structure
- Documentation:
- add docstrings
- add installation instructions
- add Usage Example documentation
- improve type hinting
- update main `README.md`
- Releasing:
- add `matplotlib`, `numpy` and `scipy` dependencies
- update `requirements.txt` file
- update `setup.py` file

0.2.0

This release contains:

- Development:
- create base class `UnitBase`
- create Unit classes `AngularPosition`, `AngularSpeed`, `AngularAcceleration`, `InertiaMoment`, `Torque`, `Time` and `TimeInterval`
- add operators to combine and compare classes based on `UnitBase`
- Tests:
- create tests for classes based on `UnitBase`
- update existing tests to deal with new `UnitBase` API
- Maintenance:
- Fix some typos
- Improve error messages
- Documentation:
- update main `README.md`
- create `CONTRIBUTING` file, pull request, bug report and feature request templates
- create documentation structure
- change documentation theme
- Releasing:
- update `setup.py` file

0.1.0

This release contains:

- Development:
- create base classes `MechanicalObject`, `RotatingObject`, `MotorBase` and `GearBase`
- create basic mechanical objects as `DCMotor` and `SpurGear`, based on `MotorBase` and `GearBase` respectively
- create class `Transmission` to compose the trasmission chain from the driving motor to the last driven gear
- create class `Solver` to compute time variables for each object in a transmission chain
- add `angle`, `speed`, `acceleration`, `torque`, `driving_torque`, `load_torque` time variables
- add relational properties `drives` and `driven_by`
- add `inertia` property
- add functions to link together rotating objects
- add gear mating ratio and efficiency
- add `DCMotor` driving torque computation
- add `GearBase` external torque custom function to define an external torque depending on `angle`, `speed` and `time`
- Tests:
- create tox configuration
- create GitHub workflow to run tests on push and pull-request
- create tests to cover every class methods, including input checks
- Documentation:
- create a very basic documentation to be loaded on Read The Docs
- Releasing:
- add a license
- create main `README.md`
- create `setup.py` file
- create GitHub workflow to publish on PyPI on new release creation

Page 2 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.