Opened 16 years ago
Closed 14 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 16 years ago by
Owner: | set to Brian Warner |
---|---|
Status: | new → assigned |
comment:2 Changed 16 years ago by
Milestone: | 0.3.3 → 0.4.0 |
---|
comment:4 Changed 15 years ago by
Milestone: | 0.4.3 → 0.5.0 |
---|
[72bbe49fb768dcdc0c521b2bf4191093f36aa4bf] added the deprecation warnings. The next release (0.5.0) will include them.
comment:5 Changed 15 years ago by
Milestone: | 0.5.0 → 0.6.0 |
---|
moving this ticket to 0.6.0: the next implementation phase will be to empty out foolscap/__init__.py
comment:6 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
[89ee821572a223f43a88bb1abdc4f155c60f7f7d]/[89ee821572a223f43a88bb1abdc4f155c60f7f7d] finishes this, by emptying out __init__.py
(and removing deprecated.py
. I for one welcome our new foolscap.api
overlords.
[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..