Package: openedx-atlas
An Open edX CLI tool for moving translation files from openedx-translations.OverviewOEP-58 proposes changes to the way the Open edX Organization organizes and maintains
translation files. Atlas is an Open edX CLI tool that uses git’s sparse-checkout to
download directories with the repository openedx-translations. These directories
correspond to repositories within the GitHub openedx organization. They contain
translation files downloaded from Transifex that have been translated by the Open edX
Translations Working Group.Atlas is intended for both development and deployment, and is meant to be used after
cloning a repository with translation files kept in openedx-translations. For instance,
when building a docker image or testing localization strings locally. It should not be
necessary to run any application in English.InstallationAtlas itself is a bash script, but it can be installed in a couple of
different ways:First, ensuregitis installed and available inPATHbecause atlas
relies on it.Install as an ``npm`` packageInstall from npm:npminstall@edx/openedx-atlasThen addnode_modules/.binto yourPATH.Verify that is installed viaatlas--help.Install directly from GitHub releasesDownloadatlasfrom thelatest release, or from themain branch:curl-Lhttps://github.com/openedx/openedx-atlas/releases/latest/download/atlas-oatlasAllow executionchmod +x atlasEither addatlasto yourPATH, or run using./atlasUsageThe help message below is copied from bothatlas--help. It’s updated
regularly and useful to understandatlasat a glance.Atlas is a CLI tool that has essentially one command: `atlas pull`

Configuration file:

    Atlas defaults to using a configuration file named `atlas.yml` placed
    in the root directory. Configuration file:

    pull:
      repository: <organization-name>/<repository-name>
      revision: <git-revision>
      directory: <repo-directory-name>:<local-dir-name> ...
      filter: <pattern> ...
      expand_glob: 0

    Atlas can also use a configuration file in a different path using the `--config` flag
    after `atlas`: `atlas pull --config config.yml`.

    Atlas can also be used without a configuration file by using the flags below after
    `atlas pull`.

Positional arguments DIRECTORY MAPPINGS ...

   One or more directory map pair separated by a colon (:) e.g. FROM_DIR:TO_DIR.

   The first directory (FROM_DIR) represents a directory in the git repository.
   The second directory (TO_DIR) represents a local directory to copy files to.

   At least one directory pair is required:

     $ atlas pull frontend-app-learning/messages:learning-app frontend-lib-test/messages:test-lib

   This syntax is inspired by the `docker --volume from_dir:to_dir` mounting syntax.

Options:

    `-r` or `--repository`:
        slug of the GitHub repository to pull from. Defaults 'openedx/openedx-translations'.

    `-n` or `--revision`:
        Git revision to pull from. Currently only branches and tags are supported. Defaults to 'main'.

        This option name used to be `-b` or `--branch`. The deprecated name will be removed in a future release.

    `-f` or `--filter`:
       A comma-separated (or space-separated) list of patterns match files and sub-directories.
       This is mainly useful to filter specific languages to download.

       The same filter is applied to all DIRECTORY MAPPINGS arguments.

       `--filter=fr_CA,ar,es_419` will match both directories named 'es_419' and
       files named 'es_419.json' among others

   `-g` or `--expand-glob`:
       Expand glob pattern e.g. 'atlas pull translations/*/done' to 'atlas pull translations/DoneXBlock/done'
       if it exists.

Example:

    $ cd frontend-app-learning/src/i18n/messages
    $ atlas pull --filter=fr_CA,ar,es_419 \
            translations/frontend-app-learning/src/i18n/messages:frontend-app-learning \
            translations/frontend-component-header/src/i18n/messages:frontend-component-header

    Will result in the following tree:

      ├── frontend-app-learning
      │   ├── ar.json
      │   ├── es_419.json
      │   └── fr_CA.json
      └── frontend-component-header
          ├── ar.json
          ├── es_419.json
          └── fr_CA.json



Commands:
  pull      pull
  -h, --help
      --versionRunning Automated Tests LocallyInstallShellSpecShellCheckgetoptionsRunmake test:  run all testsmake performance_tests:  run performance tests which pulls from GitHub.com/openedxmake unit_tests:  run fast unit tests without external dependencyUsage ExamplesThere’s a couple of patterns that are useful to imitate when using Atlas
depending on the use case.atlas pullis most commonly implemented inMakefile, however it can be also used inDockerfilebuilds or any
other automation tool.Python ApplicationsTBDMicro-frontendsTBDReleasing a New VersionThis repository usessemantic versioningwith the aid ofsemantic releaseto automate the process.To release a new version, use theconventional commitsand therelease.ymlGitHub action will
automatically create a new release and upload theatlasexecutable.Note: Theatlas--versioncommand only outputs the version if it’s downloaded from a GitHub release. Otherwise, it
will outputunreleased.LicenseThe code in this repository is licensed under the AGPL 3.0 unless otherwise noted.Please seeLICENSEfor details.How To ContributeContributions are very welcome.Please readHow To Contributefor details.Getting HelpHave a question about this repository, or about Open edX in general? Please refer to thislist of resourcesif you need any assistance.