ReqIFSharp and ReqIFSharp.Extensions are C# libraries for reading and writing ReqIF documents. ReqIFSharp is used in Starion products such as CDP4-COMET and a web based ReqIF Viewer. Read more about it here: https://reqifsharp.org
The packages are available on Nuget:
ReqIFSharp targets netstandard2.0 and has a single runtime dependency: Microsoft.Extensions.Logging.Abstractions. Its version is deliberately floored at 6.0.0 - the lowest version that exposes every logging API the library uses. Because a NuGet package reference is a minimum, a low floor keeps the library broadly consumable instead of forcing everyone onto the latest major.
Using ReqIFSharp from .NET 8/10 (or any modern app)? You don't have to do anything - NuGet automatically floats the dependency up to the version your application already uses (e.g. Microsoft.Extensions.Logging.Abstractions 10.x on .NET 10). If you want to be explicit, simply add a direct reference in your own project to the version that matches your runtime:
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />This pins the resolved version in your application without ReqIFSharp imposing it on consumers who are still on older lines.
GitHub actions are used to build and test the library
| Branch | Build Status |
|---|---|
| Master | |
| Development |
As part of our commitment to security and transparency, this project includes a Software Bill of Materials (SBOM) in the associated NuGet packages. The SBOM provides a detailed inventory of the components and dependencies included in the package, allowing you to track and verify the software components, their licenses, and versions.
Why SBOM?
- Improved Transparency: Gain insight into the open-source and third-party components included in this package.
- Security Assurance: By providing an SBOM, we enable users to more easily track vulnerabilities associated with the included components.
- Compliance: SBOMs help ensure compliance with licensing requirements and make it easier to audit the project's dependencies.
You can find the SBOM in the NuGet package itself, which is automatically generated and embedded during the build process.
ReqIFSharp and ReqIFSharp.Extensions are provided to the community under the Apache License 2.0 License.
Contributions to the code-base are welcome. However, before we can accept your contributions we ask any contributor to sign the Contributor License Agreement (CLA) and send this digitaly signed to s.gerene@stariongroup.eu. You can find the CLA's in the CLA folder.
