Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyswarms v2.0.0 #520

Open
wants to merge 163 commits into
base: master
Choose a base branch
from
Open

Pyswarms v2.0.0 #520

wants to merge 163 commits into from

Conversation

Bladieblah
Copy link

@Bladieblah Bladieblah commented Oct 3, 2023

Complete overhaul of the codebase

  • Update to python 3.10
  • Replace setup.py with pyproject.toml
  • Add type annotations everywhere
  • Decrease the number of lines by ~1.5k by removing duplicate code and comments
  • Refactor optimizers, extract main loop logic into multiple functions in single base class
  • Replace attrs lib with dataclasses
  • Refactor handlers into separate classes with factories
  • Re-implement boundaray handlers to be more efficient
  • Make boundaries support scalar values
  • Create VelocityUpdater class with full responsibility for particle velocities
  • Create PositionUpdater class with full responsibility for particle positions
  • Use poetry for dependency management
  • Use loguru for logging
  • Considerably speed up the tests
  • Make GridSearch and RandomSearch more flexible by allowing for multiple topologies in a search

Bugs fixed:

  • Fix incorrect dynamic warning in topology class
  • The random boundary strategy would set all out of bounds particles to the same position
  • Allow Tuple[float,float] for position and velocity bounds - #512_
  • Fix inhomogenous arrays in topologies - #516_
  • Make all tests pass

.. _#512: #512
.. _#516: #516

@a-detiste
Copy link

You should fork the project and propose it here for packaging: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056445
& Fedora too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants