From saager.mhatre at gmail.com Mon Sep 16 12:48:19 2013 From: saager.mhatre at gmail.com (Saager Mhatre) Date: Mon, 16 Sep 2013 16:18:19 +0530 Subject: [Chennaipy] [BangPypers] Do you pin your requirements.txt ? In-Reply-To: References: <5231B070.7030909@bibhas.in> <87txhn3gb5.fsf@sanitarium.localdomain> <878uyz1fyc.fsf@sanitarium.localdomain> <5235B2AE.4000906@gmail.com> Message-ID: On Sep 16, 2013 8:46 AM, "Dhananjay Nene" wrote: > let me state that while I pin requirements.txt To be just a little pedantic here- you pin version of dependencies, not the entire requirements.txt. Just saying... 'cause, even though I may have myself used the phrase in previous responses on this thread, I personally prefer to specify dependencies in setup.py and avoid creating a separate requirements.txt file. Either approach could very well be put down as a stylistic difference, but the specific compatibility of these approaches with different build tools (distutils, setuptools/easy_install, distribute/pip) makes it significant, IMHO. Noufal, maybe this could be something to consider exploring in your course. That said, I can't believe what a wonderful conversation this has turned into. For the benefit of members outside the overlap, I'm cross posting to the other python lists with a link to the entire conversation => http://bit.ly/16c6Kv8 - d -------------- next part -------------- An HTML attachment was scrubbed... URL: From vijaykumar at zilogic.com Mon Sep 16 18:44:44 2013 From: vijaykumar at zilogic.com (Vijay Kumar) Date: Mon, 16 Sep 2013 22:14:44 +0530 Subject: [Chennaipy] Test Post Message-ID: <5237357C.7040005@zilogic.com> This is a Test Post. From vijaykumar at zilogic.com Mon Sep 16 18:54:50 2013 From: vijaykumar at zilogic.com (Vijay Kumar) Date: Mon, 16 Sep 2013 22:24:50 +0530 Subject: [Chennaipy] Test Post 2 Message-ID: <523737DA.2040002@zilogic.com> Test Post 2 From klurz at meridiantechnologies.net Tue Sep 17 17:03:05 2013 From: klurz at meridiantechnologies.net (Kelly Lurz) Date: Tue, 17 Sep 2013 15:03:05 +0000 Subject: [Chennaipy] Python Developer Message-ID: <96f2ea9610e24d13b5c9f3d3b37eceaf@BL2PR08MB147.namprd08.prod.outlook.com> Chennaipy - I am currently searching for W-2 candidates for several Python Developer positions in Mountain View, CA for a high-profile client. The positions are contract-to-perm at a starting rate of $80 an hour. Below is some additional information. Thank you for sending to your members if you find suitable. **Requirements** * 5+ years of experience programming in Python * 3+ years professional MySQL experience * Experience in Unix and Linux **What Python is used for**: You will be responsible for the design, implementation, testing, and release of a centralized data store for metrics related to the software development life cycle, with a focus on testing. This data will then be used to automate and aid in the analysis of failures, provide reports and trending we can utilize to identify areas of improvement, and automate manual processes and release decisions. You will interact with other members of the tools team to demonstrate designs, integrate with our existing tool chain, and iterate based on team feedback. The tool will be used throughout the engineering organization. **Contact Info:** * **Contact**: Kelly Lurz - Technical Recruiter * **E-mail contact**: klurz at meridiantechnologies.net * **Other Contact Info**: 904-332-7000 ext 110 * **Web**: * **No telecommuting** [Description: Description: Meridian_RGB_signature] Kelly Lurz Recruiter 5210 Belfort Road, Suite 400 Jacksonville, Florida 32256 O 904 332 7000 ext. 110 C 904 994 0959 F 904 332 0660 klurz at meridiantechnologies.net www.meridiantechnologies.net www.meridianstaffing.net http://www.linkedin.com/pub/kelly-lurz/a/95b/576 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 2098 bytes Desc: image001.jpg URL: From prawyn.mohan at gmail.com Thu Sep 19 09:35:11 2013 From: prawyn.mohan at gmail.com (John Prawynkumar) Date: Thu, 19 Sep 2013 13:05:11 +0530 Subject: [Chennaipy] Looking for Senior Python Developer @ iThoughtz Message-ID: I Mm John Prawyn , Senior Python Developer @ iThoughtz. There is a Opening for 3 to 4 year experienced python developer in my company. Believe me , i had a great learning opportunity here and i assure , the same chance will be given to you too. Follow this link to know more details. Job Perks and Salary as per market. https://jobs.hasgeek.com/view/kv4g1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From vijaykumar at bravegnu.org Thu Sep 26 06:18:34 2013 From: vijaykumar at bravegnu.org (vijaykumar at bravegnu.org) Date: Wed, 25 Sep 2013 23:18:34 -0500 Subject: [Chennaipy] Reminder: September Monthly Meet Message-ID: = September Monthly Meet == Date & Time 28 September 3:00pm to 5:00pm == Venue Zilogic Systems, Fourth Main Road, Kamaraj Nagar, Thiruvanmiyur, Chennai Location map: http://www.zilogic.com/contact.html == Agenda Talk 1: Setting up your Python Environment by Prasanna Venkadesh Duration: 45min Getting started with a language like Python is bullet-fast, but picking up the Standard practices on the way requires time and effort. This talk will explain about setting the environment before getting started with a Python / Django project using VirtualEnv, VirtualEnvwrapper, Pip / easy_install, Fabrics. Following such practices would make the development easier. Talk 2: Python Byte Code Hacking by Vijay Kumar Duration: 45min The Python interpreter converts Python programs into byte codes and executes them. In this talk we will understand what these byte codes mean, how to disassemble them and how to modify them to do some really cool stuff. We will work our way up with small examples and at the end of the talk we will have our own working implementation of this recipe -- http://code.activestate.com/recipes/576944-the-goto-decorator/ If you would like to give a lightning talk, just come prepared, we will be able to accommodate you. If you are new to Python, the tutorial at http://learnxinyminutes.com/docs/python/ will give you a quick overview of what Python is all about. Regards, Vijay From vijaykumar at bravegnu.org Fri Sep 27 19:43:41 2013 From: vijaykumar at bravegnu.org (Vijay Kumar) Date: Fri, 27 Sep 2013 23:13:41 +0530 Subject: [Chennaipy] Python Bytecode Hacking Message-ID: <5245C3CD.8040407@bravegnu.org> Hi Everyone, The presentation notes for the "Python Bytecode Hacking" talk tomorrow is available at https://github.com/bravegnu/python-byte-code as a IPython Notebook. The rendered version can be viewed from http://nbviewer.ipython.org/urls/raw.github.com/bravegnu/python-byte-code/master/Python%2520Byte%2520Code%2520Hacking.ipynb Regards, Vijay From vijaykumar at bravegnu.org Fri Sep 27 19:28:57 2013 From: vijaykumar at bravegnu.org (Vijay Kumar) Date: Fri, 27 Sep 2013 22:58:57 +0530 Subject: [Chennaipy] Meeting Venue Message-ID: <5245C059.3070008@bravegnu.org> Hi Everyone, please note that, as indicated in the announcement, the meeting is being held at Zilogic Systems. Regards, Vijay From prasmailme at gmail.com Sun Sep 29 18:36:29 2013 From: prasmailme at gmail.com (Prasanna Venkadesh) Date: Sun, 29 Sep 2013 22:06:29 +0530 Subject: [Chennaipy] PyCharm 3 has got Free Community Edition Message-ID: Hi Pythonista's, Though I prefer VIM as my development environment for everything in Python & Django dev. I had always looked for Python IDE out there just to give them a try. I have come across (browsed for, not used them really) various such IDE's out of which PyCharm from Jetbrains being one. The Professional edition comes with cost and I do not know what license it has got. Now I came across the new announcement from Jetbrains regarding a Free community edition of PyCharm 3. It is lightweight and supports only python development and not web development like django or the other py frameworks. Their page says it is Free as in Free beer and Free as in Freedom too (Apache licensed). You can check them and download from here https://www.jetbrains.com/pycharm/download/ -- Cheers, Prasanna Venkadesh. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bigbeliever at gmail.com Mon Sep 30 08:21:02 2013 From: bigbeliever at gmail.com (Abhishek) Date: Mon, 30 Sep 2013 11:51:02 +0530 Subject: [Chennaipy] September meet minutes Message-ID: # September meet minutes The September meetup for Chennai.py was held at Zilogic Systems office at 3-5pm on Sat 28 Sep2013. Nearly 20 people attended it. The meet started with Vijay giving an introduction on the Python language before going into his talk on ByteCode Hacking. It included a comparison of Python with C, with reference to Python's dynamic type system. The examples of signed and unsigned integers and buffer sizes in C were used for comparison. ## Bytecode hacking by Vijay Kumar The talk started off with an example implementation of a new programming language. There were two approaches to writing the code, first was string based and the second byte-code based. [I don't have the examples here, please add]. The first was more human readable while the second was faster. Python langauge does both - programs are written as human readable strings, and they are converted to a byte code on first execution. All subsequent executions use the byte code only (saved as a .pyc file) to avoid the parsing overhead. This also happens on the Python prompt. After this there were details on how the Python interpreter reads objects from the heap, updates them and then stores them back. This process of object manipulations happens using the byte-code instructions. The code objects are also stored in the heap only. The interpreter uses a stack machine while operating on these objects. The objects are stored by reference and not by value. There was some more discussion on what stack and register machines were. The JVM also uses a stack machine, while examples of register machine were Android, Lua and the Dalvik VM (for performance reasons I think). Next there was a demonstration on how the bytecode looks and works for a sample method - def hello(): print "Hello world" There's a handy '__code__' property on the method object ('hello' here) which gives the code object. The code object contains a lot of meta-data about the piece of code. It contains the bytecode as the 'co_code' property. So the following gets the byte code - hello.__code__.co_code That would show the bytecode as a hex text, and to see it in more readable form, we can use the 'disassemble' method from 'dis' library. dis.disassemble(hello.__code__) 0 LOAD_CONST 1 ('Hello World') 3 PRINT_ITEM 4 PRINT_NEWLINE 5 LOAD_CONST 0 (None) 8 RETURN_VALUE Here he explained how the each part of the byte-code is working. After this there was another example using a 'sum_ab', and then another one for a loop. (More details in the ipynb document: https://github.com/bravegnu/python-byte-code). The loop example demonstrated how the byte-code performs the jump operation using the JUMP_ABSOLUTE and POP_JUMP_IF_FALSE byte-code instructions. The talk ended at an interesting implementation of 'goto' (which doesn't exist in Python) using byte-code manipulations. This would be covered at a talk in the next meetup. In between there was also a discussion on why to learn bytecode manipulation, on which the speaker mentioned that it was not necessary and one can be a good Python programmer without knowing it, but it is good fun and helps us understand how the language works internally. He also mentioned the activestate recipes site where many such interesting code snippets can be found. (which I think is this: http://code.activestate.com/recipes/langs/python) ## Python environment setup by Prasanna Venkatesh This started with Venkatesh talking about Pep008 and Autopep8, which are tools for helping encorce styling on Python programs. There is a standard style guide maintained by the Python community (I forgot the name of the guide) which details on how Python code should look. It describes things like the spaces between operands, number of spaces/tabs for indentation etc. The pep008 command tells us where all the guidelines are violalted in our code, and autopep corrects them. There was a philisophical discussion about why one should follow such a style guide and not have one's own style. On which the speaker mentioned it is better to follow standard styles if the code has to be open sourced. Then he proceeded to talk about pip. Pip is the installer tool for Python libraries. Most Python libraries are published at python.org, and pip fetches and installs them to our computer. It is a replacement for 'easy_install' which was used earlier for the job. pip comes with a few subcommands like 'pip install', 'pip search', 'pip uninstall' and 'pip freeze'. pip freeze is notable here, as it can be used to freeze the versions of libraries used for a project and write them to a 'requirement.txt' file. When needed, all the mentioned libraries and versions on the file can be installed accurately using - pip install -r requirements.txt After this the topic covered was 'vitualenv'. The purpose of virtualenv is to isolate the python enviroment at the project level, such that multiple projects on a computer can have a separate python version and separate set of libraries that don't interfere with each other. virtualenv creates the environments on separate directories that can get scattered all over, so there's a 'virtualenvwrapper' that keeps it cleaner. [Please help me expand this part as I didn't take down the examples.] There was also a discussion on whether pip will overwrite an existing library if a new version has come, and the conlusion was that its better to specify the version number in pip when such a scenario is likely. There was also a discussion on the comparison between the python byte-code and JVM byte-code. Here the main difference stated was that Python byte-code is 'closer' to the code, and Java's byte-code is 'closer' to the machine. And Python's byte-code is dependent on the Python version too. That's all. Please add/correct if I missed something here. Thanks, Abhishek -------------- next part -------------- An HTML attachment was scrubbed... URL: From abdulmuneer at gmail.com Mon Sep 30 10:43:50 2013 From: abdulmuneer at gmail.com (Abdul Muneer) Date: Mon, 30 Sep 2013 14:13:50 +0530 Subject: [Chennaipy] September meet minutes In-Reply-To: References: Message-ID: Wish I was able to attend it. Would like to see Vijay Kumar's talk in a PyCon :) Regards, Abdul Muneer -- Follow me on Twitter: @abdulmuneer On Mon, Sep 30, 2013 at 11:51 AM, Abhishek wrote: > # September meet minutes > > The September meetup for Chennai.py was held at Zilogic Systems office at > 3-5pm on Sat 28 Sep2013. > Nearly 20 people attended it. The meet started with Vijay giving an > introduction on the Python language before going into his talk on ByteCode > Hacking. It included a comparison of Python with C, with reference to > Python's dynamic type system. The examples of signed and unsigned integers > and buffer sizes in C were used for comparison. > > ## Bytecode hacking by Vijay Kumar > > The talk started off with an example implementation of a new programming > language. There were two approaches to writing the code, first was string > based and the second byte-code based. [I don't have the examples here, > please add]. The first was more human readable while the second was faster. > Python langauge does both - programs are written as human readable strings, > and they are converted to a byte code on first execution. All subsequent > executions use the byte code only (saved as a .pyc file) to avoid the > parsing overhead. This also happens on the Python prompt. > > After this there were details on how the Python interpreter reads objects > from the heap, updates them and then stores them back. This process of > object manipulations happens using the byte-code instructions. The code > objects are also stored in the heap only. The interpreter uses a stack > machine while operating on these objects. The objects are stored by > reference and not by value. There was some more discussion on what stack > and register machines were. The JVM also uses a stack machine, while > examples of register machine were Android, Lua and the Dalvik VM (for > performance reasons I think). > > Next there was a demonstration on how the bytecode looks and works for a > sample method - > > def hello(): > print "Hello world" > > There's a handy '__code__' property on the method object ('hello' here) > which gives the code object. The code object contains a lot of meta-data > about the piece of code. It contains the bytecode as the 'co_code' > property. So the following gets the byte code - > > hello.__code__.co_code > > That would show the bytecode as a hex text, and to see it in more readable > form, we can use the 'disassemble' method from 'dis' library. > > dis.disassemble(hello.__code__) > 0 LOAD_CONST 1 ('Hello World') > 3 PRINT_ITEM > 4 PRINT_NEWLINE > 5 LOAD_CONST 0 (None) > 8 RETURN_VALUE > > Here he explained how the each part of the byte-code is working. After > this there was another example using a 'sum_ab', and then another one for a > loop. (More details in the ipynb document: > https://github.com/bravegnu/python-byte-code). The loop example > demonstrated how the byte-code performs the jump operation using the > JUMP_ABSOLUTE and POP_JUMP_IF_FALSE byte-code instructions. The talk ended > at an interesting implementation of 'goto' (which doesn't exist in Python) > using byte-code manipulations. This would be covered at a talk in the next > meetup. > > In between there was also a discussion on why to learn bytecode > manipulation, on which the speaker mentioned that it was not necessary and > one can be a good Python programmer without knowing it, but it is good fun > and helps us understand how the language works internally. He also > mentioned the activestate recipes site where many such interesting code > snippets can be found. (which I think is this: > http://code.activestate.com/recipes/langs/python) > > > ## Python environment setup by Prasanna Venkatesh > > This started with Venkatesh talking about Pep008 and Autopep8, which are > tools for helping encorce styling on Python programs. There is a standard > style guide maintained by the Python community (I forgot the name of the > guide) which details on how Python code should look. It describes things > like the spaces between operands, number of spaces/tabs for indentation > etc. The pep008 command tells us where all the guidelines are violalted in > our code, and autopep corrects them. There was a philisophical discussion > about why one should follow such a style guide and not have one's own > style. On which the speaker mentioned it is better to follow standard > styles if the code has to be open sourced. > > Then he proceeded to talk about pip. Pip is the installer tool for Python > libraries. Most Python libraries are published at python.org, and pip > fetches and installs them to our computer. It is a replacement for > 'easy_install' which was used earlier for the job. pip comes with a few > subcommands like 'pip install', 'pip search', 'pip uninstall' and 'pip > freeze'. pip freeze is notable here, as it can be used to freeze the > versions of libraries used for a project and write them to a > 'requirement.txt' file. When needed, all the mentioned libraries and > versions on the file can be installed accurately using - > > pip install -r requirements.txt > > After this the topic covered was 'vitualenv'. The purpose of virtualenv is > to isolate the python enviroment at the project level, such that multiple > projects on a computer can have a separate python version and separate set > of libraries that don't interfere with each other. virtualenv creates the > environments on separate directories that can get scattered all over, so > there's a 'virtualenvwrapper' that keeps it cleaner. [Please help me expand > this part as I didn't take down the examples.] > > There was also a discussion on whether pip will overwrite an existing > library if a new version has come, and the conlusion was that its better to > specify the version number in pip when such a scenario is likely. There was > also a discussion on the comparison between the python byte-code and JVM > byte-code. Here the main difference stated was that Python byte-code is > 'closer' to the code, and Java's byte-code is 'closer' to the machine. And > Python's byte-code is dependent on the Python version too. > > That's all. Please add/correct if I missed something here. > Thanks, > Abhishek > > > > > > > > > > > > > > > _______________________________________________ > Chennaipy mailing list > Chennaipy at python.org > https://mail.python.org/mailman/listinfo/chennaipy > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From contactgocome at gmail.com Mon Sep 30 16:13:17 2013 From: contactgocome at gmail.com (Selvakumar Devaraj) Date: Mon, 30 Sep 2013 19:43:17 +0530 Subject: [Chennaipy] new to python Message-ID: hi i am in coimbatore and new to programming language even software side. i want to learn my first language python... give me some tips... can i study self or thru institute...guide me... regards D selva -------------- next part -------------- An HTML attachment was scrubbed... URL: