git-rexec 1.0.4__tar.gz → 1.1.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.
@@ -0,0 +1,124 @@
1
+ ;;; Directory Local Variables for a Python project -*- no-byte-compile: t; -*-
2
+ ;; Author: James Cherti
3
+ ;; License: MIT
4
+ ;; URL: https://www.jamescherti.com/emacs-eglot-python-dir-locals-el-and-pylsp/
5
+ ;;
6
+ ;; Requires:
7
+ ;; - python-lsp-server: https://github.com/python-lsp/python-lsp-server
8
+ ;; - Checkers:
9
+ ;; - ruff: https://github.com/astral-sh/ruff
10
+ ;; - pylint: https://github.com/pylint-dev/pylint
11
+ ;; - Pylsp Plugins:
12
+ ;; - python-lsp-ruff: https://github.com/python-lsp/python-lsp-ruff
13
+ ;; - pylsp-mypy: https://github.com/python-lsp/pylsp-mypy
14
+ ;;
15
+ ;; Documentation:
16
+ ;; - https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md
17
+ ;; - https://github.com/python-lsp/python-lsp-ruff
18
+ ;; - https://github.com/chantera/python-lsp-isort
19
+
20
+ ((nil . ((sentence-end-double-space . nil)
21
+ (require-final-newline . t)))
22
+ (python-base-mode
23
+ . ((indent-tabs-mode . nil)
24
+ (tab-width . 4)
25
+ (fill-column . 88)
26
+ (python-indent-offset . 4)
27
+ (python-indent-guess-indent-offset . nil)
28
+ (eglot-workspace-configuration
29
+ . (:pylsp
30
+ (;; Formatter to use for reformatting signatures in docstrings.
31
+ :signature
32
+ (;; Signature
33
+ :formatter "ruff"
34
+ :include_docstring t
35
+ :line_length 88)
36
+ :plugins
37
+ (:ruff
38
+ (;; Ruff plugin (Requires: ruff and python-lsp-ruff)
39
+ :enabled t
40
+ :formatEnabled t
41
+ :lineLength 88
42
+ ;; I: Sort imports
43
+ :extendSelect ["I"]
44
+ :format ["I"])
45
+
46
+ :pylsp_mypy
47
+ (;; Type checking (Requires: pylsp-mypy)
48
+ :enabled t
49
+
50
+ ;; Disabling live mode prevents type-checking updates on every edit.
51
+ ;; Save the file to refresh mypy diagnostics.
52
+ :live_mode :json-false
53
+
54
+ ;; :dmypy :json-false
55
+ ;; :report_progress t
56
+ )
57
+
58
+ :pylint
59
+ (;; Pylint
60
+ :enabled :json-false
61
+ ;; :args []
62
+ )
63
+
64
+ :flake8 (:enabled :json-false)
65
+ :mccabe (:enabled :json-false)
66
+ :pyflakes (:enabled :json-false)
67
+ :pycodestyle (:enabled :json-false)
68
+ :pydocstyle (:enabled :json-false)
69
+ :isort (:enabled :json-false)
70
+
71
+ :autopep8 (:enabled :json-false)
72
+ :yapf (:enabled :json-false)
73
+
74
+ :preload (:enabled :json-false)
75
+ :rope_autoimport (:enabled :json-false)
76
+ :rope_completion (:enabled :json-false)
77
+
78
+ :jedi_completion
79
+ (;; Jedi code completion
80
+ :enabled t
81
+
82
+ ;; Adds class objects as a separate completion item.
83
+ ;; :include_class_objects t
84
+
85
+ ;; Adds function objects as a separate completion item.
86
+ ;; :include_function_objects t
87
+
88
+ ;; Auto-completes methods and classes with tabstops for each
89
+ ;; parameter.
90
+ ;; :include_params t
91
+
92
+ ;; How many labels and snippets (at most) should be resolved?
93
+ ;; :resolve_at_most 25
94
+
95
+ ;; Resolve documentation and detail eagerly.
96
+ ;; :eager :json-false
97
+
98
+ ;; Disable fuzzy when requesting autocomplete.
99
+ ;; :fuzzy :json-false
100
+ )
101
+
102
+ ;; :jedi
103
+ ;; (;; Uncomment to add custom module paths or pin a virtualenv
104
+ ;; ;; :extra_paths ["src"]
105
+ ;; ;; :prioritize_extra_paths t
106
+ ;; ;; :environment ".venv"
107
+ ;; :auto_import_modules ["numpy"])
108
+
109
+ ;; :jedi_definition
110
+ ;; (;; Jedi definition
111
+ ;; :enabled t
112
+ ;; :follow_imports t
113
+ ;; :follow_builtin_imports t
114
+ ;; :follow_builtin_definitions t)
115
+
116
+ ;; :jedi_type_definition (:enabled t)
117
+ ;; :jedi_hover (:enabled t)
118
+ ;; :jedi_references (:enabled t)
119
+ ;; :jedi_signature_help (:enabled t)
120
+ ;; :jedi_symbols
121
+ ;; (:enabled t
122
+ ;; :all_scopes t
123
+ ;; :include_import_symbols t)
124
+ )))))))
@@ -0,0 +1 @@
1
+ github: jamescherti
@@ -0,0 +1,49 @@
1
+ ---
2
+
3
+ name: CI
4
+
5
+ on: # yamllint disable rule:truthy
6
+ push:
7
+ branches:
8
+ - main
9
+ - develop
10
+ pull_request:
11
+ branches:
12
+ - main
13
+ workflow_dispatch:
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ concurrency:
19
+ group: ${{ github.workflow }}-${{ github.ref }}
20
+ cancel-in-progress: true
21
+
22
+ jobs:
23
+ test:
24
+ name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
25
+ runs-on: ${{ matrix.os }}
26
+ strategy:
27
+ fail-fast: false
28
+ matrix:
29
+ os: [ubuntu-latest, windows-latest, macos-latest]
30
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
31
+
32
+ steps:
33
+ - name: Checkout repository
34
+ uses: actions/checkout@v4
35
+
36
+ - name: Set up Python ${{ matrix.python-version }}
37
+ uses: actions/setup-python@v5
38
+ with:
39
+ python-version: ${{ matrix.python-version }}
40
+ cache: "pip"
41
+
42
+ - name: Install dependencies
43
+ run: |
44
+ python -m pip install --upgrade pip
45
+ python -m pip install .[test]
46
+
47
+ - name: Run tests
48
+ shell: sh
49
+ run: sh run_tests.sh
@@ -0,0 +1,142 @@
1
+ # Ruff
2
+ .ruff_cache/
3
+ coverage.json
4
+
5
+ # Byte-compiled / optimized / DLL files
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Distribution / packaging
14
+ .Python
15
+ build/
16
+ develop-eggs/
17
+ dist/
18
+ downloads/
19
+ eggs/
20
+ .eggs/
21
+ lib/
22
+ lib64/
23
+ parts/
24
+ sdist/
25
+ var/
26
+ wheels/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # PyInstaller
34
+ # Usually these files are written by a python script from a template
35
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
+ *.manifest
37
+ *.spec
38
+
39
+ # Installer logs
40
+ pip-log.txt
41
+ pip-delete-this-directory.txt
42
+
43
+ # Unit test / coverage reports
44
+ htmlcov/
45
+ .tox/
46
+ .nox/
47
+ .coverage
48
+ .coverage.*
49
+ .cache
50
+ nosetests.xml
51
+ coverage.xml
52
+ *.cover
53
+ *.py,cover
54
+ .hypothesis/
55
+ .pytest_cache/
56
+ cover/
57
+
58
+ # Translations
59
+ *.mo
60
+ *.pot
61
+
62
+ # Django stuff:
63
+ *.log
64
+ local_settings.py
65
+ db.sqlite3
66
+ db.sqlite3-journal
67
+
68
+ # Flask stuff:
69
+ instance/
70
+ .webassets-cache
71
+
72
+ # Scrapy stuff:
73
+ .scrapy
74
+
75
+ # Sphinx documentation
76
+ docs/_build/
77
+
78
+ # PyBuilder
79
+ .pybuilder/
80
+ target/
81
+
82
+ # Jupyter Notebook
83
+ .ipynb_checkpoints
84
+
85
+ # IPython
86
+ profile_default/
87
+ ipython_config.py
88
+
89
+ # pyenv
90
+ # For a library or package, you might want to ignore these files since the code is
91
+ # intended to run in multiple environments; otherwise, check them in:
92
+ # .python-version
93
+
94
+ # pipenv
95
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
97
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
98
+ # install all needed dependencies.
99
+ #Pipfile.lock
100
+
101
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
102
+ __pypackages__/
103
+
104
+ # Celery stuff
105
+ celerybeat-schedule
106
+ celerybeat.pid
107
+
108
+ # SageMath parsed files
109
+ *.sage.py
110
+
111
+ # Environments
112
+ .env
113
+ .venv
114
+ env/
115
+ venv/
116
+ ENV/
117
+ env.bak/
118
+ venv.bak/
119
+
120
+ # Spyder project settings
121
+ .spyderproject
122
+ .spyproject
123
+
124
+ # Rope project settings
125
+ .ropeproject
126
+
127
+ # mkdocs documentation
128
+ /site
129
+
130
+ # mypy
131
+ .mypy_cache/
132
+ .dmypy.json
133
+ dmypy.json
134
+
135
+ # Pyre type checker
136
+ .pyre/
137
+
138
+ # pytype static type analyzer
139
+ .pytype/
140
+
141
+ # Cython debug symbols
142
+ cython_debug/
@@ -0,0 +1,57 @@
1
+ [MAIN]
2
+ ignore=CVS,.git,__pycache__,.venv,venv
3
+ persistent=yes
4
+ jobs=0
5
+ py-version=3.10
6
+ load-plugins=
7
+ pylint.extensions.bad_builtin,
8
+ pylint.extensions.code_style,
9
+ pylint.extensions.typing,
10
+ pylint.extensions.docparams,
11
+ pylint.extensions.set_membership,
12
+ pylint.extensions.overlapping_exceptions,
13
+ pylint.extensions.broad_try_clause,
14
+ pylint.extensions.dict_init_mutate
15
+
16
+ [MESSAGES CONTROL]
17
+ enable=
18
+ use-symbolic-message-instead,
19
+ useless-suppression
20
+
21
+ disable=
22
+ format,
23
+ invalid-name,
24
+ missing-module-docstring,
25
+ missing-class-docstring,
26
+ missing-function-docstring,
27
+ too-few-public-methods,
28
+ protected-access,
29
+ fixme,
30
+ consider-using-assignment-expr,
31
+ line-too-long,
32
+ too-many-try-statements,
33
+ too-many-statements,
34
+ too-many-branches
35
+
36
+ [REPORTS]
37
+ output-format=text
38
+ reports=no
39
+ score=yes
40
+
41
+ [BASIC]
42
+ good-names=i,j,k,ex,Run,_,fd,fp,id
43
+
44
+ [DESIGN]
45
+ max-args=9
46
+ max-locals=19
47
+ max-returns=11
48
+ max-branches=20
49
+ max-statements=50
50
+ max-attributes=11
51
+
52
+ [TYPECHECK]
53
+ ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace
54
+ generated-members=REQUEST,acl_users,aq_parent
55
+
56
+ [TYPING]
57
+ runtime-typing=no
@@ -0,0 +1,37 @@
1
+ target-version = "py310"
2
+ line-length = 88
3
+
4
+ [lint]
5
+ select = [
6
+ "E", # pycodestyle errors
7
+ "W", # pycodestyle warnings
8
+ "F", # pyflakes
9
+ "I", # isort
10
+ "B", # flake8-bugbear
11
+ "UP", # pyupgrade
12
+ "D", # pydocstyle
13
+ "PTH", # flake8-use-pathlib
14
+ "C4", # flake8-comprehensions
15
+ "SIM", # flake8-simplify
16
+ "RUF", # Ruff-specific rules
17
+ "PL", # Pylint rules
18
+ ]
19
+
20
+ ignore = [
21
+ "PLR2004", # Magic value used in comparison, consider replacing `X` with a constant variable
22
+ "ISC001", # Prevent conflicts with the Ruff formatter
23
+ "PLW2901", # For loop variable pattern overwritten by assignment target
24
+ "PLR0915", # Too many statements
25
+ "PLR0912", # Too many branches
26
+ "PLR0911", # Too many return statements
27
+ ]
28
+
29
+ fixable = ["ALL"]
30
+ unfixable = []
31
+
32
+ [lint.pydocstyle]
33
+ convention = "pep257"
34
+
35
+ [format]
36
+ quote-style = "double"
37
+ indent-style = "space"