Skip to content

Conversation

@esantorella
Copy link
Contributor

Summary:
This diff merges MapData into Data by giving Data an attribute has_step_column. MapData becomes an empty subclass which will be removed in a subsequent diff.

Changes:

  • Functionality from map_data.py is moved into data.py

Differential Revision: D89820078

@meta-codesync
Copy link

meta-codesync bot commented Dec 26, 2025

@esantorella has exported this pull request. If you are a Meta employee, you can view the originating Diff in D89820078.

@meta-cla meta-cla bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Dec 26, 2025
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 26, 2025
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision: D89820078
@esantorella esantorella force-pushed the export-D89820078 branch 2 times, most recently from 955585d to 3adf3ac Compare December 26, 2025 22:15
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 26, 2025
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision: D89820078
@codecov-commenter
Copy link

codecov-commenter commented Dec 26, 2025

Codecov Report

❌ Patch coverage is 96.82540% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.72%. Comparing base (2a45185) to head (51e6b96).

Files with missing lines Patch % Lines
ax/core/data.py 96.05% 3 Missing ⚠️
ax/service/utils/best_point_mixin.py 50.00% 2 Missing ⚠️
ax/early_stopping/experiment_replay.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4715   +/-   ##
=======================================
  Coverage   96.72%   96.72%           
=======================================
  Files         582      582           
  Lines       60744    60757   +13     
=======================================
+ Hits        58753    58770   +17     
+ Misses       1991     1987    -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision:
D89820078

Privacy Context Container: L1307644

Reviewed By: lena-kashtelyan
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision:
D89820078

Privacy Context Container: L1307644

Reviewed By: lena-kashtelyan
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Reviewed By: lena-kashtelyan

Differential Revision: D89820078
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Reviewed By: lena-kashtelyan

Differential Revision: D89820078
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Reviewed By: lena-kashtelyan

Differential Revision: D89820078
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision:
D89820078

Privacy Context Container: L1307644

Reviewed By: lena-kashtelyan
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision:
D89820078

Privacy Context Container: L1307644

Reviewed By: lena-kashtelyan
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Reviewed By: saitcakmak, lena-kashtelyan

Differential Revision: D89820078
@esantorella esantorella force-pushed the export-D89820078 branch 2 times, most recently from b7ef5c7 to 64200ce Compare January 2, 2026 15:21
esantorella added a commit to esantorella/Ax that referenced this pull request Jan 2, 2026
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Reviewed By: saitcakmak, lena-kashtelyan

Differential Revision: D89820078
esantorella added a commit to esantorella/Ax that referenced this pull request Jan 2, 2026
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision:
D89820078

Privacy Context Container: L1307644

Reviewed By: saitcakmak, lena-kashtelyan
esantorella added a commit to esantorella/Ax that referenced this pull request Jan 2, 2026
Summary:
Pull Request resolved: facebook#4715

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Differential Revision:
D89820078

Privacy Context Container: L1307644

Reviewed By: saitcakmak, lena-kashtelyan
Summary:

This diff merges MapData into Data by giving Data an attribute `has_step_column`. MapData becomes an empty subclass which will be removed in a subsequent PR (D89814417).

Note on how this diff is split up: In this diff, functions that previously required MapData now can consume Data, and type checks stop referencing MapData. However, functions can still return MapData; all references are removed in the next diff.

Changes:
* Functionality from map_data.py is moved into data.py, and functionality from MapData moves into Data; MapData is an empty subclass.
* Data (and MapData) get an attribute `has_step_column`; the important distinction becomes `has_step_column`, not type. * It is now possible for both `Data` and `MapData` to either have a step column or not. Having both `Data` and `MapData` like this is an unpleasant intermediate state that we should move off of immediately (landing this and D89814417 together)
* Many `isinstance` checks become `has_step_coumn` checks
* Data's new methods `subsample` and `latest` get special cases for when there is no "step" column
* Make Data's required columns always be the same and not contain "step" (since it isn't really required). Remove `required_columns` method.

Reviewed By: saitcakmak, lena-kashtelyan

Differential Revision: D89820078
@meta-codesync
Copy link

meta-codesync bot commented Jan 2, 2026

This pull request has been merged in 2151d86.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants