diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index d2b8c5b3..166eb358 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -69,40 +69,40 @@ jobs: - name: Test Built Wheel run: cd python/tests && python3 -m unittest discover -vvv -# windows: -# runs-on: Windows-2022 -# strategy: -# fail-fast: false -# matrix: -# python-version: [ 3.12 ] -# target: [ x64, x86 ] + windows: + runs-on: Windows-2022 + strategy: + fail-fast: false + matrix: + python-version: [ 3.12 ] + target: [ x64 ] -# steps: -# - uses: actions/checkout@v4 + steps: + - uses: actions/checkout@v4 -# - uses: actions/setup-python@v5 -# with: -# python-version: ${{ matrix.python-version }} - - # - name: Build wheels - # uses: PyO3/maturin-action@v1 - # with: - # working-directory: python - # target: ${{ matrix.target }} - # args: --release --out dist --interpreter ${{ matrix.python-version }} - # sccache: 'true' - - # - name: Upload wheels - # uses: actions/upload-artifact@v4 - # with: - # name: wheels-windows-${{ matrix.target }} - # path: python/dist - -# - name: Install Built Wheel -# run: python3 -m pip install -vv pyrudof --find-links=python/dist --no-index + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} -# - name: Test Built Wheel -# run: cd python/tests && python3 -m unittest discover -vvv + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + working-directory: python + target: ${{ matrix.target }} + args: --release --out dist --interpreter ${{ matrix.python-version }} + sccache: 'true' + + - name: Upload wheels + uses: actions/upload-artifact@v4 + with: + name: wheels-windows-${{ matrix.target }} + path: python/dist + + - name: Install Built Wheel + run: python3 -m pip install -vv pyrudof --find-links=python/dist --no-index + + - name: Test Built Wheel + run: cd python/tests && python3 -m unittest discover -vvv macos: runs-on: ${{ matrix.vm }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d3c1319..d870f357 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ This ChangeLog follows the Keep a ChangeLog guidelines](https://keepachangelog.c ### Changed ### Removed +## 0.1.102 +### Added +- Comparison between schemas +- Added documentation about comparison between schemas + +### Fixed +- Cleaned and Clippied the code that we did in a hurry during Biohackathon + +### Changed +- The behavour of `base` which was assumed to be None by default and now can be passed as a command line option. + +### Removed + + ## 0.1.93 ### Added ### Fixed diff --git a/Cargo.toml b/Cargo.toml index 04ee4118..66dcf01d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,7 @@ resolver = "2" members = [ "dctap", "iri_s", + "mie", "python", "prefixmap", "rbe", @@ -51,12 +52,15 @@ authors = [ [workspace.dependencies] dctap = { version = "0.1.86", path = "./dctap" } +either = { version = "1.13" } iri_s = { version = "0.1.82", path = "./iri_s" } +mie = { version = "0.1.96", path = "./mie" } prefixmap = { version = "0.1.82", path = "./prefixmap" } pyrudof = { version = "0.1.86", path = "./python" } rbe = { version = "0.1.86", path = "./rbe" } rbe_testsuite = { version = "0.1.62", path = "./rbe_testsuite" } rdf_config = { version = "0.1.0", path = "./rdf_config" } +reqwest = { version = "0.12" } rudof_lib = { version = "0.1.86", path = "./rudof_lib" } rudof_cli = { version = "0.1.86", path = "./rudof_cli" } shapemap = { version = "0.1.86", path = "./shapemap" } diff --git a/dctap/Cargo.toml b/dctap/Cargo.toml index beb3a02a..0a5b54f7 100644 --- a/dctap/Cargo.toml +++ b/dctap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dctap" -version = "0.1.90" +version = "0.1.102" authors.workspace = true description.workspace = true documentation = "https://docs.rs/dctap" diff --git a/dctap/src/dctap.rs b/dctap/src/dctap.rs index 1bc10bcb..39f91167 100644 --- a/dctap/src/dctap.rs +++ b/dctap/src/dctap.rs @@ -9,8 +9,10 @@ use serde::{Deserialize, Serialize}; use std::{fmt::Display, io, path::Path}; use tracing::{debug, info}; +/* Removed as it seems we never use it #[derive(Debug, Serialize, Deserialize)] struct TapShapeId(String); +*/ #[derive(Debug, Serialize, Deserialize, PartialEq, Clone)] pub struct DCTap { diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 144977ed..06d45a44 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -20,6 +20,7 @@ - [shacl-validate](./cli_usage/shacl_validate.md) - [validate](./cli_usage/validate.md) - [convert](./cli_usage/convert.md) +- [compare](./cli_usage/compare.md) # `rudof` as a library diff --git a/docs/src/cli_usage/compare.md b/docs/src/cli_usage/compare.md new file mode 100644 index 00000000..37635ba6 --- /dev/null +++ b/docs/src/cli_usage/compare.md @@ -0,0 +1,132 @@ +# compare: Compare Shapes + +`rudof` supports comparison between different schemas and shapes. + +The `compare` has the following structure: + +``` +$ rudof compare --help +Compare two shapes (which can be in different formats) + +Usage: rudof compare [OPTIONS] --schema1 --schema2 + +Options: + -c, --config Path to config file + --mode1 Input mode first schema [default: shex] [possible values: shacl, shex, + dctap, service] + --mode2 Input mode second schema [default: shex] [possible values: shacl, shex, + dctap, service] + --force-overwrite Force overwrite to output file if it already exists + --schema1 Schema 1 (URI, file or - for stdin) + --schema2 Schema 2 (URI, file or - for stdin) + --format1 File format 1 [default: shexc] [possible values: shexc, shexj, turtle] + --format2 File format 2 [default: shexc] [possible values: shexc, shexj, turtle] + -r, --result-format Result format [default: internal] [possible values: internal, json] + -o, --output-file Output file name, default = terminal + -t, --target-folder Target folder + --shape1