Skip to content

feat: More datatype support#32

Merged
icweaver merged 16 commits into
mainfrom
datatype
Jun 6, 2026
Merged

feat: More datatype support#32
icweaver merged 16 commits into
mainfrom
datatype

Conversation

@icweaver

@icweaver icweaver commented Apr 4, 2026

Copy link
Copy Markdown
Member

Adds support for structured (nested) datatypes, and support for ascii and ucs (also outlined in that link), which some newer Roman data files seem to use. This required changing how the datatype field is parsed, so I thought it would be better to have this as a separate PR instead of cramming it into #25.

To add this support, the new AsciiDatatype and Ucs4Datatype types were introduced. These are spiritual variants of Datatype, but since that one is an enum, it seemed like it would be more trouble than it's worth to get them to all subtype a common abstract type.

This PR also includes a grip of tests using the reference files from asdf-standard. I just included a copy of the most recent ones (v1.6.0) in the test directory here for simplicity. On a related note, should the asdf spec version printed here be updated to reflect this?

Could be a good first PR to generalize things to dynamically load different versions directly from that repo instead. Another good one might be to start refactoring src/ASDF.jl now that it is starting to get a little long

Try this PR

  1. Install Julia: https://julialang.org/downloads/

  2. Create a new environment:

    > julia
    
    julia> # Press ] to enter pkg mode
    
    pkg> activate my-env
  3. Install this branch:

    (my-env) pkg> add ASDF#datatype
  4. Load a sample asdf file:

    (my-env) pkg> # Press backspace to return to Julia REPL
    
    julia> using ASDF
    
    julia> load("path to your asdf file")

    Sample asdf files are available here.

    Documentation preview: https://juliaastro.org/ASDF.jl/previews/PR32/

@icweaver icweaver added the enhancement New feature or request label Apr 4, 2026
@codecov

codecov Bot commented Apr 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.79%. Comparing base (3d5ef0c) to head (bdc6ae7).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #32      +/-   ##
==========================================
+ Coverage   99.75%   99.79%   +0.03%     
==========================================
  Files           1        1              
  Lines         413      479      +66     
==========================================
+ Hits          412      478      +66     
  Misses          1        1              

☔ 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.

Base automatically changed from strict to main April 4, 2026 17:38
@icweaver icweaver mentioned this pull request Apr 4, 2026
@icweaver icweaver mentioned this pull request Apr 4, 2026
13 tasks
@icweaver icweaver changed the title More datatypes feat: more datatype support Apr 30, 2026
@cgarling

cgarling commented May 1, 2026

Copy link
Copy Markdown
Member

Thanks for your work on this Ian, I'm really happy to see it! I have asdf files made with romanisim that I made for some roman cycle 1 proposals that might be useful for checking against but IDK if/when I will be able to do so myself. If you'd like the files to check out yourself let me know and I can host them somewhere for you.

@icweaver

icweaver commented May 1, 2026

Copy link
Copy Markdown
Member Author

Thanks Chris, for sure! Happy to check out any sample files you have.

@icweaver

icweaver commented May 4, 2026

Copy link
Copy Markdown
Member Author

Update: things look to be working so far with the test files I've been sent from folks. Is there anything else that people would like to see here?

@icweaver

Copy link
Copy Markdown
Member Author

Will probably give this another week and then merge for the v2 release unless I hear back from other folks

@icweaver icweaver changed the title feat: more datatype support feat: More datatype support Jun 5, 2026
@icweaver

icweaver commented Jun 6, 2026

Copy link
Copy Markdown
Member Author

Alrighty, looks like we have the remaining bits tracked now (#13), so will go ahead and merge here to move the focus over there

@icweaver icweaver merged commit 0845fff into main Jun 6, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants