Currently on Linux, Apache Beam puts it's cache under ~/.apache_beam/cache which is not nice for the user since it clutters he's/she's home directory.
I would suggest adding support for the XDG Base Directory Specification which basically states that:
- Cache files under go under $XDG_CACHE_HOME ($HOME/.cache if XDG_CACHE_HOME is not defined).
- Configuration files go under $XDG_CONFIG_HOME (with $HOME/.config if XDG_CONFIG_HOME is not defined)
- User data files go under $XDG_DATA_HOME ($HOME/.local/share if XDG_DATA_HOME is not defined)
In the case of Apache Beam the paths would be:
This allow for easier backups and not cluttering the user's home directory with application files.
I know that the separation in this 3 categories require some refactor, but at least moving $HOME/.apache_beam to $HOME/.local/share/apache_beam would be a huge improvement.