UFFFiles.jl


Generic badge MIT License Aqua QA DispatchDoctor

UFFFiles.jl is a Julia package for reading (and writing in the future) Universal File Format (UFF) files, commonly used in engineering applications.

Warning

The package is under active development and is developed as part of my research activities.

Supported formats

Currently, UFFFiles.jl supports reading UFF files with the following blocks:

  • Dataset 15
  • Dataset 18
  • Dataset 55
  • Dataset 58
  • Dataset 82
  • Dataset 151
  • Dataset 164
  • Dataset 2411
  • Dataset 2412
  • Dataset 2414

Contributing

Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.

To make contributions easier, please provide *.unv or *.uff files that can be used as test cases for the new features or bug fixes.

Acknowledgements

The creation of UFFFiles.jl was driven by the need to handle UFF files in Julia for processing the experimental data that I collect during my research activities. This package take some inspiration from two wonderful packages : pyuff written in Python and uff written in Matlab. However, UFFFiles.jl is a completely new development, with its own design choices, which leverages of Julia’s strengths and provides a native solution for handling UFF files in the Julia ecosystem.

For testing and validate the package, I used several UFF files that are publicly available online, including some provided by pyuff and some coming from my own experimental campaigns. For this reason, I would like to thank all the people who made these files available. This also explains why bugs may still be present in the package, as I do not have access to all possible UFF file variations.

Reproducibility

UFFFiles.jl has no direct dependencies.

Julia Version 1.12.1
Commit ba1e628ee49 (2025-10-17 13:02 UTC)
Build Info:
  Official https://julialang.org release
Platform Info:
  OS: macOS (arm64-apple-darwin24.0.0)
  CPU: 16 × Apple M4 Max
  WORD_SIZE: 64
  LLVM: libLLVM-18.1.7 (ORCJIT, apple-m4)
  GC: Built with stock GC
Threads: 1 default, 1 interactive, 1 GC (on 12 virtual cores)
Environment:
  JULIA_EDITOR = code
  JULIA_VSCODE_REPL = 1
  JULIA_PKG_SERVER = https://juliahub.com

License

This package is under MIT License.