Opened 15 years ago

Closed 13 years ago

#122 closed defect (fixed)

"from foolscap import api"

Reported by: Brian Warner Owned by: Brian Warner
Priority: major Milestone: 0.6.0
Component: usability Version: 0.3.0
Keywords: Cc:

Description

The collection of API calls that are currently exported in foolscap/__init__.py are difficult to handle: it is easy to wind up with circular imports. I'd like to provide foolscap/api.py instead, and have applications pull everything from there. This is a big change, since to really fix things we need to empty foolscap/__init__.py. So I'd like to add api.py in one major release and then remove the symbols from __init__.py in the next.

The immediate goal is to add api.py to the next (0.3.3) release, with all the symbols that are currently in __init__.py, as well as the useful symbols that are not (fireEventually, some of the constraint definitions, some more exception types).

Change History (6)

comment:1 Changed 15 years ago by Brian Warner

Owner: set to Brian Warner
Status: newassigned

[0b0b9fb18d1f49766eb0153d410db55eeaa6de49] starts this process. The next step is to release 0.3.3 and make sure that Tahoe can do everything it wants through just foolscap.api . Then we'll add wrappers around the functions/classes defined in __init__.py to emit deprecation warnings if they're ever used, and release 0.4.0 . Then we can empty out __init__.py__.

Of course, if I get impatient, I might do this sooner..

comment:2 Changed 15 years ago by Brian Warner

Milestone: 0.3.30.4.0

comment:3 Changed 15 years ago by Brian Warner

0.4.0 introduced foolscap.api, but has no deprecation warnings

comment:4 Changed 15 years ago by Brian Warner

Milestone: 0.4.30.5.0

[72bbe49fb768dcdc0c521b2bf4191093f36aa4bf] added the deprecation warnings. The next release (0.5.0) will include them.

comment:5 Changed 15 years ago by Brian Warner

Milestone: 0.5.00.6.0

moving this ticket to 0.6.0: the next implementation phase will be to empty out foolscap/__init__.py

comment:6 Changed 13 years ago by Brian Warner

Resolution: fixed
Status: assignedclosed

[89ee821572a223f43a88bb1abdc4f155c60f7f7d]/[89ee821572a223f43a88bb1abdc4f155c60f7f7d] finishes this, by emptying out __init__.py (and removing deprecated.py. I for one welcome our new foolscap.api overlords.

Note: See TracTickets for help on using tickets.