.. _import-and-export: ============================ Import and Export Commands ============================ The ``import`` and ``export`` commands are used for manual synchronization of repositories with an on-site Enthought Deployment Server (EDS). Synchronization is normlly configured through the admin control panel of EDS to run automatically through a direct internet connection to https://packages.enthought.com. However, there are cases where this needs to be handled manually, e.g. an EDS that is on a private network not connected to the internet. This section describes how to use the ``import`` and ``export`` commands of ``hatcher``. This section assumes that the steps in :ref:`getting-started-with-hatcher` have been followed and valid environment variables are set for the Hatcher URL and for authenticating with Hatcher. See :ref:`getting-help` for information about getting help with CLI commands if needed. .. note:: Although authenticating with tokens is not available for use with the on-site EDS, tokens can be used to export from https://packages.enthought.com followed by using password authentication for importing to the on-site EDS. Export a repository ==================== The first step in any manual synchronization process is to export a repository. The output from an ``export`` command can then be used in an ``import`` command. The format of the command to export a repository is:: $ hatcher export -r / -p .. note:: The valid platforms can be listed with the command in :ref:`list-platforms`. .. note:: Multiple "-r" options and multiple "-p" options can be used with the ``export`` command to export multiple repositories and platforms at once. For example, to export the entire ``enthought/free`` repository for the ``rh6-x86_64`` platform:: $ hatcher export -r enthought/free -p rh6-x86_64 eds_data Exporting eggs from enthought/free for rh6-x86_64 [####################################] 100% .. warning:: Using the above command for very large repositories such as ``enthought/free`` will download many GB of data and take some time to complete. This should only be done when needing to synchronize manually with an on-site EDS. The first time the ``export`` command runs it will create the supplied target directory. In subsequent runs of the ``export`` command the same directory can be reused which will add additional repositories or platforms into that directory. Import a repository ==================== After exporting, the ``import`` command can import the data into an on-site EDS. The format of the command to import a repository is:: $ hatcher import -r / -p For example, to import the data generated from the above ``export`` command, the following command would be used:: $ hatcher import -r enthought/free -p rh6-x86_64 eds_data