Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
[0.4.1] - 2021-07-11¶
Added¶
The legend in
visualizer.py
is back!Documentation published to GitHub pages! It is contained in the
docs/
folder.setup.cfg
now include links to the website.
Changed¶
Examples moved from
pylinkage/examples/
todocs/examples/
.Tests moved from
pylinkage/tests/
totests/
.
[0.4.0] - 2021-07-06¶
Added¶
The
bounding_box
method of geometry allow to compute the bounding box of a finite set of 2D points.You can now customize colors of linkage’s bars with the
COLOR_SWITCHER
variable ofvisualizer.py
.movement_bounding_box
invisualizer.py
to get the bounding box of multiple loci.parameters
is optional intrials_and_errors_optimization
(formerexhaustive_optimization
)pylinkage/tests/test_optimizer.py
for testing the optimizers, but it is a bit ugly as for now.Flake8 validation in
tox.ini
Fixed¶
set_num_constraints
inLinkage
was misbehaving due to update 0.3.0.Cost history is no longer plotted automatically after a PSO.
Changed¶
exhaustive_optimization
is now known astrials_and_errors_optimizattion
.Axis on linkage visualization are now named “x” and “y”, and no longer “Points abcsices” and “Ordinates”.
A default view of the linkage is displayed in
plot_static_linkage
.Default padding in linkage representation was changed from an absolute value of 0.5 to a relative 20%.
Static view of linkage is now aligned with its kinematic one.
get_pos
method ofLinkage
is now known asget_coords
for consistency.Parameters renamed, reorganized and removed in
particle_swarm_optimization
to align to PySwarms.README.md
updated consequently to the changes.
Removed¶
Legacy built-in Particle Swarm Optimization, to avoid confusions.
We do no longer show a default legend on static representation.
[0.3.0] - 2021-07-05¶
Added¶
Joint
objects now have aget_constraints
method, consistent with theirset_constraints
one.Linkage
now has aget_num_constraints
method as synctactic sugar.Code vulnerabilities checker
Walktrough example has been expanded and now seems to be complete.
Changed¶
Linkage
’s methodset_num_constraints
behaviour changed! You should now addflat=False
to come back to the previous behaviour.pylinkage/examples/fourbar_linkage.py
expanded and finished.The
begin
parameter ofarticle_swarm_optimization
is no longer mandatory.linkage.get_num_constraints()
will be used ifbegin
is not provided.More flexible package version in
environment.yml
Output file name now is now formatted as “Kinematic {linkage.name}” in
plot_kinematic_linkage
function ofpylinkage/visualizer.py
Python 3.6 is no longer tested in
tox.ini
. Python 3.9 is now tested.
Fixed¶
When linkage animation was saved, last frames were often missing in
pylinkage/visualizer.py
, functionplot_kinematic_linkage
.
[0.2.2] - 2021-06-22¶
Added¶
More continuous integrations workflows for multiple Python versions.
Fixed¶
README.md
could not be seen in PyPi.Various types
[0.2.1] - 2021-06-16¶
Added¶
swarm_tiled_repr
function forpylinkage/visualizer.py
, for vizualisation of PySwarms.EXPERIMENTAL!
hyperstaticity
methodLinkage
’s hyperstaticity calculation.
Changed¶
pylinkage/exception.py
now handles exceptions in another file.Documentation improvements.
Python style improvements.
.gitignore
now modifed from the standard GitHub gitignore example for Python.
Fixed¶
circle
method ofPivot
inpylinkage/linkage.py
. was causing errorstox.ini
now fixed.
[0.2.0] - 2021-06-14¶
Added¶
pylinkage/vizualizer.py
view your linkages using matplotlib!Issue templates in
.github/ISSUE_TEMPLATE/
.github/workflows/python-package-conda.yml
: conda tests with unittest workflowCODE_OF_CONDUCT.md
MANIFEST.in
README.md
environment.yml
setup.cfg
now replacessetup.py
tox.ini
CHANGELOG.md
Changed¶
.gitignore
Python Package specific extensions addedMIT License
→LICENSE
lib/
→pylinkage/
tests/
→pylinkage/tests/
Revamped package organization.
Cleared
setup.py
[0.0.1] - 2021-06-12¶
Added¶
lib/geometry.py
as a mathematical for kinematic optimizationlib/linkage.py
, linkage builderlib/optimizer.py
, with Particle Swarm Optimization (built-in and PySwarms), and exhaustiveMIT License
requirements.txt
setup.py
tests/__init__.py
tests/test_geometry.py
tests/test_linkage.py
.gitignore