EDIT: Can someone explain why this is "Off Topic"?  I think it very clearly follows the guidelines laid out in the FAQ.  Is there something I'm missing?
I've been creating a windows desktop application in PyQt (python 2.7, PyQt 4.9.5), and I'm getting close to releasing the software for sale.  It's time for me to add some sort of system for licensing/serial number based software activation.  The software is a business to business product with a retail price of around $250.
I've been looking at going with Fastspring and they offer integration with:

AquaticPrime
CocoaFOB
GameShield and Software Passport
Yummy Interactive's SoftwareShield
Soraco's Quick License Manager
Softwrap
Concept Software's SoftwareKey System

What are some good options for providing this functionality?  Some things I've run into is that none of them seem to provide a python API, so I'd have to figure out how to integrate their stuff with my python code.  I've never had to do that, so ease of integration with Python would be a strong factor, as would cost.  I don't feel a strong need to prevent anyone from pirating my software, I just want to keep businesses honest so that they buy the correct number of seats.  A final thing to consider is that in the future I might want to make it cross platform and ideally I wouldn't be locking myself to just windows.
Thanks for your help.
One thing to note is that it is relatively easy to decompile and reverse engineer Python bytecode and remove any protection you put into it, so it's usually not worth it to spend too much effort and time on implementing a crack-proof protection. You just want to put enough to keep people honest.
If your concern is that businesses buy the correct number of seats, one basic protection mechanism is to use a public key mechanism to put a digital signature to a message using a private key on your licensing server. The message is just a random string and some uniquely identifying information that restricts the machine that the license key is valid for (e.g. MAC address, etc), and perhaps a timestamp if you want to expire the key. This message and the signature is then encoded in a string that your customers put into your program, which validate the license key by verifying that signature matches the message and the message matches the machine.
There are simpler schemes if all you care is that the user has a key (not that they have a different key for different machines); you can simply use a totally random string for the message.
This scheme is secure as long as the user does not reverse engineer your code. It can be bypassed by reverse engineering the public key in your program with their own public key. It can also be bypassed by tampering the information used to identify the computer, e.g. MAC address; tampering these informations may allow multiple installations using the same key.
What serial number licensing solution should I use for a Python application with Fastspring?