echo-python 0.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.
- echo_python-0.1.0/.github/workflows/pypi.yml +72 -0
- echo_python-0.1.0/.gitignore +3 -0
- echo_python-0.1.0/AGENTS.md +20 -0
- echo_python-0.1.0/Cargo.lock +886 -0
- echo_python-0.1.0/Cargo.toml +42 -0
- echo_python-0.1.0/LICENSE +21 -0
- echo_python-0.1.0/Makefile +32 -0
- echo_python-0.1.0/PKG-INFO +66 -0
- echo_python-0.1.0/mise.toml +2 -0
- echo_python-0.1.0/pyproject.toml +36 -0
- echo_python-0.1.0/readme.txt +47 -0
- echo_python-0.1.0/rust-toolchain.toml +2 -0
- echo_python-0.1.0/rustfmt.toml +3 -0
- echo_python-0.1.0/src/check/mod.rs +13 -0
- echo_python-0.1.0/src/check/paths.rs +36 -0
- echo_python-0.1.0/src/check/source.rs +52 -0
- echo_python-0.1.0/src/check/walk.rs +87 -0
- echo_python-0.1.0/src/checker/mod.rs +14 -0
- echo_python-0.1.0/src/checker/visit.rs +67 -0
- echo_python-0.1.0/src/common/mod.rs +2 -0
- echo_python-0.1.0/src/common/report.rs +22 -0
- echo_python-0.1.0/src/common/sort_key/cmp.rs +66 -0
- echo_python-0.1.0/src/common/sort_key/from_expr.rs +38 -0
- echo_python-0.1.0/src/common/sort_key/mod.rs +15 -0
- echo_python-0.1.0/src/common/sort_key/order.rs +50 -0
- echo_python-0.1.0/src/common/sort_key/predicates.rs +37 -0
- echo_python-0.1.0/src/diagnostic/ctors.rs +21 -0
- echo_python-0.1.0/src/diagnostic/display.rs +22 -0
- echo_python-0.1.0/src/diagnostic/mod.rs +13 -0
- echo_python-0.1.0/src/lib.rs +18 -0
- echo_python-0.1.0/src/locator/ctors.rs +36 -0
- echo_python-0.1.0/src/locator/methods.rs +47 -0
- echo_python-0.1.0/src/locator/mod.rs +8 -0
- echo_python-0.1.0/src/main.rs +93 -0
- echo_python-0.1.0/src/noqa/ctors.rs +41 -0
- echo_python-0.1.0/src/noqa/methods.rs +44 -0
- echo_python-0.1.0/src/noqa/mod.rs +10 -0
- echo_python-0.1.0/src/noqa/parse.rs +57 -0
- echo_python-0.1.0/src/rules/calls_use_kwargs.rs +277 -0
- echo_python-0.1.0/src/rules/mixed_list_sorted.rs +58 -0
- echo_python-0.1.0/src/rules/mod.rs +5 -0
- echo_python-0.1.0/src/rules/numbers_list_sorted.rs +40 -0
- echo_python-0.1.0/src/rules/params_one_per_line.rs +178 -0
- echo_python-0.1.0/src/rules/words_list_sorted.rs +40 -0
- echo_python-0.1.0/src/settings/load.rs +164 -0
- echo_python-0.1.0/src/settings/mod.rs +31 -0
- echo_python-0.1.0/src/settings/rules.rs +140 -0
- echo_python-0.1.0/tests/calls_use_kwargs.rs +135 -0
- echo_python-0.1.0/tests/locator.rs +11 -0
- echo_python-0.1.0/tests/mixed_list_sorted.rs +47 -0
- echo_python-0.1.0/tests/numbers_list_sorted.rs +34 -0
- echo_python-0.1.0/tests/params_one_per_line.rs +42 -0
- echo_python-0.1.0/tests/words_list_sorted.rs +34 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
jobs:
|
|
2
|
+
linux:
|
|
3
|
+
runs-on: ubuntu-latest
|
|
4
|
+
steps:
|
|
5
|
+
- uses: actions/checkout@v6
|
|
6
|
+
- name: build wheels
|
|
7
|
+
uses: PyO3/maturin-action@v1
|
|
8
|
+
with:
|
|
9
|
+
args: '--release --out dist --locked'
|
|
10
|
+
manylinux: auto
|
|
11
|
+
sccache: true
|
|
12
|
+
target: x86_64
|
|
13
|
+
- name: upload wheels
|
|
14
|
+
uses: actions/upload-artifact@v6
|
|
15
|
+
with:
|
|
16
|
+
name: wheels-linux-x86_64
|
|
17
|
+
path: dist
|
|
18
|
+
macos:
|
|
19
|
+
runs-on: macos-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v6
|
|
22
|
+
- name: build wheels
|
|
23
|
+
uses: PyO3/maturin-action@v1
|
|
24
|
+
with:
|
|
25
|
+
args: '--release --out dist --locked'
|
|
26
|
+
sccache: true
|
|
27
|
+
target: aarch64
|
|
28
|
+
- name: upload wheels
|
|
29
|
+
uses: actions/upload-artifact@v6
|
|
30
|
+
with:
|
|
31
|
+
name: wheels-macos-aarch64
|
|
32
|
+
path: dist
|
|
33
|
+
release:
|
|
34
|
+
if: github.ref == 'refs/heads/main'
|
|
35
|
+
name: publish
|
|
36
|
+
needs:
|
|
37
|
+
- linux
|
|
38
|
+
- macos
|
|
39
|
+
- sdist
|
|
40
|
+
permissions:
|
|
41
|
+
id-token: write
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/download-artifact@v7
|
|
45
|
+
with:
|
|
46
|
+
merge-multiple: true
|
|
47
|
+
path: dist
|
|
48
|
+
- name: install uv
|
|
49
|
+
uses: astral-sh/setup-uv@v7
|
|
50
|
+
with:
|
|
51
|
+
enable-cache: false
|
|
52
|
+
- name: publish to pypi
|
|
53
|
+
run: uv publish --trusted-publishing always --check-url https://pypi.org/simple/ dist/*
|
|
54
|
+
sdist:
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
steps:
|
|
57
|
+
- uses: actions/checkout@v6
|
|
58
|
+
- name: build sdist
|
|
59
|
+
uses: PyO3/maturin-action@v1
|
|
60
|
+
with:
|
|
61
|
+
args: '--out dist'
|
|
62
|
+
command: sdist
|
|
63
|
+
- name: upload sdist
|
|
64
|
+
uses: actions/upload-artifact@v6
|
|
65
|
+
with:
|
|
66
|
+
name: wheels-sdist
|
|
67
|
+
path: dist
|
|
68
|
+
name: pypi
|
|
69
|
+
'on':
|
|
70
|
+
workflow_dispatch: {}
|
|
71
|
+
permissions:
|
|
72
|
+
contents: read
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Agent guidelines
|
|
2
|
+
|
|
3
|
+
- Comments in code are forbidden.
|
|
4
|
+
- After every change, run linters and tests for the files and functionality that were affected.
|
|
5
|
+
- In Makefiles, put a target in `.PHONY` only if it overrides something systemic or matches a folder/file that already exists in the repo—not prophylactically, and not for custom names like `mr`.
|
|
6
|
+
- Keep `mod.rs` and other module-root files thin: type/struct definitions, module declarations, and re-exports only—no logic.
|
|
7
|
+
- One file, one concern. When a module grows, split by role (constructors, methods, iterators, reporting, parsing)—not by stuffing more into the same file.
|
|
8
|
+
- Multiple `impl` blocks for the same type across sibling files are fine when that keeps concerns apart.
|
|
9
|
+
- Keep functions short (prefer under ~15 lines); extract a step rather than grow a body.
|
|
10
|
+
- Prefer `pub(crate)` or private visibility; `pub` only for the crate’s public API.
|
|
11
|
+
- Do not name items with a leading `_` or `__` (no `_foo`, `__bar`, and no “unused” names silenced by underscore prefixes).
|
|
12
|
+
- Put unit tests in the same `.rs` file as the code they cover; keep end-to-end rule checks under `tests/`.
|
|
13
|
+
- Name tests as short behavior scenarios (e.g. `unsorted_numbers_are_reported`).
|
|
14
|
+
- Prefer many small tests over one test with many assertions.
|
|
15
|
+
- In `assert_eq!`, put the expected value first: `assert_eq!(expected, actual)`.
|
|
16
|
+
- Use long-form CLI flags only.
|
|
17
|
+
- Before every commit, run `make mr`.
|
|
18
|
+
- One action = one commit; push to the open PR after each change.
|
|
19
|
+
- If on `main`, create a short kebab-case branch (one or two words) first.
|
|
20
|
+
- Keep the PR description updated after every commit.
|