Skip to content

Tags: HugoFara/pylinkage

Tags

v0.5.3

Toggle v0.5.3's commit message
Regenerate documentation.

v0.5.2

Toggle v0.5.2's commit message
Beta version 0.5.2. Regular update.

[Added]
 - You can see the best score and best dimensions updating in
   ``trials_and_errors_optimization``.

[Changed]
 - The optimizers tests are 5 times quicker (~1 second now)  and raise less
   false positive.
 - The sidebar in the documentation make navigation easier.
 - A bit of reorganization in optimizers, it should not affect users.

v0.5.1

Toggle v0.5.1's commit message
Beta version 0.5.1.

This version mainly brings a progress during the trials and
errors optimization, which is useful enough to publish a
patch.

[Added]
 - The trials and errors optimization now have a progress bar (same kind of the one in particle swarm optimization), using the [tqdm](https://pypi.org/project/tqdm/).

[Changed]
 - [matplotlib](https://matplotlib.org/) and tqdm are now required.

v0.5.0

Toggle v0.5.0's commit message
Beta version 0.5.0!

End of alpha development! The package is now robust enough
to be used by a mere human. This version introduces a
lot of changes and simplifications, so everything is not
perfect yet, but it is complete enough to be considered
a beta version.

Git tags will no longer receive a "-alpha" mention.

[Added]
 - It is now possible and advised to import useful functions
from pylinkage.{object}, without full path. For instance,
use ``from pylinkage import Linkage`` instead of
``from pylinkage.linkage import Linkage``.
 - Each module had his header improved.
 - The ``generate_bounds`` functions is a simple way to
generate bounds before optimization.
 - The ``order_relation`` arguments of ``particle_swarm_optimization``
and ``trials_and_errors_optimization`` let you choose between
maximization and minimization problem.
 - You can specify a custom order relation with
``trials_and_errors_optimization``.
 - The ``verbose`` argument in optimizers can disable verbosity.
 - ``Static`` joints can now be defined implicitely.
 - The ``utility`` module provides two useful decarators
``kinematic_minimization`` and ``kinematic_optimizatino``.
They greatly simplify the workflow of defining fitness functions.
 - Versionning is now done thanks to bump2version.

[Changed]
 - The ``particle_swarm_optimization`` ``eval_func``
signature is now similar to
the one ot ``trials_and_errors`` optimization.
Wrappers are no longer needed!
 - The ``trials_and_errors_optimization`` function now asks
for bounds instead of dilatation and compression factors.
 - In ``trials_and_errors_optimization`` absolute step
``delta_dim`` is now replaced by number of subdivisions
``divisions``.

[Fixed]
 - After many hours of computations, default parameters
in ``particle_swarm_optimization`` are much more efficient.
With the demo ``fourbar_linkage``, the output wasn't
even convergent some times. Now we have a high convergence
rate (~100%), and results equivalent to the
``trials_and_errors_optimization`` (in the example).
 - ``variator`` function of ``optimizer`` module
was poorly working.
 - The docstrings were not displayed properly in
documentation, this is fixed.

v0.4.1-alpha

Toggle v0.4.1-alpha's commit message
Alpha version 0.4.1.

This version brings readable documentation with Sphinx.
It also restores the legend when linkage is drawn.

[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/`` to ``docs/examples/``.
 - Tests moved from ``pylinkage/tests/`` to ``tests/``.

v0.4.0-prerelease

Toggle v0.4.0-prerelease's commit message
Prerelease version 0.4.0.

This version includes more tests for optimizers,
visualization enhancements, and fix an important
bug introduced in 0.3.0.

Due to a problem in flake8 validation it is not
the PyPi version.

Complte changelog.
[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 of
``visualizer.py``.
 - ``movement_bounding_box`` in ``visualizer.py``
to get the bounding box of multiple loci.
 - ``parameters`` is optional in ``trials_and_errors_optimization``
(former ``exhaustive_optimization``)
 - ``pylinkage/tests/test_optimizer.py`` for
testing the optimizers, but it is a bit ugly
as for now.

[Fixed]
 - ``set_num_constraints`` in ``Linkage`` was
misbehaving due to update 0.3.0.
 - Cost history is no longer plotted
automatically after a PSO.

[Changed]
 - ``exhaustive_optimization`` is now known
as ``trials_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 of ``Linkage`` is now
known as ``get_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.

v0.4.0-alpha

Toggle v0.4.0-alpha's commit message
Alpha version 0.4.0.

This version includes more tests for optimizers,
visualization enhancements, and fix an important
bug introduced in 0.3.0.

Complete changelog.
[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 of
``visualizer.py``.
 - ``movement_bounding_box`` in ``visualizer.py``
to get the bounding box of multiple loci.
 - ``parameters`` is optional in ``trials_and_errors_optimization``
(former ``exhaustive_optimization``)
 - ``pylinkage/tests/test_optimizer.py`` for
testing the optimizers, but it is a bit ugly
as for now.
 - Flake 8 validation in tox.ini.

[Fixed]
 - ``set_num_constraints`` in ``Linkage`` was
misbehaving due to update 0.3.0.
 - Cost history is no longer plotted
automatically after a PSO.

[Changed]
 - ``exhaustive_optimization`` is now known
as ``trials_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 of ``Linkage`` is now
known as ``get_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.

v0.3.0-alpha

Toggle v0.3.0-alpha's commit message
This version introduces more syntactic sugar for optimization paramet…

…ers.

We also fixed  bug where animations were not saved entirely.

[Added]
 - ``Joint`` objects now have a ``get_constraints`` method, consistent with
their ``set_constraints`` one.
 - ``Linkage`` now has a ``get_num_constraints`` method.
 - Code vulnerabilities checker
 - Walktrough example has been expanded and now seems to be complete.

[Changed]
 - ``Linkage``'s method ``set_num_constraints`` behaviour changed!
You should now add ``flat=False`` to come back to the previous behaviour.
 - ``pylinkage/examples/fourbar_linkage.py`` expanded and finished.
 - The ``begin`` parameter of ``article_swarm_optimization`` is no longer
mandatory. ``linkage.get_num_constraints()`` will be used if ``begin`` 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 of ``pylinkage/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``, function ``plot_kinematic_linkage``.

v0.2.2-alpha

Toggle v0.2.2-alpha's commit message
Making life of users easier!

Expanded README.md with a walktrough.
Package has been uploaded to PyPi.
More tests, checks, etc...

v0.2.1-alpha

Toggle v0.2.1-alpha's commit message
PSO imrpovments and better package formatting.

DEPRECATED: the PSO legacy algorithm is now unused.
ADDED:
    - exceptions are now in a exceptions.py file.
    - PSO is now much more effective.
    - bounds can be specified for PSO.
    - PSO now uses random initial positions when bounds are specified.
    - hyperstaticity calculation in linkage.py (yet to be tested).
    - swarm_tiled_repr for PSO vizualization in pylinkage/vizualiser.py
FIXED:
    - Various vizualisation problems of PSO.
    - tox.ini (tox now build without error)
    - CHANGELOG typos
    - circle method of Pivot in pylinkage/linkage.py was not working.
IMPROVED:
    - Python style and docstrings in files.