mepo 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. mepo-2.0.0/.editorconfig +32 -0
  2. mepo-2.0.0/.github/CODEOWNERS +7 -0
  3. mepo-2.0.0/.github/workflows/changelog-enforcer.yml +22 -0
  4. mepo-2.0.0/.github/workflows/run-formatter.yaml +23 -0
  5. mepo-2.0.0/.github/workflows/run-linter.yaml +23 -0
  6. mepo-2.0.0/.github/workflows/run-tests.yaml +33 -0
  7. mepo-2.0.0/.gitignore +9 -0
  8. mepo-2.0.0/.pre-commit-config.yaml +11 -0
  9. mepo-2.0.0/.zenodo.json +52 -0
  10. mepo-2.0.0/CHANGELOG.md +579 -0
  11. mepo-2.0.0/CODE_OF_CONDUCT.md +133 -0
  12. mepo-2.0.0/CONTRIBUTING.md +16 -0
  13. mepo-2.0.0/COPYRIGHT +15 -0
  14. mepo-2.0.0/LICENSE +200 -0
  15. mepo-2.0.0/LICENSE-NOSA +261 -0
  16. mepo-2.0.0/PKG-INFO +73 -0
  17. mepo-2.0.0/README.md +60 -0
  18. mepo-2.0.0/bin/mepo +17 -0
  19. mepo-2.0.0/docs/.gitignore +1 -0
  20. mepo-2.0.0/docs/make_md_docs.py +97 -0
  21. mepo-2.0.0/etc/mepo-cd.bash +26 -0
  22. mepo-2.0.0/etc/mepo-cd.csh +1 -0
  23. mepo-2.0.0/etc/mepo-cd.zsh +26 -0
  24. mepo-2.0.0/etc/mepo-completion.bash +26 -0
  25. mepo-2.0.0/etc/mepoconfig-example +83 -0
  26. mepo-2.0.0/mepo.spec +51 -0
  27. mepo-2.0.0/pyproject.toml +44 -0
  28. mepo-2.0.0/requirements-dev.lock +68 -0
  29. mepo-2.0.0/requirements.lock +14 -0
  30. mepo-2.0.0/src/mepo/__init__.py +7 -0
  31. mepo-2.0.0/src/mepo/__main__.py +19 -0
  32. mepo-2.0.0/src/mepo/cmdline/__init__.py +0 -0
  33. mepo-2.0.0/src/mepo/cmdline/branch_parser.py +57 -0
  34. mepo-2.0.0/src/mepo/cmdline/config_parser.py +50 -0
  35. mepo-2.0.0/src/mepo/cmdline/parser.py +503 -0
  36. mepo-2.0.0/src/mepo/cmdline/stash_parser.py +72 -0
  37. mepo-2.0.0/src/mepo/cmdline/tag_parser.py +79 -0
  38. mepo-2.0.0/src/mepo/command/__init__.py +0 -0
  39. mepo-2.0.0/src/mepo/command/branch.py +12 -0
  40. mepo-2.0.0/src/mepo/command/branch_create.py +13 -0
  41. mepo-2.0.0/src/mepo/command/branch_delete.py +13 -0
  42. mepo-2.0.0/src/mepo/command/branch_list.py +24 -0
  43. mepo-2.0.0/src/mepo/command/changed-files.py +56 -0
  44. mepo-2.0.0/src/mepo/command/checkout-if-exists.py +33 -0
  45. mepo-2.0.0/src/mepo/command/checkout.py +41 -0
  46. mepo-2.0.0/src/mepo/command/clone.py +145 -0
  47. mepo-2.0.0/src/mepo/command/commit.py +48 -0
  48. mepo-2.0.0/src/mepo/command/compare.py +119 -0
  49. mepo-2.0.0/src/mepo/command/config.py +14 -0
  50. mepo-2.0.0/src/mepo/command/config_delete.py +7 -0
  51. mepo-2.0.0/src/mepo/command/config_get.py +18 -0
  52. mepo-2.0.0/src/mepo/command/config_print.py +5 -0
  53. mepo-2.0.0/src/mepo/command/config_set.py +8 -0
  54. mepo-2.0.0/src/mepo/command/develop.py +24 -0
  55. mepo-2.0.0/src/mepo/command/diff.py +71 -0
  56. mepo-2.0.0/src/mepo/command/fetch.py +21 -0
  57. mepo-2.0.0/src/mepo/command/init.py +25 -0
  58. mepo-2.0.0/src/mepo/command/list.py +9 -0
  59. mepo-2.0.0/src/mepo/command/pull-all.py +30 -0
  60. mepo-2.0.0/src/mepo/command/pull.py +27 -0
  61. mepo-2.0.0/src/mepo/command/push.py +14 -0
  62. mepo-2.0.0/src/mepo/command/reset.py +105 -0
  63. mepo-2.0.0/src/mepo/command/restore-state.py +44 -0
  64. mepo-2.0.0/src/mepo/command/save.py +79 -0
  65. mepo-2.0.0/src/mepo/command/stage.py +26 -0
  66. mepo-2.0.0/src/mepo/command/stash.py +16 -0
  67. mepo-2.0.0/src/mepo/command/stash_apply.py +13 -0
  68. mepo-2.0.0/src/mepo/command/stash_list.py +14 -0
  69. mepo-2.0.0/src/mepo/command/stash_pop.py +13 -0
  70. mepo-2.0.0/src/mepo/command/stash_push.py +13 -0
  71. mepo-2.0.0/src/mepo/command/stash_show.py +13 -0
  72. mepo-2.0.0/src/mepo/command/status.py +93 -0
  73. mepo-2.0.0/src/mepo/command/tag.py +14 -0
  74. mepo-2.0.0/src/mepo/command/tag_create.py +55 -0
  75. mepo-2.0.0/src/mepo/command/tag_delete.py +21 -0
  76. mepo-2.0.0/src/mepo/command/tag_list.py +24 -0
  77. mepo-2.0.0/src/mepo/command/tag_push.py +24 -0
  78. mepo-2.0.0/src/mepo/command/unstage.py +22 -0
  79. mepo-2.0.0/src/mepo/command/update-state.py +23 -0
  80. mepo-2.0.0/src/mepo/command/whereis.py +53 -0
  81. mepo-2.0.0/src/mepo/component.py +244 -0
  82. mepo-2.0.0/src/mepo/git.py +579 -0
  83. mepo-2.0.0/src/mepo/registry.py +80 -0
  84. mepo-2.0.0/src/mepo/state.py +170 -0
  85. mepo-2.0.0/src/mepo/utilities/__init__.py +0 -0
  86. mepo-2.0.0/src/mepo/utilities/chdir.py +14 -0
  87. mepo-2.0.0/src/mepo/utilities/colors.py +16 -0
  88. mepo-2.0.0/src/mepo/utilities/exceptions.py +34 -0
  89. mepo-2.0.0/src/mepo/utilities/mepoconfig.py +77 -0
  90. mepo-2.0.0/src/mepo/utilities/shellcmd.py +21 -0
  91. mepo-2.0.0/src/mepo/utilities/verify.py +38 -0
  92. mepo-2.0.0/src/mepo/utilities/version.py +92 -0
  93. mepo-2.0.0/tests/input/components.yaml +52 -0
  94. mepo-2.0.0/tests/output/output_branch_create.txt +1 -0
  95. mepo-2.0.0/tests/output/output_branch_delete.txt +1 -0
  96. mepo-2.0.0/tests/output/output_branch_list.txt +11 -0
  97. mepo-2.0.0/tests/output/output_clone_status.txt +11 -0
  98. mepo-2.0.0/tests/output/output_compare.txt +3 -0
  99. mepo-2.0.0/tests/output/output_compare_all.txt +12 -0
  100. mepo-2.0.0/tests/output/output_develop_status.txt +11 -0
  101. mepo-2.0.0/tests/output/output_diff.txt +5 -0
  102. mepo-2.0.0/tests/output/output_list.txt +1 -0
  103. mepo-2.0.0/tests/output/output_pull_all.txt +1 -0
  104. mepo-2.0.0/tests/output/output_push.txt +7 -0
  105. mepo-2.0.0/tests/output/output_reset.txt +10 -0
  106. mepo-2.0.0/tests/output/output_tag_create.txt +2 -0
  107. mepo-2.0.0/tests/output/output_tag_delete.txt +2 -0
  108. mepo-2.0.0/tests/output/output_whereis.txt +10 -0
  109. mepo-2.0.0/tests/test_mepo_commands.py +348 -0
@@ -0,0 +1,32 @@
1
+ ; Global Editor Config for mepo
2
+ ;
3
+ ; This is an ini style configuration. See http://editorconfig.org/ for more information on this file.
4
+ ;
5
+ ; Top level editor config.
6
+ root = true
7
+
8
+ ; Always use Unix style new lines with new line ending on every file and trim whitespace
9
+ [*]
10
+ end_of_line = lf
11
+ insert_final_newline = true
12
+ trim_trailing_whitespace = true
13
+
14
+ ; Python: PEP8 defines 4 spaces for indentation
15
+ [*.py]
16
+ indent_style = space
17
+ indent_size = 4
18
+
19
+ ; YAML format, 2 spaces
20
+ [*.yaml, *.yml]
21
+ indent_style = space
22
+ indent_size = 2
23
+
24
+ ; Markdown format, 2 spaces
25
+ [*.md]
26
+ indent_style = space
27
+ indent_size = 2
28
+
29
+ # CMake (from KitWare: https://github.com/Kitware/CMake/blob/master/.editorconfig)
30
+ [{CMakeLists.txt,*.cmake,*.rst}]
31
+ indent_style = space
32
+ indent_size = 2
@@ -0,0 +1,7 @@
1
+ # This is a comment.
2
+ # Each line is a file pattern followed by one or more owners.
3
+ # Order is important; the last matching pattern takes the most
4
+ # precedence.
5
+
6
+ # Everything in ESMA_cmake should be owned by the CMake Team
7
+ * @GEOS-ESM/mepo-team
@@ -0,0 +1,22 @@
1
+ name: "Enforce Changelog"
2
+ on:
3
+ pull_request:
4
+ types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
5
+
6
+ jobs:
7
+ # Enforces the update of a changelog file on every pull request
8
+ changelog:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: dangoslen/changelog-enforcer@v3
12
+ with:
13
+ changeLogPath: 'CHANGELOG.md'
14
+ skipLabels: 'Skip Changelog,0 diff trivial,automatic'
15
+ missingUpdateErrorMessage: >
16
+ No update to CHANGELOG.md found! Please add a changelog
17
+ entry to it describing your change. Please note that the
18
+ keepachangelog (https://keepachangelog.com) format is
19
+ used. If your change is very trivial not applicable for a
20
+ changelog entry, add a 'Skip Changelog' label to the pull
21
+ request to skip the changelog enforcer.
22
+
@@ -0,0 +1,23 @@
1
+ name: Run formatter
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ format:
7
+ runs-on: ubuntu-latest
8
+ name: Format code
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+ - name: Set up Python 3.9
12
+ uses: actions/setup-python@v5
13
+ with:
14
+ python-version: 3.9
15
+ cache: 'pip'
16
+ - name: Install dependencies
17
+ run: |
18
+ python -m pip install --upgrade pip
19
+ pip install -r requirements-dev.lock
20
+ timeout-minutes: 5
21
+ - name: Run black
22
+ run: black --check .
23
+ timeout-minutes: 5
@@ -0,0 +1,23 @@
1
+ name: Run linter
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ lint:
7
+ runs-on: ubuntu-latest
8
+ name: Lint code
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+ - name: Set up Python 3.9
12
+ uses: actions/setup-python@v5
13
+ with:
14
+ python-version: 3.9
15
+ cache: 'pip'
16
+ - name: Install dependencies
17
+ run: |
18
+ python -m pip install --upgrade pip
19
+ pip install -r requirements-dev.lock
20
+ timeout-minutes: 5
21
+ - name: Run pylint
22
+ run: pylint --exit-zero src/mepo
23
+ timeout-minutes: 5
@@ -0,0 +1,33 @@
1
+ name: Run tests
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ${{ matrix.os }}
8
+ strategy:
9
+ matrix:
10
+ os: [ubuntu-latest, macos-latest]
11
+ python-version: ['3.9', '3.10', '3.11', '3.12', 'pypy-3.9', 'pypy-3.10']
12
+
13
+ name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Set up Python ${{ matrix.python-version }}
18
+ uses: actions/setup-python@v5
19
+ with:
20
+ python-version: ${{ matrix.python-version }}
21
+ cache: 'pip'
22
+
23
+ - name: Install dependencies
24
+ run: |
25
+ python -m pip install --upgrade pip
26
+ pip install -r requirements.lock
27
+ timeout-minutes: 5
28
+
29
+ - name: Run tests
30
+ run: |
31
+ export PYTHONPATH=$(pwd)/src:$PYTHONPATH
32
+ python tests/test_mepo_commands.py -v
33
+ timeout-minutes: 5
mepo-2.0.0/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ *~
2
+ *.pyc
3
+ *.egg-info
4
+ dist
5
+ venv
6
+
7
+ # This is generated by docs/make_md_docs.py
8
+ Mepo-Commands.md
9
+ .python-version
@@ -0,0 +1,11 @@
1
+ repos:
2
+ # Using this mirror lets us use mypyc-compiled black, which is about 2x faster
3
+ - repo: https://github.com/psf/black-pre-commit-mirror
4
+ rev: 24.4.2
5
+ hooks:
6
+ - id: black
7
+ # It is recommended to specify the latest version of Python
8
+ # supported by your project here, or alternatively use
9
+ # pre-commit's default_language_version, see
10
+ # https://pre-commit.com/#top_level-default_language_version
11
+ language_version: python3.11
@@ -0,0 +1,52 @@
1
+ {
2
+ "license": "other-open",
3
+ "upload_type": "software",
4
+ "creators": [
5
+ {
6
+ "name": "Thompson, Matthew",
7
+ "affiliation": "GMAO SSAI",
8
+ "orcid": "0000-0001-6222-6863"
9
+ },
10
+ {
11
+ "name": "Chakraborty, Purnendu",
12
+ "affiliation": "SSAI",
13
+ "orcid": "0009-0002-7139-779X"
14
+ },
15
+ {
16
+ "name": "Jamieson, William",
17
+ "affiliation": "Space Telescope Science Institute",
18
+ "orcid": "0000-0001-5976-4492"
19
+ },
20
+ {
21
+ "name": "Clune, Tom",
22
+ "affiliation": "NASA",
23
+ "orcid": "0000-0003-3320-0204"
24
+ },
25
+ {
26
+ "name": "Deconinck, Florian",
27
+ "affiliation": "NASA SSAI",
28
+ "orcid": "0000-0002-0925-917X"
29
+ }
30
+ ],
31
+ "contributors": [
32
+ {
33
+ "name": "Thompson, Matthew",
34
+ "affiliation": "GMAO SSAI",
35
+ "orcid": "0000-0001-6222-6863",
36
+ "type": "ContactPerson"
37
+ },
38
+ {
39
+ "name": "Clune, Tom",
40
+ "affiliation": "NASA",
41
+ "orcid": "0000-0003-3320-0204",
42
+ "type": "ProjectLeader"
43
+ }
44
+ ],
45
+ "keywords": [
46
+ "git",
47
+ "repository",
48
+ "python",
49
+ "yaml"
50
+ ],
51
+ "access_right": "open"
52
+ }