##// END OF EJS Templates
upate whats new for 3.12
Matthias Bussonnier -
Show More
@@ -4,10 +4,64 b''
4 4
5 5 .. _version 8.12.0:
6 6
7 IPython 8.12
8 ------------
7 9
8 Dynamic documentation dispatch
9 ------------------------------
10 Hopefully slightly early release for IPython 8.12. Last Thursday of the month,
11 even if I guess it's likely already Friday somewhere in the pacific ocean.
12
13 A number of PRs and bug fixes this month with close to 20 PRs merged !
14
15
16 The IPython repo reached :ghpull:``14000`` !! Actually the PR that create those exact release
17 note is :ghpull:`14000`. Ok, more issues and PR is not always better, and I'd
18 love to have more time to close issues and Pull Requests.
19
20 Let's note that in less than 2 month JupyterCon is back, in Paris please visit
21 `jupytercon.com <https://jupytercon.com>`__, and looking forward to see you
22 there.
23
24
25
26 Packagers should take note that ``typing_extension`` is now a mandatory dependency
27 for Python versions ``<3.10``.
28
29
30
31 Let's note also that according to `NEP29
32 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`__, It is soon time to
33 stop support for Python 3.8 that will be release more than 3 and 1/2 years ago::
34
35 On Apr 14, 2023 drop support for Python 3.8 (initially released on Oct 14, 2019)
36
37 Thus I am likely to stop advertising support for Python 3.8 in the next
38 release at the end of April.
39
40
41 Here are some miscellaneous updates of interest:
42
43 - :ghpull:`13957` brings updates to the Qt integration, particularly for Qt6.
44 - :ghpull:`13960` fixes the %debug magic command to give access to the local
45 scope.
46 - :ghpull:`13964` fixes some crashes with the new fast traceback code. Note that
47 there are still some issues with the fast traceback code, and I a, likely
48 to fix and tweak behavior.
49 - :ghpull:`13973` We are slowly migrating IPython internals to use proper type
50 objects/dataclasses instead of dictionaries to allow static typing checks.
51 These are technically public API and could lead to breakage, so please let us
52 know if that's the case and I'll mitigate.
53 - :ghpull:`13990`, :ghpull:`13991`, :ghpull:`13994` all improve keybinding and
54 shortcut configurability.
55
56 As usual you can find the full list of PRs on GitHub under `the 8.12 milestone
57 <https://github.com/ipython/ipython/milestone/114?closed=1>`__.
10 58
59 We want to thank the D.E. Shaw group for requesting and sponsoring the work on
60 the following big feature. We had productive discussions on how to best expose
61 this feature
62
63 Dynamic documentation dispatch
64 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 65
12 66 We are experimenting with dynamic documentation dispatch for object attribute.
13 67 See :ghissue:`13860`. The goal is to allow object to define documentation for
@@ -18,29 +72,30 b' In particular when those objects are base types it can be useful to show the'
18 72 documentation
19 73
20 74
21 .. code::
75 .. code-block:: ipython
76
22 77
23 78 In [1]: class User:
24 ...:
25 ...: __custom_documentations__ = {
26 ...: "first": "The first name of the user.",
27 ...: "last": "The last name of the user.",
28 ...: }
29 ...:
30 ...: first:str
31 ...: last:str
32 ...:
33 ...: def __init__(self, first, last):
34 ...: self.first = first
35 ...: self.last = last
36 ...:
37 ...: @property
38 ...: def full(self):
39 ...: """`self.first` and `self.last` joined by a space."""
40 ...: return self.first + " " + self.last
41 ...:
42 ...:
43 ...: user = Person('Jane', 'Doe')
79 ...:
80 ...: __custom_documentations__ = {
81 ...: "first": "The first name of the user.",
82 ...: "last": "The last name of the user.",
83 ...: }
84 ...:
85 ...: first:str
86 ...: last:str
87 ...:
88 ...: def __init__(self, first, last):
89 ...: self.first = first
90 ...: self.last = last
91 ...:
92 ...: @property
93 ...: def full(self):
94 ...: """`self.first` and `self.last` joined by a space."""
95 ...: return self.first + " " + self.last
96 ...:
97 ...:
98 ...: user = Person('Jane', 'Doe')
44 99
45 100 In [2]: user.first?
46 101 Type: str
@@ -59,7 +114,9 b' documentation'
59 114
60 115
61 116 We can see here the symmetry with IPython looking for the docstring on the
62 properties::
117 properties:
118
119 .. code-block:: ipython
63 120
64 121
65 122 In [4]: user.full?
General Comments 0
You need to be logged in to leave comments. Login now