@@ -15,10 +15,35 @@ fundamental changes to the project that are likely to take months or
1515years of developer time. Smaller-scoped items will continue to be
1616tracked on our [ issue tracker] ( https://github.com/pandas-dev/pandas/issues ) .
1717
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 ) .
2021
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
2247
2348Pandas ` extending.extension-types ` allow
2449for extending NumPy types with custom data types and array storage.
@@ -33,7 +58,7 @@ library, making their behavior more consistent with the handling of
3358NumPy arrays. We'll do this by cleaning up pandas' internals and
3459adding new methods to the extension array interface.
3560
36- ## String data type
61+ ### String data type
3762
3863Currently, pandas stores text data in an ` object ` -dtype NumPy array.
3964The current implementation has two primary drawbacks: First, ` object `
@@ -54,7 +79,7 @@ work, we may need to implement certain operations expected by pandas
5479users (for example the algorithm used in, ` Series.str.upper ` ). That work
5580may be done outside of pandas.
5681
57- ## Apache Arrow interoperability
82+ ### Apache Arrow interoperability
5883
5984[ Apache Arrow] ( https://arrow.apache.org ) is a cross-language development
6085platform 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
6590capabilities and provide for better interoperability with other
6691languages and libraries using Arrow.
6792
68- ## Block manager rewrite
93+ ### Block manager rewrite
6994
7095We'd like to replace pandas current internal data structures (a
7196collection of 1 or 2-D arrays) with a simpler collection of 1-D arrays.
@@ -92,7 +117,7 @@ See [these design
92117documents] ( https://dev.pandas.io/pandas2/internal-architecture.html#removal-of-blockmanager-new-dataframe-internals )
93118for more.
94119
95- ## Decoupling of indexing and internals
120+ ### Decoupling of indexing and internals
96121
97122The code for getting and setting values in pandas' data structures
98123needs refactoring. In particular, we must clearly separate code that
@@ -150,7 +175,7 @@ which are actually expected (typically `KeyError`).
150175and when small differences in behavior are expected (e.g. getting with ` .loc ` raises for
151176missing labels, setting still doesn't), they can be managed with a specific parameter.
152177
153- ## Numba-accelerated operations
178+ ### Numba-accelerated operations
154179
155180[ Numba] ( https://numba.pydata.org ) is a JIT compiler for Python code.
156181We'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
162187user-defined-functions in these operations by staying within compiled
163188code.
164189
165- ## Documentation improvements
190+ ### Documentation improvements
166191
167192We'd like to improve the content, structure, and presentation of the
168193pandas documentation. Some specific goals include
@@ -177,7 +202,7 @@ pandas documentation. Some specific goals include
177202 subsections of the documentation to make navigation and finding
178203 content easier.
179204
180- ## Performance monitoring
205+ ### Performance monitoring
181206
182207Pandas uses [ airspeed velocity] ( https://asv.readthedocs.io/en/stable/ )
183208to 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
197222 < https://pyperf.readthedocs.io/en/latest/system.html >
198223- Build a GitHub bot to request ASV runs * before* a PR is merged.
199224 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