To Do Items Index — Message For You Sir! v0.1.1 documentation

### Navigation

- index
- modules |
- previous |
- Message For You Sir! v0.1.1 documentation »

# To Do Items Index

## General To Do Items

- Convert Backplane component back into a coroutine using @implementer, @provider, and a factory function.
- Change @coroutine so that only Python coroutines that use it are considered ICoroutine and not all Python coroutines.
- Add required keyword arguments for exceptions and tests to check for them.
- Remove extra keyword argument support from messages and components.
- Remove M4USTestCase and find another way to group common trait patterns.
- See if IContainer.links would be better as a frozenset.
- Add a filter coroutine.
- Change .link()/.add() methods to .register() and .unlink()/.remove() methods to .unregister() as it is more accurate and consistent.
- Change IContainer to IGrouping and containers to groupings. They don't actually contain anyting. They just group coroutines together.
- Create explicit Link and Message objects, interfaces, and adaptation to tuples.
- Create a general "provides or adapts to" interface function in utils and use is.
- See about spliting scheduling and message delivery out into seperate classes.
- Remove the api modules and just import the APIs in the pacakge __init__.py files.
- M4USException should also have a __unicode__ mehtod and __str__ should encode the exception message into bytes.
- Add convenience components that dispatch to a single method for each message, a different method per message type and a different method per inbox.
- Move the IScheduler.run(cycles) parameter to ISheduler.cycle(cycles=1). This is more consistent to each method having a single purpose.
- Lock down exact versions of dependencies that are known to work. Perhaps allow variability in the micro versions.
- Test the project under Python 2.7.
- Make the project work under Python 3.1.
- Expand documentation.
- Add doctests as working examples to all docstrings.
- Remove superfluous "See Also", and make object references short (i.e. use ~)
- See about running cheesecake and making it happy.
- Set up project infrastructure, issue tracking, feadback, etc. (Trac or whatever).
- Setup Hudson somewhere for continuous integration.
- Release the code.
- Refactor all code as per the book Beautiful Code.
- Add logging support to all existing objects.
- Add a logging/provenance coroutine that goes in front of other coroutines and sends logging messages out on a different mailbox.
- Add a multi-process coroutine adapter like ThreadedCoroutine.
- Add file processing coroutines.
- Add an external interface to manually send messages into a running system as if one were just calling a function/method.
- Figure out how to make coverage work with the threaded test code.
- Add an adapter so that Kamaelia components can be used directly.
- Add a AMQP coroutine adapter.
- Add a 0MQ coroutine adapter.
- Add an eventlet-bases scheduler.
- Add a Twisted-baded scheduler.
- See about VisTrails integration.
- Add network stream processing coroutines
- Add support for network services including HTTP, etc.
- Add support for running WSGI apps.
- Add more Kamaelia-inspired constructs.
- Split out the Paver tasks into a seperate generic package.
- Split out the test infrastructure into a seperate generic package.
- Maybe split out the completely generic utility code into it's own seperate
- package. (memoize, Pep8itfying code, etc.)
- Submit dependency fixes, workarounds and enhancements to upstream projects to help improve them. (Paver virtualenv, Unittest2 assert_not_raises, & pep8ify, etc.)

## Code and Documentation To Do Items

Todo

Document term Backplane

(The original entry is located in glossary.rst, line 63.)

Todo

Document term Component

(The original entry is located in glossary.rst, line 81.)

Todo

Document term Concurrent

(The original entry is located in glossary.rst, line 87.)

Todo

Document term Consumer

(The original entry is located in glossary.rst, line 90.)

Todo

Document term Container

(The original entry is located in glossary.rst, line 96.)

Todo

Document term Factory

(The original entry is located in glossary.rst, line 129.)

Todo

Document term Filter

(The original entry is located in glossary.rst, line 132.)

Todo

Document term idempotent

(The original entry is located in glossary.rst, line 169.)

Todo

Document term Inbox

(The original entry is located in glossary.rst, line 172.)

Todo

Document term Interface

(The original entry is located in glossary.rst, line 178.)

Todo

Document term Lazy

(The original entry is located in glossary.rst, line 184.)

Todo

Document term Link

(The original entry is located in glossary.rst, line 196.)

Todo

Document term Mailbox

(The original entry is located in glossary.rst, line 202.)

Todo

Document term Message

(The original entry is located in glossary.rst, line 208.)

Todo

Document term Outbox

(The original entry is located in glossary.rst, line 214.)

Todo

Document term Pipeline

(The original entry is located in glossary.rst, line 221.)

Todo

Document term Post Office

(The original entry is located in glossary.rst, line 227.)

Todo

Document term Publisher

(The original entry is located in glossary.rst, line 246.)

Todo

Document term Scheduler

(The original entry is located in glossary.rst, line 252.)

Todo

Document term Sink

(The original entry is located in glossary.rst, line 258.)

Todo

Document term Source

(The original entry is located in glossary.rst, line 261.)

Todo

Document term Subscriber

(The original entry is located in glossary.rst, line 264.)

### Navigation

- index
- modules |
- previous |
- Message For You Sir! v0.1.1 documentation »