@@ -73,54 +73,6 @@ use pyo3::types::{PyCapsule, PyDict, PyList, PyTuple, PyType};
7373use tokio:: task:: JoinHandle ;
7474
7575/// Configuration for displaying DataFrames
76- #[ pyclass( name = "DataframeDisplayConfig" , module = "datafusion" , subclass) ]
77- #[ derive( Clone ) ]
78- pub struct DataframeDisplayConfig {
79- /// Maximum bytes to display for table presentation (default: 2MB)
80- #[ pyo3( get, set) ]
81- pub max_table_bytes : usize ,
82- /// Minimum number of table rows to display (default: 20)
83- #[ pyo3( get, set) ]
84- pub min_table_rows : usize ,
85- /// Maximum length of a cell before it gets minimized (default: 25)
86- #[ pyo3( get, set) ]
87- pub max_cell_length : usize ,
88- /// Maximum number of rows to display in repr string output (default: 10)
89- #[ pyo3( get, set) ]
90- pub max_table_rows_in_repr : usize ,
91- }
92-
93- #[ pymethods]
94- impl DataframeDisplayConfig {
95- #[ new]
96- #[ pyo3( signature = ( max_table_bytes=None , min_table_rows=None , max_cell_length=None , max_table_rows_in_repr=None ) ) ]
97- fn new (
98- max_table_bytes : Option < usize > ,
99- min_table_rows : Option < usize > ,
100- max_cell_length : Option < usize > ,
101- max_table_rows_in_repr : Option < usize > ,
102- ) -> Self {
103- let default = Self :: default ( ) ;
104- Self {
105- max_table_bytes : max_table_bytes. unwrap_or ( default. max_table_bytes ) ,
106- min_table_rows : min_table_rows. unwrap_or ( default. min_table_rows ) ,
107- max_cell_length : max_cell_length. unwrap_or ( default. max_cell_length ) ,
108- max_table_rows_in_repr : max_table_rows_in_repr
109- . unwrap_or ( default. max_table_rows_in_repr ) ,
110- }
111- }
112- }
113-
114- impl Default for DataframeDisplayConfig {
115- fn default ( ) -> Self {
116- Self {
117- max_table_bytes : 2 * 1024 * 1024 , // 2 MB
118- min_table_rows : 20 ,
119- max_cell_length : 25 ,
120- max_table_rows_in_repr : 10 ,
121- }
122- }
123- }
12476
12577/// Configuration options for a SessionContext
12678#[ pyclass( name = "SessionConfig" , module = "datafusion" , subclass) ]
@@ -229,6 +181,55 @@ impl PySessionConfig {
229181 }
230182}
231183
184+ #[ pyclass( name = "DataframeDisplayConfig" , module = "datafusion" , subclass) ]
185+ #[ derive( Clone ) ]
186+ pub struct DataframeDisplayConfig {
187+ /// Maximum bytes to display for table presentation (default: 2MB)
188+ #[ pyo3( get, set) ]
189+ pub max_table_bytes : usize ,
190+ /// Minimum number of table rows to display (default: 20)
191+ #[ pyo3( get, set) ]
192+ pub min_table_rows : usize ,
193+ /// Maximum length of a cell before it gets minimized (default: 25)
194+ #[ pyo3( get, set) ]
195+ pub max_cell_length : usize ,
196+ /// Maximum number of rows to display in repr string output (default: 10)
197+ #[ pyo3( get, set) ]
198+ pub max_table_rows_in_repr : usize ,
199+ }
200+
201+ #[ pymethods]
202+ impl DataframeDisplayConfig {
203+ #[ new]
204+ #[ pyo3( signature = ( max_table_bytes=None , min_table_rows=None , max_cell_length=None , max_table_rows_in_repr=None ) ) ]
205+ fn new (
206+ max_table_bytes : Option < usize > ,
207+ min_table_rows : Option < usize > ,
208+ max_cell_length : Option < usize > ,
209+ max_table_rows_in_repr : Option < usize > ,
210+ ) -> Self {
211+ let default = Self :: default ( ) ;
212+ Self {
213+ max_table_bytes : max_table_bytes. unwrap_or ( default. max_table_bytes ) ,
214+ min_table_rows : min_table_rows. unwrap_or ( default. min_table_rows ) ,
215+ max_cell_length : max_cell_length. unwrap_or ( default. max_cell_length ) ,
216+ max_table_rows_in_repr : max_table_rows_in_repr
217+ . unwrap_or ( default. max_table_rows_in_repr ) ,
218+ }
219+ }
220+ }
221+
222+ impl Default for DataframeDisplayConfig {
223+ fn default ( ) -> Self {
224+ Self {
225+ max_table_bytes : 2 * 1024 * 1024 , // 2 MB
226+ min_table_rows : 20 ,
227+ max_cell_length : 25 ,
228+ max_table_rows_in_repr : 10 ,
229+ }
230+ }
231+ }
232+
232233/// Runtime options for a SessionContext
233234#[ pyclass( name = "RuntimeEnvBuilder" , module = "datafusion" , subclass) ]
234235#[ derive( Clone ) ]
0 commit comments