Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.036 X-Spam-Evidence: '*H*': 0.93; '*S*': 0.00; 'used.': 0.07; 'python': 0.07; 'pm,': 0.11; 'wrote:': 0.14; 'subject:python': 0.15; 'disassembled': 0.16; 'subject:distribution': 0.16; '16,': 0.16; 'this?': 0.18; 'meant': 0.18; 'modules': 0.20; 'header:In-Reply- To:1': 0.22; 'mon,': 0.22; 'subject:code': 0.23; 'message- id:@mail.gmail.com': 0.28; 'daniel': 0.29; 'all:': 0.31; 'harm': 0.31; 'however,': 0.31; 'to:addr:python-list': 0.32; 'another': 0.32; 'there': 0.35; 'files,': 0.35; 'getting': 0.36; 'raw': 0.37; 'received:209.85': 0.37; 'received:google.com': 0.38; 'but': 0.38; 'used': 0.38; 'much.': 0.39; 'to:addr:python.org': 0.39; 'received:209': 0.39; 'would': 0.40; 'header:Received:5': 0.40; 'design,': 0.60; 'best': 0.60; '2011': 0.62; 'readability': 0.84; 'received:209.85.210.174': 0.84; 'received:mail- iy0-f174.google.com': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=bahbiaPUu0qzTEZsIxkpEzWwEOsEu2nkCEub236B/H4=; b=frBiOKMiopjAwaS8gBUz1tbUv/cNCKz2YI5sDrf+yWY4W5q/X+/75RnVrtQ97wxVyg FhMN6MlGvT4DkL7zqH64Rscw120zzzZCnXZwdf4/AMlXyykvZl4zMBUFVTWxlPJZfeFj 2Xbk0/JGawLfy+SS/3YCHP6NrFVmcPeEiKTMg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=NzMGIw5bcu1RIsjJc2EOexJCgUQ17S3nuy4xTQJrEpXvsWZOYtrNmvpbWKwyRNZVHn EPejzwAA1AOZZGVDw99aEsE0g8LfDllcp3RKK/eDqIRT1atFUgH4dvfht0GI6fSt3C0O +US/dvEyj8xP53K1rZonsLFAhfR+M8XwzrW8Y= MIME-Version: 1.0 In-Reply-To: <4DD08620.4030507@tysdomain.com> References: <4DD08620.4030507@tysdomain.com> Date: Mon, 16 May 2011 13:21:00 +1100 Subject: Re: obviscating python code for distribution From: Daniel Kluev To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 16 NNTP-Posting-Host: 82.94.164.166 X-Trace: 1305512464 news.xs4all.nl 41114 [::ffff:82.94.164.166]:54703 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:5462 On Mon, May 16, 2011 at 1:04 PM, Littlefield, Tyler wrote: > Hello all: > Finally, is there a good way to accomplish this? I know that I can make .pyc > files, but those can be disassembled very very easily with the disassembler > and shipping these still means that the person needs the modules that are > used. Is there another way to go about this? No, there is no way to prevent users from getting access to raw python sources. By its nature and design, python is not meant to be used this way, and even obfuscation would not harm readability much. However, you can write all parts you want to hide in C/C++/Cython and distribute them as .so/.dll -- With best regards, Daniel Kluev