Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Are there any resources out there on how to architect large, industrial strength Python projects? I'd like to start on an ambitious personal project, but I'm not really sure how to architect it and what practices to put into place to make the project successful.

Are there any resources out there discussing how to make large Python projects work?

share|improve this question

migrated from stackoverflow.com Nov 24 '11 at 11:12

This question came from our site for professional and enthusiast programmers.

2  
I think this is a valid question, but as it stands it's a bit too general. Can you be a bit more specific about the nature of the application? (ex, there isn't much Python-specific advice I could think of that would apply to both large web applications and large GUI applications). –  David Wolever Nov 24 '11 at 7:00
1  
@DavidWolever: seems to me it's more appropriate to Programmers than to Stack Overflow (which is why I voted to migrate it). It's not a specific programming question but a question covering programming process. Sure, it's made more appropriate to SO by specifying Python, but I believe it's still more appropriate on Programmers. –  Chris Morgan Nov 24 '11 at 7:03
    
Ah, a fair point. I understood it to mean “what Python-specific things should I know”, which I believe would be appropriate on StackOverflow, but you're right — a general discussion about “ architecting large stuff” would be better on Programmers. –  David Wolever Nov 24 '11 at 7:06
add comment

2 Answers

I don't think there's anything specific to large Python projects that wouldn't apply to large projects in other programming languages as well.

In any large project, you ought to aim for loose coupling and high cohesion. A large project is manageable if it is made up of orthogonal, as-self-contained-as-possible subprojects. Tests are useful for the process of creating the subcomponents one by one, as well as keeping them working while modifying them later on as you better find out what they should be, as the whole starts to take shape.

share|improve this answer
add comment

Python is definitely good for large projects. This, IMO, is one of the reasons Python is so popular. Actually, there are several large projects that use Python such as Chandler - A note to self system. There is also this link I found on SO.

As far as how YOU can do it, get somebody'(s) help, and start off with a small project on your own computer. Migrate that to SourceForge and get more developers. If you stick with this project you can make a big Python project. You really don't need a resource for this. Just start coding. And if you need any help, feel free to email me:-).

Hope this helps!

share|improve this answer
    
I'm not so sure Chandler is a good example. It's a dead project, isn't it? It looks like the project hasn't been active since 2009. –  Bryan Oakley Nov 24 '11 at 13:50
    
@BryanOakley : Yes. But when it was active, it was a good example. I used it show that you CAN use Python for a big project. –  Dynamic Nov 24 '11 at 15:22
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.