.. command line interface Command line interface ---------------------- The CLI is the first piece of software touched when setting up a new XMM project. It provides several commands and helpers as well as the possibility to be expanded. ``xmm-admin`` and ``manage.py`` =============================== Once the ``xmm`` Python package has been installed, a new executable will be available in your shell's ``$PATH``: ``xmm-admin``. This command can be run from anywhere to :ref:`setup a new project`, once that's done, one should switch to using the generated ``manage.py`` interface inside of your project. You can call this script by passing it to ``python`` or invoke it directly:: ./manage.py --help Commands ======== ``attr`` ~~~~~~~~ Manipulate attributes in the system. Provides three sub-commands: - ``change_keys [options] `` Set a new attribute key and migrate all values. - ``merge_keys [options] `` Merge all given attributes into the first one and migrate all values. - ``set_multilingual [options] `` Turn multilingual field to singlelingual (--true) or vice versa, a singlelingual to a multilingual (--false). ``check`` ~~~~~~~~~ Check the environment for some issues. E.g., if the correct Python, MongoDB, ElasticSearch and Redis versions are installed. ``clear_cache`` ~~~~~~~~~~~~~~~ Clear the Redis cache. ``elastic`` ~~~~~~~~~~~ ElasticSearch management commands. Provides three sub-commands: - ``rebuild`` - ``drop_indices`` - ``search`` ``generate`` ~~~~~~~~~~~~ Scaffolding commands to kickstart new code. Provides 4 sub-commands: - ``project`` - ``task`` - ``command`` - ``step`` ``media`` ~~~~~~~~~ Media files management. Provides two sub-commands: - ``rebuild`` - ``watchdog`` ``mongo`` ~~~~~~~~~ MongoDB management commands. Provides three sub-commands: - ``migrate`` - ``dump`` - ``restore`` ``notify`` ~~~~~~~~~~ Sends a notification. ``pipeline`` ~~~~~~~~~~~~ Run a task pipeline. ``run`` ~~~~~~~ Runs the Flask development web server. ``sentry`` ~~~~~~~~~~ Provides Sentry management commands. ``shell`` ~~~~~~~~~ Runs a shell in the Flask app context. ``task`` ~~~~~~~~ Task management commands. Provides three sub-commands: - ``execute`` - ``list`` - ``clean`` ``user`` ~~~~~~~~ User management commands. Provides five sub-commands: - ``create`` - ``delete`` - ``create_api_key`` - ``list`` - ``reset_password`` ``websocket`` ~~~~~~~~~~~~~ Run a notification websocket server.