Expanded API

Registered by aj00200

Should the BBot API be expanded in order to include some new features? For example, a threads which runs code at set time periods could be created and be imported by modules. The only problem might be that it could make module creation a little more complex.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
aj00200
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
aj00200
Completed by
aj00200

Related branches

Sprints

Whiteboard

Features which could be made via this enhanced API format are
 * Loggers
 * Timers
 * Storage (database-like)
 * Interface API (libnotify or similar?)

The only problem I have is that it will make the API harder to learn properly and that there is no easy way to structure the API to avoid having to rewrite all the modules that I know of. Maybe some __init__.py trickery will work if we are lucky.

--AJ00200

-----------------------

I am curious. Should we focus on making module creation easier for a user? Orr should we focus on making functions for logging, timers, storage, etc. part of the API, and not part of other modules/libraries which would need to be imported manually?

--EvilPhoenix

-----------------------

I was thinking that we could move api.py to an api folder. You could then import api.api or api.timer or api.logger and so on. Generally, I used the libs folder to store libraries used by specific modules, but it wouldn't be a bad idea to put them there either.
But there is still the question, should we even focus on writing these features?

--AJ00200

-----------------------

That is indeed the question. I believe that we need additional opinions on this... do you know anyone other than ourselves who has contributed to BBot's creation in a significant way? We should get their input.

--EvilPhoenix

-----------------------

Bikcmp did a lot of work during the 6.0.0 backend rewrite. I will ask his opinion on this soon.

--AJ00200

-----------------------

I managed to make it so that it will be backwards compatible and it will not make module creation any more complex. I am approving it now.

--AJ00200

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.