question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Define public API for internal frame classes

See original GitHub issue

Since we are currently working on Modin documentation (docstrings, rst documentation in docs folder), we need to define public API for the classes that are in modin/engines/base/frame folder in order to expose the right API in rst documentation. I would like to suggest the following changes:

BaseFrameAxisPartition - without changes for now

  • apply
  • shuffle
  • force_materialization
  • unwrap

PandasFrameAxisPartition - without changes for now

  • apply
  • shuffle
  • deploy_axis_func
  • deploy_func_between_two_axis_partitions

BasePandasFrame

  • dtype
  • axes
  • _apply_index_objs - convert to public
  • mask
  • from_labels
  • to_labels
  • reorder_labels
  • copy
  • combine_dtypes
  • astype
  • add_prefix
  • add_suffix
  • _numeric_columns - convert to public
  • _fold_reduce - convert to public
  • _map_reduce - convert to public
  • _map - convert to public
  • _fold - convert to public
  • filter_full_axis
  • _apply_full_axis - convert to public
  • _apply_full_axis_select_indices - convert to public
  • _apply_select_indices - convert to public
  • broadcast_apply
  • broadcast_apply_select_indices
  • broadcast_apply_full_axis
  • _binary_op - convert to public
  • _concat - convert to public
  • groupby_reduce
  • from_pandas
  • from_arrow
  • to_pandas
  • to_numpy
  • transpose
  • finalize - convert to private or rework so that the partition manager manipulate with the partitions, but not the frame itself does.

BaseFrameManager - convert to BasePandasFrameManager

  • preprocess_func
  • groupby_reduce
  • broadcast_apply_select_indices
  • broadcast_apply
  • broadcast_axis_partitions
  • map_partitions
  • lazy_map_partitions
  • map_axis_partitions
  • simple_shuffle
  • concat
  • concatenate
  • to_pandas
  • to_numpy
  • from_pandas
  • from_arrow
  • get_indices
  • apply_func_to_select_indices
  • apply_func_to_select_indices_along_full_axis
  • apply_func_to_indices_both_axis
  • binary_operation

BaseFramePartition - convert to BasePandasFramePartition

  • get
  • apply
  • add_to_apply_calls
  • drain_call_queue
  • wait
  • to_pandas
  • to_numpy
  • mask
  • put
  • preprocess_func
  • length
  • width
  • empty
  • width_extraction_fn - convert to private
  • length_extraction_fn - convert to private

cc @devin-petersohn

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:10 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
devin-petersohncommented, May 12, 2021

@YarShev I suppose that would make sense, there’s no way in those cases to avoid calling it because the metadata needs to be coordinated and rebroadcasted. In that case, I would prefer to change the name to synchronize_labels to be more descriptive (and discourage misuse).

0reactions
YarShevcommented, May 13, 2021

@devin-petersohn , I saw fit to make the following changes:

  • FrameManager -> PartitionManager
  • _frame_mgr_cls-> _partition_mgr_cls
  • BasePandasFrame -> PandasFrame
  • BasePandasFrameManager -> PandasFramePartitionManager
  • BasePandasFramePartition -> PandasFramePartition
  • DaskFrameManager -> PandasOnDaskFramePartitionManager
  • PythonFrameManager -> PandasOnPythonFramePartitionManager
  • cuDFOnRayFrameManager -> cuDFOnRayFramePartitionManager
  • RayFrameManager -> GenericRayFramePartitionManager
  • PandasOnRayFrameManager -> PandasOnRayFramePartitionManager
  • PyarrowOnRayFrameManager -> PyarrowOnRayFramePartitionManager
  • OmnisciOnRayFrameManager -> OmnisciOnRayFramePartitionManager

Please, look at the changes in the PR.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Use Internal Frames (The Java™ Tutorials > Creating ...
With the JInternalFrame class you can display a JFrame -like window within another window. Usually, you add internal frames to a desktop pane....
Read more >
Public Methods != Public API | Collective Idea
Your public API is the collection of methods you agree to support. It's a contract between you and future developers that any public...
Read more >
PatternContext<TFrame> Class - Microsoft Learn
public abstract class PatternContext<TFrame> : Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext where TFrame : struct
Read more >
Python & APIs: A Winning Combo for Reading Public Data
In this tutorial, you'll learn what APIs are and how to consume them using Python. You'll also learn some core concepts for working...
Read more >
difference between API and framework - Stack Overflow
The API is the public face of a framework. A well designed framework only exposes those classes, interfaces, etc that are needed to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found