Skip to content

Releases: AndreaBlengino/gearpy

v1.0.0

13 Apr 15:25
682db65
Compare
Choose a tag to compare

This release contains:

  • Documentation:
    • add dependencies badge
    • prevent ReadTheDocs to build the documentation without a valid release tag
  • Maintenance:
    • fix downcasting object pandas warning
  • Bug:
    • fix bug in tox.ini markers
  • Release:
    • update Python version dependency
    • review dependencies versions

v0.7.2

11 Apr 09:12
74ab936
Compare
Choose a tag to compare

This release contains:

  • Tests:
    • make workflow building more robust
  • Enhancement:
    • remove requirements files
    • remore requirements reference from .readthedocs.yaml and tox.ini
  • Bug:
    • split package building in order to avoid invalid versions

v0.7.1

10 Apr 18:26
3956a89
Compare
Choose a tag to compare

This release contains:

  • Tests:
    • update Github test workflows in order to test also package building
    • update building tools in test workflows
  • Maintenance:
    • update author email
    • remove unused type hinting
  • Enhancement:
    • update tupe hinting from __future__
  • Bug:
    • include data .csv files in package building
  • Release:
    • create a pyproject.toml file
    • update building tools in release workflow

v0.7.0

09 Apr 19:55
e9c5697
Compare
Choose a tag to compare

This release contains:

  • Development:
    • create StopCondition
    • edit Solver to handle StopCondition
    • create Amperometer sensor
    • create function and Powertrain method to export computed time variables
  • Tests:
    • add StopCondition tests
    • add Amperometer tests
    • add time variables export function tests
    • update existing tests
    • split GitHub workflows for different OS
  • Maintenance:
    • fix some typos in documentation
    • remove unused variables
  • Enhancement:
    • move simulation parameters from Solver instantiation to Solver.run method
    • make private some attributes of Solver, PWMControl and rules
  • Bug:
    • fix bug in WormGear.tangential_force computation
    • fix bug in Powertrain.plot label visualization
  • Documentation:
    • fix documentation broken links
    • add StopCondition documentation
    • add Amperometer documentation
    • add export function and method documentation
    • add StopCondition and Amperometer usage example
    • add contribution to front page
    • add time variables examport usage example
    • update existing usage examples
    • resize usage example images to improve readability
    • replace directives with Sphinx admonitions
    • add cross-reference links
    • remove private attribute documentation
    • add Lewis factor table
    • refractor badges
    • update test workflows' badges
    • convert README.md in README.rst

v0.6.0

18 Mar 22:26
f84d076
Compare
Choose a tag to compare

This release contains:

  • Development:
    • create Timer sensor
    • create ConstantPWM rule to control a DCMotor at a constant pwm
    • create HelicalGear, WormGear and WormWheel rotating objects
    • create Current and Angle units
    • update utilities to handle HelicalGear, WormGear and WormWheel
    • add trigonometric methods to Angle and AngularPosition
    • add self-locking property to Powertrain
    • edit Solver to handle self-locking property
  • Tests:
    • add Timer tests
    • add ConstantPWM tests
    • add HelicalGear, WormGear and WormWheel tests
    • update utilities tests
    • update Powertrain tests
    • update Solver tests
    • move common test to slave and gear folders
    • remove redundant composite strategies
    • remove test deadlines
  • Maintenance:
    • fix some typos in tests and documentation
  • Enhancement:
    • make rules' attributes read-only properties
    • rename Transmission to Powertrain
    • move mechanical objects to separate files
    • move rules to separate files
    • move sensors to separate files
    • update tests structure according to code re-organization
    • convert float pressure_angle to Angle instance
    • remove redundant abstract methods
    • improve legend in stress Powertrain.plot
  • Bug:
    • fix bug on load torque computation not taking into account mating efficiency
  • Documentation:
    • add cross reference links to usage examples
    • add rules' properties documentation
    • add Timer documentation
    • add ConstantPWM documentation
    • add HelicalGear, WormGear and WormWheel documentation
    • add trigonometric methods documentation
    • update usage examples
    • add new utilities documentation
    • add link to example code in documentation
    • add worm and helical gear usage example in documentation
    • add multiple simulation concatenation usage example in documentation
    • add logo
  • Release:
    • extend support to Python 3.12

v0.5.0

21 Jan 21:07
91d2b6f
Compare
Choose a tag to compare

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 NaNs
  • 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

v0.4.0

18 Nov 14:02
7411352
Compare
Choose a tag to compare

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

v0.3.0

28 Oct 18:13
c9a6950
Compare
Choose a tag to compare

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

v0.2.0

14 Oct 18:14
728d33a
Compare
Choose a tag to compare

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

v0.1.0

08 Oct 17:15
Compare
Choose a tag to compare

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