originblame 0.2.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 (124) hide show
  1. originblame-0.2.0/.github/workflows/CI.yml +160 -0
  2. originblame-0.2.0/.gitignore +4 -0
  3. originblame-0.2.0/Cargo.lock +848 -0
  4. originblame-0.2.0/Cargo.toml +42 -0
  5. originblame-0.2.0/LICENSE +21 -0
  6. originblame-0.2.0/PKG-INFO +157 -0
  7. originblame-0.2.0/PYPI.md +130 -0
  8. originblame-0.2.0/README.md +244 -0
  9. originblame-0.2.0/dist/originblame-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl +0 -0
  10. originblame-0.2.0/pyproject.toml +52 -0
  11. originblame-0.2.0/python/PYPI.md +130 -0
  12. originblame-0.2.0/python/packages/ob-util/pyproject.toml +39 -0
  13. originblame-0.2.0/python/packages/ob-util/src/ob_util/__init__.py +1 -0
  14. originblame-0.2.0/python/packages/ob-util/src/ob_util/cli/__init__.py +0 -0
  15. originblame-0.2.0/python/packages/ob-util/src/ob_util/cli/export_cmd.py +20 -0
  16. originblame-0.2.0/python/packages/ob-util/src/ob_util/cli/index_cmd.py +27 -0
  17. originblame-0.2.0/python/packages/ob-util/src/ob_util/cli/parse_cmd.py +24 -0
  18. originblame-0.2.0/python/packages/ob-util/src/ob_util/cli/reconcile_cmd.py +67 -0
  19. originblame-0.2.0/python/packages/ob-util/src/ob_util/cli/reconstruct_cmd.py +136 -0
  20. originblame-0.2.0/python/packages/ob-util/src/ob_util/export.py +102 -0
  21. originblame-0.2.0/python/packages/ob-util/src/ob_util/index.py +88 -0
  22. originblame-0.2.0/python/packages/ob-util/src/ob_util/parsers/__init__.py +0 -0
  23. originblame-0.2.0/python/packages/ob-util/src/ob_util/parsers/mediawiki.py +875 -0
  24. originblame-0.2.0/python/packages/ob-util/src/ob_util/reconcile.py +491 -0
  25. originblame-0.2.0/python/packages/ob-util/src/ob_util/reconstruct.py +270 -0
  26. originblame-0.2.0/python/packages/ob-util/tests/__init__.py +0 -0
  27. originblame-0.2.0/python/packages/ob-util/tests/test_export.py +200 -0
  28. originblame-0.2.0/python/packages/ob-util/tests/test_index.py +149 -0
  29. originblame-0.2.0/python/packages/ob-util/tests/test_mediawiki.py +963 -0
  30. originblame-0.2.0/python/packages/ob-util/tests/test_reconcile.py +825 -0
  31. originblame-0.2.0/python/pyproject.toml +52 -0
  32. originblame-0.2.0/python/src/ob/__init__.py +19 -0
  33. originblame-0.2.0/python/src/ob/__main__.py +4 -0
  34. originblame-0.2.0/python/src/ob/_track.py +82 -0
  35. originblame-0.2.0/python/src/ob/api.py +181 -0
  36. originblame-0.2.0/python/src/ob/authors.py +261 -0
  37. originblame-0.2.0/python/src/ob/cli/__init__.py +98 -0
  38. originblame-0.2.0/python/src/ob/cli/__main__.py +4 -0
  39. originblame-0.2.0/python/src/ob/cli/author_cmd.py +34 -0
  40. originblame-0.2.0/python/src/ob/cli/blame_cmd.py +26 -0
  41. originblame-0.2.0/python/src/ob/cli/clean_cmd.py +40 -0
  42. originblame-0.2.0/python/src/ob/cli/export_cmd.py +20 -0
  43. originblame-0.2.0/python/src/ob/cli/index_cmd.py +31 -0
  44. originblame-0.2.0/python/src/ob/cli/init_cmd.py +24 -0
  45. originblame-0.2.0/python/src/ob/cli/log_cmd.py +55 -0
  46. originblame-0.2.0/python/src/ob/cli/merge_cmd.py +44 -0
  47. originblame-0.2.0/python/src/ob/cli/parse_cmd.py +16 -0
  48. originblame-0.2.0/python/src/ob/cli/purge_cmd.py +46 -0
  49. originblame-0.2.0/python/src/ob/cli/reconcile_cmd.py +17 -0
  50. originblame-0.2.0/python/src/ob/cli/register_cmd.py +39 -0
  51. originblame-0.2.0/python/src/ob/cli/revoke_cmd.py +51 -0
  52. originblame-0.2.0/python/src/ob/cli/show_cmd.py +46 -0
  53. originblame-0.2.0/python/src/ob/cli/status_cmd.py +99 -0
  54. originblame-0.2.0/python/src/ob/cli/version_cmd.py +12 -0
  55. originblame-0.2.0/python/src/ob/embeddings.py +128 -0
  56. originblame-0.2.0/python/src/ob/exceptions.py +81 -0
  57. originblame-0.2.0/python/src/ob/indexer.py +250 -0
  58. originblame-0.2.0/python/src/ob/oplog.py +91 -0
  59. originblame-0.2.0/python/src/ob/register.py +373 -0
  60. originblame-0.2.0/python/src/ob/rust.py +348 -0
  61. originblame-0.2.0/python/src/ob/source.py +151 -0
  62. originblame-0.2.0/python/src/ob/storage.py +179 -0
  63. originblame-0.2.0/python/src/ob/track.py +137 -0
  64. originblame-0.2.0/python/src/ob/util.py +170 -0
  65. originblame-0.2.0/src/authors.rs +115 -0
  66. originblame-0.2.0/src/binary_index.rs +508 -0
  67. originblame-0.2.0/src/blame.rs +12 -0
  68. originblame-0.2.0/src/clean.rs +248 -0
  69. originblame-0.2.0/src/embeddings.rs +37 -0
  70. originblame-0.2.0/src/export.rs +119 -0
  71. originblame-0.2.0/src/generate_set.rs +122 -0
  72. originblame-0.2.0/src/hash.rs +30 -0
  73. originblame-0.2.0/src/index.rs +446 -0
  74. originblame-0.2.0/src/indexer.rs +77 -0
  75. originblame-0.2.0/src/lib.rs +65 -0
  76. originblame-0.2.0/src/main.rs +619 -0
  77. originblame-0.2.0/src/merge.rs +546 -0
  78. originblame-0.2.0/src/mmap_lines.rs +93 -0
  79. originblame-0.2.0/src/ob/__init__.py +19 -0
  80. originblame-0.2.0/src/ob/__main__.py +4 -0
  81. originblame-0.2.0/src/ob/_track.py +82 -0
  82. originblame-0.2.0/src/ob/api.py +181 -0
  83. originblame-0.2.0/src/ob/authors.py +261 -0
  84. originblame-0.2.0/src/ob/cli/__init__.py +98 -0
  85. originblame-0.2.0/src/ob/cli/__main__.py +4 -0
  86. originblame-0.2.0/src/ob/cli/author_cmd.py +34 -0
  87. originblame-0.2.0/src/ob/cli/blame_cmd.py +26 -0
  88. originblame-0.2.0/src/ob/cli/clean_cmd.py +40 -0
  89. originblame-0.2.0/src/ob/cli/export_cmd.py +20 -0
  90. originblame-0.2.0/src/ob/cli/index_cmd.py +31 -0
  91. originblame-0.2.0/src/ob/cli/init_cmd.py +24 -0
  92. originblame-0.2.0/src/ob/cli/log_cmd.py +55 -0
  93. originblame-0.2.0/src/ob/cli/merge_cmd.py +44 -0
  94. originblame-0.2.0/src/ob/cli/parse_cmd.py +16 -0
  95. originblame-0.2.0/src/ob/cli/purge_cmd.py +46 -0
  96. originblame-0.2.0/src/ob/cli/reconcile_cmd.py +17 -0
  97. originblame-0.2.0/src/ob/cli/register_cmd.py +39 -0
  98. originblame-0.2.0/src/ob/cli/revoke_cmd.py +51 -0
  99. originblame-0.2.0/src/ob/cli/show_cmd.py +46 -0
  100. originblame-0.2.0/src/ob/cli/status_cmd.py +99 -0
  101. originblame-0.2.0/src/ob/cli/version_cmd.py +12 -0
  102. originblame-0.2.0/src/ob/embeddings.py +128 -0
  103. originblame-0.2.0/src/ob/exceptions.py +81 -0
  104. originblame-0.2.0/src/ob/indexer.py +250 -0
  105. originblame-0.2.0/src/ob/oplog.py +91 -0
  106. originblame-0.2.0/src/ob/register.py +373 -0
  107. originblame-0.2.0/src/ob/rust.py +348 -0
  108. originblame-0.2.0/src/ob/source.py +151 -0
  109. originblame-0.2.0/src/ob/storage.py +179 -0
  110. originblame-0.2.0/src/ob/track.py +137 -0
  111. originblame-0.2.0/src/ob/util.py +170 -0
  112. originblame-0.2.0/src/oplog.rs +28 -0
  113. originblame-0.2.0/src/parsers/mediawiki.rs +149 -0
  114. originblame-0.2.0/src/parsers/mod.rs +23 -0
  115. originblame-0.2.0/src/purge.rs +488 -0
  116. originblame-0.2.0/src/python.rs +534 -0
  117. originblame-0.2.0/src/reconcile.rs +113 -0
  118. originblame-0.2.0/src/register.rs +48 -0
  119. originblame-0.2.0/src/revoke.rs +477 -0
  120. originblame-0.2.0/src/show.rs +911 -0
  121. originblame-0.2.0/src/storage.rs +88 -0
  122. originblame-0.2.0/src/token_bin_index.rs +728 -0
  123. originblame-0.2.0/src/token_index.rs +886 -0
  124. originblame-0.2.0/src/track.rs +132 -0
@@ -0,0 +1,160 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ tags: ['*']
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ linux:
15
+ runs-on: ubuntu-22.04
16
+ strategy:
17
+ matrix:
18
+ target: [x86_64, aarch64]
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: actions/setup-python@v5
22
+ with:
23
+ python-version: '3.13'
24
+ - uses: actions/setup-python@v5
25
+ with:
26
+ python-version: '3.12'
27
+ - name: Build wheels
28
+ uses: PyO3/maturin-action@v1
29
+ with:
30
+ target: ${{ matrix.target }}
31
+ args: --release --out dist --find-interpreter
32
+ working-directory: python
33
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
34
+ manylinux: auto
35
+ - name: Upload wheels
36
+ uses: actions/upload-artifact@v4
37
+ with:
38
+ name: wheels-linux-${{ matrix.target }}
39
+ path: python/dist
40
+
41
+ musllinux:
42
+ runs-on: ubuntu-22.04
43
+ strategy:
44
+ matrix:
45
+ target: [x86_64, aarch64]
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+ - uses: actions/setup-python@v5
49
+ with:
50
+ python-version: '3.13'
51
+ - name: Build wheels
52
+ uses: PyO3/maturin-action@v1
53
+ with:
54
+ target: ${{ matrix.target }}
55
+ args: --release --out dist --find-interpreter
56
+ working-directory: python
57
+ manylinux: musllinux_1_2
58
+ - name: Upload wheels
59
+ uses: actions/upload-artifact@v4
60
+ with:
61
+ name: wheels-musllinux-${{ matrix.target }}
62
+ path: python/dist
63
+
64
+ windows:
65
+ runs-on: ${{ matrix.platform.runner }}
66
+ strategy:
67
+ matrix:
68
+ platform:
69
+ - runner: windows-latest
70
+ target: x64
71
+ - runner: windows-latest
72
+ target: x86
73
+ steps:
74
+ - uses: actions/checkout@v4
75
+ - uses: actions/setup-python@v5
76
+ with:
77
+ python-version: '3.13'
78
+ architecture: ${{ matrix.platform.target == 'x86' && 'x86' || 'x64' }}
79
+ - name: Build wheels
80
+ uses: PyO3/maturin-action@v1
81
+ with:
82
+ target: ${{ matrix.platform.target }}
83
+ args: --release --out dist --find-interpreter
84
+ working-directory: python
85
+ - name: Upload wheels
86
+ uses: actions/upload-artifact@v4
87
+ with:
88
+ name: wheels-windows-${{ matrix.platform.target }}
89
+ path: python/dist
90
+
91
+ macos:
92
+ runs-on: macos-latest
93
+ steps:
94
+ - uses: actions/checkout@v4
95
+ - uses: actions/setup-python@v5
96
+ with:
97
+ python-version: '3.13'
98
+ - name: Build wheels
99
+ uses: PyO3/maturin-action@v1
100
+ with:
101
+ target: aarch64
102
+ args: --release --out dist --find-interpreter
103
+ working-directory: python
104
+ - name: Upload wheels
105
+ uses: actions/upload-artifact@v4
106
+ with:
107
+ name: wheels-macos-aarch64
108
+ path: python/dist
109
+
110
+ sdist:
111
+ runs-on: ubuntu-latest
112
+ steps:
113
+ - uses: actions/checkout@v4
114
+ - name: Build sdist
115
+ uses: PyO3/maturin-action@v1
116
+ with:
117
+ command: sdist
118
+ args: --out dist
119
+ working-directory: python
120
+ - name: Upload sdist
121
+ uses: actions/upload-artifact@v4
122
+ with:
123
+ name: wheels-sdist
124
+ path: python/dist
125
+
126
+ test:
127
+ needs: linux
128
+ runs-on: ubuntu-22.04
129
+ steps:
130
+ - uses: actions/download-artifact@v4
131
+ with:
132
+ name: wheels-linux-x86_64
133
+ path: dist/
134
+ - uses: actions/setup-python@v5
135
+ with:
136
+ python-version: '3.13'
137
+ - name: Install wheel
138
+ run: pip install dist/originblame-*cp313*.whl
139
+ - name: Smoke test
140
+ run: |
141
+ python -c "import ob; print('version:', ob.__version__)"
142
+ python -c "from ob._ob_native import init; print('native OK')"
143
+ ob version
144
+
145
+ release:
146
+ name: Release
147
+ runs-on: ubuntu-latest
148
+ if: startsWith(github.ref, 'refs/tags/')
149
+ needs: [linux, musllinux, windows, macos, sdist, test]
150
+ permissions:
151
+ id-token: write
152
+ steps:
153
+ - uses: actions/download-artifact@v4
154
+ with:
155
+ path: dist
156
+ merge-multiple: true
157
+ - name: Publish to PyPI
158
+ uses: pypa/gh-action-pypi-publish@release/v1
159
+ with:
160
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,4 @@
1
+ /target
2
+ target/
3
+ __pycache__/
4
+ *.so