libscrc


Namelibscrc JSON
Version 1.8.1 PyPI version JSON
download
home_pagehttps://github.com/hex-in/libscrc
SummaryLibrary for calculating CRC3/CRC4/CRC8/CRC16/CRC24/CRC32/CRC64/CRC82
upload_time2022-08-18 15:23:57
maintainer
docs_urlNone
authorHeyn
requires_python
license
keywords crc3 crc4 crc5 crc6 crc7 crc8 crc16 crc24 crc32 crc64 crc82
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            libscrc
=======

libscrc is a library for calculating CRC3 CRC4 CRC5 CRC6 CRC7 CRC8 CRC16 CRC24 CRC32 CRC64 CRC82.

+------------+------------+------------+-----------+-----------+-----------+ 
| CRCx       | CRC8       | CRC16      | CRC24     | CRC32     | CRC64     |
+============+============+============+===========+===========+===========+ 
| CRC3-GSM   | INTEL      | MODBUS     | BLE       |    FSC    | GO-ISO    |
+------------+------------+------------+-----------+-----------+-----------+ 
| CRC3-ROHC  | BCC        | IBM        | OPENPGP   |   CRC32   | ECMA182   |
+------------+------------+------------+-----------+-----------+-----------+
| CRC4-ITU   | LRC        | XMODEM     | LTE-A     |   MPEG2   | WE        |
+------------+------------+------------+-----------+-----------+-----------+ 
| CRC5-ITU   | MAXIM8     | CCITT      | LTE-B     |  ADLER32  | XZ64      |
+------------+------------+------------+-----------+-----------+-----------+ 
| CRC5-EPC   | ROHC       | KERMIT     | OS9       | FLETCHER32|           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC5-USB   | ITU8       | MCRF4XX    | FLEXRAY-A |   POSIX   |           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC6-ITU   | CRC8       | SICK       | FLEXRAY-B |   BZIP2   |           |
+------------+------------+------------+-----------+-----------+-----------+ 
| CRC6-GSM   | SUM8       | DNP        | INTERLAKEN|   JAMCRC  |           |
+------------+------------+------------+-----------+-----------+-----------+ 
| CRC6-DARC  | FLETCHER8  | X25        | CRC24     |  AUTOSAR  |           |
+------------+------------+------------+-----------+-----------+-----------+ 
| CRC7       | SMBUS      | USB        |           | C / ISCSI |           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC7-MMC   | AUTOSAR    | MAXIM16    |           | D/BASE91-D|           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC7-UMTS  | LTE        | DECT(R/X)  |           | Q / AIXM  |           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC7-ROHC  | SAE-J1850  | TCP/UDP    |           |   XFER    |           |
+------------+------------+------------+-----------+-----------+-----------+
|            | I-CODE     | CDMA2000   |           |   CKSUM   |           |
+------------+------------+------------+-----------+-----------+-----------+
| CAN15      | GSM-A      | FLETCHER16 |           |   XZ32    |           |
+------------+------------+------------+-----------+-----------+-----------+
| CAN17      | NRSC-5     | EPC16      |           |   AAL5    |           |
+------------+------------+------------+-----------+-----------+-----------+
| CAN21      | WCDMA      | PROFIBUS   |           | ISO-HDLC  |           |
+------------+------------+------------+-----------+-----------+-----------+
|            | BLUETOOTH  | BUYPASS    |           |   PKZIP   |           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC10-ATM  | DVB-S2     | GENIBUS    |           |   ADCCP   |           |
+------------+------------+------------+-----------+-----------+-----------+
| CRC13-BBC  | EBU        | GSM16      |           |    V-42   |           |
+------------+------------+------------+-----------+-----------+-----------+
| MPT1327    | DARC       | RIELLO     |           |   STM32   |           |
+------------+------------+------------+-----------+-----------+-----------+
| CDMA2000   | MIFARE     | OPENSAFETY |           |   ECMXF   |           |
+------------+------------+------------+-----------+-----------+-----------+
|            | LIN1.3     | EN13757    |           |           |           |
+------------+------------+------------+-----------+-----------+-----------+
|            | LIN2.x     | CMS        |           | CRC30-CDMA|           |
+------------+------------+------------+-----------+-----------+-----------+
|            | ID8        |            |           |  PHILIPS  |   DARC82  |
+------------+------------+------------+-----------+-----------+-----------+
|            | NMEA       |            |           |           |           |
+------------+------------+------------+-----------+-----------+-----------+
|            | MODBUS-ASC |            |           |           |           |
+------------+------------+------------+-----------+-----------+-----------+

Installation
------------

* Compile and install the library::

    pip3 install libscrc

  or::

    python3 setup.py build
    python3 setup.py install

  You will need the administrative privileges to execute the last command.

* Cross compile and install the library::

    # vim setup.cfg
    universal=1
    plat-name=linux_armv7l

    export CROSS_COMPILE=arm-linux-gnueabihf-
    export CC='${CROSS_COMPILE}gcc -pthread'
    export LDSHARED='${CROSS_COMPILE}gcc -shared'
    export CFLAGS='-I/usr/include/python3.5m -I/usr/include/'

    python3 setup.py build
    # gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)
    
* After installation you can run unit tests to make sure that the library works fine.  Execute::

    # python3 -m libscrc.test.modbus  
    # python3 -m libscrc.test.crc8  
    # python3 -m libscrc.test.crcx  
    # python3 -m libscrc.test.canx  
    # python3 -m libscrc.test.crc16  
    # python3 -m libscrc.test.crc24  
    # python3 -m libscrc.test.crc32  
    # python3 -m libscrc.test.crc64  

Usage
-----

  In Python 3::

    import libscrc
    crc16 = libscrc.modbus(b'1234')       # Calculate ASCII of modbus(rtu)
    crc16 = libscrc.modbus(b'\x01\x02')   # Calculate HEX of modbus(rtu)
    crc16 = libscrc.modbus(bytearray( [ 0x01, 0x02 ] ))

  You can also calculate CRC gradually( v1.4+ )::

    import libscrc
    crc16 = libscrc.xmodem(b'1234')
    crc16 = libscrc.xmodem(b'5678', crc16)

Example
-------
* CRCx::  
    crc3 = libscrc.gsm3(b'1234')
    crc3 = libscrc.rohc3(b'1234')
    crc4 = libscrc.itu4(b'1234')
    crc4 = libscrc.g_704(b'1234')
    crc4 = libscrc.interlaken4(b'1234')
    crc5 = libscrc.itu5(b'1234')
    crc5 = libscrc.epc(b'1234')
    crc5 = libscrc.usb5(b'1234')
    crc6 = libscrc.itu6(b'1234')
    crc6 = libscrc.darc6(b'1234')
    crc7 = libscrc.mmc(b'1234')
    crc7 = libscrc.crc7(b'1234')
    crc7 = libscrc.umts7(b'1234')
    crc7 = libscrc.rohc7(b'1234')

    crc10 = libscrc.atm10(b'1234')
    crc10 = libscrc.gsm10(b'1234')
    crc10 = libscrc.crc10_cdma2000(b'1234')
    crc11 = libscrc.umts11(b'1234')
    crc11 = libscrc.flexray11(b'1234')
    crc12 = libscrc.umts12(b'1234')
    crc12 = libscrc.crc12_3gpp(b'1234')
    crc12 = libscrc.dect12(b'1234')
    crc12 = libscrc.crc12(b'1234')
    crc12 = libscrc.gsm12(b'1234')
    crc12 = libscrc.crc12_cdma2000(b'1234')
    crc13 = libscrc.bbc13(b'1234')
    crc14 = libscrc.darc14(b'1234')
    crc15 = libscrc.mpt1327(b'1234')

    crc15 = libscrc.can15(b'1234')
    crc17 = libscrc.can17(b'1234')
    crc21 = libscrc.can21(b'1234')

    crc30 = libscrc.cdma(b'1234')
    crc31 = libscrc.philips(b'1234')

    crc40 = libscrc.gsm40(b'1234')

    crc82 = libscrc.darc82(b'1234')
    

* CRC8::  
    crc8 = libscrc.intel(b'1234')
    crc8 = libscrc.bcc(b'1234')  
    crc8 = libscrc.lrc(b'1234')  
    crc8 = libscrc.maxim8(b'1234')
    crc8 = libscrc.rohc(b'1234')
    crc8 = libscrc.itu8(b'1234')
    crc8 = libscrc.crc8(b'1234')
    crc8 = libscrc.smbus(b'1234')
    crc8 = libscrc.autosar8(b'1234')
    crc8 = libscrc.lte8(b'1234')
    crc8 = libscrc.sae_j1850(b'1234')
    crc8 = libscrc.icode8(b'1234')
    crc8 = libscrc.gsm8_a(b'1234')
    crc8 = libscrc.nrsc_5(b'1234')
    crc8 = libscrc.wcdma8(b'1234')
    crc8 = libscrc.bluetooth(b'1234')
    crc8 = libscrc.dvb_s2(b'1234')
    crc8 = libscrc.ebu8(b'1234')
    crc8 = libscrc.darc8(b'1234')
    crc8 = libscrc.opensafety8(b'1234')  
    crc8 = libscrc.i432_1(b'1234') 
    crc8 = libscrc.mifare_mad(b'1234') 
    crc8 = libscrc.tech_3250(b'1234')
    crc8 = libscrc.aes8(b'1234')
    crc8 = libscrc.lin(bytes([0x15, 0x5B, 0x67]))
    crc8 = libscrc.lin2x(bytes([0x15, 0x5B, 0x67, 0x72, 0xAF, 0x5B]))
  
    crc8 = libscrc.id8(b'21020020210229117')      # ID check code of China  
    crc8 = libscrc.nmea(b'$PFEC,GPint,RMC06*')    # National Marine Electronics Association  
    crc8 = libscrc.modbus_asc(b'010300010001')    # Modbus(ASCII) checksum. return value is bytes (b'FA')


* CRC16::  
    crc16 = libscrc.ibm(b'1234')            # poly=0xA001 (default Reversed)  
    crc16 = libscrc.ibm(b'1234', 0x8005)    # poly=0x8005 (Normal)
    crc16 = libscrc.modbus(b'1234')         # Modbus(RTU) checksum
    crc16 = libscrc.xmodem(b'1234')  
    crc16 = libscrc.zmodem(b'1234')  
    crc16 = libscrc.ccitt(b'1234')  
    crc16 = libscrc.ccitt_aug(b'1234')  
    crc16 = libscrc.ccitt_true(b'1234')  
    crc16 = libscrc.ccitt_false(b'1234')  
    crc16 = libscrc.kermit(b'1234')  
    crc16 = libscrc.mcrf4xx(b'1234')  
    crc16 = libscrc.sick(b'1234')  
    crc16 = libscrc.dnp(b'1234')  
    crc16 = libscrc.x25(b'1234')  
    crc16 = libscrc.usb16(b'1234')  
    crc16 = libscrc.maxim16(b'1234')  
    crc16 = libscrc.dect_r(b'1234')  
    crc16 = libscrc.dect_x(b'1234')  

    data  = b'\x45\x00\x00\x3c\x00\x00\x00\x00\x40\x11\x00\x00\xc0\xa8\x2b\xc3\x08\x08\x08\x08\x11'
    crc16 = libscrc.tcp( data )             # 13933  
    crc16 = libscrc.udp( data )             # 13933  

    crc16 = libscrc.epc16(b'1234')          # RFID EPC(CRC16-PC-EPC)  
    crc16 = libscrc.profibus(b'1234')  
    crc16 = libscrc.buypass(b'1234')  
    crc16 = libscrc.genibus(b'1234')  
    crc16 = libscrc.gsm16(b'1234')  
    crc16 = libscrc.riello(b'1234')  

    crc16 = libscrc.crc16_a(b'1234')  
    crc16 = libscrc.cdma2000(b'1234')  
    crc16 = libscrc.teledisk(b'1234')  
    crc16 = libscrc.tms37157(b'1234')  
    crc16 = libscrc.en13757(b'1234')  
    crc16 = libscrc.t10_dif(b'1234')  
    crc16 = libscrc.dds_110(b'1234')  
    crc16 = libscrc.lj1200(b'1234')  
    crc16 = libscrc.opensafety_a(b'1234')  
    crc16 = libscrc.opensafety_b(b'1234')  

    crc16 = libscrc.arc(b'1234')  
    crc16 = libscrc.lha(b'1234')  
    crc16 = libscrc.cms(b'1234')  
    crc16 = libscrc.darc(b'1234')  
    crc16 = libscrc.epc_c1g2(b'1234')  
    crc16 = libscrc.icode16(b'1234')  
    crc16 = libscrc.ibm_3740(b'1234')  
    crc16 = libscrc.autosar16(b'1234')  
    crc16 = libscrc.ibm_sdlc(b'1234')  
    crc16 = libscrc.iso_hdlc16(b'1234')  
    crc16 = libscrc.iec14443_3_b(b'1234')  
    crc16 = libscrc.iec14443_3_a(b'1234')  
    crc16 = libscrc.v41_lsb(b'1234')  
    crc16 = libscrc.v41_msb(b'1234')  
    crc16 = libscrc.spi_fujitsu(b'1234')  
    crc16 = libscrc.umts(b'1234')  
    crc16 = libscrc.verifone(b'1234')  
    crc16 = libscrc.acorn(b'1234')  
    crc16 = libscrc.lte16(b'1234')  
    crc16 = libscrc.nrsc5(b'1234')  


* CRC24::  
    crc24 = libscrc.ble(b'1234')  
    crc24 = libscrc.flexraya(b'1234')  
    crc24 = libscrc.flexrayb(b'1234')  
    crc24 = libscrc.openpgp(b'1234')  
    crc24 = libscrc.lte_a(b'1234')  
    crc24 = libscrc.lte_b(b'1234')  
    crc24 = libscrc.os9(b'1234')  
    crc24 = libscrc.interlaken(b'1234')  
    crc24 = libscrc.crc24(b'1234')  


* CRC32::  
    crc32 = libscrc.fsc(b'1234')            # Ethernet frame sequence (FSC)  
    crc32 = libscrc.mpeg2(b'1234')          # MPEG2  
    crc32 = libscrc.crc32(b'1234')          # WinRAR, File  
    crc32 = libscrc.posix(b'1234')  
    crc32 = libscrc.bzip2(b'1234')  
    crc32 = libscrc.jamcrc(b'1234')  
    crc32 = libscrc.autosar(b'1234')  
    crc32 = libscrc.crc32_c(b'1234')  
    crc32 = libscrc.crc32_d(b'1234')  
    crc32 = libscrc.crc32_q(b'1234')  
    crc32 = libscrc.xfer(b'1234')  
    crc32 = libscrc.aixm(b'1234')  
    crc32 = libscrc.base91_d(b'1234')  
    crc32 = libscrc.cksum(b'1234')  
    crc32 = libscrc.base91_c(b'1234')  
    crc32 = libscrc.iscsi(b'1234')  
    crc32 = libscrc.iso_hdlc(b'1234')  
    crc32 = libscrc.xz32(b'1234')  
    crc32 = libscrc.pkzip(b'1234')  
    crc32 = libscrc.adccp(b'1234')  
    crc32 = libscrc.v_42(b'1234')  
    crc32 = libscrc.aal5(b'1234')  
    crc32 = libscrc.stm32(b'1234')        # STM32 hardware calculate CRC32  
    crc32 = libscrc.ecmxf(b'1234')				# ECMXF
  
  
* CRC64::  
    crc64 = libscrc.iso(b'1234')  
    crc64 = libscrc.ecma182(b'1234')  
    crc64 = libscrc.we(b'1234')  
    crc64 = libscrc.xz64(b'1234')  


* CRC82::  
    crc82 = libscrc.darc82(b'123456789')  

NOTICE
------ 
* Revert gradually calculating function v1.4+ (2020-08-04) 

V1.8.1(2022-08-18)
++++++++++++++++++
* PyArg_ParseTuple() and formats which use # require the PY_SSIZE_T_CLEAN macro since python 3.10  

V1.8(2022-03-04)
++++++++++++++++++
* New add modbus (ASCII) LRC checksum.  
* CRC8   -> libscrc.modbus_asc()  

V1.7(2021-06-07)
++++++++++++++++++
* New add CRC8   -> libscrc.id8() and libscrc.nmea()  
* Update gradually calculate functions ( CRCx   -> libscrc.umts12()  libscrc.crc12_3gpp() )  
* Fixed Issues #8  

V1.6(2021-01-18)
++++++++++++++++++
* New add CRC32  -> libscrc.stm32()
* New add CRC8   -> libscrc.lin()  and libscrc.lin2x()

V1.4 (2020-08-04)
++++++++++++++++++
* Revert gradually calculating function. ( Fixed Issues #4 )  
* Optimized code  
* Gradually calculate invalid functions( TODO )  
* CRCx -> libscrc.umts12() libscrc.crc12_3gpp()  
* CRC8 -> libscrc.intel() libscrc.lrc()  
* CRC16 -> libscrc.sick() libscrc.udp() libscrc.tcp() libscrc.fletcher16()  
* CRC32 -> libscrc.fletcher32()  

V1.0 (2020-03-23)
++++++++++++++++++
* New hacker8 \ hacker16 \ hacker32 \ hacker64  
* New FLETCHER8 \ FLETCHER16 \ FLETCHER32  

V0.1.5 (2017-09-22)
+++++++++++++++++++
* New CRC4-ITU      Poly = 0x03 Initial = 0x00 Xorout=0x00 Refin=True Refout=True
* New CRC5-ITU      Poly = 0x15 Initial = 0x00 Xorout=0x00 Refin=True Refout=True
* New CRC5-EPC      Poly = 0x09 Initial = 0x09 Xorout=0x00 Refin=False Refout=False
* New CRC5-USB      Poly = 0x05 Initial = 0x1F Xorout=0x1F Refin=True Refout=True
* New CRC6-ITU      Poly = 0x03 Initial = 0x00 Xorout=0x00 Refin=True Refout=True
* New CRC7-MMC      Poly = 0x09 Initial = 0x00 Xorout=0x00 Refin=False Refout=False

V0.1.4 (2017-09-21)
+++++++++++++++++++
* New CRC8-MAXIM8   Poly = 0x31 Initial = 0x00 Xorout=0x00 Refin=True  Refout=True
* New CRC8-ROHC     Poly = 0x07 Initial = 0xFF Xorout=0x00 Refin=True  Refout=True
* New CRC8-ITU      Poly = 0x07 Initial = 0x00 Xorout=0x55 Refin=False Refout=False
* New CRC8-CRC8     Poly = 0x07 Initial = 0x00 Xorout=0x00 Refin=False Refout=False


V0.1.3 (2017-09-19)
+++++++++++++++++++
* New CRC16-X25  
* New CRC16-USB  
* New CRC16-MAXIM16  
* New CRC16-CCITT_FALSE
* New CRC16-DECT

**Bugfixes**
  * Calculate CRC16-IBM of poly = 0x8005 is ERROR.


V0.1.2 (2017-08-22)
+++++++++++++++++++
**Platform Support**
  * Win32 \ X64
  * Linux_x86_64
  * MacOSX_10_6_intel
  * ARMv7 (Toradex Ixora iMX6 Linux-4.1.41)

**Bugfixes**
  * Coding C99 standard.
  * Python/C API parsing arguments type error in linux.

V0.1.1 (2017-08-20)
+++++++++++++++++++
* New CRC16-DNP and CRC16-SICK


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hex-in/libscrc",
    "name": "libscrc",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "CRC3,CRC4,CRC5,CRC6,CRC7,CRC8,CRC16,CRC24,CRC32,CRC64,CRC82",
    "author": "Heyn",
    "author_email": "heyunhuan@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/c4/13/29a83d079607968de022555099a9de94d7428336afa6b8ec516e27c26a7a/libscrc-1.8.1.tar.gz",
    "platform": "any",
    "description": "libscrc\n=======\n\nlibscrc is a library for calculating CRC3 CRC4 CRC5 CRC6 CRC7 CRC8 CRC16 CRC24 CRC32 CRC64 CRC82.\n\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRCx       | CRC8       | CRC16      | CRC24     | CRC32     | CRC64     |\n+============+============+============+===========+===========+===========+ \n| CRC3-GSM   | INTEL      | MODBUS     | BLE       |    FSC    | GO-ISO    |\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRC3-ROHC  | BCC        | IBM        | OPENPGP   |   CRC32   | ECMA182   |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC4-ITU   | LRC        | XMODEM     | LTE-A     |   MPEG2   | WE        |\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRC5-ITU   | MAXIM8     | CCITT      | LTE-B     |  ADLER32  | XZ64      |\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRC5-EPC   | ROHC       | KERMIT     | OS9       | FLETCHER32|           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC5-USB   | ITU8       | MCRF4XX    | FLEXRAY-A |   POSIX   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC6-ITU   | CRC8       | SICK       | FLEXRAY-B |   BZIP2   |           |\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRC6-GSM   | SUM8       | DNP        | INTERLAKEN|   JAMCRC  |           |\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRC6-DARC  | FLETCHER8  | X25        | CRC24     |  AUTOSAR  |           |\n+------------+------------+------------+-----------+-----------+-----------+ \n| CRC7       | SMBUS      | USB        |           | C / ISCSI |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC7-MMC   | AUTOSAR    | MAXIM16    |           | D/BASE91-D|           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC7-UMTS  | LTE        | DECT(R/X)  |           | Q / AIXM  |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC7-ROHC  | SAE-J1850  | TCP/UDP    |           |   XFER    |           |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | I-CODE     | CDMA2000   |           |   CKSUM   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CAN15      | GSM-A      | FLETCHER16 |           |   XZ32    |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CAN17      | NRSC-5     | EPC16      |           |   AAL5    |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CAN21      | WCDMA      | PROFIBUS   |           | ISO-HDLC  |           |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | BLUETOOTH  | BUYPASS    |           |   PKZIP   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC10-ATM  | DVB-S2     | GENIBUS    |           |   ADCCP   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CRC13-BBC  | EBU        | GSM16      |           |    V-42   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| MPT1327    | DARC       | RIELLO     |           |   STM32   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n| CDMA2000   | MIFARE     | OPENSAFETY |           |   ECMXF   |           |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | LIN1.3     | EN13757    |           |           |           |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | LIN2.x     | CMS        |           | CRC30-CDMA|           |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | ID8        |            |           |  PHILIPS  |   DARC82  |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | NMEA       |            |           |           |           |\n+------------+------------+------------+-----------+-----------+-----------+\n|            | MODBUS-ASC |            |           |           |           |\n+------------+------------+------------+-----------+-----------+-----------+\n\nInstallation\n------------\n\n* Compile and install the library::\n\n    pip3 install libscrc\n\n  or::\n\n    python3 setup.py build\n    python3 setup.py install\n\n  You will need the administrative privileges to execute the last command.\n\n* Cross compile and install the library::\n\n    # vim setup.cfg\n    universal=1\n    plat-name=linux_armv7l\n\n    export CROSS_COMPILE=arm-linux-gnueabihf-\n    export CC='${CROSS_COMPILE}gcc -pthread'\n    export LDSHARED='${CROSS_COMPILE}gcc -shared'\n    export CFLAGS='-I/usr/include/python3.5m -I/usr/include/'\n\n    python3 setup.py build\n    # gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)\n    \n* After installation you can run unit tests to make sure that the library works fine.  Execute::\n\n    # python3 -m libscrc.test.modbus  \n    # python3 -m libscrc.test.crc8  \n    # python3 -m libscrc.test.crcx  \n    # python3 -m libscrc.test.canx  \n    # python3 -m libscrc.test.crc16  \n    # python3 -m libscrc.test.crc24  \n    # python3 -m libscrc.test.crc32  \n    # python3 -m libscrc.test.crc64  \n\nUsage\n-----\n\n  In Python 3::\n\n    import libscrc\n    crc16 = libscrc.modbus(b'1234')       # Calculate ASCII of modbus(rtu)\n    crc16 = libscrc.modbus(b'\\x01\\x02')   # Calculate HEX of modbus(rtu)\n    crc16 = libscrc.modbus(bytearray( [ 0x01, 0x02 ] ))\n\n  You can also calculate CRC gradually( v1.4+ )::\n\n    import libscrc\n    crc16 = libscrc.xmodem(b'1234')\n    crc16 = libscrc.xmodem(b'5678', crc16)\n\nExample\n-------\n* CRCx::  \n    crc3 = libscrc.gsm3(b'1234')\n    crc3 = libscrc.rohc3(b'1234')\n    crc4 = libscrc.itu4(b'1234')\n    crc4 = libscrc.g_704(b'1234')\n    crc4 = libscrc.interlaken4(b'1234')\n    crc5 = libscrc.itu5(b'1234')\n    crc5 = libscrc.epc(b'1234')\n    crc5 = libscrc.usb5(b'1234')\n    crc6 = libscrc.itu6(b'1234')\n    crc6 = libscrc.darc6(b'1234')\n    crc7 = libscrc.mmc(b'1234')\n    crc7 = libscrc.crc7(b'1234')\n    crc7 = libscrc.umts7(b'1234')\n    crc7 = libscrc.rohc7(b'1234')\n\n    crc10 = libscrc.atm10(b'1234')\n    crc10 = libscrc.gsm10(b'1234')\n    crc10 = libscrc.crc10_cdma2000(b'1234')\n    crc11 = libscrc.umts11(b'1234')\n    crc11 = libscrc.flexray11(b'1234')\n    crc12 = libscrc.umts12(b'1234')\n    crc12 = libscrc.crc12_3gpp(b'1234')\n    crc12 = libscrc.dect12(b'1234')\n    crc12 = libscrc.crc12(b'1234')\n    crc12 = libscrc.gsm12(b'1234')\n    crc12 = libscrc.crc12_cdma2000(b'1234')\n    crc13 = libscrc.bbc13(b'1234')\n    crc14 = libscrc.darc14(b'1234')\n    crc15 = libscrc.mpt1327(b'1234')\n\n    crc15 = libscrc.can15(b'1234')\n    crc17 = libscrc.can17(b'1234')\n    crc21 = libscrc.can21(b'1234')\n\n    crc30 = libscrc.cdma(b'1234')\n    crc31 = libscrc.philips(b'1234')\n\n    crc40 = libscrc.gsm40(b'1234')\n\n    crc82 = libscrc.darc82(b'1234')\n    \n\n* CRC8::  \n    crc8 = libscrc.intel(b'1234')\n    crc8 = libscrc.bcc(b'1234')  \n    crc8 = libscrc.lrc(b'1234')  \n    crc8 = libscrc.maxim8(b'1234')\n    crc8 = libscrc.rohc(b'1234')\n    crc8 = libscrc.itu8(b'1234')\n    crc8 = libscrc.crc8(b'1234')\n    crc8 = libscrc.smbus(b'1234')\n    crc8 = libscrc.autosar8(b'1234')\n    crc8 = libscrc.lte8(b'1234')\n    crc8 = libscrc.sae_j1850(b'1234')\n    crc8 = libscrc.icode8(b'1234')\n    crc8 = libscrc.gsm8_a(b'1234')\n    crc8 = libscrc.nrsc_5(b'1234')\n    crc8 = libscrc.wcdma8(b'1234')\n    crc8 = libscrc.bluetooth(b'1234')\n    crc8 = libscrc.dvb_s2(b'1234')\n    crc8 = libscrc.ebu8(b'1234')\n    crc8 = libscrc.darc8(b'1234')\n    crc8 = libscrc.opensafety8(b'1234')  \n    crc8 = libscrc.i432_1(b'1234') \n    crc8 = libscrc.mifare_mad(b'1234') \n    crc8 = libscrc.tech_3250(b'1234')\n    crc8 = libscrc.aes8(b'1234')\n    crc8 = libscrc.lin(bytes([0x15, 0x5B, 0x67]))\n    crc8 = libscrc.lin2x(bytes([0x15, 0x5B, 0x67, 0x72, 0xAF, 0x5B]))\n  \n    crc8 = libscrc.id8(b'21020020210229117')      # ID check code of China  \n    crc8 = libscrc.nmea(b'$PFEC,GPint,RMC06*')    # National Marine Electronics Association  \n    crc8 = libscrc.modbus_asc(b'010300010001')    # Modbus(ASCII) checksum. return value is bytes (b'FA')\n\n\n* CRC16::  \n    crc16 = libscrc.ibm(b'1234')            # poly=0xA001 (default Reversed)  \n    crc16 = libscrc.ibm(b'1234', 0x8005)    # poly=0x8005 (Normal)\n    crc16 = libscrc.modbus(b'1234')         # Modbus(RTU) checksum\n    crc16 = libscrc.xmodem(b'1234')  \n    crc16 = libscrc.zmodem(b'1234')  \n    crc16 = libscrc.ccitt(b'1234')  \n    crc16 = libscrc.ccitt_aug(b'1234')  \n    crc16 = libscrc.ccitt_true(b'1234')  \n    crc16 = libscrc.ccitt_false(b'1234')  \n    crc16 = libscrc.kermit(b'1234')  \n    crc16 = libscrc.mcrf4xx(b'1234')  \n    crc16 = libscrc.sick(b'1234')  \n    crc16 = libscrc.dnp(b'1234')  \n    crc16 = libscrc.x25(b'1234')  \n    crc16 = libscrc.usb16(b'1234')  \n    crc16 = libscrc.maxim16(b'1234')  \n    crc16 = libscrc.dect_r(b'1234')  \n    crc16 = libscrc.dect_x(b'1234')  \n\n    data  = b'\\x45\\x00\\x00\\x3c\\x00\\x00\\x00\\x00\\x40\\x11\\x00\\x00\\xc0\\xa8\\x2b\\xc3\\x08\\x08\\x08\\x08\\x11'\n    crc16 = libscrc.tcp( data )             # 13933  \n    crc16 = libscrc.udp( data )             # 13933  \n\n    crc16 = libscrc.epc16(b'1234')          # RFID EPC(CRC16-PC-EPC)  \n    crc16 = libscrc.profibus(b'1234')  \n    crc16 = libscrc.buypass(b'1234')  \n    crc16 = libscrc.genibus(b'1234')  \n    crc16 = libscrc.gsm16(b'1234')  \n    crc16 = libscrc.riello(b'1234')  \n\n    crc16 = libscrc.crc16_a(b'1234')  \n    crc16 = libscrc.cdma2000(b'1234')  \n    crc16 = libscrc.teledisk(b'1234')  \n    crc16 = libscrc.tms37157(b'1234')  \n    crc16 = libscrc.en13757(b'1234')  \n    crc16 = libscrc.t10_dif(b'1234')  \n    crc16 = libscrc.dds_110(b'1234')  \n    crc16 = libscrc.lj1200(b'1234')  \n    crc16 = libscrc.opensafety_a(b'1234')  \n    crc16 = libscrc.opensafety_b(b'1234')  \n\n    crc16 = libscrc.arc(b'1234')  \n    crc16 = libscrc.lha(b'1234')  \n    crc16 = libscrc.cms(b'1234')  \n    crc16 = libscrc.darc(b'1234')  \n    crc16 = libscrc.epc_c1g2(b'1234')  \n    crc16 = libscrc.icode16(b'1234')  \n    crc16 = libscrc.ibm_3740(b'1234')  \n    crc16 = libscrc.autosar16(b'1234')  \n    crc16 = libscrc.ibm_sdlc(b'1234')  \n    crc16 = libscrc.iso_hdlc16(b'1234')  \n    crc16 = libscrc.iec14443_3_b(b'1234')  \n    crc16 = libscrc.iec14443_3_a(b'1234')  \n    crc16 = libscrc.v41_lsb(b'1234')  \n    crc16 = libscrc.v41_msb(b'1234')  \n    crc16 = libscrc.spi_fujitsu(b'1234')  \n    crc16 = libscrc.umts(b'1234')  \n    crc16 = libscrc.verifone(b'1234')  \n    crc16 = libscrc.acorn(b'1234')  \n    crc16 = libscrc.lte16(b'1234')  \n    crc16 = libscrc.nrsc5(b'1234')  \n\n\n* CRC24::  \n    crc24 = libscrc.ble(b'1234')  \n    crc24 = libscrc.flexraya(b'1234')  \n    crc24 = libscrc.flexrayb(b'1234')  \n    crc24 = libscrc.openpgp(b'1234')  \n    crc24 = libscrc.lte_a(b'1234')  \n    crc24 = libscrc.lte_b(b'1234')  \n    crc24 = libscrc.os9(b'1234')  \n    crc24 = libscrc.interlaken(b'1234')  \n    crc24 = libscrc.crc24(b'1234')  \n\n\n* CRC32::  \n    crc32 = libscrc.fsc(b'1234')            # Ethernet frame sequence (FSC)  \n    crc32 = libscrc.mpeg2(b'1234')          # MPEG2  \n    crc32 = libscrc.crc32(b'1234')          # WinRAR, File  \n    crc32 = libscrc.posix(b'1234')  \n    crc32 = libscrc.bzip2(b'1234')  \n    crc32 = libscrc.jamcrc(b'1234')  \n    crc32 = libscrc.autosar(b'1234')  \n    crc32 = libscrc.crc32_c(b'1234')  \n    crc32 = libscrc.crc32_d(b'1234')  \n    crc32 = libscrc.crc32_q(b'1234')  \n    crc32 = libscrc.xfer(b'1234')  \n    crc32 = libscrc.aixm(b'1234')  \n    crc32 = libscrc.base91_d(b'1234')  \n    crc32 = libscrc.cksum(b'1234')  \n    crc32 = libscrc.base91_c(b'1234')  \n    crc32 = libscrc.iscsi(b'1234')  \n    crc32 = libscrc.iso_hdlc(b'1234')  \n    crc32 = libscrc.xz32(b'1234')  \n    crc32 = libscrc.pkzip(b'1234')  \n    crc32 = libscrc.adccp(b'1234')  \n    crc32 = libscrc.v_42(b'1234')  \n    crc32 = libscrc.aal5(b'1234')  \n    crc32 = libscrc.stm32(b'1234')        # STM32 hardware calculate CRC32  \n    crc32 = libscrc.ecmxf(b'1234')\t\t\t\t# ECMXF\n  \n  \n* CRC64::  \n    crc64 = libscrc.iso(b'1234')  \n    crc64 = libscrc.ecma182(b'1234')  \n    crc64 = libscrc.we(b'1234')  \n    crc64 = libscrc.xz64(b'1234')  \n\n\n* CRC82::  \n    crc82 = libscrc.darc82(b'123456789')  \n\nNOTICE\n------ \n* Revert gradually calculating function v1.4+ (2020-08-04) \n\nV1.8.1(2022-08-18)\n++++++++++++++++++\n* PyArg_ParseTuple() and formats which use # require the PY_SSIZE_T_CLEAN macro since python 3.10  \n\nV1.8(2022-03-04)\n++++++++++++++++++\n* New add modbus (ASCII) LRC checksum.  \n* CRC8   -> libscrc.modbus_asc()  \n\nV1.7(2021-06-07)\n++++++++++++++++++\n* New add CRC8   -> libscrc.id8() and libscrc.nmea()  \n* Update gradually calculate functions ( CRCx   -> libscrc.umts12()  libscrc.crc12_3gpp() )  \n* Fixed Issues #8  \n\nV1.6(2021-01-18)\n++++++++++++++++++\n* New add CRC32  -> libscrc.stm32()\n* New add CRC8   -> libscrc.lin()  and libscrc.lin2x()\n\nV1.4 (2020-08-04)\n++++++++++++++++++\n* Revert gradually calculating function. ( Fixed Issues #4 )  \n* Optimized code  \n* Gradually calculate invalid functions( TODO )  \n* CRCx -> libscrc.umts12() libscrc.crc12_3gpp()  \n* CRC8 -> libscrc.intel() libscrc.lrc()  \n* CRC16 -> libscrc.sick() libscrc.udp() libscrc.tcp() libscrc.fletcher16()  \n* CRC32 -> libscrc.fletcher32()  \n\nV1.0 (2020-03-23)\n++++++++++++++++++\n* New hacker8 \\ hacker16 \\ hacker32 \\ hacker64  \n* New FLETCHER8 \\ FLETCHER16 \\ FLETCHER32  \n\nV0.1.5 (2017-09-22)\n+++++++++++++++++++\n* New CRC4-ITU      Poly = 0x03 Initial = 0x00 Xorout=0x00 Refin=True Refout=True\n* New CRC5-ITU      Poly = 0x15 Initial = 0x00 Xorout=0x00 Refin=True Refout=True\n* New CRC5-EPC      Poly = 0x09 Initial = 0x09 Xorout=0x00 Refin=False Refout=False\n* New CRC5-USB      Poly = 0x05 Initial = 0x1F Xorout=0x1F Refin=True Refout=True\n* New CRC6-ITU      Poly = 0x03 Initial = 0x00 Xorout=0x00 Refin=True Refout=True\n* New CRC7-MMC      Poly = 0x09 Initial = 0x00 Xorout=0x00 Refin=False Refout=False\n\nV0.1.4 (2017-09-21)\n+++++++++++++++++++\n* New CRC8-MAXIM8   Poly = 0x31 Initial = 0x00 Xorout=0x00 Refin=True  Refout=True\n* New CRC8-ROHC     Poly = 0x07 Initial = 0xFF Xorout=0x00 Refin=True  Refout=True\n* New CRC8-ITU      Poly = 0x07 Initial = 0x00 Xorout=0x55 Refin=False Refout=False\n* New CRC8-CRC8     Poly = 0x07 Initial = 0x00 Xorout=0x00 Refin=False Refout=False\n\n\nV0.1.3 (2017-09-19)\n+++++++++++++++++++\n* New CRC16-X25  \n* New CRC16-USB  \n* New CRC16-MAXIM16  \n* New CRC16-CCITT_FALSE\n* New CRC16-DECT\n\n**Bugfixes**\n  * Calculate CRC16-IBM of poly = 0x8005 is ERROR.\n\n\nV0.1.2 (2017-08-22)\n+++++++++++++++++++\n**Platform Support**\n  * Win32 \\ X64\n  * Linux_x86_64\n  * MacOSX_10_6_intel\n  * ARMv7 (Toradex Ixora iMX6 Linux-4.1.41)\n\n**Bugfixes**\n  * Coding C99 standard.\n  * Python/C API parsing arguments type error in linux.\n\nV0.1.1 (2017-08-20)\n+++++++++++++++++++\n* New CRC16-DNP and CRC16-SICK\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Library for calculating CRC3/CRC4/CRC8/CRC16/CRC24/CRC32/CRC64/CRC82",
    "version": "1.8.1",
    "split_keywords": [
        "crc3",
        "crc4",
        "crc5",
        "crc6",
        "crc7",
        "crc8",
        "crc16",
        "crc24",
        "crc32",
        "crc64",
        "crc82"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "b08a65d79a45cbd64eb525137e10f706",
                "sha256": "08e4af90f48fbf0d93c61d3e3c1b3b74998e38691ec11df0a5cb05122d7e348a"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp27-cp27m-macosx_12_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b08a65d79a45cbd64eb525137e10f706",
            "packagetype": "bdist_wheel",
            "python_version": "cp27",
            "requires_python": null,
            "size": 64459,
            "upload_time": "2022-08-18T13:40:42",
            "upload_time_iso_8601": "2022-08-18T13:40:42.180695Z",
            "url": "https://files.pythonhosted.org/packages/f4/9a/415f490f3d39b3c51bfeccf9b9d79ab594d052e17b1c75a57e12e5af9588/libscrc-1.8.1-cp27-cp27m-macosx_12_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "621a0e62caca88e2719ed0040c2bdd00",
                "sha256": "0adc4d45e41fe2c248018b621c155ac59205ece74253c38e7daac62cd00114c6"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp27-cp27mu-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "621a0e62caca88e2719ed0040c2bdd00",
            "packagetype": "bdist_wheel",
            "python_version": "cp27",
            "requires_python": null,
            "size": 202099,
            "upload_time": "2022-08-19T12:51:32",
            "upload_time_iso_8601": "2022-08-19T12:51:32.616086Z",
            "url": "https://files.pythonhosted.org/packages/85/56/611dba01230957900dce2b0333ca90c2e8c105fe2bd55ff91cddaddaf1d8/libscrc-1.8.1-cp27-cp27mu-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "93afd54b2d98e4fe21a615eea81f5b51",
                "sha256": "bbc72b4ee023c3812a7ac9f624313156d1d50ccc5049d3ae9b86b3c0525a3e0e"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "93afd54b2d98e4fe21a615eea81f5b51",
            "packagetype": "bdist_wheel",
            "python_version": "cp27",
            "requires_python": null,
            "size": 214763,
            "upload_time": "2022-08-19T11:40:00",
            "upload_time_iso_8601": "2022-08-19T11:40:00.928884Z",
            "url": "https://files.pythonhosted.org/packages/c7/cf/a43e210cb39f065bec32329b285a30e80c4df4d945d1eebcbe60c0ba3e73/libscrc-1.8.1-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "a6dd9aaf8735948cc2e628d52293d8d2",
                "sha256": "f874b154e0db60ba3c8b7deb16f527d708a1e3fbe375cc46a8ae630e709b6e0b"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "a6dd9aaf8735948cc2e628d52293d8d2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 118760,
            "upload_time": "2022-08-18T13:40:35",
            "upload_time_iso_8601": "2022-08-18T13:40:35.808071Z",
            "url": "https://files.pythonhosted.org/packages/06/8e/aea348e769c0ca1045b23fe7f318950c80bf8a86ebc69d0bb1891abea7c7/libscrc-1.8.1-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "7bcc8e0985ee2a58e51095d7702f6308",
                "sha256": "d0d132aa667af4c247251085d7053732430a427191ab855bd69a998cd4a60281"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "7bcc8e0985ee2a58e51095d7702f6308",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 185774,
            "upload_time": "2022-08-18T12:52:04",
            "upload_time_iso_8601": "2022-08-18T12:52:04.420327Z",
            "url": "https://files.pythonhosted.org/packages/00/f4/5dd535738606cdc38101ae8bb5e92d08c484e08152cabd6f287b0205fdbb/libscrc-1.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "788352fd5f8f6600845a4ddc7ad1d538",
                "sha256": "867bfff8ce46c51af24122a417c55838ebc6c37f1bf2cbe94b9c8315cf571c19"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "788352fd5f8f6600845a4ddc7ad1d538",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 175263,
            "upload_time": "2022-08-19T12:51:35",
            "upload_time_iso_8601": "2022-08-19T12:51:35.893874Z",
            "url": "https://files.pythonhosted.org/packages/1a/7c/f10a09ab6fa4437d3647a43196715e0228aa50e9aa5e9498f873e6d2074b/libscrc-1.8.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "2bb12bc720f45d2d901c775b17e496a7",
                "sha256": "df42cccd8163ff18e05ca6a7ed86547bec7e48108245a08dc926f692ba42e0f1"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2bb12bc720f45d2d901c775b17e496a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 216677,
            "upload_time": "2022-08-18T11:21:25",
            "upload_time_iso_8601": "2022-08-18T11:21:25.207198Z",
            "url": "https://files.pythonhosted.org/packages/57/24/028104da0b13ab6c4ace73ed75a33b3e8716b02adf099a984ba69607a033/libscrc-1.8.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "9bfd472bc5b7071608b7783bf553d8e1",
                "sha256": "e0c70b8452ad4cc3dd84cac60788e57a923d22cc9648ced0f81d17d3ab74ca28"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9bfd472bc5b7071608b7783bf553d8e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 598418,
            "upload_time": "2022-09-17T14:05:20",
            "upload_time_iso_8601": "2022-09-17T14:05:20.597449Z",
            "url": "https://files.pythonhosted.org/packages/2f/e7/2079ddf0a3070f5f1fc0f6b68520d0276f90ea3993467183136e46409c02/libscrc-1.8.1-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "84196f62390c5e344d4f471860a2a26d",
                "sha256": "8bc4b0182dff57083aa27d27e77b2087b44b6fa586682892895ac14c5723b456"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "84196f62390c5e344d4f471860a2a26d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 83414,
            "upload_time": "2022-08-19T10:54:26",
            "upload_time_iso_8601": "2022-08-19T10:54:26.116181Z",
            "url": "https://files.pythonhosted.org/packages/a9/f9/9d76f63eec70d7fb0ecddbfdfc00f1334fbca24e8c6328be35e874645d92/libscrc-1.8.1-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "988cd3582cce5a1a070d940541aa789e",
                "sha256": "02049397b9b0e6e4df407aa18c2ef3bcc601bf7f90d2865c2ff836bd64c9c77c"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "988cd3582cce5a1a070d940541aa789e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 88381,
            "upload_time": "2022-08-19T10:54:22",
            "upload_time_iso_8601": "2022-08-19T10:54:22.042028Z",
            "url": "https://files.pythonhosted.org/packages/ec/06/028077b3eb0ae26d6f749c8bde06964c5f3b8d60193b640241b1891f6d38/libscrc-1.8.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "676ff7f6554c47a3924163ede836140b",
                "sha256": "70de9d18c8f0712dbe24018d666661cb05daf3fb257b61bf342f74e8468ca64f"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp34-cp34m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "676ff7f6554c47a3924163ede836140b",
            "packagetype": "bdist_wheel",
            "python_version": "cp34",
            "requires_python": null,
            "size": 171978,
            "upload_time": "2022-08-18T14:19:42",
            "upload_time_iso_8601": "2022-08-18T14:19:42.991579Z",
            "url": "https://files.pythonhosted.org/packages/4b/ad/0a41ed771de93f0dc62064b9b0240e5983f6f1a3ba491549bd0a6b43785c/libscrc-1.8.1-cp34-cp34m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "cfeadd59c54435b39daea7bf0a0b40b4",
                "sha256": "3e5e859fe874539763dfc4aa522337eef5576544ff549e3cc9794036c33d7d89"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp34-cp34m-win32.whl",
            "has_sig": false,
            "md5_digest": "cfeadd59c54435b39daea7bf0a0b40b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp34",
            "requires_python": null,
            "size": 82209,
            "upload_time": "2022-08-18T13:02:50",
            "upload_time_iso_8601": "2022-08-18T13:02:50.455796Z",
            "url": "https://files.pythonhosted.org/packages/12/b8/3334ed81372739da6d91e6d162e9e24401c308ea2b8740356309824a3bfa/libscrc-1.8.1-cp34-cp34m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "327d7803a06f260ea8438171d510f558",
                "sha256": "d1b1aad00281d43a51b235d556e54a852f490e4e2dd5bb5b886ddd66194d1b06"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp34-cp34m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "327d7803a06f260ea8438171d510f558",
            "packagetype": "bdist_wheel",
            "python_version": "cp34",
            "requires_python": null,
            "size": 85792,
            "upload_time": "2022-08-18T13:02:44",
            "upload_time_iso_8601": "2022-08-18T13:02:44.381997Z",
            "url": "https://files.pythonhosted.org/packages/9b/5f/5ba0942078f22739f190b7af9858a9e2b19fa2f3b0b12c2a56a49cb72bc0/libscrc-1.8.1-cp34-cp34m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "49f407afdd746a4fddf480d980fd5dc8",
                "sha256": "9989a2494a3cb0f085a4a4c17126977ca4c9e959caa7c4a3f6888f337ed9713a"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp35-cp35m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "49f407afdd746a4fddf480d980fd5dc8",
            "packagetype": "bdist_wheel",
            "python_version": "cp35",
            "requires_python": null,
            "size": 210802,
            "upload_time": "2022-08-19T12:51:39",
            "upload_time_iso_8601": "2022-08-19T12:51:39.314606Z",
            "url": "https://files.pythonhosted.org/packages/bd/e9/4ee0a92d80138126c38c6b7b3c2f8b547164c46179672d1eb1508a51dcc2/libscrc-1.8.1-cp35-cp35m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "d6457fbc637c396c1386cb36bddc09ab",
                "sha256": "74e3e94a59efac5f046e3647bfd9d1665441af4af899557f09c7e65a6a2a7fda"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d6457fbc637c396c1386cb36bddc09ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp35",
            "requires_python": null,
            "size": 173210,
            "upload_time": "2022-08-18T14:19:38",
            "upload_time_iso_8601": "2022-08-18T14:19:38.810068Z",
            "url": "https://files.pythonhosted.org/packages/9f/ef/a37ea57aeb4c93f7bbce13365f0e9ac48a0f423a96a0dca25aa64faf4267/libscrc-1.8.1-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "cc6d5520b776c4a96591e18574ba5cb4",
                "sha256": "eec0e6940562631a4c6438428069e24eedb6f4b48adca4ac86e034745ef30019"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp35-cp35m-win32.whl",
            "has_sig": false,
            "md5_digest": "cc6d5520b776c4a96591e18574ba5cb4",
            "packagetype": "bdist_wheel",
            "python_version": "cp35",
            "requires_python": null,
            "size": 86157,
            "upload_time": "2022-08-18T13:02:59",
            "upload_time_iso_8601": "2022-08-18T13:02:59.211835Z",
            "url": "https://files.pythonhosted.org/packages/10/10/3d110418ce5eab416aee0afcce1820c36daab1c703364e0815506107c74e/libscrc-1.8.1-cp35-cp35m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "1eba545728b32b6189a8d34a154b762e",
                "sha256": "9b857b68e266fb1659ab10ba6f89085ae0f3a78bba14eb9d4c4eb5cfbee698b8"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp35-cp35m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1eba545728b32b6189a8d34a154b762e",
            "packagetype": "bdist_wheel",
            "python_version": "cp35",
            "requires_python": null,
            "size": 90949,
            "upload_time": "2022-08-18T13:02:54",
            "upload_time_iso_8601": "2022-08-18T13:02:54.217462Z",
            "url": "https://files.pythonhosted.org/packages/0b/5c/b563abd414901a6fb7f39de39745b6f5d698fcfb9f66e2efbff83bbd5273/libscrc-1.8.1-cp35-cp35m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "d516407e2cb979532aaddcc0f35dddad",
                "sha256": "69fb70b0567803ae1642077e0f7de1e9da79c0675b61e7f6d39036212838130d"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d516407e2cb979532aaddcc0f35dddad",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 188391,
            "upload_time": "2022-08-19T14:01:22",
            "upload_time_iso_8601": "2022-08-19T14:01:22.498088Z",
            "url": "https://files.pythonhosted.org/packages/cb/61/4c81d90b006e39e5db2cb4d8b2a809975b4de60dd3650ab826c5003430cc/libscrc-1.8.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "db7bcee79226b3597b73cfafd5ca65f4",
                "sha256": "692ad6303230f34b39d51254e06fd0a0278afcd9c261f0507eeacd9013046f96"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp36-cp36m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "db7bcee79226b3597b73cfafd5ca65f4",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 178268,
            "upload_time": "2022-08-19T12:51:42",
            "upload_time_iso_8601": "2022-08-19T12:51:42.375064Z",
            "url": "https://files.pythonhosted.org/packages/4b/4c/5b29d5daad95e0b30c2d5c087918118049213392c3ca2eca78b457cfbad6/libscrc-1.8.1-cp36-cp36m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "9b90b00a912d46c4562735189c87832a",
                "sha256": "8802935cb0cf011185fcb78288b6554db9c99eb6824ad9f18a1426467c7421ca"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9b90b00a912d46c4562735189c87832a",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 173204,
            "upload_time": "2022-08-18T14:20:17",
            "upload_time_iso_8601": "2022-08-18T14:20:17.634642Z",
            "url": "https://files.pythonhosted.org/packages/54/39/afd73b7b086174e41b442d70d145d1ca39ed42b60c08a8f7d4c22590aa98/libscrc-1.8.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "345183bcdb697b9d8b4b400fdae9ac5e",
                "sha256": "64fa0e91bdd7d3f11e817e0a205ed3dd102c572506479e28e7e2ae57c48bf5fe"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "345183bcdb697b9d8b4b400fdae9ac5e",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 83820,
            "upload_time": "2022-08-18T13:04:16",
            "upload_time_iso_8601": "2022-08-18T13:04:16.415483Z",
            "url": "https://files.pythonhosted.org/packages/46/5e/fb72607ccab867d64b367005da681221190a5ede4ae0a3e028984294cb7e/libscrc-1.8.1-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "9ce61e677e21dd1db61f3fdc57e9a2ad",
                "sha256": "5aaf5e7dfa2e302b490a78e902859d4b5e9a1e3f292a8692a993d46619d8fd3e"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9ce61e677e21dd1db61f3fdc57e9a2ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 90957,
            "upload_time": "2022-08-18T13:04:12",
            "upload_time_iso_8601": "2022-08-18T13:04:12.380901Z",
            "url": "https://files.pythonhosted.org/packages/6c/17/d308cb4d095bc0bbe97ad327bcf2b9b78139bb38313fe950f0ef2df788e6/libscrc-1.8.1-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "32e2e45b7f3c23c50dc2693b89830fb3",
                "sha256": "9de7c7b197c05a8dff763d30877949348048a5a661c619c412486e68a1d662dc"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "32e2e45b7f3c23c50dc2693b89830fb3",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 178319,
            "upload_time": "2022-08-19T12:51:46",
            "upload_time_iso_8601": "2022-08-19T12:51:46.274050Z",
            "url": "https://files.pythonhosted.org/packages/05/9e/0350f5a3f4182db5c83d6b37be610b83be88498b5ee679c30fe61dd1f46e/libscrc-1.8.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "1cae296833e26722348c5938086ac985",
                "sha256": "88251784d894ee2857e6e33c9feea220ef742a40befc9010c9f711fc97e803b9"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1cae296833e26722348c5938086ac985",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 173267,
            "upload_time": "2022-08-18T14:19:35",
            "upload_time_iso_8601": "2022-08-18T14:19:35.967580Z",
            "url": "https://files.pythonhosted.org/packages/15/41/2e4a80215b59caadae062cd5921bcff96a53c0d1068630fd610e6302725d/libscrc-1.8.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "d5a396ab1fe92536af8f5a07c6518539",
                "sha256": "b950c631db9d22b64fccc6f807ddab30f98102fa30f7292cd26887ce31b2417d"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "d5a396ab1fe92536af8f5a07c6518539",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 83860,
            "upload_time": "2022-08-18T13:04:25",
            "upload_time_iso_8601": "2022-08-18T13:04:25.640501Z",
            "url": "https://files.pythonhosted.org/packages/a4/6c/1d35a0480c6725d6bc38905780d69367a1c46c7d6d49a4b090987aad87f1/libscrc-1.8.1-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "1c5a4032cc7fe050983f897e09014849",
                "sha256": "5b8bf47c00c8cab00b3762914dca7f6b60e5e61ad5744773c649c5ce5e84dde8"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1c5a4032cc7fe050983f897e09014849",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 90978,
            "upload_time": "2022-08-18T13:04:20",
            "upload_time_iso_8601": "2022-08-18T13:04:20.384062Z",
            "url": "https://files.pythonhosted.org/packages/bc/cf/2d4d8f8ac4fbfeedb68fafb008152cdc99576aba763b0b0b32ea7ef31371/libscrc-1.8.1-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8696df038ab659195ec3c85f49812200",
                "sha256": "c4c1e23e81ceed1e0bc810b5f010fbab285b4f1cd20aeb919412b82b1fd80bb5"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8696df038ab659195ec3c85f49812200",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 74738,
            "upload_time": "2022-08-18T13:40:40",
            "upload_time_iso_8601": "2022-08-18T13:40:40.229635Z",
            "url": "https://files.pythonhosted.org/packages/06/64/9fff7477e07b49bead5d0f3742e911e2506e5445b1b1748935ea00f79715/libscrc-1.8.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8a2e242cc517c803fd0b69060d0ce7e2",
                "sha256": "a4bfa3c7a5538f7e097a9790bdf32467d329f71ace329837b46cc82aba219eae"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8a2e242cc517c803fd0b69060d0ce7e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 188508,
            "upload_time": "2022-08-18T15:10:16",
            "upload_time_iso_8601": "2022-08-18T15:10:16.057916Z",
            "url": "https://files.pythonhosted.org/packages/c7/c8/d42663b0a215752798b1c0839c011b9449a7d1101be7fd087c3881b03cab/libscrc-1.8.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8a9a75be0585e98777c6f19b9ae3ff5c",
                "sha256": "22d2c3243038023b176431b480d893bd14e9c0c7a6cb6f5e4378c2c42fecc5ac"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "8a9a75be0585e98777c6f19b9ae3ff5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 178063,
            "upload_time": "2022-08-19T12:51:49",
            "upload_time_iso_8601": "2022-08-19T12:51:49.008878Z",
            "url": "https://files.pythonhosted.org/packages/f1/e6/5074cc3b42a8187fe884aa92cf851a223e80626f7080b8d8363aa9e23a5a/libscrc-1.8.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "196ded512d972bf0ebcdd316ecb5efa8",
                "sha256": "93ce046b300ed1f0e29f83e76e093efe8c2c2c9e5fdfc4134c54632afa3a2f66"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "196ded512d972bf0ebcdd316ecb5efa8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 174395,
            "upload_time": "2022-08-18T14:19:33",
            "upload_time_iso_8601": "2022-08-18T14:19:33.202947Z",
            "url": "https://files.pythonhosted.org/packages/f6/ee/d6f1ae6ff73f3e0299de52ba27a3a5b9b2e92ca5ffabca9c2a2ca3f2af05/libscrc-1.8.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "ca1898046f81bd9c6919fb2f73f6085d",
                "sha256": "27c6dc117b0549c3911142719150b9191f64fd524e9a058c346c359812d16917"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "ca1898046f81bd9c6919fb2f73f6085d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 84046,
            "upload_time": "2022-08-18T13:04:35",
            "upload_time_iso_8601": "2022-08-18T13:04:35.900577Z",
            "url": "https://files.pythonhosted.org/packages/36/f0/64b58234918b4c051a584fce8d1a8303f6b72cc72ce8136b4e41cd36a1ea/libscrc-1.8.1-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "ed27278b38a3dd436a32b6f7f26b58c2",
                "sha256": "f5f241b7e36fba4c1fc8dbd8341e9624644ea99f00c0e6c7c8308af1f339e413"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ed27278b38a3dd436a32b6f7f26b58c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 91120,
            "upload_time": "2022-08-18T13:04:31",
            "upload_time_iso_8601": "2022-08-18T13:04:31.460300Z",
            "url": "https://files.pythonhosted.org/packages/f1/ab/1a87adc9546277b75aac8d54b2fe49e3e7faf644c6f0f434912c930d7025/libscrc-1.8.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "a5c5c0b7e245c589e549d2403dea19dd",
                "sha256": "3874e46903b46a67d2b0696783f3c0501129bf3a45d322d96902bf388147bf40"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a5c5c0b7e245c589e549d2403dea19dd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 74741,
            "upload_time": "2022-08-18T13:40:37",
            "upload_time_iso_8601": "2022-08-18T13:40:37.977342Z",
            "url": "https://files.pythonhosted.org/packages/b9/cb/5da315c4c2579c98291e08475fd6a6431db5de896391bf7933ac219da663/libscrc-1.8.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "19e997872007232ff80f75b05ff2b51a",
                "sha256": "5302a02931dca84cd6563e8d8d467c30a87347fbb62915b7e33b19f5af0ac098"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "19e997872007232ff80f75b05ff2b51a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 184724,
            "upload_time": "2022-08-18T13:58:34",
            "upload_time_iso_8601": "2022-08-18T13:58:34.986843Z",
            "url": "https://files.pythonhosted.org/packages/47/fb/001f4f88882dc37eb42cff24cfc4b581b3409d10a08aa52acccce64db063/libscrc-1.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "5019448447549a9ad45a7e2f2422a845",
                "sha256": "e5c15b44cbabc4f60b2fa8e195d4773af6a8834b2f1bcbff9389029d3244825e"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "5019448447549a9ad45a7e2f2422a845",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 174173,
            "upload_time": "2022-08-19T12:51:51",
            "upload_time_iso_8601": "2022-08-19T12:51:51.709292Z",
            "url": "https://files.pythonhosted.org/packages/87/e4/105ab0299a67b10b35dce08bd15dcf854a3a3daa81ab5a1b46177f9f05f3/libscrc-1.8.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "0ce440ef3b2c296e9a2df183d456f378",
                "sha256": "35475c133222db142a5e8dad66713a40ae83219cbf6f3e9002881d7ccf6ae9c5"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0ce440ef3b2c296e9a2df183d456f378",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 173035,
            "upload_time": "2022-08-18T14:19:28",
            "upload_time_iso_8601": "2022-08-18T14:19:28.360046Z",
            "url": "https://files.pythonhosted.org/packages/48/95/35ed662ff9ba1c3d9b6cd13aeb9ab9e60b22eb3ad060dbd00fcced1c2188/libscrc-1.8.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "fa2dedce82892721853d5ccfdb7990c6",
                "sha256": "782ad1b4bbb9953a1eaa0cbe44c920d5df33c0f2de2e7a2f0e79a9fdbbc32099"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa2dedce82892721853d5ccfdb7990c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 80978,
            "upload_time": "2022-09-17T13:23:39",
            "upload_time_iso_8601": "2022-09-17T13:23:39.055942Z",
            "url": "https://files.pythonhosted.org/packages/98/fb/140e3a2325fa2ee86f7c59f5381d07fcc21bd14a1e323bcf7ae8a24b5e73/libscrc-1.8.1-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "a85a1b7adadfa7d603fbe2dd0b6bdc2a",
                "sha256": "0a6a2f9fdcd19152cf8da440e7e9bf75cf53ff66beb07344a80237a69b5ba57a"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "a85a1b7adadfa7d603fbe2dd0b6bdc2a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 83398,
            "upload_time": "2022-08-19T10:54:34",
            "upload_time_iso_8601": "2022-08-19T10:54:34.059282Z",
            "url": "https://files.pythonhosted.org/packages/67/52/482a19d6cd0b8e53a3b697aeef23f1a39cdea13a52cb989220f1be66d3fc/libscrc-1.8.1-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "379d85099114a8c924d2f8b54d5a8d35",
                "sha256": "841cd4d3625ff3934ab8020b15170d9374efb1866c5aaf8438ccf6a60c0e1812"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "379d85099114a8c924d2f8b54d5a8d35",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 92654,
            "upload_time": "2022-08-19T10:54:29",
            "upload_time_iso_8601": "2022-08-19T10:54:29.764346Z",
            "url": "https://files.pythonhosted.org/packages/48/4b/624f6b43a20d123acd16a9ace76434bd69adb6de86a03a1bc4f8e3cdd05c/libscrc-1.8.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "650f68cff6b13a4f3cdf36e7db8ebe1a",
                "sha256": "d7ba6bf23cfdeb3b729d0ad3795f6c6f97d8ea4155252e3ca9f14758702ba7c8"
            },
            "downloads": -1,
            "filename": "libscrc-1.8.1.tar.gz",
            "has_sig": false,
            "md5_digest": "650f68cff6b13a4f3cdf36e7db8ebe1a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 41654,
            "upload_time": "2022-08-18T15:23:57",
            "upload_time_iso_8601": "2022-08-18T15:23:57.752893Z",
            "url": "https://files.pythonhosted.org/packages/c4/13/29a83d079607968de022555099a9de94d7428336afa6b8ec516e27c26a7a/libscrc-1.8.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-08-18 15:23:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "hex-in",
    "github_project": "libscrc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "libscrc"
}
        
Elapsed time: 0.01646s