-
-
Couldn't load subscription status.
- Fork 1.1k
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,cookiecutteronly used formesacommandjupyternot used at allnetworkxonly implicitly used by NetworkGridnumpyonly used for ContinuousSpacepandasonly used for DataFrame output of the DataCollectortornadoonly used for Visualizationtqdmonly 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