Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(shared-data): finish file cleanup #3521

Merged
merged 7 commits into from
Jun 6, 2019

Conversation

IanLondon
Copy link
Contributor

@IanLondon IanLondon commented Jun 4, 2019

overview

Finally closes #3331 🎉

changelog

  • remove robot-data/ in favor of module/ and pipette/ dirs
  • move definitions/ into labware/definitions/2

review requests

  • Sanity check, especially of the python files
  • Please do a final review of the shape of directories in shared-data. Does this seem organized to you?

@codecov
Copy link

codecov bot commented Jun 4, 2019

Codecov Report

Merging #3521 into edge will decrease coverage by <.01%.
The diff coverage is 33.33%.

Impacted file tree graph

@@            Coverage Diff             @@
##             edge    #3521      +/-   ##
==========================================
- Coverage   52.35%   52.35%   -0.01%     
==========================================
  Files         813      813              
  Lines       23744    23747       +3     
==========================================
+ Hits        12432    12433       +1     
- Misses      11312    11314       +2
Impacted Files Coverage Δ
shared-data/js/pipettes.js 84.21% <ø> (ø) ⬆️
shared-data/pipette/fixtures/name/index.js 100% <ø> (ø)
shared-data/js/schema.js 100% <ø> (ø) ⬆️
shared-data/js/modules.js 0% <ø> (ø) ⬆️
shared-data/js/labwareTools/index.js 96.66% <ø> (ø) ⬆️
protocol-designer/src/load-file/migration/1_1_0.js 84.05% <0%> (-2.51%) ⬇️
shared-data/js/getLabware.js 35% <100%> (+3.42%) ⬆️
opentrons/protocol_api/labware.py 89.83% <0%> (ø) ⬆️
opentrons/config/pipette_config.py 90% <0%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6077eb8...9b3bf82. Read the comment docs.

@IanLondon IanLondon requested a review from Kadee80 June 4, 2019 17:59
Copy link
Contributor

@b-cooper b-cooper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 These changes make this area of the repo much easier to reason about.

I have two comments:

  • I appreciate the briefness of just referring to the schema versions of each data model by a number in place of 'v1'. Although it's a small change, I think that having a 'v' or some other string attached to these file/directory names is not only helpful for understanding what is being quantified, but also allows us to avoid some weirdness if we ever choose to import the file by name and butt up against problems naming variables with numbers.

  • I appreciate the way the model and name data is grouped within the /pipette directory. This organization does have the unfortunate side-effect of breaking the convention of directory structure that the other data models adhere to (e.g. instead of ../schemas/1.json we have another layer before the actual schema files ../schemas/model/1.json). In the interest of consistency, my preference would be to make pipetteModel and pipetteName separate data model directories at the top level and then their internal structure could retain consistency. Though this does split up the data we have regarding pipettes into two directories, it makes sense to me as they are related (one to many relationship), yet they are still separate data models.

Given that this directory organization is a stepping stone to a more robust solution for managing our data and their models, I don't hold either of these opinions too strongly and certainly wouldn't block if there was significant opposition.

Copy link
Contributor

@Kadee80 Kadee80 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Labware Library checks out.

Tested JSON/Python in RA api 1 and 2:

  • Python protocols work on v1 and v2 api (assuming the file has the correctly updated labware names)
  • JSON protocol (created last wednesday on production PD for release testing) upload received this error:

API V1 error:
Screen Shot 2019-06-05 at 9 53 44 AM

API V2 error:
Screen Shot 2019-06-04 at 4 38 44 PM

Protocol for reference:
Katie's Protocol.json.zip

@Kadee80 Kadee80 self-requested a review June 5, 2019 19:37
Copy link
Contributor

@Kadee80 Kadee80 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ran this to ground in person. 🦄 🌈 for this PR. Issue was due to 96-deep-well not being supported in labware V2, but present in protocol designer.

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@IanLondon IanLondon merged commit e8776dd into edge Jun 6, 2019
@IanLondon IanLondon deleted the shared-data_pipette-modules-refactor branch June 6, 2019 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor shared data Affects the `shared-data` project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

V2 Labware: Reconcile Directory Structure
4 participants