UFFFiles.jl


Generic badge MIT License Aqua QA DispatchDoctor

UFFFiles.jl is a Julia package for reading and writing 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 and writing UFF files with the following blocks:

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

Supported file extensions

The package supports UFF files with the following extensions:

  • .unv
  • .uff
  • .uf
  • .bunv
  • .ufb
  • .buf

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 universal 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 the following direct dependencies.

Project UFFFiles v1.0.0
Status
  [6ef1bc8b] Scanf v0.5.4
  [ade2ca70] Dates v1.11.0
  [de0858da] Printf v1.11.0
Julia Version 1.12.2
Commit ca9b6662be4 (2025-11-20 16:25 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.