Neither documentation nor step-by-step tutorial is up-to-date by now. Please use built-in function 'help(Aspyct)' for a few docs. Doc should be available after a few weeks (urgent work to do), sorry for the inconvenience...

Aspyct: Give a new aspect to your Python !

Download latest Aspyct version Visit Aspyct forums

What is Aspyct ?

Aspyct is a library that allows you to use aspect oriented programming with Python (version 2.5 or more required).
It's easy to use and works transparently. This means that you can add aspects to existing softwares without modifying source files.

These aspects may help doing a lot and miscellaneous things.
This includes (but is, of course, not limited to):

  1. debugging
  2. user-interface enabling
  3. security hole patching
  4. various behavior modifications
  5. generic programming

It is easy to enable Aspyct in your project or on your machine. Simply add the library file (Aspyct.py) to project, or run installer for your computer. More information about enabling Aspyct

What is Aspect Oriented Programming ?

AOP is the 'next gen' programming way. The evolution it brings to software building is similar to object oriented programming, it is just the next step.
AOP helps you programming faster and easier
The best way to tell you what it is is giving you some links. Wikipedia has a good summary of it.

Why should I use Aspyct ?

There are several Python AOP modules. You may wonder why use Aspyct and not another one.
Here are the main reasons for it:
  1. Aspyct is easy, really easy to use. it doesn't require large chunks of additional code to be enabled;
  2. Aspyct is powerful: it supports aspect classes, function advices, pointcut gathering and a lot more
  3. Aspyct runs transparently. This means that original software won't see any difference if you apply Aspyct to it;
  4. Aspyct team considers every user's wish as a potential good idea. So, if you need something, there are chances you get it.

(Very) Easy to use

Aspyct is really easy to use.

#1 Define your function:

def sayHello():
    print('Hello World !')

#2 Define your advice:

def advice():
    print('Get ready to say hello !')

#3 Apply advice to the function

Aspyct.beforeCall(sayHello, advice)

#4 Call your function

sayHello()

You're done !

Output will be
Get ready to say hello !
Hello World !
Of course, this is a basic operation. Have a look at our documentation for further reading.

Getting started

Have a look at our quick start tutorial

License

Aspyct is available under the terms of GNU/LGPL license.
See http://www.gnu.org/licenses/