Project GoalsCut down lines of code for Python work. Ease use of S.O.L.I.D. principles when working with Python. Give Python and dynamic languages an IoC container that is based on more recent implementations. IntroductionIf you know what an IoC container isPinsor aims for convention over configuration and what configuration is needed is done only in code. It also is able to be used with minimal modification to existing source code. Extensibility will be achieved through "facilities" that tie together the core container and additional functionality. Finally, limited AoP support will help remove the need to spread decorators over methods and match by rule, or specific reference to a classes method.
If you do not know what an IoC(Inversion Of Control) container isI'm pretty convinced Inversion Of Control is a term used to scare off developers new to the concept. It's also related to a term you'll hear bandied about a lot called Dependency Injection Principle or DIP (sometimes just called DI), this also is designed to scare people.
End of the day Pinsor is designed to have you use less lines of code usually by resolving your dependencies for you (see samples). This also has the nice side effect of making your code easier to change and easier to configure.
You may use the container as much or as little as you want in your project, what matters is you use it in a way to save yourself some typing and maintenance pain, if it's not doing that for you, no one will think less of you if you remove it from your code.
If You still want to know what does Inversion Of Control/Dependency Injection mean?You're a glutton for punishment but I was there once myself. I know now this is actually a deceptively simple concept that's been made out to be a lot more than it is.
Martin Fowler has the most thorough explanation I've found and I can't hope to compete, but here is where I originally learned about the concept.
If you're interested I have summary as I see it.
Other Links Of InterestProject Road Map Code Samples Gettting Started
Use Patent Claims
These details are provided for information only. No information here is legal advice and should not be used as such.
At one point, Open Hub analyzed source code for this project based on code location(s) available at that time. Since then, the code locations have been removed.