fastcrc 0.2.1.dev8__tar.gz → 0.3.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 (30) hide show
  1. fastcrc-0.3.0/CHANGELOG.rst +28 -0
  2. fastcrc-0.3.0/Cargo.lock +272 -0
  3. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/Cargo.toml +2 -5
  4. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/PKG-INFO +20 -6
  5. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/README.rst +4 -3
  6. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/fastcrc/__info__.py +1 -1
  7. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/fastcrc/__init__.py +1 -1
  8. fastcrc-0.3.0/fastcrc/crc8.py +428 -0
  9. fastcrc-0.3.0/pyproject.toml +41 -0
  10. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/src/lib.rs +44 -2
  11. fastcrc-0.2.1.dev8/.github/workflows/ci.yml +0 -163
  12. fastcrc-0.2.1.dev8/CHANGELOG.rst +0 -17
  13. fastcrc-0.2.1.dev8/MANIFEST.in +0 -5
  14. fastcrc-0.2.1.dev8/benchmarks/benchmark_result.txt +0 -288
  15. fastcrc-0.2.1.dev8/benchmarks/requirements.txt +0 -2
  16. fastcrc-0.2.1.dev8/benchmarks/test_benchmark.py +0 -229
  17. fastcrc-0.2.1.dev8/docs/Makefile +0 -20
  18. fastcrc-0.2.1.dev8/docs/conf.py +0 -62
  19. fastcrc-0.2.1.dev8/docs/index.rst +0 -25
  20. fastcrc-0.2.1.dev8/docs/make.bat +0 -35
  21. fastcrc-0.2.1.dev8/docs/requirements.txt +0 -2
  22. fastcrc-0.2.1.dev8/pyproject.toml +0 -3
  23. fastcrc-0.2.1.dev8/setup.py +0 -56
  24. fastcrc-0.2.1.dev8/tests/test_fastcrc.py +0 -336
  25. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/.gitignore +0 -0
  26. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/LICENSE +0 -0
  27. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/fastcrc/crc16.py +0 -0
  28. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/fastcrc/crc32.py +0 -0
  29. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/fastcrc/crc64.py +0 -0
  30. {fastcrc-0.2.1.dev8 → fastcrc-0.3.0}/fastcrc/py.typed +0 -0
@@ -0,0 +1,28 @@
1
+ ==========
2
+ Change Log
3
+ ==========
4
+
5
+ This document records all notable changes to `fastcrc <https://github.com/overcat/fastcrc/>`_.
6
+
7
+ 0.3.0 (January 2, 2024)
8
+ -----------------------
9
+ * feat: add support for 8 bit CRCs. (`#5 <https://github.com/overcat/fastcrc/pull/5>`_)
10
+ * chore: drop support for Python 3.6. (`#6 <https://github.com/overcat/fastcrc/pull/6>`_)
11
+
12
+ 0.2.1 (September 15, 2022)
13
+ ---------------------
14
+ * feat: add `fastcrc.crc16.ibm_refin` and `fastcrc.crc32.reversed_reciprocal_refin`, these are two experimental functions that may be removed in the future.
15
+ * chore: build wheels for more platforms.
16
+ * docs: improve documentation.
17
+
18
+ 0.2.0 (June 19, 2022)
19
+ ---------------------
20
+ * Add initial value optional parameter to all CRC functions. (`#1 <https://github.com/overcat/fastcrc/pull/1>`_)
21
+
22
+ 0.1.1 (May 23, 2021)
23
+ ---------------------
24
+ * Correct the project information.
25
+
26
+ 0.1.0 (May 23, 2021)
27
+ ---------------------
28
+ * First release.
@@ -0,0 +1,272 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 3
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.1.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
10
+
11
+ [[package]]
12
+ name = "bitflags"
13
+ version = "1.3.2"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
16
+
17
+ [[package]]
18
+ name = "cfg-if"
19
+ version = "1.0.0"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
22
+
23
+ [[package]]
24
+ name = "crc"
25
+ version = "3.0.0"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "53757d12b596c16c78b83458d732a5d1a17ab3f53f2f7412f6fb57cc8a140ab3"
28
+ dependencies = [
29
+ "crc-catalog",
30
+ ]
31
+
32
+ [[package]]
33
+ name = "crc-catalog"
34
+ version = "2.1.0"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "2d0165d2900ae6778e36e80bbc4da3b5eefccee9ba939761f9c2882a5d9af3ff"
37
+
38
+ [[package]]
39
+ name = "fastcrc"
40
+ version = "0.3.0"
41
+ dependencies = [
42
+ "crc",
43
+ "paste",
44
+ "pyo3",
45
+ ]
46
+
47
+ [[package]]
48
+ name = "indoc"
49
+ version = "1.0.9"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
52
+
53
+ [[package]]
54
+ name = "instant"
55
+ version = "0.1.12"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
58
+ dependencies = [
59
+ "cfg-if",
60
+ ]
61
+
62
+ [[package]]
63
+ name = "libc"
64
+ version = "0.2.132"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
67
+
68
+ [[package]]
69
+ name = "lock_api"
70
+ version = "0.4.8"
71
+ source = "registry+https://github.com/rust-lang/crates.io-index"
72
+ checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390"
73
+ dependencies = [
74
+ "autocfg",
75
+ "scopeguard",
76
+ ]
77
+
78
+ [[package]]
79
+ name = "memoffset"
80
+ version = "0.9.0"
81
+ source = "registry+https://github.com/rust-lang/crates.io-index"
82
+ checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
83
+ dependencies = [
84
+ "autocfg",
85
+ ]
86
+
87
+ [[package]]
88
+ name = "once_cell"
89
+ version = "1.14.0"
90
+ source = "registry+https://github.com/rust-lang/crates.io-index"
91
+ checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
92
+
93
+ [[package]]
94
+ name = "parking_lot"
95
+ version = "0.11.2"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
98
+ dependencies = [
99
+ "instant",
100
+ "lock_api",
101
+ "parking_lot_core",
102
+ ]
103
+
104
+ [[package]]
105
+ name = "parking_lot_core"
106
+ version = "0.8.5"
107
+ source = "registry+https://github.com/rust-lang/crates.io-index"
108
+ checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
109
+ dependencies = [
110
+ "cfg-if",
111
+ "instant",
112
+ "libc",
113
+ "redox_syscall",
114
+ "smallvec",
115
+ "winapi",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "paste"
120
+ version = "1.0.14"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
123
+
124
+ [[package]]
125
+ name = "proc-macro2"
126
+ version = "1.0.43"
127
+ source = "registry+https://github.com/rust-lang/crates.io-index"
128
+ checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
129
+ dependencies = [
130
+ "unicode-ident",
131
+ ]
132
+
133
+ [[package]]
134
+ name = "pyo3"
135
+ version = "0.19.2"
136
+ source = "registry+https://github.com/rust-lang/crates.io-index"
137
+ checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
138
+ dependencies = [
139
+ "cfg-if",
140
+ "indoc",
141
+ "libc",
142
+ "memoffset",
143
+ "parking_lot",
144
+ "pyo3-build-config",
145
+ "pyo3-ffi",
146
+ "pyo3-macros",
147
+ "unindent",
148
+ ]
149
+
150
+ [[package]]
151
+ name = "pyo3-build-config"
152
+ version = "0.19.2"
153
+ source = "registry+https://github.com/rust-lang/crates.io-index"
154
+ checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
155
+ dependencies = [
156
+ "once_cell",
157
+ "target-lexicon",
158
+ ]
159
+
160
+ [[package]]
161
+ name = "pyo3-ffi"
162
+ version = "0.19.2"
163
+ source = "registry+https://github.com/rust-lang/crates.io-index"
164
+ checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
165
+ dependencies = [
166
+ "libc",
167
+ "pyo3-build-config",
168
+ ]
169
+
170
+ [[package]]
171
+ name = "pyo3-macros"
172
+ version = "0.19.2"
173
+ source = "registry+https://github.com/rust-lang/crates.io-index"
174
+ checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
175
+ dependencies = [
176
+ "proc-macro2",
177
+ "pyo3-macros-backend",
178
+ "quote",
179
+ "syn",
180
+ ]
181
+
182
+ [[package]]
183
+ name = "pyo3-macros-backend"
184
+ version = "0.19.2"
185
+ source = "registry+https://github.com/rust-lang/crates.io-index"
186
+ checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
187
+ dependencies = [
188
+ "proc-macro2",
189
+ "quote",
190
+ "syn",
191
+ ]
192
+
193
+ [[package]]
194
+ name = "quote"
195
+ version = "1.0.21"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
198
+ dependencies = [
199
+ "proc-macro2",
200
+ ]
201
+
202
+ [[package]]
203
+ name = "redox_syscall"
204
+ version = "0.2.16"
205
+ source = "registry+https://github.com/rust-lang/crates.io-index"
206
+ checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
207
+ dependencies = [
208
+ "bitflags",
209
+ ]
210
+
211
+ [[package]]
212
+ name = "scopeguard"
213
+ version = "1.1.0"
214
+ source = "registry+https://github.com/rust-lang/crates.io-index"
215
+ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
216
+
217
+ [[package]]
218
+ name = "smallvec"
219
+ version = "1.9.0"
220
+ source = "registry+https://github.com/rust-lang/crates.io-index"
221
+ checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
222
+
223
+ [[package]]
224
+ name = "syn"
225
+ version = "1.0.99"
226
+ source = "registry+https://github.com/rust-lang/crates.io-index"
227
+ checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
228
+ dependencies = [
229
+ "proc-macro2",
230
+ "quote",
231
+ "unicode-ident",
232
+ ]
233
+
234
+ [[package]]
235
+ name = "target-lexicon"
236
+ version = "0.12.12"
237
+ source = "registry+https://github.com/rust-lang/crates.io-index"
238
+ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
239
+
240
+ [[package]]
241
+ name = "unicode-ident"
242
+ version = "1.0.4"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
245
+
246
+ [[package]]
247
+ name = "unindent"
248
+ version = "0.1.10"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112"
251
+
252
+ [[package]]
253
+ name = "winapi"
254
+ version = "0.3.9"
255
+ source = "registry+https://github.com/rust-lang/crates.io-index"
256
+ checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
257
+ dependencies = [
258
+ "winapi-i686-pc-windows-gnu",
259
+ "winapi-x86_64-pc-windows-gnu",
260
+ ]
261
+
262
+ [[package]]
263
+ name = "winapi-i686-pc-windows-gnu"
264
+ version = "0.4.0"
265
+ source = "registry+https://github.com/rust-lang/crates.io-index"
266
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
267
+
268
+ [[package]]
269
+ name = "winapi-x86_64-pc-windows-gnu"
270
+ version = "0.4.0"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "fastcrc"
3
- version = "0.2.1-dev.8"
3
+ version = "0.3.0"
4
4
  authors = ["overcat <4catcode@gmail.com>"]
5
5
  edition = "2018"
6
6
  description = "A hyper-fast Python module for computing CRC(16, 32, 64) checksum"
@@ -15,9 +15,6 @@ name = "fastcrc"
15
15
  crate-type = ["cdylib"]
16
16
 
17
17
  [dependencies]
18
+ pyo3 = "0.19.0"
18
19
  crc = "3.0.0"
19
20
  paste = "1.0.6"
20
-
21
- [dependencies.pyo3]
22
- version = "0.15.1" # Python 3.6 support, dont upgrade
23
- features = ["extension-module", "abi3-py36"]
@@ -1,12 +1,25 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastcrc
3
- Version: 0.2.1.dev8
4
- Summary: A hyper-fast Python module for computing CRC(16, 32, 64) checksum
5
- Keywords: crc,crc16,crc32,crc64
3
+ Version: 0.3.0
4
+ Classifier: Development Status :: 4 - Beta
5
+ Classifier: Intended Audience :: Developers
6
+ Classifier: License :: OSI Approved :: MIT License
7
+ Classifier: Operating System :: MacOS
8
+ Classifier: Operating System :: Microsoft :: Windows
9
+ Classifier: Operating System :: POSIX :: Linux
10
+ Classifier: Programming Language :: Rust
11
+ Classifier: Programming Language :: Python :: Implementation :: CPython
12
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
13
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
14
+ Classifier: Typing :: Typed
15
+ License-File: LICENSE
16
+ Summary: A hyper-fast Python module for computing CRC(8, 16, 32, 64) checksum
17
+ Keywords: crc,crc8,crc16,crc32,crc64
6
18
  Home-Page: https://github.com/overcat/fastcrc
7
19
  Author: overcat <4catcode@gmail.com>
8
20
  Author-email: overcat <4catcode@gmail.com>
9
21
  License: MIT License
22
+ Requires-Python: >=3.7
10
23
  Description-Content-Type: text/x-rst; charset=UTF-8
11
24
  Project-URL: Source Code, https://github.com/overcat/fastcrc
12
25
 
@@ -22,11 +35,11 @@ fastcrc
22
35
  :alt: PyPI
23
36
  :target: https://pypi.python.org/pypi/fastcrc
24
37
 
25
- .. image:: https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-blue?style=flat
38
+ .. image:: https://img.shields.io/badge/python-%3E%3D3.7-blue?style=flat
26
39
  :alt: Python - Version
27
40
  :target: https://pypi.python.org/pypi/fastcrc
28
41
 
29
- A hyper-fast Python module for computing CRC(16, 32, 64) checksum.
42
+ A hyper-fast Python module for computing CRC(8, 16, 32, 64) checksum.
30
43
 
31
44
 
32
45
  Installation
@@ -41,9 +54,10 @@ Usage
41
54
 
42
55
  .. code:: python
43
56
 
44
- from fastcrc import crc16, crc32, crc64
57
+ from fastcrc import crc8, crc16, crc32, crc64
45
58
 
46
59
  data = b"123456789"
60
+ print(f"crc8 checksum with cdma2000 algorithm: {crc8.cdma2000(data)}")
47
61
  print(f"crc16 checksum with xmodem algorithm: {crc16.xmodem(data)}")
48
62
  print(f"crc32 checksum with aixm algorithm: {crc32.aixm(data)}")
49
63
  print(f"crc64 checksum with ecma_182 algorithm: {crc64.ecma_182(data)}")
@@ -10,11 +10,11 @@ fastcrc
10
10
  :alt: PyPI
11
11
  :target: https://pypi.python.org/pypi/fastcrc
12
12
 
13
- .. image:: https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-blue?style=flat
13
+ .. image:: https://img.shields.io/badge/python-%3E%3D3.7-blue?style=flat
14
14
  :alt: Python - Version
15
15
  :target: https://pypi.python.org/pypi/fastcrc
16
16
 
17
- A hyper-fast Python module for computing CRC(16, 32, 64) checksum.
17
+ A hyper-fast Python module for computing CRC(8, 16, 32, 64) checksum.
18
18
 
19
19
 
20
20
  Installation
@@ -29,9 +29,10 @@ Usage
29
29
 
30
30
  .. code:: python
31
31
 
32
- from fastcrc import crc16, crc32, crc64
32
+ from fastcrc import crc8, crc16, crc32, crc64
33
33
 
34
34
  data = b"123456789"
35
+ print(f"crc8 checksum with cdma2000 algorithm: {crc8.cdma2000(data)}")
35
36
  print(f"crc16 checksum with xmodem algorithm: {crc16.xmodem(data)}")
36
37
  print(f"crc32 checksum with aixm algorithm: {crc32.aixm(data)}")
37
38
  print(f"crc64 checksum with ecma_182 algorithm: {crc64.ecma_182(data)}")
@@ -2,7 +2,7 @@ __title__ = "fastcrc"
2
2
  __description__ = "A hyper-fast Python module for computing CRC(16, 32, 64) checksum"
3
3
  __url__ = "https://github.com/overcat/fastcrc"
4
4
  __issues__ = f"{__url__}/issues"
5
- __version__ = "0.2.1-dev.8"
5
+ __version__ = "0.3.0"
6
6
  __author__ = "overcat"
7
7
  __author_email__ = "4catcode@gmail.com"
8
8
  __license__ = "MIT License"
@@ -1,4 +1,4 @@
1
- from . import crc16, crc32, crc64
1
+ from . import crc8, crc16, crc32, crc64
2
2
  from .__info__ import (
3
3
  __author__,
4
4
  __author_email__,