@@ -15,10 +15,35 @@ fundamental changes to the project that are likely to take months or
15
15
years of developer time. Smaller-scoped items will continue to be
16
16
tracked on our [ issue tracker] ( https://github.com/pandas-dev/pandas/issues ) .
17
17
18
- See [ Roadmap evolution] ( #roadmap-evolution ) for proposing
19
- changes to this document.
18
+ The roadmap is defined as a set of major enhancement proposals named PDEPs.
19
+ For more information about PDEPs, and how to submit one, please refer to
20
+ [ PEDP-1] ( /pdeps/accepted/0001-puropose-and-guidelines.html ) .
20
21
21
- ## Extensibility
22
+ ## PDEPs
23
+
24
+ {% for pdep_type in [ "Under discussion", "Accepted", "Implemented", "Rejected"] %}
25
+
26
+ <h3 id =" pdeps-{{pdep_type}} " >{{ pdep_type.replace("_", " ").capitalize() }}</h3 >
27
+
28
+ <ul >
29
+ {% for pdep in pdeps[ pdep_type] %}
30
+ <li ><a href =" {{ pdep.url }} " >{{ pdep.title }}</a ></li >
31
+ {% else %}
32
+ <li >There are currently no PDEPs with this status</li >
33
+ {% endfor %}
34
+ </ul >
35
+
36
+ {% endfor %}
37
+
38
+ ## Roadmap points pending a PDEP
39
+
40
+ <div class =" alert alert-warning " role =" alert " >
41
+ pandas is in the process of moving roadmap points to PDEPs (implemented in
42
+ August 2022). During the transition, some roadmap points will exist as PDEPs,
43
+ while others will exist as sections below.
44
+ </div >
45
+
46
+ ### Extensibility
22
47
23
48
Pandas ` extending.extension-types ` allow
24
49
for extending NumPy types with custom data types and array storage.
@@ -33,7 +58,7 @@ library, making their behavior more consistent with the handling of
33
58
NumPy arrays. We'll do this by cleaning up pandas' internals and
34
59
adding new methods to the extension array interface.
35
60
36
- ## String data type
61
+ ### String data type
37
62
38
63
Currently, pandas stores text data in an ` object ` -dtype NumPy array.
39
64
The current implementation has two primary drawbacks: First, ` object `
@@ -54,7 +79,7 @@ work, we may need to implement certain operations expected by pandas
54
79
users (for example the algorithm used in, ` Series.str.upper ` ). That work
55
80
may be done outside of pandas.
56
81
57
- ## Apache Arrow interoperability
82
+ ### Apache Arrow interoperability
58
83
59
84
[ Apache Arrow] ( https://arrow.apache.org ) is a cross-language development
60
85
platform for in-memory data. The Arrow logical types are closely aligned
@@ -65,7 +90,7 @@ data types within pandas. This will let us take advantage of its I/O
65
90
capabilities and provide for better interoperability with other
66
91
languages and libraries using Arrow.
67
92
68
- ## Block manager rewrite
93
+ ### Block manager rewrite
69
94
70
95
We'd like to replace pandas current internal data structures (a
71
96
collection of 1 or 2-D arrays) with a simpler collection of 1-D arrays.
@@ -92,7 +117,7 @@ See [these design
92
117
documents] ( https://dev.pandas.io/pandas2/internal-architecture.html#removal-of-blockmanager-new-dataframe-internals )
93
118
for more.
94
119
95
- ## Decoupling of indexing and internals
120
+ ### Decoupling of indexing and internals
96
121
97
122
The code for getting and setting values in pandas' data structures
98
123
needs refactoring. In particular, we must clearly separate code that
@@ -150,7 +175,7 @@ which are actually expected (typically `KeyError`).
150
175
and when small differences in behavior are expected (e.g. getting with ` .loc ` raises for
151
176
missing labels, setting still doesn't), they can be managed with a specific parameter.
152
177
153
- ## Numba-accelerated operations
178
+ ### Numba-accelerated operations
154
179
155
180
[ Numba] ( https://numba.pydata.org ) is a JIT compiler for Python code.
156
181
We'd like to provide ways for users to apply their own Numba-jitted
@@ -162,7 +187,7 @@ window contexts). This will improve the performance of
162
187
user-defined-functions in these operations by staying within compiled
163
188
code.
164
189
165
- ## Documentation improvements
190
+ ### Documentation improvements
166
191
167
192
We'd like to improve the content, structure, and presentation of the
168
193
pandas documentation. Some specific goals include
@@ -177,7 +202,7 @@ pandas documentation. Some specific goals include
177
202
subsections of the documentation to make navigation and finding
178
203
content easier.
179
204
180
- ## Performance monitoring
205
+ ### Performance monitoring
181
206
182
207
Pandas uses [ airspeed velocity] ( https://asv.readthedocs.io/en/stable/ )
183
208
to monitor for performance regressions. ASV itself is a fabulous tool,
@@ -197,29 +222,3 @@ We'd like to fund improvements and maintenance of these tools to
197
222
< https://pyperf.readthedocs.io/en/latest/system.html >
198
223
- Build a GitHub bot to request ASV runs * before* a PR is merged.
199
224
Currently, the benchmarks are only run nightly.
200
-
201
- ## Roadmap Evolution
202
-
203
- Pandas continues to evolve. The direction is primarily determined by
204
- community interest. Everyone is welcome to review existing items on the
205
- roadmap and to propose a new item.
206
-
207
- Each item on the roadmap should be a short summary of a larger design
208
- proposal. The proposal should include
209
-
210
- 1 . Short summary of the changes, which would be appropriate for
211
- inclusion in the roadmap if accepted.
212
- 2 . Motivation for the changes.
213
- 3 . An explanation of why the change is in scope for pandas.
214
- 4 . Detailed design: Preferably with example-usage (even if not
215
- implemented yet) and API documentation
216
- 5 . API Change: Any API changes that may result from the proposal.
217
-
218
- That proposal may then be submitted as a GitHub issue, where the pandas
219
- maintainers can review and comment on the design. The [ pandas mailing
220
- list] ( https://mail.python.org/mailman/listinfo/pandas-dev ) should be
221
- notified of the proposal.
222
-
223
- When there's agreement that an implementation would be welcome, the
224
- roadmap should be updated to include the summary and a link to the
225
- discussion issue.
0 commit comments