<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to feature-requests</title><link href="https://sourceforge.net/p/crcmod/feature-requests/" rel="alternate"/><link href="https://sourceforge.net/p/crcmod/feature-requests/feed.atom" rel="self"/><id>https://sourceforge.net/p/crcmod/feature-requests/</id><updated>2019-01-24T19:18:45.850000Z</updated><subtitle>Recent changes to feature-requests</subtitle><entry><title>UsingExtension flag to be externally accessible in Python 3</title><link href="https://sourceforge.net/p/crcmod/feature-requests/7/" rel="alternate"/><published>2019-01-24T19:18:45.850000Z</published><updated>2019-01-24T19:18:45.850000Z</updated><author><name>Joe Walker</name><uri>https://sourceforge.net/u/walkerjoe/</uri></author><id>https://sourceforge.neta349a6add4e4a641e30d14f3a820fac462c8a8fd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Add application access to the "usingExtension" flag so that applications using the crcmod package can determine if the c extension is being used or not. (Specifically for Python 3)&lt;/p&gt;
&lt;p&gt;EX:&lt;br/&gt;
Adding the following line to /python3/crcmod/&lt;strong&gt;init&lt;/strong&gt;.py&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;crcmod.crcmod&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;_usingExtension&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Allow "pure Python" installation</title><link href="https://sourceforge.net/p/crcmod/feature-requests/6/" rel="alternate"/><published>2010-05-19T02:07:43Z</published><updated>2010-05-19T02:07:43Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.net4738f7a20d6f77cab1b1c4f1058997e5a8f271ad</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;While my primary dev environment is Linux, the actual users of my scripts will be on Windows machines. Currently the installation via easy_install is, realistically, a little complicated (and due to the nature of the 3rd party tools, liable to change, so writing step by step instructions will not necessarily help for very long).&lt;/p&gt;
&lt;p&gt;The crcmod module *does* seem to have the capability of doing the maths without any native code, but installing via easy_install demands that the user compile the superfluous extension code nonetheless. (I mean, superfluous to my limited requirements; I understand the need for it under general circumstances.)&lt;/p&gt;
&lt;p&gt;Would it be possible to install this package in a way that doesn't require compiling the native extension?&lt;/p&gt;
&lt;p&gt;(I would have added this on the "Windows installation package" request, but it's closed.)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Documentation</title><link href="https://sourceforge.net/p/crcmod/feature-requests/5/" rel="alternate"/><published>2009-12-14T07:25:59Z</published><updated>2009-12-14T07:25:59Z</updated><author><name>Craig McQueen</name><uri>https://sourceforge.net/u/cmcqueen1975/</uri></author><id>https://sourceforge.net7866bee9bd11751d121d04075e28c8fdba7f01f3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Some online documentation would be great.&lt;/p&gt;
&lt;p&gt;* What versions of Python are supported&lt;br /&gt;
* API description&lt;br /&gt;
* Example usage&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Windows installation package</title><link href="https://sourceforge.net/p/crcmod/feature-requests/4/" rel="alternate"/><published>2009-12-14T07:23:20Z</published><updated>2009-12-14T07:23:20Z</updated><author><name>Craig McQueen</name><uri>https://sourceforge.net/u/cmcqueen1975/</uri></author><id>https://sourceforge.net338c7a098d05b0730bb0fe71c13ae5911ec34616</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;It can be a little tricky to install this on Windows, with the compiled extension. It would be nice for users to have a pre-built Windows installation package.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Support other code-generation options</title><link href="https://sourceforge.net/p/crcmod/feature-requests/3/" rel="alternate"/><published>2009-12-10T06:44:59Z</published><updated>2009-12-10T06:44:59Z</updated><author><name>Craig McQueen</name><uri>https://sourceforge.net/u/cmcqueen1975/</uri></author><id>https://sourceforge.nete0ecc337a1828119dfec706215478d568c4f29df</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;For small embedded systems, sometimes an 8-bit look-up table may be too large. It could be good to be able to generate C code for smaller versions of the CRC algorithm. Namely:&lt;/p&gt;
&lt;p&gt;* 4-bit look-up (feed each byte in as two 4-bit nibbles, with a look-up into a 16-entry table)&lt;br /&gt;
* bit-by-bit calculation&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Use class factory or metaclass</title><link href="https://sourceforge.net/p/crcmod/feature-requests/2/" rel="alternate"/><published>2009-12-10T06:41:56Z</published><updated>2009-12-10T06:41:56Z</updated><author><name>Craig McQueen</name><uri>https://sourceforge.net/u/cmcqueen1975/</uri></author><id>https://sourceforge.netb114161b2c0a414555b41290e279d9924b849c2e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Currently, the CRC lookup table is generated afresh each time a new instance is created with the normal class initialiser. You can get around this by creating  new instances by "duplicating" another instance with either the copy() or new() methods.&lt;/p&gt;
&lt;p&gt;A more natural solution would be to use metaclasses. A metaclass could create a CRC class for a particular type of CRC. The look-up table could be a class variable for each class so created. The lookup table could be generated when the first instance of the class is created. Then, the module could use the metaclass to pre-generate a bunch of well-known common CRC classes, such as CRC-32, CRC-16, CRC-CCITT, CRC-XMODEM, CRC-8, etc. See &lt;a href="http://homepages.tesco.net/~rainstorm/crc-catalogue.htm" rel="nofollow"&gt;http://homepages.tesco.net/~rainstorm/crc-catalogue.htm&lt;/a&gt; for parameters for such CRCs. Then, users could generate class instances of the CRC class they want, using the more usual Pythonic syntax, and with efficient management of look-up tables behind the scenes.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Add option for final XOR</title><link href="https://sourceforge.net/p/crcmod/feature-requests/1/" rel="alternate"/><published>2009-12-10T06:26:36Z</published><updated>2009-12-10T06:26:36Z</updated><author><name>Craig McQueen</name><uri>https://sourceforge.net/u/cmcqueen1975/</uri></author><id>https://sourceforge.netaf32b423ca89bd09ddb3ca5e724f2ee918e559e5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Many CRCs have a "final XOR" which is applied to the reported CRC value. E.g. the standard CRC-32 has a final XOR of FFFFFFFF. This CRC module does not implement that, but it would be a useful addition.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>