
पुस्तक "Violent Python" का स्रोत कोड, TJ O'Connor द्वारा। कोड को पूरी तरह से Python 3 में बदल दिया गया है, PEP8 मानकों के अनुपालन के लिए पुनः स्वरूपित किया गया और पुराने पुस्तकालयों के कार्यान्वयन से संबंधित निर्भरता समस्याओं को समाप्त करने के लिए पुनर्रचित किया गया।
टीजे ओ'कॉनर द्वारा लिखित पुस्तक "वायलेंट पायथन" का सोर्स कोड। कोड को पूरी तरह से Python 3 में बदल दिया गया है, PEP8 मानकों के अनुरूप सुधारा गया है तथा डिप्रीकेटेड लाइब्रेरीज़ के कार्यान्वयन से जुड़ी निर्भरता संबंधी समस्याओं को दूर करने के लिए रीफैक्टर किया गया है।
इसी तरह का एक रूपांतरण मेरे द्वारा जस्टिन सीट्ज़ की पुस्तक "ब्लैक हैट पायथन" के सोर्स कोड पर भी उपलब्ध कराया गया है। यदि आपने अभी तक नहीं देखा है तो इसे यहाँ देखें।
बस प्रोजेक्ट के लिए एक नई निर्देशिका (DIR) बनाएँ, उसके लिए एक नया वर्चुअल एनवायरनमेंट या venv बनाएँ (अनुशंसित), git clone का उपयोग करके इस रिपॉजिटरी को क्लोन करें और pip install का उपयोग करके आवश्यकताएँ स्थापित करें।
user@host:~/DIR$ git clone https://github.com/EONRaider/violent-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt
optparse लाइब्रेरी को पूरे सोर्स कोड में argparse से बदल दिया गया है। सभी आर्गुमेंट पार्सिंग अब प्रत्येक फ़ाइल के __main__ निष्पादन स्कोप के अंतर्गत समाहित है। स्क्रिप्ट के निष्पादन के लिए अनिवार्य सभी CLI आर्गुमेंट, जिन्हें मूल कोड में वैकल्पिक माना जाता था, अब पोज़ीशनल के रूप में कार्यान्वित किए गए हैं। argparse का उपयोग करने वाली सभी स्क्रिप्ट्स के लिए CLI को -h आर्गुमेंट प्रदान करके एक usage प्रॉम्प्ट उपलब्ध है। सीमा और नियंत्रक ऑब्जेक्ट दोनों की जिम्मेदारियों को CLI पार्सर पर छोड़ना निश्चित रूप से सॉफ्टवेयर आर्किटेक्चर के संदर्भ में सबसे अच्छा विकल्प नहीं है, लेकिन मूल कोडर के इरादे के अनुरूप होने की आवश्यकता के कारण इसे यथावत रखा गया है।PEP 8: E722 डू नॉट यूज़ बेयर एक्सेप्ट उल्लंघनों की सभी घटनाओं को अधिक विशिष्ट अपवाद खंडों के साथ रीफैक्टर किया गया है।close() विधि को कॉल करने के। इस कारण से फ़ाइल और डेटाबेस हेरफेर के सभी उदाहरणों को संदर्भ प्रबंधकों का उपयोग करके रीफैक्टर किया गया है।# -*- coding: utf-8 -*-) को Python 3 (Python 2 से ASCII को बदलना) के लिए डिफ़ॉल्ट एन्कोडिंग के रूप में UTF-8 के मानकीकरण के कारण समाप्त कर दिया गया है।