simfleet 2.0.1
Agent-based fleet simulator to test strategies
License: MIT license
Keywords: simfleet

========
SimFleet
========


.. image:: https://img.shields.io/pypi/v/simfleet.svg
        :target: https://pypi.python.org/pypi/simfleet

.. image:: https://img.shields.io/pypi/pyversions/simfleet.svg
    :target: https://pypi.python.org/pypi/simfleet
    :alt: Python Versions

.. image:: https://img.shields.io/github/languages/count/javipalanca/simfleet?label=languages
    :alt: Languages
    :target: https://pepy.tech/project/simfleet

.. image:: https://img.shields.io/github/languages/code-size/javipalanca/simfleet
    :alt: Code Size
    :target: https://pepy.tech/project/simfleet

.. image:: https://img.shields.io/pypi/l/simfleet
    :target: https://opensource.org/licenses/MIT
    :alt: MIT License

.. image:: https://pepy.tech/badge/simfleet
    :target: https://pepy.tech/project/simfleet
    :alt: Downloads

.. image:: https://readthedocs.org/projects/simfleet/badge/?version=latest
        :target: https://simfleet.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://img.shields.io/pypi/format/simfleet.svg
    :target: https://pypi.python.org/pypi/simfleet


SimFleet is a multi-agent simulation platform for the orchestration and execution of transportation services.
All actors of a transportation system are represented by agents whose behaviours define the operation of the service and
its internal communication, enabling users to configure and test their own agent strategies.
This platform facilitates the study of mobility in realistic scenarios without the need for physical testing.

SimFleet includes predefined agent classes that represent the core components of any transportation service: Customers,
Transports, Fleet Managers, and Stations.

    * **Customer Agents**: People or goods that require transportation.
    * **Transport Agents**: Vehicles that provide displacement services to Customers.
    * **FleetManager Agents**: Service provider that manages a fleet of Transports.
    * **Station Agents**: Locations representing transportation infrastructure, such as bus stops or charging stations.

These agents can be extended and customized to represent a specific transportation mode. Currently, the platform
provides two predefined transportation services: Taxi/Electric Taxi service, and Urban Bus. These systems count with
their own implementation of Transport and Customer agents, as well as the necessary infrastructure: Electric Charging
Stations and Bus Stops. Using the predefined agents, SimFleet users may easily create and execute their own simulation
scenarios.

As for advanced users, however, the extension of predefined agents is encouraged to develop new agent types.
SimFleet's architecture, based on modularity, simplifies the implementation of custom agents and agent behaviours
tailored to the user's specific needs.


* Free software: MIT license
* Documentation: https://simfleet.readthedocs.io.


Features
--------

* Open Fleets simulator
* Strategy pattern
* Continuous simulator
* Load scenarios
* Multi-agent system built with SPADE_
* XMPP communications

Credits
---------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
.. _SPADE: https://github.com/javipalanca/spade


=======
History
=======

2.0.1 (2025-01-28)
------------------
* Minor bug fixes
* Updated documentation

2.0.0 (2025-01-23)
------------------
* New brand release
* Upgraded to SPADE 4
* Full code refactor
* New class hierarchy
* New documentation

1.0.3 (2022-12-13)
------------------
* Update third-party libs

1.0.2 (2021-02-14)
------------------
* Fixed bug with Vuex version

1.0.1 (2019-11-07)
------------------

* SPADE and pandas version upgraded.
* Stop simulation fixed.
* Aesthetic changes.
* Minor bug fixes.
* Updated documentation.

1.0.0 (2019-11-05)
------------------

* Moved from a taxi simulator to a generic fleet simulator.
* Updated documentation.
* Added support for different cities.
* Directory agent now sends all the info.
* Fixed bug of staying the corresponding time in the station when charging.
* Changed logger to loguru library.
* Removed fuel from transport popup, now is current_autonomy/max_autonomy.
* Concurrent charging in stations now allowed through TimeoutBehavior.
* Custom icons added.
* Removed agents introduction from GUI.
* Added specific parameters in scenario file (now config file).
* CLI simplified.
* Changed cli to config file.
* Control of free places and status for StationAgent.
* Fuel refill behavior between TransportAgent and StationAgent.
* Refactoring from passenger to Customer
* Refactoring from taxi to Transport
* Refactoring from coordinator to fleet manager

0.4.1 (2019-01-07)
------------------

* Fixed bug when checking if the simulation is finished.

0.4.0 (2018-10-25)
------------------

* Improved the concurrent creation of agents.
* Added stop and clear buttons to the interface.
* Added download button for getting results in excel and json formats.
* Documentation updated.

0.3.0 (2018-10-01)
------------------

* Migrated to SPADE 3.
* Documentation highly improved.
* Helper functions added and refined.
* Javascript framework included: VueJS
* Routes centralized with a Route agent.
* UI improved.

0.2 (2017-11-15)
------------------

* Added scenario loading feature.

0.1.3 (2017-11-15)
------------------

* Fixed minor bugs.

0.1.1 (2017-11-14)
------------------

* Added documentation.

0.1.0 (2017-11-03)
------------------

* First release on PyPI.