 Moving on to the last presentation of this group, the Python. Mentored by Mr. Hardik Gagara and project in charge is Mr. Kiran Kishore. The goal of the project was to enhance the current Python textbook companion interface so that a user can not only refer to the codes of a particular TBC, but also execute them on the go. A user should also be able to comment or report any issue in the code for a particular example from any submitted TBC. All the implementation had to be done keeping in mind the Python TBC submissions are in the form of IPython notebooks. The team is here, so let's start. Good afternoon everyone, respected sir. Myself Devarsheesh Dev from NIT, Arunachal Pradesh along with my project partner Prins oneself from JP Institute of Information Technology, NOIDA. We belong to the FOSI group and the project that we were assigned to was the Python textbook companion. Talking about the textbook companion activity, I think many of the guys out here don't know what it is. The basically speaking the textbook companion activity basically aims to port out all the solved examples from the standard textbooks using free and open source software. What we do in case of the Python textbook companion is that we port out all the solved examples from the standard textbooks and using Python and make them available to everyone in our Python TBC website. So as such others can refer to it. The main objectives of our project was to review the existing Python textbook companion. This consisted of checking out if whether all the existing things met all the specified guidelines. And the second objective of ours was to develop an interface that will allow the users to execute the Python code for a solved example online. Currently what we were doing was just hosting the Python notebooks. The user and user was not able to execute the code online. You could only view the source code of those solved examples. With this objective we had to develop an interface such that the user would be able to execute the code online on the website itself and replace or edit the variables as such required. And the third objective of us was to create a discussion forum such so that related queries or bugs can be reported as such for each solved examples. Talking about the existing projects. Currently what was going on behind the Python textbook companion that is as such I had already told that it is a repository to which contains all the solved examples already coded in Python. Currently what was going on was that the existing website in the existing website whenever a user query for some books the particular I Python notebook was fast and it was converted into HTML and it was directly presented to the user. This finally presented you to the user had no interactive options likewise there was no link to any discussion forum. Moreover there were no reporting to a bug issues anything or likewise there was no option to execute the Python code also. He could only cut paste or copy paste those codes from the static page and run it on his own machine. And user were also not able to comment or report a bug related to any issues as such because there was no discussion forum related to it. Talking about the existing project was something like this the Python TBC website. Here the for a simple book we have all these chapters out there in the listed in the left hand side and their downloading corresponding download links in their right hand side. While opening a book we could get a page like this which is purely HTML without any interactive buttons anything we could only just copy paste the things. And then I like my teammate to continue with the rest of the things. So the major steps of the project are the view of the IPython books, IPython notebook UI changes, IPython notebook server deployment, setting of the server and setting up route environment in sign toss sign. Let me discuss one by one. First the view of IPython books. We started implementing our project by first starting with the view of IPython books. The review must contain the following things. First to check whether the existing IPython follow the setting guidelines or not. The guidelines are as follows. Now all the headings are in the format h1 and all the subheadings are in the format h2 or h3. We check all the formulas while using the inbuilt function. For example the angle must be competent for degrees while using sign and cosine functions. Every chapter should be an individual IPython format. And all the plots must be named with their appropriate essence. Now we have removed all the problem statement from all the chapters. This was done so as to prevent the copyright infringement. So now the new IPython notebook only contained the chapter name, example number, page number along with the solved examples. We have removed all the solved examples by using the script in Python which were especially written by us for removing these problems. Now after a review we modified the existing user interface of IPython notebook. We add the appropriate link next to each forum for reporting or discussion if any. We add the link by using HTML, CSS, JavaScript and jQuery. We use the NB IProfil server of IPython. All the changes that are introduced in the IPython notebook server with the rest of the configuration of the IPython notebook server. We made the following changes in the folder containing the custom.js and custom.css files and injected all the code to get the desired output. Now I saw this is the new IPython interface. We add the links with images. Finally, the queries are a problem. There is simple writing how to change the values and write the command. Then the value corresponding to that command is stored in a database along with chapter number, page number and example number. Then this pop-up window patch all the commands from the database. We have made all these changes in the IPython notebook using the face. Now I call the devices. I will be talking about the IPython notebook deployment because what we are doing actually is that the actual TBC Python website will be the same. In that static HTML page, we will be adding an option which will lead us to that new server which will be hosting our actual IPython server where the online editing of that code will take place. So, for that we created and we chose a virtual server for us. Then we used SantOS 6.5 as the OS and then as such because we were trying to make an attempt to implement an online Python server. There could be any malicious activities that could take place in that online Python interpreter. So, as such we had to take proper security measures so as to limit those things. As such in the SantOS 6.5 we used the chroot environment so as to limit the access to all the root files. Basically what the chroot does is it changes the apparent root directory. What you are saying is that there is a button from icon there which I press it executes that script. In your presentation you said I can edit it and you have said that I have changed root so that I have malicious things are stopped. So, for editing if I can edit it I need an execute button. That execute button is right there up in that there is a play button up there you can see that there is a toolbar on the top side. You can edit that live on that code block. You edit that and press that click on that play button and that the modified changes will be displayed below that.