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.
Files changed (53) hide show
  1. echo_python-0.1.0/.github/workflows/pypi.yml +72 -0
  2. echo_python-0.1.0/.gitignore +3 -0
  3. echo_python-0.1.0/AGENTS.md +20 -0
  4. echo_python-0.1.0/Cargo.lock +886 -0
  5. echo_python-0.1.0/Cargo.toml +42 -0
  6. echo_python-0.1.0/LICENSE +21 -0
  7. echo_python-0.1.0/Makefile +32 -0
  8. echo_python-0.1.0/PKG-INFO +66 -0
  9. echo_python-0.1.0/mise.toml +2 -0
  10. echo_python-0.1.0/pyproject.toml +36 -0
  11. echo_python-0.1.0/readme.txt +47 -0
  12. echo_python-0.1.0/rust-toolchain.toml +2 -0
  13. echo_python-0.1.0/rustfmt.toml +3 -0
  14. echo_python-0.1.0/src/check/mod.rs +13 -0
  15. echo_python-0.1.0/src/check/paths.rs +36 -0
  16. echo_python-0.1.0/src/check/source.rs +52 -0
  17. echo_python-0.1.0/src/check/walk.rs +87 -0
  18. echo_python-0.1.0/src/checker/mod.rs +14 -0
  19. echo_python-0.1.0/src/checker/visit.rs +67 -0
  20. echo_python-0.1.0/src/common/mod.rs +2 -0
  21. echo_python-0.1.0/src/common/report.rs +22 -0
  22. echo_python-0.1.0/src/common/sort_key/cmp.rs +66 -0
  23. echo_python-0.1.0/src/common/sort_key/from_expr.rs +38 -0
  24. echo_python-0.1.0/src/common/sort_key/mod.rs +15 -0
  25. echo_python-0.1.0/src/common/sort_key/order.rs +50 -0
  26. echo_python-0.1.0/src/common/sort_key/predicates.rs +37 -0
  27. echo_python-0.1.0/src/diagnostic/ctors.rs +21 -0
  28. echo_python-0.1.0/src/diagnostic/display.rs +22 -0
  29. echo_python-0.1.0/src/diagnostic/mod.rs +13 -0
  30. echo_python-0.1.0/src/lib.rs +18 -0
  31. echo_python-0.1.0/src/locator/ctors.rs +36 -0
  32. echo_python-0.1.0/src/locator/methods.rs +47 -0
  33. echo_python-0.1.0/src/locator/mod.rs +8 -0
  34. echo_python-0.1.0/src/main.rs +93 -0
  35. echo_python-0.1.0/src/noqa/ctors.rs +41 -0
  36. echo_python-0.1.0/src/noqa/methods.rs +44 -0
  37. echo_python-0.1.0/src/noqa/mod.rs +10 -0
  38. echo_python-0.1.0/src/noqa/parse.rs +57 -0
  39. echo_python-0.1.0/src/rules/calls_use_kwargs.rs +277 -0
  40. echo_python-0.1.0/src/rules/mixed_list_sorted.rs +58 -0
  41. echo_python-0.1.0/src/rules/mod.rs +5 -0
  42. echo_python-0.1.0/src/rules/numbers_list_sorted.rs +40 -0
  43. echo_python-0.1.0/src/rules/params_one_per_line.rs +178 -0
  44. echo_python-0.1.0/src/rules/words_list_sorted.rs +40 -0
  45. echo_python-0.1.0/src/settings/load.rs +164 -0
  46. echo_python-0.1.0/src/settings/mod.rs +31 -0
  47. echo_python-0.1.0/src/settings/rules.rs +140 -0
  48. echo_python-0.1.0/tests/calls_use_kwargs.rs +135 -0
  49. echo_python-0.1.0/tests/locator.rs +11 -0
  50. echo_python-0.1.0/tests/mixed_list_sorted.rs +47 -0
  51. echo_python-0.1.0/tests/numbers_list_sorted.rs +34 -0
  52. echo_python-0.1.0/tests/params_one_per_line.rs +42 -0
  53. 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,3 @@
1
+ *.egg-info
2
+ /dist
3
+ /target
@@ -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.