pycdhit4 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.
- pycdhit4-0.1.0/.github/workflows/package.yml +266 -0
- pycdhit4-0.1.0/.github/workflows/requirements.txt +7 -0
- pycdhit4-0.1.0/.github/workflows/test.yml +202 -0
- pycdhit4-0.1.0/.gitignore +171 -0
- pycdhit4-0.1.0/.gitmodules +3 -0
- pycdhit4-0.1.0/CHANGELOG.md +15 -0
- pycdhit4-0.1.0/CMakeLists.txt +24 -0
- pycdhit4-0.1.0/CONTRIBUTING.md +41 -0
- pycdhit4-0.1.0/COPYING +674 -0
- pycdhit4-0.1.0/PKG-INFO +203 -0
- pycdhit4-0.1.0/README.md +166 -0
- pycdhit4-0.1.0/include/cdhit/__init__.pxd +36 -0
- pycdhit4-0.1.0/include/cdhit/options.pxd +83 -0
- pycdhit4-0.1.0/include/cdhit/score_matrix.pxd +17 -0
- pycdhit4-0.1.0/include/cdhit/seq.pxd +104 -0
- pycdhit4-0.1.0/include/cdhit/vector.pxd +11 -0
- pycdhit4-0.1.0/patches/Makefile.patch +67 -0
- pycdhit4-0.1.0/patches/cdhit-2d.c++.patch +35 -0
- pycdhit4-0.1.0/patches/cdhit-454.c++.patch +66 -0
- pycdhit4-0.1.0/patches/cdhit-common.c++.patch +7998 -0
- pycdhit4-0.1.0/patches/cdhit-common.h.patch +210 -0
- pycdhit4-0.1.0/patches/cdhit-div.c++.patch +20 -0
- pycdhit4-0.1.0/patches/cdhit-error.c++.patch +32 -0
- pycdhit4-0.1.0/patches/cdhit-est-2d.c++.patch +77 -0
- pycdhit4-0.1.0/patches/cdhit-est.c++.patch +72 -0
- pycdhit4-0.1.0/patches/cdhit.c++.patch +34 -0
- pycdhit4-0.1.0/pyproject.toml +132 -0
- pycdhit4-0.1.0/src/CMakeLists.txt +2 -0
- pycdhit4-0.1.0/src/cdhit/CMakeLists.txt +64 -0
- pycdhit4-0.1.0/src/pycdhit4/CMakeLists.txt +1 -0
- pycdhit4-0.1.0/src/pycdhit4/__init__.py +10 -0
- pycdhit4-0.1.0/src/pycdhit4/_cdhit.pyi +25 -0
- pycdhit4-0.1.0/src/pycdhit4/_cdhit.pyx +168 -0
- pycdhit4-0.1.0/src/pycdhit4/_errors.cpp +35 -0
- pycdhit4-0.1.0/src/pycdhit4/py.typed +0 -0
- pycdhit4-0.1.0/src/pycdhit4/tests/__init__.py +12 -0
- pycdhit4-0.1.0/src/pycdhit4/tests/__main__.py +5 -0
- pycdhit4-0.1.0/src/pycdhit4/tests/test_cluster.py +41 -0
- pycdhit4-0.1.0/src/pycdhit4/tests/test_doctest.py +82 -0
- pycdhit4-0.1.0/src/scripts/apply_patch.py +65 -0
- pycdhit4-0.1.0/src/scripts/cmake/CythonExtension.cmake +138 -0
- pycdhit4-0.1.0/src/scripts/cmake/pystate_patch.h +10 -0
- pycdhit4-0.1.0/src/scripts/generate_patches.py +51 -0
- pycdhit4-0.1.0/vendor/cdhit/ChangeLog +82 -0
- pycdhit4-0.1.0/vendor/cdhit/FET.pl +109 -0
- pycdhit4-0.1.0/vendor/cdhit/Makefile +108 -0
- pycdhit4-0.1.0/vendor/cdhit/README +42 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-2d-para.pl +483 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/Makefile +47 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/bioSequence.cxx +241 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/bioSequence.hxx +132 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/cd-hit-dup-PE-out.pl +111 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/cdhit-dup.cxx +1034 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/cdhit-lap.cxx +381 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minArray.hxx +250 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minBase.hxx +13 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minMap.cxx +538 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minMap.hxx +218 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minString.cxx +499 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minString.hxx +86 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/mintlib/minUtility.hxx +6 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-auxtools/read-linker.cxx +270 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-clstr_2_blm8.pl +58 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-div.pl +49 -0
- pycdhit4-0.1.0/vendor/cdhit/cd-hit-para.pl +454 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-2d.c++ +78 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-454.c++ +108 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-common.c++ +4408 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-common.h +642 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-div.c++ +69 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-est-2d.c++ +115 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-est.c++ +95 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-utility.c++ +383 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit-utility.h +7 -0
- pycdhit4-0.1.0/vendor/cdhit/cdhit.c++ +68 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr2tree.pl +51 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr2txt.pl +57 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr2xml.pl +151 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_cut.pl +31 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_list.pl +89 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_list_sort.pl +51 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_merge.pl +144 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_merge_noorder.pl +100 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_quality_eval.pl +137 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_quality_eval_by_link.pl +85 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_reduce.pl +51 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_renumber.pl +14 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_rep.pl +32 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_reps_faa_rev.pl +57 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_rev.pl +83 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_select.pl +29 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_select_rep.pl +38 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_size_histogram.pl +38 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_size_stat.pl +40 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_sort_by.pl +47 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_sort_prot_by.pl +59 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_sql_tbl.pl +127 -0
- pycdhit4-0.1.0/vendor/cdhit/clstr_sql_tbl_sort.pl +45 -0
- pycdhit4-0.1.0/vendor/cdhit/license.txt +339 -0
- pycdhit4-0.1.0/vendor/cdhit/make_multi_seq.pl +76 -0
- pycdhit4-0.1.0/vendor/cdhit/plot_2d.pl +159 -0
- pycdhit4-0.1.0/vendor/cdhit/plot_len1.pl +105 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/README.psi-cd-hit +22 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/cd-hit-div.pl +49 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/clstr_select_rep.pl +38 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/clstr_select_seq.pl +35 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/fetch_fasta_by_ids.pl +29 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/fetch_fasta_exclude_ids.pl +29 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/psi-2d.pl +440 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/psi-cd-hit-local-old.pl +1285 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/psi-cd-hit-local.pl +1524 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/psi-cd-hit-old.pl +165 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/psi-cd-hit.pl +167 -0
- pycdhit4-0.1.0/vendor/cdhit/psi-cd-hit/qsub-template +10 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/16S-ref-db-PE-splice.pl +458 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/NG-Omics-Miseq-16S.pl +117 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/NG-Omics-Miseq-16S.py +117 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/NG-Omics-WF.pl +1189 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/NG-Omics-WF.py +888 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/README +207 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/cd-hit-otu-miseq-PE.pl +222 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/clstr_2_OTU_table.pl +82 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/filter-chimeric-and-small.pl +237 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/filter-chimeric-by-ref.pl +207 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/filter-nontop-ref.pl +51 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/filter-refonly-cluster.pl +34 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/greengene-ann1.pl +75 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/pool_samples.pl +83 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/Miseq-16S/silva-ana1.pl +65 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/miRNA-seq/NG-Omics-miRNA-seq.pl +132 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/miRNA-seq/clstr_2_miRNA-table.pl +66 -0
- pycdhit4-0.1.0/vendor/cdhit/usecases/miRNA-seq/filter-small-cluster.pl +94 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
name: Package
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- v*
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
|
|
10
|
+
wheel-linux-aarch64:
|
|
11
|
+
name: Build Linux wheels (Aarch64)
|
|
12
|
+
runs-on: ubuntu-22.04-arm
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v3
|
|
15
|
+
with:
|
|
16
|
+
submodules: recursive
|
|
17
|
+
- name: Build manylinux wheels
|
|
18
|
+
uses: pypa/cibuildwheel@v4.3.5
|
|
19
|
+
env:
|
|
20
|
+
CIBW_ARCHS: aarch64
|
|
21
|
+
CIBW_BUILD: '*-manylinux_aarch64'
|
|
22
|
+
CIBW_BUILD_VERBOSITY: 2
|
|
23
|
+
with:
|
|
24
|
+
output-dir: dist
|
|
25
|
+
- uses: actions/upload-artifact@v4
|
|
26
|
+
with:
|
|
27
|
+
name: wheels-manylinux_aarch64
|
|
28
|
+
path: dist/*
|
|
29
|
+
|
|
30
|
+
wheel-linux-x86_64:
|
|
31
|
+
name: Build Linux wheels (x86-64)
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v4
|
|
35
|
+
with:
|
|
36
|
+
submodules: recursive
|
|
37
|
+
- name: Build manylinux wheels
|
|
38
|
+
uses: pypa/cibuildwheel@v4.3.5
|
|
39
|
+
env:
|
|
40
|
+
CIBW_ARCHS: x86_64
|
|
41
|
+
CIBW_BUILD: '*-manylinux_x86_64'
|
|
42
|
+
CIBW_BUILD_VERBOSITY: 2
|
|
43
|
+
with:
|
|
44
|
+
output-dir: dist
|
|
45
|
+
- uses: actions/upload-artifact@v4
|
|
46
|
+
with:
|
|
47
|
+
name: wheels-manylinux_x86_64
|
|
48
|
+
path: dist/*
|
|
49
|
+
|
|
50
|
+
wheel-macos-x86_64:
|
|
51
|
+
name: Build MacOS wheels (x86-64)
|
|
52
|
+
runs-on: macOS-latest
|
|
53
|
+
steps:
|
|
54
|
+
- uses: actions/checkout@v4
|
|
55
|
+
with:
|
|
56
|
+
submodules: recursive
|
|
57
|
+
- name: Build manylinux wheels
|
|
58
|
+
uses: pypa/cibuildwheel@v4.3.5
|
|
59
|
+
env:
|
|
60
|
+
CIBW_ARCHS: x86_64
|
|
61
|
+
CIBW_BUILD: '*-macosx_x86_64'
|
|
62
|
+
CIBW_BUILD_VERBOSITY: 2
|
|
63
|
+
MACOSX_DEPLOYMENT_TARGET: 11.0
|
|
64
|
+
with:
|
|
65
|
+
output-dir: dist
|
|
66
|
+
- uses: actions/upload-artifact@v4
|
|
67
|
+
with:
|
|
68
|
+
name: wheels-macosx_x86_64
|
|
69
|
+
path: dist/*
|
|
70
|
+
|
|
71
|
+
wheel-macos-aarch64:
|
|
72
|
+
name: Build MacOS wheels (Aarch64)
|
|
73
|
+
runs-on: macOS-latest
|
|
74
|
+
steps:
|
|
75
|
+
- uses: actions/checkout@v4
|
|
76
|
+
with:
|
|
77
|
+
submodules: recursive
|
|
78
|
+
- name: Build manylinux wheels
|
|
79
|
+
uses: pypa/cibuildwheel@v4.3.5
|
|
80
|
+
env:
|
|
81
|
+
CIBW_ARCHS: arm64
|
|
82
|
+
CIBW_BUILD: '*-macosx_arm64'
|
|
83
|
+
CIBW_BUILD_VERBOSITY: 2
|
|
84
|
+
with:
|
|
85
|
+
output-dir: dist
|
|
86
|
+
- uses: actions/upload-artifact@v4
|
|
87
|
+
with:
|
|
88
|
+
name: wheels-macosx_arm64
|
|
89
|
+
path: dist/*
|
|
90
|
+
|
|
91
|
+
wheel-win32-x86_64:
|
|
92
|
+
name: Build Windows wheels (x86-64)
|
|
93
|
+
runs-on: windows-latest
|
|
94
|
+
steps:
|
|
95
|
+
- uses: actions/checkout@v4
|
|
96
|
+
with:
|
|
97
|
+
submodules: recursive
|
|
98
|
+
- name: Configure build for amd64
|
|
99
|
+
uses: ilammy/msvc-dev-cmd@v1
|
|
100
|
+
with:
|
|
101
|
+
arch: amd64
|
|
102
|
+
- name: Build manylinux wheels
|
|
103
|
+
uses: pypa/cibuildwheel@v4.3.5
|
|
104
|
+
env:
|
|
105
|
+
CIBW_ARCHS: AMD64
|
|
106
|
+
CIBW_BUILD: '*-win_amd64'
|
|
107
|
+
CIBW_BUILD_VERBOSITY: 2
|
|
108
|
+
CMAKE_GENERATOR: Ninja
|
|
109
|
+
with:
|
|
110
|
+
output-dir: dist
|
|
111
|
+
- uses: actions/upload-artifact@v4
|
|
112
|
+
with:
|
|
113
|
+
name: wheels-win_amd64
|
|
114
|
+
path: dist/*
|
|
115
|
+
|
|
116
|
+
wheel-wasm:
|
|
117
|
+
name: Build WebAssembly wheel
|
|
118
|
+
runs-on: ubuntu-latest
|
|
119
|
+
steps:
|
|
120
|
+
- uses: actions/checkout@v4
|
|
121
|
+
with:
|
|
122
|
+
submodules: true
|
|
123
|
+
- name: Set up Python 3.13
|
|
124
|
+
uses: actions/setup-python@v2
|
|
125
|
+
with:
|
|
126
|
+
python-version: 3.13
|
|
127
|
+
- name: Install Pyodide
|
|
128
|
+
run: python -m pip install pyodide-build
|
|
129
|
+
- name: Build wheel
|
|
130
|
+
run: pyodide build .
|
|
131
|
+
- name: Create virtualenv
|
|
132
|
+
run: pyodide venv .venv-pyodide
|
|
133
|
+
- name: Install WebAssembly wheel
|
|
134
|
+
run: .venv-pyodide/bin/pip install dist/pycdhit4-*.whl
|
|
135
|
+
- name: Run tests
|
|
136
|
+
run: .venv-pyodide/bin/python -m unittest pycdhit4.tests -vv
|
|
137
|
+
- uses: actions/upload-artifact@v4
|
|
138
|
+
with:
|
|
139
|
+
name: wheels-wasm
|
|
140
|
+
path: dist/*
|
|
141
|
+
|
|
142
|
+
sdist:
|
|
143
|
+
runs-on: ubuntu-latest
|
|
144
|
+
name: Build source distribution
|
|
145
|
+
steps:
|
|
146
|
+
- uses: actions/checkout@v4
|
|
147
|
+
with:
|
|
148
|
+
submodules: recursive
|
|
149
|
+
- name: Set up Python 3.12
|
|
150
|
+
uses: actions/setup-python@v5
|
|
151
|
+
with:
|
|
152
|
+
python-version: 3.12
|
|
153
|
+
- name: Install build requirements
|
|
154
|
+
run: python -m pip install -r .github/workflows/requirements.txt
|
|
155
|
+
- name: Build source distribution
|
|
156
|
+
run: python -m build -s .
|
|
157
|
+
- name: Store built source distribution
|
|
158
|
+
uses: actions/upload-artifact@v4
|
|
159
|
+
with:
|
|
160
|
+
name: sdist
|
|
161
|
+
path: dist/*
|
|
162
|
+
|
|
163
|
+
test-sdist:
|
|
164
|
+
runs-on: ubuntu-latest
|
|
165
|
+
name: Test source distribution
|
|
166
|
+
needs:
|
|
167
|
+
- sdist
|
|
168
|
+
steps:
|
|
169
|
+
- name: Setup Python 3.12
|
|
170
|
+
uses: actions/setup-python@v5
|
|
171
|
+
with:
|
|
172
|
+
python-version: 3.12
|
|
173
|
+
- name: Download built wheels
|
|
174
|
+
uses: actions/download-artifact@v4
|
|
175
|
+
with:
|
|
176
|
+
name: sdist
|
|
177
|
+
path: dist/
|
|
178
|
+
- name: Update pip to latest version
|
|
179
|
+
run: python -m pip install -U pip
|
|
180
|
+
- name: Install built wheel
|
|
181
|
+
run: python -m pip install --no-binary pycdhit4 --find-links=dist pycdhit4
|
|
182
|
+
- name: Run tests without coverage
|
|
183
|
+
run: python -m unittest pycdhit4.tests -vv
|
|
184
|
+
|
|
185
|
+
upload:
|
|
186
|
+
environment: PyPI
|
|
187
|
+
runs-on: ubuntu-latest
|
|
188
|
+
permissions:
|
|
189
|
+
id-token: write
|
|
190
|
+
name: Upload
|
|
191
|
+
needs:
|
|
192
|
+
- sdist
|
|
193
|
+
- test-sdist
|
|
194
|
+
- wheel-linux-aarch64
|
|
195
|
+
- wheel-linux-x86_64
|
|
196
|
+
- wheel-macos-aarch64
|
|
197
|
+
- wheel-macos-x86_64
|
|
198
|
+
- wheel-win32-x86_64
|
|
199
|
+
- wheel-wasm
|
|
200
|
+
steps:
|
|
201
|
+
- uses: actions/download-artifact@v4
|
|
202
|
+
with:
|
|
203
|
+
name: sdist
|
|
204
|
+
path: dist
|
|
205
|
+
merge-multiple: true
|
|
206
|
+
- uses: actions/download-artifact@v4
|
|
207
|
+
with:
|
|
208
|
+
pattern: wheels-*
|
|
209
|
+
path: dist
|
|
210
|
+
merge-multiple: true
|
|
211
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
212
|
+
if: startsWith(github.ref, 'refs/tags')
|
|
213
|
+
|
|
214
|
+
release:
|
|
215
|
+
environment: GitHub Releases
|
|
216
|
+
runs-on: ubuntu-latest
|
|
217
|
+
if: "!contains(github.ref, 'rc')"
|
|
218
|
+
name: Release
|
|
219
|
+
needs: upload
|
|
220
|
+
permissions: write-all
|
|
221
|
+
steps:
|
|
222
|
+
- uses: actions/checkout@v4
|
|
223
|
+
with:
|
|
224
|
+
submodules: recursive
|
|
225
|
+
- uses: rasmus-saks/release-a-changelog-action@v1.2.0
|
|
226
|
+
with:
|
|
227
|
+
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
228
|
+
|
|
229
|
+
# aur:
|
|
230
|
+
# environment: Arch User Repository
|
|
231
|
+
# runs-on: ubuntu-latest
|
|
232
|
+
# if: "!contains(github.ref, 'alpha') && !contains(github.ref, 'rc') && !contains(github.ref, 'post')"
|
|
233
|
+
# name: Update AUR package
|
|
234
|
+
# needs:
|
|
235
|
+
# - sdist
|
|
236
|
+
# - test-sdist
|
|
237
|
+
# - upload
|
|
238
|
+
# steps:
|
|
239
|
+
# - uses: actions/checkout@v3
|
|
240
|
+
# with:
|
|
241
|
+
# submodules: recursive
|
|
242
|
+
# - name: Set up Python 3.13
|
|
243
|
+
# uses: actions/setup-python@v5
|
|
244
|
+
# with:
|
|
245
|
+
# python-version: '3.13'
|
|
246
|
+
# - name: Download source distribution
|
|
247
|
+
# uses: actions/download-artifact@v4
|
|
248
|
+
# with:
|
|
249
|
+
# name: sdist
|
|
250
|
+
# path: dist
|
|
251
|
+
# - name: Extract package version
|
|
252
|
+
# run: echo PKGVER=$(echo '${{ github.ref }}' | cut -d'v' -f2) >> $GITHUB_ENV
|
|
253
|
+
# - name: Compute SHA256 of source distribution
|
|
254
|
+
# run: echo SHA256=$(sha256sum dist/pycdhit4-${{ env.PKGVER }}.tar.gz | cut -f1 -d' ') >> $GITHUB_ENV
|
|
255
|
+
# - name: Generate PKGBUILD
|
|
256
|
+
# run: sed -e "s/%pkgver/${{ env.PKGVER }}/g" -e "s/%sha256sum/${{ env.SHA256 }}/g" pkg/aur/PKGBUILD.in > pkg/aur/PKGBUILD
|
|
257
|
+
# - name: Update package
|
|
258
|
+
# uses: KSXGitHub/github-actions-deploy-aur@v2.7.2
|
|
259
|
+
# with:
|
|
260
|
+
# pkgname: python-pycdhit4
|
|
261
|
+
# pkgbuild: pkg/aur/PKGBUILD
|
|
262
|
+
# commit_username: ${{ secrets.AUR_USER }}
|
|
263
|
+
# commit_email: ${{ secrets.AUR_EMAIL }}
|
|
264
|
+
# ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
265
|
+
# commit_message: ${{ github.event.head_commit.message }}
|
|
266
|
+
# ssh_keyscan_types: rsa,ecdsa,ed25519
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
- push
|
|
5
|
+
- pull_request
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
|
|
9
|
+
test_linux:
|
|
10
|
+
name: Test (Linux)
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
env:
|
|
13
|
+
OS: Linux
|
|
14
|
+
strategy:
|
|
15
|
+
fail-fast: false
|
|
16
|
+
matrix:
|
|
17
|
+
include:
|
|
18
|
+
- python-version: 3.8
|
|
19
|
+
python-release: v3.8
|
|
20
|
+
python-impl: CPython
|
|
21
|
+
- python-version: 3.9
|
|
22
|
+
python-release: v3.9
|
|
23
|
+
python-impl: CPython
|
|
24
|
+
- python-version: '3.10'
|
|
25
|
+
python-release: v3.10
|
|
26
|
+
python-impl: CPython
|
|
27
|
+
- python-version: 3.11
|
|
28
|
+
python-release: v3.11
|
|
29
|
+
python-impl: CPython
|
|
30
|
+
- python-version: 3.12
|
|
31
|
+
python-release: v3.12
|
|
32
|
+
python-impl: CPython
|
|
33
|
+
- python-version: 3.13
|
|
34
|
+
python-release: v3.13
|
|
35
|
+
python-impl: CPython
|
|
36
|
+
- python-version: 3.14
|
|
37
|
+
python-release: v3.14
|
|
38
|
+
python-impl: CPython
|
|
39
|
+
- python-version: pypy-3.8
|
|
40
|
+
python-release: v3.8
|
|
41
|
+
python-impl: PyPy
|
|
42
|
+
- python-version: pypy-3.9
|
|
43
|
+
python-release: v3.9
|
|
44
|
+
python-impl: PyPy
|
|
45
|
+
- python-version: pypy-3.10
|
|
46
|
+
python-release: v3.10
|
|
47
|
+
python-impl: PyPy
|
|
48
|
+
steps:
|
|
49
|
+
- name: Checkout code
|
|
50
|
+
uses: actions/checkout@v4
|
|
51
|
+
with:
|
|
52
|
+
submodules: recursive
|
|
53
|
+
- name: Setup Python ${{ matrix.python-version }}
|
|
54
|
+
uses: actions/setup-python@v5
|
|
55
|
+
with:
|
|
56
|
+
python-version: ${{ matrix.python-version }}
|
|
57
|
+
- name: Update pip
|
|
58
|
+
run: python -m pip install -U pip wheel setuptools
|
|
59
|
+
- name: Install Python requirements
|
|
60
|
+
run: python -m pip install -r .github/workflows/requirements.txt
|
|
61
|
+
- name: Build extension in debug mode
|
|
62
|
+
run: python -m pip install -v -e . --no-build-isolation
|
|
63
|
+
- name: Test extension
|
|
64
|
+
run: python -m unittest pycdhit.tests -vv
|
|
65
|
+
# - name: Upload to Codecov
|
|
66
|
+
# if: matrix.python-impl == 'CPython'
|
|
67
|
+
# uses: codecov/codecov-action@v3
|
|
68
|
+
# with:
|
|
69
|
+
# flags: ${{ matrix.python-impl }},${{ matrix.python-release }},${{ env.OS }}
|
|
70
|
+
# name: test-python-${{ matrix.python-version }}
|
|
71
|
+
# fail_ci_if_error: true
|
|
72
|
+
# token: ${{ secrets.CODECOV_TOKEN }}
|
|
73
|
+
|
|
74
|
+
test_osx:
|
|
75
|
+
name: Test (OSX)
|
|
76
|
+
runs-on: macos-latest
|
|
77
|
+
env:
|
|
78
|
+
OS: OSX
|
|
79
|
+
strategy:
|
|
80
|
+
fail-fast: false
|
|
81
|
+
matrix:
|
|
82
|
+
include:
|
|
83
|
+
- python-version: 3.8
|
|
84
|
+
python-release: v3.8
|
|
85
|
+
python-impl: CPython
|
|
86
|
+
- python-version: 3.9
|
|
87
|
+
python-release: v3.9
|
|
88
|
+
python-impl: CPython
|
|
89
|
+
- python-version: '3.10'
|
|
90
|
+
python-release: v3.10
|
|
91
|
+
python-impl: CPython
|
|
92
|
+
- python-version: '3.11'
|
|
93
|
+
python-release: v3.11
|
|
94
|
+
python-impl: CPython
|
|
95
|
+
- python-version: '3.12'
|
|
96
|
+
python-release: v3.12
|
|
97
|
+
python-impl: CPython
|
|
98
|
+
- python-version: '3.14'
|
|
99
|
+
python-release: v3.13
|
|
100
|
+
python-impl: CPython
|
|
101
|
+
- python-version: '3.14'
|
|
102
|
+
python-release: v3.13
|
|
103
|
+
python-impl: CPython
|
|
104
|
+
- python-version: pypy-3.8
|
|
105
|
+
python-release: v3.8
|
|
106
|
+
python-impl: PyPy
|
|
107
|
+
- python-version: pypy-3.9
|
|
108
|
+
python-release: v3.9
|
|
109
|
+
python-impl: PyPy
|
|
110
|
+
- python-version: pypy-3.10
|
|
111
|
+
python-release: v3.10
|
|
112
|
+
python-impl: PyPy
|
|
113
|
+
steps:
|
|
114
|
+
- name: Checkout code
|
|
115
|
+
uses: actions/checkout@v4
|
|
116
|
+
with:
|
|
117
|
+
submodules: recursive
|
|
118
|
+
- name: Setup Python ${{ matrix.python-version }}
|
|
119
|
+
uses: actions/setup-python@v5
|
|
120
|
+
with:
|
|
121
|
+
python-version: ${{ matrix.python-version }}
|
|
122
|
+
# - name: Setup deployment target
|
|
123
|
+
# shell: bash
|
|
124
|
+
# if: ${{ startsWith(matrix.python-version, 'pypy') || matrix.python-version == '3.11' || matrix.python-version == '3.12' }}
|
|
125
|
+
# run: echo "MACOSX_DEPLOYMENT_TARGET=10.12" >> $GITHUB_ENV
|
|
126
|
+
- name: Update pip
|
|
127
|
+
run: python -m pip install -U pip wheel setuptools
|
|
128
|
+
- name: Install Python requirements
|
|
129
|
+
run: python -m pip install -r .github/workflows/requirements.txt
|
|
130
|
+
|
|
131
|
+
- name: Install LLVM
|
|
132
|
+
run: brew install llvm
|
|
133
|
+
- name: Build extension in debug mode
|
|
134
|
+
run: python -m pip install -v -e . --no-build-isolation -C cmake.define.CMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -C cmake.define.CMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++
|
|
135
|
+
- name: Test extension
|
|
136
|
+
run: python -m unittest pycdhit.tests -vv
|
|
137
|
+
# - name: Upload to Codecov
|
|
138
|
+
# if: matrix.python-impl == 'CPython'
|
|
139
|
+
# uses: codecov/codecov-action@v3
|
|
140
|
+
# with:
|
|
141
|
+
# flags: ${{ matrix.python-impl }},${{ matrix.python-release }},${{ env.OS }}
|
|
142
|
+
# name: test-python-${{ matrix.python-version }}
|
|
143
|
+
# fail_ci_if_error: true
|
|
144
|
+
# token: ${{ secrets.CODECOV_TOKEN }}
|
|
145
|
+
|
|
146
|
+
test_windows:
|
|
147
|
+
name: Test (Windows)
|
|
148
|
+
runs-on: windows-latest
|
|
149
|
+
env:
|
|
150
|
+
OS: Windows
|
|
151
|
+
strategy:
|
|
152
|
+
fail-fast: false
|
|
153
|
+
matrix:
|
|
154
|
+
include:
|
|
155
|
+
- python-version: 3.8
|
|
156
|
+
python-release: v3.8
|
|
157
|
+
python-impl: CPython
|
|
158
|
+
- python-version: 3.9
|
|
159
|
+
python-release: v3.9
|
|
160
|
+
python-impl: CPython
|
|
161
|
+
- python-version: '3.10'
|
|
162
|
+
python-release: v3.10
|
|
163
|
+
python-impl: CPython
|
|
164
|
+
- python-version: '3.11'
|
|
165
|
+
python-release: v3.11
|
|
166
|
+
python-impl: CPython
|
|
167
|
+
- python-version: '3.12'
|
|
168
|
+
python-release: v3.12
|
|
169
|
+
python-impl: CPython
|
|
170
|
+
- python-version: '3.13'
|
|
171
|
+
python-release: v3.13
|
|
172
|
+
python-impl: CPython
|
|
173
|
+
- python-version: '3.14'
|
|
174
|
+
python-release: v3.14
|
|
175
|
+
python-impl: CPython
|
|
176
|
+
- python-version: pypy-3.8
|
|
177
|
+
python-release: v3.8
|
|
178
|
+
python-impl: PyPy
|
|
179
|
+
- python-version: pypy-3.9
|
|
180
|
+
python-release: v3.9
|
|
181
|
+
python-impl: PyPy
|
|
182
|
+
- python-version: pypy-3.10
|
|
183
|
+
python-release: v3.10
|
|
184
|
+
python-impl: PyPy
|
|
185
|
+
steps:
|
|
186
|
+
- name: Checkout code
|
|
187
|
+
uses: actions/checkout@v4
|
|
188
|
+
with:
|
|
189
|
+
submodules: recursive
|
|
190
|
+
- name: Setup Python ${{ matrix.python-version }}
|
|
191
|
+
uses: actions/setup-python@v5
|
|
192
|
+
with:
|
|
193
|
+
python-version: ${{ matrix.python-version }}
|
|
194
|
+
architecture: x64
|
|
195
|
+
- name: Update pip
|
|
196
|
+
run: python -m pip install -U pip wheel setuptools
|
|
197
|
+
- name: Install Python requirements
|
|
198
|
+
run: python -m pip install -r .github/workflows/requirements.txt
|
|
199
|
+
- name: Build extension in debug mode
|
|
200
|
+
run: python -m pip install -v . --no-build-isolation
|
|
201
|
+
- name: Test extension
|
|
202
|
+
run: python -m unittest pycdhit.tests -vv
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
|
|
2
|
+
### Cython ###
|
|
3
|
+
|
|
4
|
+
# Created by https://www.gitignore.io/api/python,c
|
|
5
|
+
# Edit at https://www.gitignore.io/?templates=python,c
|
|
6
|
+
|
|
7
|
+
### C ###
|
|
8
|
+
# Prerequisites
|
|
9
|
+
*.d
|
|
10
|
+
|
|
11
|
+
# Object files
|
|
12
|
+
*.o
|
|
13
|
+
*.ko
|
|
14
|
+
*.obj
|
|
15
|
+
*.elf
|
|
16
|
+
|
|
17
|
+
# Linker output
|
|
18
|
+
*.ilk
|
|
19
|
+
*.map
|
|
20
|
+
*.exp
|
|
21
|
+
|
|
22
|
+
# Precompiled Headers
|
|
23
|
+
*.gch
|
|
24
|
+
*.pch
|
|
25
|
+
|
|
26
|
+
# Libraries
|
|
27
|
+
*.lib
|
|
28
|
+
*.a
|
|
29
|
+
*.la
|
|
30
|
+
*.lo
|
|
31
|
+
|
|
32
|
+
# Shared objects (inc. Windows DLLs)
|
|
33
|
+
*.dll
|
|
34
|
+
*.so
|
|
35
|
+
*.so.*
|
|
36
|
+
*.dylib
|
|
37
|
+
|
|
38
|
+
# Executables
|
|
39
|
+
*.exe
|
|
40
|
+
*.out
|
|
41
|
+
*.app
|
|
42
|
+
*.i*86
|
|
43
|
+
*.x86_64
|
|
44
|
+
*.hex
|
|
45
|
+
|
|
46
|
+
# Debug files
|
|
47
|
+
*.dSYM/
|
|
48
|
+
*.su
|
|
49
|
+
*.idb
|
|
50
|
+
*.pdb
|
|
51
|
+
|
|
52
|
+
# Kernel Module Compile Results
|
|
53
|
+
*.mod*
|
|
54
|
+
*.cmd
|
|
55
|
+
.tmp_versions/
|
|
56
|
+
modules.order
|
|
57
|
+
Module.symvers
|
|
58
|
+
Mkfile.old
|
|
59
|
+
dkms.conf
|
|
60
|
+
|
|
61
|
+
# Valgrind files
|
|
62
|
+
callgrind.out.*
|
|
63
|
+
|
|
64
|
+
# Memprofile
|
|
65
|
+
mprofile_*.dat
|
|
66
|
+
|
|
67
|
+
### Python ###
|
|
68
|
+
# Byte-compiled / optimized / DLL files
|
|
69
|
+
__pycache__/
|
|
70
|
+
*.py[cod]
|
|
71
|
+
*$py.class
|
|
72
|
+
|
|
73
|
+
# C extensions
|
|
74
|
+
|
|
75
|
+
# Distribution / packaging
|
|
76
|
+
.Python
|
|
77
|
+
build/
|
|
78
|
+
develop-eggs/
|
|
79
|
+
dist/
|
|
80
|
+
downloads/
|
|
81
|
+
eggs/
|
|
82
|
+
.eggs/
|
|
83
|
+
lib/
|
|
84
|
+
lib64/
|
|
85
|
+
parts/
|
|
86
|
+
sdist/
|
|
87
|
+
var/
|
|
88
|
+
wheels/
|
|
89
|
+
pip-wheel-metadata/
|
|
90
|
+
share/python-wheels/
|
|
91
|
+
*.egg-info/
|
|
92
|
+
.installed.cfg
|
|
93
|
+
*.egg
|
|
94
|
+
MANIFEST
|
|
95
|
+
|
|
96
|
+
# PyInstaller
|
|
97
|
+
# Usually these files are written by a python script from a template
|
|
98
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
99
|
+
*.manifest
|
|
100
|
+
*.spec
|
|
101
|
+
|
|
102
|
+
# Installer logs
|
|
103
|
+
pip-log.txt
|
|
104
|
+
pip-delete-this-directory.txt
|
|
105
|
+
|
|
106
|
+
# Unit test / coverage reports
|
|
107
|
+
htmlcov/
|
|
108
|
+
.tox/
|
|
109
|
+
.nox/
|
|
110
|
+
.coverage
|
|
111
|
+
.coverage.*
|
|
112
|
+
.cache
|
|
113
|
+
nosetests.xml
|
|
114
|
+
coverage.xml
|
|
115
|
+
*.cover
|
|
116
|
+
.hypothesis/
|
|
117
|
+
.pytest_cache/
|
|
118
|
+
|
|
119
|
+
# Translations
|
|
120
|
+
*.mo
|
|
121
|
+
*.pot
|
|
122
|
+
|
|
123
|
+
# Scrapy stuff:
|
|
124
|
+
.scrapy
|
|
125
|
+
|
|
126
|
+
# Sphinx documentation
|
|
127
|
+
docs/_build/
|
|
128
|
+
|
|
129
|
+
# PyBuilder
|
|
130
|
+
target/
|
|
131
|
+
|
|
132
|
+
# pyenv
|
|
133
|
+
.python-version
|
|
134
|
+
|
|
135
|
+
# pipenv
|
|
136
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
137
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
138
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
139
|
+
# install all needed dependencies.
|
|
140
|
+
#Pipfile.lock
|
|
141
|
+
|
|
142
|
+
# celery beat schedule file
|
|
143
|
+
celerybeat-schedule
|
|
144
|
+
|
|
145
|
+
# SageMath parsed files
|
|
146
|
+
*.sage.py
|
|
147
|
+
|
|
148
|
+
# Spyder project settings
|
|
149
|
+
.spyderproject
|
|
150
|
+
.spyproject
|
|
151
|
+
|
|
152
|
+
# Rope project settings
|
|
153
|
+
.ropeproject
|
|
154
|
+
|
|
155
|
+
# Mr Developer
|
|
156
|
+
.mr.developer.cfg
|
|
157
|
+
.project
|
|
158
|
+
.pydevproject
|
|
159
|
+
|
|
160
|
+
# mkdocs documentation
|
|
161
|
+
/site
|
|
162
|
+
|
|
163
|
+
# mypy
|
|
164
|
+
.mypy_cache/
|
|
165
|
+
.dmypy.json
|
|
166
|
+
dmypy.json
|
|
167
|
+
|
|
168
|
+
# Pyre type checker
|
|
169
|
+
.pyre/
|
|
170
|
+
|
|
171
|
+
# End of https://www.gitignore.io/api/python,c
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
All notable changes to this project will be documented in this file.
|
|
3
|
+
|
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
[Unreleased]: https://github.com/althonos/pycdhit4/compare/v0.1.0...HEAD
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [v0.1.0] - 2026-11-08
|
|
13
|
+
[v0.1.0]: https://github.com/althonos/pycdhit4/compare/ee06510...v0.1.0
|
|
14
|
+
|
|
15
|
+
Initial release.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.20)
|
|
2
|
+
project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES C CXX)
|
|
3
|
+
|
|
4
|
+
set(BUILD_SHARED_LIBS OFF)
|
|
5
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
6
|
+
|
|
7
|
+
set(CMAKE_CXX_STANDARD 20)
|
|
8
|
+
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
|
9
|
+
|
|
10
|
+
message(STATUS "Building ${SKBUILD_PROJECT_NAME} for ${CMAKE_SYSTEM_PROCESSOR}")
|
|
11
|
+
|
|
12
|
+
# --- Setup include folders ----------------------------------------------------
|
|
13
|
+
|
|
14
|
+
set_property(GLOBAL PROPERTY PYTHON_EXTENSIONS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
15
|
+
set(CYTHON_HEADERS_DIR ${CMAKE_CURRENT_LIST_DIR}/include)
|
|
16
|
+
|
|
17
|
+
# --- Add scripts for Cython ---------------------------------------------------
|
|
18
|
+
|
|
19
|
+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/scripts/cmake")
|
|
20
|
+
include(CythonExtension)
|
|
21
|
+
|
|
22
|
+
# --- Compile code -------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
add_subdirectory("src")
|