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.
- mepo-2.0.0/.editorconfig +32 -0
- mepo-2.0.0/.github/CODEOWNERS +7 -0
- mepo-2.0.0/.github/workflows/changelog-enforcer.yml +22 -0
- mepo-2.0.0/.github/workflows/run-formatter.yaml +23 -0
- mepo-2.0.0/.github/workflows/run-linter.yaml +23 -0
- mepo-2.0.0/.github/workflows/run-tests.yaml +33 -0
- mepo-2.0.0/.gitignore +9 -0
- mepo-2.0.0/.pre-commit-config.yaml +11 -0
- mepo-2.0.0/.zenodo.json +52 -0
- mepo-2.0.0/CHANGELOG.md +579 -0
- mepo-2.0.0/CODE_OF_CONDUCT.md +133 -0
- mepo-2.0.0/CONTRIBUTING.md +16 -0
- mepo-2.0.0/COPYRIGHT +15 -0
- mepo-2.0.0/LICENSE +200 -0
- mepo-2.0.0/LICENSE-NOSA +261 -0
- mepo-2.0.0/PKG-INFO +73 -0
- mepo-2.0.0/README.md +60 -0
- mepo-2.0.0/bin/mepo +17 -0
- mepo-2.0.0/docs/.gitignore +1 -0
- mepo-2.0.0/docs/make_md_docs.py +97 -0
- mepo-2.0.0/etc/mepo-cd.bash +26 -0
- mepo-2.0.0/etc/mepo-cd.csh +1 -0
- mepo-2.0.0/etc/mepo-cd.zsh +26 -0
- mepo-2.0.0/etc/mepo-completion.bash +26 -0
- mepo-2.0.0/etc/mepoconfig-example +83 -0
- mepo-2.0.0/mepo.spec +51 -0
- mepo-2.0.0/pyproject.toml +44 -0
- mepo-2.0.0/requirements-dev.lock +68 -0
- mepo-2.0.0/requirements.lock +14 -0
- mepo-2.0.0/src/mepo/__init__.py +7 -0
- mepo-2.0.0/src/mepo/__main__.py +19 -0
- mepo-2.0.0/src/mepo/cmdline/__init__.py +0 -0
- mepo-2.0.0/src/mepo/cmdline/branch_parser.py +57 -0
- mepo-2.0.0/src/mepo/cmdline/config_parser.py +50 -0
- mepo-2.0.0/src/mepo/cmdline/parser.py +503 -0
- mepo-2.0.0/src/mepo/cmdline/stash_parser.py +72 -0
- mepo-2.0.0/src/mepo/cmdline/tag_parser.py +79 -0
- mepo-2.0.0/src/mepo/command/__init__.py +0 -0
- mepo-2.0.0/src/mepo/command/branch.py +12 -0
- mepo-2.0.0/src/mepo/command/branch_create.py +13 -0
- mepo-2.0.0/src/mepo/command/branch_delete.py +13 -0
- mepo-2.0.0/src/mepo/command/branch_list.py +24 -0
- mepo-2.0.0/src/mepo/command/changed-files.py +56 -0
- mepo-2.0.0/src/mepo/command/checkout-if-exists.py +33 -0
- mepo-2.0.0/src/mepo/command/checkout.py +41 -0
- mepo-2.0.0/src/mepo/command/clone.py +145 -0
- mepo-2.0.0/src/mepo/command/commit.py +48 -0
- mepo-2.0.0/src/mepo/command/compare.py +119 -0
- mepo-2.0.0/src/mepo/command/config.py +14 -0
- mepo-2.0.0/src/mepo/command/config_delete.py +7 -0
- mepo-2.0.0/src/mepo/command/config_get.py +18 -0
- mepo-2.0.0/src/mepo/command/config_print.py +5 -0
- mepo-2.0.0/src/mepo/command/config_set.py +8 -0
- mepo-2.0.0/src/mepo/command/develop.py +24 -0
- mepo-2.0.0/src/mepo/command/diff.py +71 -0
- mepo-2.0.0/src/mepo/command/fetch.py +21 -0
- mepo-2.0.0/src/mepo/command/init.py +25 -0
- mepo-2.0.0/src/mepo/command/list.py +9 -0
- mepo-2.0.0/src/mepo/command/pull-all.py +30 -0
- mepo-2.0.0/src/mepo/command/pull.py +27 -0
- mepo-2.0.0/src/mepo/command/push.py +14 -0
- mepo-2.0.0/src/mepo/command/reset.py +105 -0
- mepo-2.0.0/src/mepo/command/restore-state.py +44 -0
- mepo-2.0.0/src/mepo/command/save.py +79 -0
- mepo-2.0.0/src/mepo/command/stage.py +26 -0
- mepo-2.0.0/src/mepo/command/stash.py +16 -0
- mepo-2.0.0/src/mepo/command/stash_apply.py +13 -0
- mepo-2.0.0/src/mepo/command/stash_list.py +14 -0
- mepo-2.0.0/src/mepo/command/stash_pop.py +13 -0
- mepo-2.0.0/src/mepo/command/stash_push.py +13 -0
- mepo-2.0.0/src/mepo/command/stash_show.py +13 -0
- mepo-2.0.0/src/mepo/command/status.py +93 -0
- mepo-2.0.0/src/mepo/command/tag.py +14 -0
- mepo-2.0.0/src/mepo/command/tag_create.py +55 -0
- mepo-2.0.0/src/mepo/command/tag_delete.py +21 -0
- mepo-2.0.0/src/mepo/command/tag_list.py +24 -0
- mepo-2.0.0/src/mepo/command/tag_push.py +24 -0
- mepo-2.0.0/src/mepo/command/unstage.py +22 -0
- mepo-2.0.0/src/mepo/command/update-state.py +23 -0
- mepo-2.0.0/src/mepo/command/whereis.py +53 -0
- mepo-2.0.0/src/mepo/component.py +244 -0
- mepo-2.0.0/src/mepo/git.py +579 -0
- mepo-2.0.0/src/mepo/registry.py +80 -0
- mepo-2.0.0/src/mepo/state.py +170 -0
- mepo-2.0.0/src/mepo/utilities/__init__.py +0 -0
- mepo-2.0.0/src/mepo/utilities/chdir.py +14 -0
- mepo-2.0.0/src/mepo/utilities/colors.py +16 -0
- mepo-2.0.0/src/mepo/utilities/exceptions.py +34 -0
- mepo-2.0.0/src/mepo/utilities/mepoconfig.py +77 -0
- mepo-2.0.0/src/mepo/utilities/shellcmd.py +21 -0
- mepo-2.0.0/src/mepo/utilities/verify.py +38 -0
- mepo-2.0.0/src/mepo/utilities/version.py +92 -0
- mepo-2.0.0/tests/input/components.yaml +52 -0
- mepo-2.0.0/tests/output/output_branch_create.txt +1 -0
- mepo-2.0.0/tests/output/output_branch_delete.txt +1 -0
- mepo-2.0.0/tests/output/output_branch_list.txt +11 -0
- mepo-2.0.0/tests/output/output_clone_status.txt +11 -0
- mepo-2.0.0/tests/output/output_compare.txt +3 -0
- mepo-2.0.0/tests/output/output_compare_all.txt +12 -0
- mepo-2.0.0/tests/output/output_develop_status.txt +11 -0
- mepo-2.0.0/tests/output/output_diff.txt +5 -0
- mepo-2.0.0/tests/output/output_list.txt +1 -0
- mepo-2.0.0/tests/output/output_pull_all.txt +1 -0
- mepo-2.0.0/tests/output/output_push.txt +7 -0
- mepo-2.0.0/tests/output/output_reset.txt +10 -0
- mepo-2.0.0/tests/output/output_tag_create.txt +2 -0
- mepo-2.0.0/tests/output/output_tag_delete.txt +2 -0
- mepo-2.0.0/tests/output/output_whereis.txt +10 -0
- mepo-2.0.0/tests/test_mepo_commands.py +348 -0
mepo-2.0.0/.editorconfig
ADDED
|
@@ -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,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,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
|
mepo-2.0.0/.zenodo.json
ADDED
|
@@ -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
|
+
}
|