Hello fellow python programmers. I had an idea the other night when watching a video on the creation of the Tasque application. Developers at novel are given a week called "Hack week" were they have no management and are allowed to code anything they like. Well two of the developers joined together to create Tasque. A pretty cool lightweight application.

So I though that instead of trying to start some large project maybe one or two other python programmers here at DaniWeb would like to participate on a small group project.

The project should be relatively simple, light weight, and the development should not be taken to seriously. It is more of a spare time thing. This could be a nice chance to work with others on a small open source project.

With only 2 - 3 programmers working on this it makes communication, version control, project management, and naming conventions almost trivial.

If any one is interested please reply in this thread and state your experience level with a link to some sample work if you can, and any other information you think is relevant.

I will send participants other contact information via private message.

Some ideas I had for projects (Note none of these are revolutionary I just want a chance to work with other people on small projects.):

IRC bot (I have a friend that hosts a irc server that we have permission to use)
Task list (kind of like tasque)
Calculator with advanced functions
Touch typing tutor
Simple game
A library database (OPAC any one lol?)

Other ideas are more then welcome by participants.

I would consider my self an intermediate python programmer. Check out my coder profile for code examples and decide for yourself.

Recommended Answers

All 31 Replies

I have an idea of a small and useful project: it's a robot which executes other programs (first target is python programs) using a time rule, for example it can execute a program periodically. Tasks can be registered and removed. It would have a gui interface with a task list, only tasks are not for you but for the robot. Among the problems to consider, the fact that running a program involves handling input, output, errors and return status.
Something like a buildbot, but much smaller, and oriented to any task, and not specifically to building a software project. The project should be multi platform because I'm working in linux, and I don't want to learn windows specific libs.
For me it's a secondary project, and I like the idea of a spare time project. Currently, I automate tasks with a rough script...
Could such an idea suit your project ?

A pretty good idea....

Yes that sounds like a feasible project. A bit like cron jobs but with a GUI. I also run linux so that shouldn't be a problem.

Is it a paid project , if yes you may check our profiles at http://liveperson.in/ .

No it is not a paying project. As I stated it is just a small open source project consisting of 2 - 3 developers. This may be the first of many it may be the only one. Who knows.

Hey I think I'm pretty good with Python, would love to be shown otherwise.

Sign me up (weekends only)!

Cool it looks like we have our first team made up. Gribouillis, scru, and myself. So I will ask you both, would you prefer keeping the project right here in this thread or using e-mail, or some other form of communication. I vote for this thread.

I think the idea of an Open Source project on this thread is a great one! It would give some of us an opportunity to see how these things work, and maybe even learn a thing or two along the way. May I suggest also a periodic posting of the code you have written so some of us newbies (or at least less proficient) can follow along and perhaps even ask why/how you did something in your code?

Just my $.02

If you guys know how to use vcs, we can use Google Code. No need to spam the thread with so much code.

Ok the e-mail thing is fine but is may be easier to post decisions on the thread. That way we can see all reply's. Also as some one mentioned it will give others insight on how development teams work.

I agree on the MIT license. As far as project hosting what ever one you would rather use is fine with me. They are both reliable hosts.

Here are a few suggestions for names:
TimeSeries (Gribouillis)
TimedTasks
CronIt

Scru what OS are you developing on?

Ok the e-mail thing is fine but is may be easier to post decisions on the thread. That way we can see all reply's. Also as some one mentioned it will give others insight on how development teams work.

I agree on the MIT license. As far as project hosting what ever one you would rather use is fine with me. They are both reliable hosts.

Here are a few suggestions for names:
TimeSeries (Gribouillis)
TimedTasks
CronIt

Scru what OS are you developing on?

I'm using Windows. Speaking of, what platforms are we targeting? Anything that Python would run on?

I'm using Windows. Speaking of, what platforms are we targeting? Anything that Python would run on?

I don't think we have to support every existing platform. Don't forget that we are going to launch processes, and there may be differences in the way different platforms handle processes. Since we use Linux and Windows, we should try to support both platforms. It would be a starting point.

By the way, I usually run python 2.6. We should try to write code which runs at least in 2.6 and 3.x (and may be 2.5 ?). Also note that if we want to use wxpython for the widgets, I'm not sure it can already be used with 3.x.

So I assume that Google Code is the victor? We are going for the cross platform approach since me and Gribouillis are running Linux. So the goal is to have it run on all our platforms.

Names names names, TimeSeries, CronStalk, or CronIt. I think I like CronStalk the best.

Next up, what version of python? I would strongly urge 2.5, because it is what runs on my Debian box. How ever I could make adjustments.

Okay. So should we target 2.6 with compatibility hacks for 2.5 or just go for 2.5?

CronStalk, Google Code, Mercurial, Mit, >=2.5 are ok for me. Should I create the repo, ?

I would prefer just 2.5. That way we are all on the same page.

By the way finding the platform in python is pretty easy. Just a quick note:

import sys
sys.platform

Gribouillis, that what I have written down. I think it is safe to create the repo now. Then we can plan some more. Clarify the problem, requirements, other decisions to be made, etc.

I suppose you can create the repo.

Ok, the repo is created, you can download the repo with the following command which creates a cronstalk directory. It's in lower case because google code forced me to do so. The repository is completely empty. Here is the project home.

hg clone https://cronstalk.googlecode.com/hg/ cronstalk

As soon as possible I'll try to figure out how you can commit changes to the repo.

Ok, the repo is created, you can download the repo with the following command which creates a cronstalk directory. It's in lower case because google code forced me to do so. The repository is completely empty. Here is the project home.

hg clone https://cronstalk.googlecode.com/hg/ cronstalk

As soon as possible I'll try to figure out how you can commit changes to the repo.

Add us under people.

Cool, I will be back on a bit later.

I added both of you as project's owners.

Cool, I also second that good planning is a must. So a requirements statement is key.

Since we're using python, we could allow users to plug in routines to be called like regular tasks (we could support Python and C language routines). We could also support task chaining; i.e, call another task only when another is successful, possibly passing the out from one as input (and we could also offer ways to transform that output into suitable input).

Any of that made any sense?

Hey if you guys would like another developer, I could be of some help. I would consider myself to be intermediate at python (with a little knowledge of c++), and have a pretty strong background in pygame (if that helps at all :D) I'm the kind of programmer that loves to try a little bit of everything, from making games to controlling applications with hardware input. Also i'm running on XP. I look forward to hearing from you all!

To fallopiano, im not sure we are looking for more developers at this time. How ever if my peers think otherwise you may have a chance.

So what GUI tool kit should we use? My first thought is WxPython. We could use wxGlade to save us some work.

To me, wxpython looks like a good idea, but I never used wxglade. Can you make one or two candidate widgets wich could be used for the project ? I'm making a tmp directory in the project where we can push temporary code.
Also I don't think our requirements are complete. We should elaborate on time rules and input/output rules.

To me, wxpython looks like a good idea, but I never used wxglade. Can you make one or two candidate widgets wich could be used for the project ? I'm making a tmp directory in the project where we can push temporary code.
Also I don't think our requirements are complete. We should elaborate on time rules and input/output rules.

I was working on the requirements as we speak. Now I haven't googled this yet, but can you give me a quick guide on how to upload 'push', and edit code in the repo. I downloaded the repo via
hg clone https://cronstalk.googlecode.com/hg/ cronstalk, but im a little stuck from here.

I was working on the requirements as we speak. Now I haven't googled this yet, but can you give me a quick guide on how to upload 'push', and edit code in the repo. I downloaded the repo via
hg clone https://cronstalk.googlecode.com/hg/ cronstalk, but im a little stuck from here.

Well, you can edit files in your copy of the repository. When you create a new file, you must run

hg add myfile.py

so that the new file is managed by mercurial. If you type

hg status

you see which files were added or removed or modified
When you're satisfied you

hg commit -m "my commit message"

Then you can push with

hg push

Google code will ask you a user ID and a password which is not your user password but an automatically generated password available in your user settings.
I don't know exactly what happens if there is a conflict between your version of the repo and the project's version, but I think we'll learn that very soon.

Thank you very much. I have it working now.

Thank you very much. I have it working now.

Don't forget to use hg help or hg help pull etc.

Of course, my biggest problem was I want in the right directory lol.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.