-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Labels
Milestone
Description
Mesa currently ships as a "batteries included" package with requirements for all possible functionality provided. While this is nice for new users, concerns have been raised that mesa is unsuitable for integration into larger projects due to its (possibly unused) dependencies. Upon further inspection all currently required packages are optional.
click
,cookiecutter
only used formesa
commandjupyter
not used at allnetworkx
only implicitly used by NetworkGridnumpy
only used for ContinuousSpacepandas
only used for DataFrame output of the DataCollectortornado
only used for Visualizationtqdm
only used for batch runner
Those requirements could be put under some extra_requires in the setup.py
file and then users could still install mesa with pip install mesa[all]
to have everything included.
Steps for this issue would include:
- Update setup.py (decide on name for "all")
- Lazy load all dependencies with helpful error messages if it fails
- Update documentation
But before working on this issue we should decide whether this is a good idea or not
kevmo and SebastianoF