top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What was the project that made you feel skilled in Python?

0 votes
335 views

I'm trying to come up with more project ideas for intermediate learners, somewhat along the lines of
http://bit.ly/intermediate-python-projects .

So here's a question for people who remember coming up from beginner: as you moved from exercises like those in Learn Python the Hard Way, up to your own self-guided work on small projects, what project were you working on that made you feel independent and skilled? What program first felt like your own work rather than an exercise the teacher had assigned?

I don't want anything too large, but big enough that there's room for design, and multiple approaches, etc.

posted May 19, 2013 by anonymous

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

3 Answers

0 votes

Easy answer from me: The Yosemite project. And the code still looks like a n00b wrote it. (On that subject: Pull requests welcome.)

The code is here: https://github.com/Rosuav/Yosemite

I wrote it in Python because I wanted to be able to run it on either the Windows box that drives our TV system, or the Linux box that actually stores the content. And it's still doing that, quite nicely.

Yosemite is a pretty simple system. It's broadly similar to a classic file-serving web server, but instead of making files available fo download, it invokes them locally. There are plenty of other ways to
achieve this, and I'm by no means sure I picked the best, but that's where it's at, and it was my first real Python project that's been published.

answer May 19, 2013 by anonymous
0 votes

IIRC, my first production python projects were a bunch of file parsers. We had a bunch of text file formats that we worked with often. I wrote some state-machine based parsers which slurped them up and gave back the contents in some useful data structure.

Many of the files were big, so I added an option to write out a pickled version of the data. The parsing code could then check to see if there was a pickle file that was newer than the text version and read that
instead. Big win for speed.

Then, of course, a bunch of utilities which used this data to do useful things. I remember one of the utilities that turned out to be really popular was a smart data file differ. You feed it two files and it would tell you how they differed (in a way that was more useful than a plain text-based diff).

answer May 19, 2013 by anonymous
0 votes

I wrote a library supporting fixed length field tabular data files. It supports reading specifications for such data files using configparser for maximum verbosity, plus a few other shorthand specification formats for brevity. Due to the nature of my work I need this library in virtually all my other projects, so I consider it a personal success and found it interesting to build.

Similar packages on PYPI made many different design decisions from the ones I did, so it seems like fruitful design discussion points could arise.

For example, two major design goals in the beginning where:
1. Ape the interface of the csv module as much as possible.
2. Support type declarations.

The former was a big success. I've had instances were switching from csv to a fixed file required changing one line, and of course if a person were learning the library their knowledge of reader, writer, DictReader and DictWriter would help.

The latter design goal was a failure. Most published fixed-length data file specifications include data types, so it seemed natural. But after trying to write programs using an early version I ended up removing all traces of that functionality.

One advantage of this idea as a project for an intermediate programmer is that the implementation is not complicated; most of the fun is in the design.

answer May 20, 2013 by anonymous
Similar Questions
+2 votes

Slitely off the track and my first query here - Was LTE developed through 3GPP to avoid paying Qualcomm even more licensing fees?

+2 votes

I have a need to use a project management software package under Centos 6.6 and have started looking at ProjectLibre which is a Java package.

Unfortunately it seems to have shortcomings when it comes to following up projects and my current understanding is that it falls short of Microsoft Project 2010, i.e., a previous version.

Does anyone have experience with this type of software and what would you recommend?

0 votes

What are some strong skillsets that startups look for in a new college graduate?

+1 vote

I have kept all the create table SQL querys in a text file. Using readLines i am trying to execute the sql commands as per the code mentioned.

file=open("TABLES.txt","r")
for sql in file.readlines():
self.cursor.execute(sql)

But I am getting Error 1065 ' Query was empty'. More Importantly the tables are being created in the database. The text file is like this.

CREATE TABLE TUserDetails (FirstName VarChar(50) NOT NULL, LastName VarChar(50) NOT NULL, Email_Id VarChar(50) NOT NULL,Type VarChar(50) NOT NULL,Department VarChar(50) NOT NULL,NoOfIncorrectAttempt Integer NOT NULL,Deleted Bit NOT NULL,UserID VarChar(50) NOT NULL,CONSTRAINT TUserDetails_PK PRIMARY KEY CLUSTERED ( UserID ))

CREATE TABLE TRequests(RequestID VarChar(50) NOT NULL,UserID VarChar(50) NOT NULL,Status SmallInt NOT NULL,TimeOfRequest Timestamp NOT NULL,Deleted Bit NOT NULL,Priority Integer NOT NULL,CONSTRAINT TRequests_PK PRIMARY KEY CLUSTERED ( RequestID ))

CREATE TABLE TUserDetailUSERs(UserID VarChar(50) NOT NULL, Type VarChar(50) NOT NULL,Deleted Bit NOT NULL,TimeOfCreation Timestamp NOT NULL,TimeLastUpdated Timestamp NOT NULL,Active Bit NOT NULL,PWDID VarChar(50) NOT NULL,RoleID VarChar(50) NOT NULL,OrganisationID Integer NOT NULL,CONSTRAINT TUserDetailUSERs_PK PRIMARY KEY CLUSTERED ( UserID ))

CREATE TABLE TOrganisations(OrganisationID Integer NOT NULL,OrganisationName VarChar(50) NOT NULL,TimeOfCreation Timestamp NOT NULL,TimeLastUpdated Timestamp NOT NULL, Deleted Bit NOT NULL, CONSTRAINT TOrganisations_PK PRIMARY KEY CLUSTERED ( OrganisationID ))

CREATE TABLE TPWDs(PWDID VarChar(50) NOT NULL,Code VarChar(50) NOT NULL,DateOfCreation Timestamp NOT NULL,DateLastUpdated Timestamp NOT NULL,TimeOfDeletion Timestamp NOT NULL, CONSTRAINT TPWDs_PK PRIMARY KEY CLUSTERED ( PWDID ))

CREATE TABLE TRoles(RoleID VarChar(50) NOT NULL,RoleName VarChar(50) NOT NULL,Description VarChar(50) NOT NULL,TimeOfCreation Timestamp NOT NULL, RoleLastUpdated VarChar(50) NOT NULL, Deleted Bit NOT NULL, CONSTRAINT TRoles_PK PRIMARY KEY CLUSTERED ( RoleID ))

I checked running each sql query individually, and it is qorking file. Now although the tables are being created in the database but i am getting error 1065 as mentioned above

+1 vote

I'm trying to work through Skienna's algorithms handbook, and note that the author often uses graphical representations of the diagrams to help understand (and even debug) the algorithms. I'd like to reproduce this in python.

How would you go about this? pyQt, pygame and pyglet immediately come to mind, but if I go that route the number of people that I can share my work with becomes quite limited, as compared to the portability of javascript projects.

I guess my question really is: has anyone had success creating an interactive graphical project in the browser using python?

...