[![Shapes-rs](https://github.com/weso/shapes-rs/actions/workflows/ci.yml/badge.svg)](https://github.com/weso/shapes-rs/actions/workflows/ci.yml)
[![dependency status](https://deps.rs/repo/github/weso/shapes-rs/status.svg)](https://deps.rs/repo/github/weso/shapes-rs)
# SHAPES-rs
This repo contains an RDF data shapes library implemented in Rust.
The implementation supports both [ShEx](http://shex.io/) and [SHACL](https://www.w3.org/TR/shacl/).
We provide binaries for Linux, Windows, Mac and Docker (see [releases](https://github.com/weso/shapes-rs/releases)).
- [List of issues](https://github.com/weso/shapes-rs)
- [Discussion](https://github.com/weso/shapes-rs/discussions/landing)
- [FAQ](https://github.com/weso/shapes-rs/wiki/FAQ)
- [How to guides](https://github.com/weso/shapes-rs/wiki/Howto-guides)
- [Roadmap](https://github.com/weso/shapes-rs/issues/1)
### Installation
#### Official releases
You can download a binary from the [latest release](https://github.com/weso/shapes-rs/releases/latest) page. There you will also find the compiled packages for the installation on your system using a package manager.
##### Ubuntu
Download the binary from [https://github.com/weso/shapes-rs/releases] and install the `.deb` package running the following commands after replacing X.X.X by the latest version:
```
wget https://github.com/weso/shapes-rs/releases/download/X.X.X/rdfsx_vX.X.X_amd64.deb
sudo dpkg -i rdfsx_vX.X.X_amd64.deb
```
##### Windows
The binary can be downloaded from [https://github.com/weso/shapes-rs/releases]
##### Mac
The binary is available at: [https://github.com/weso/shapes-rs/releases]
<details markdown="block">
<summary>Compiling from source</summary>
#### Compiling from source
`shapes-rs` has been implemented in Rust and is compiled using [cargo](https://doc.rust-lang.org/cargo/). The command `cargo run` can be used to compile and run locally the code.
For example:
```
cargo run -- validate --data examples/user.ttl --schema examples/user.shex --shapemap examples/user.sm
```
#### Compiling from source and installing the binary (Debian)
Install `cargo deb` (only the first time)
```
cargo install cargo-deb
```
Create the `.deb` package by:
```
cargo deb
```
And run:
```
sudo dpkg -i target/debian/shapes-rs_0.0.11-1_amd64.deb
```
#### Docker
TBD
</details>
### Usage
#### Some examples
The folder `examples` contains several example files with ShEx schemas and RDF data.
##### Validate a simple RDF file with a ShEx schema using a ShapeMap
```
rdfsx validate --data examples/user.ttl --schema examples/user.shex --shapemap examples/user.sm
```
We maintain a Wiki page with some common [Usage scenarios and How-to guides](https://github.com/weso/shapes-rs/wiki/Howto-guides).
#### Debugging information
It is possible to change the debug level information with:
```
export RUST_LOG=value
```
where `value` can be `debug` to show more verbose information or `info` to show basic information.
## Command line usage
```sh
$ rdfsx --help
Usage: sx [OPTIONS] [COMMAND]
Commands:
schema
validate
data
node
help
Print this message or the help of the given subcommand(s)
```
### Obtaining information about a schema
```sh
Usage: rdfsx schema [OPTIONS] --schema <Schema file name>
Options:
-s, --schema <Schema file name>
-f, --schema-format <Schema format>
[default: shexj] [possible values: internal, shexc, shexj]
-r, --result-schema-format <Result schema format>
[default: shexj] [possible values: internal, shexc, shexj]
-h, --help
Print help
```
### Obtaining information about RDF data
```sh
Usage: rdfsx data [OPTIONS] --data <RDF data path>
Options:
-d, --data <RDF data path>
-t, --data-format <RDF Data format> [default: turtle] [possible values: turtle]
-h, --help Print help
```
### Obtaining information about a node in RDF data
This command can be useful to obtain the neighbourhood of a node.
```sh
Usage: rdfsx node [OPTIONS] --node <NODE>
Options:
-n, --node <NODE>
-d, --data <RDF data path>
-t, --data-format <RDF Data format>
[default: turtle] [possible values: turtle]
-e, --endpoint <Endpoint with RDF data>
-m, --show-node-mode <Show Node Mode>
[default: outgoing] [possible values: outgoing, incoming, both]
-h, --help
Print help
```
For example, the following command shows the neighbourhood of node `wd:Q80` in the Wikidata endpoint.
```sh
rdfsx node -e wikidata -n wd:Q80
```
### Validating an RDF node against some data
Example: Assuming there a ShEx file in `examples/user.shex` and an RDF turtle file in `examples/user.ttl` we can ask to validate node `:a` with shape label `:User` using:
```sh
rdfsx validate -s examples/user.shex -d examples/user.ttl -n :a -l :User
```
If there is a shapemap in `examples/user.sm`, we can validate using:
```sh
rdfsx validate -s examples/user.shex -d examples/user.ttl -m examples/user.sm
```
The full help for the `validate` subcommand is:
```sh
Usage: rdfsx validate [OPTIONS] --schema <Schema file name> --data <RDF data path>
Options:
-s, --schema <Schema file name>
-f, --schema-format <Schema format>
[default: shexc] [possible values: internal, shexc, shexj]
-m, --shapemap <ShapeMap file name>
--shapemap-format <ShapeMap format>
[default: compact] [possible values: compact, internal]
--result-shapemap-format <Result shapemap format>
[default: compact] [possible values: compact, internal]
-n, --node <NODE>
-l, --shape-label <shape label (default = START)>
-d, --data <RDF data path>
-t, --data-format <RDF Data format>
[default: turtle] [possible values: turtle]
--max-steps <max steps to run>
[default: 100]
-h, --help
Print help
```
## Main modules
The repo is divided in the following modules:
- [iri_s](https://github.com/weso/shapes-rs/tree/master/iri_s) defines simple IRIs.
- [srdf](https://github.com/weso/shapes-rs/tree/master/srdf) simple RDF model which will be used for validation.
- [prefixmap](https://github.com/weso/shapes-rs/tree/master/prefixmap) Prefix maps implementation.
- [shapemap](https://github.com/weso/shapes-rs/tree/master/shapemap) ShapeMap implementation.
- [shex_ast](https://github.com/weso/shapes-rs/tree/master/shex_ast) defines the ShEx Abstract syntax
- [shex_compact](https://github.com/weso/shapes-rs/tree/master/shex_compact) contains the code required to handle ShEx compact syntax.
- [shex_validation](https://github.com/weso/shapes-rs/tree/master/shex_validation) contains the code required to validate RDF using ShEx.
- [shex_testsuite](https://github.com/weso/shapes-rs/tree/master/shex_testsuite) contains the code required to run the ShEx testsuite.
- [shacl_ast](https://github.com/weso/shapes-rs/tree/master/shacl_ast) defines the SHACL core Abstract syntax.
## Publishing the crates
```sh
cargo workspaces publish
```
## Worskpaces
The project is using cargo workspaces wihch can be installed with:
```
cargo install cargo-workspaces
```
## Unit-testing
In order to test all the sub-projects
```
cargo test --all
```
Testing one specific subproject:
```
cargo test -p shex_validation
```
## Using the ShEx test-suite
The ShEx testsuite is included in a git submodule. In order to obtain it, it is necessary to do:
```sh
git submodule update --init --recursive
cargo run -p shex_testsuite
```
```sh
Usage: shex_testsuite [OPTIONS]
Options:
-m, --manifest <Manifest FILE (.jsonld)>
Name of Manifest file [default: shex_testsuite/shexTest/validation/manifest.jsonld]
-c, --config <Config file>
[default: shex_testsuite/config.yml]
-x, --run_mode <MANIFEST_RUN_MODE>
[default: collect-errors] [possible values: collect-errors, fail-first-error]
-f, --manifest_mode <MANIFEST_MODE>
[possible values: schemas, validation, negative-syntax, negative-structure]
-p, --print_result_mode <PRINT_RESULT_MODE>
[default: basic] [possible values: basic, failed, passed, not-implemented, all]
-e, --entry <Entry names>
-t, --trait <Trait names>
-h, --help
Print help
-V, --version
Print version
```
### Validation tests
```
cargo run -p shex_testsuite -- -m shex_testsuite/shexTest/validation/manifest.jsonld validation
```
### Schemas tests
```sh
cargo run -p shex_testsuite -- -m shex_testsuite/shexTest/schemas/manifest.jsonld -f schemas -p failed
```
## License
Licensed under either of
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
at your option.
## Contributors
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
### Contribution
Unless you explicitly state otherwise,
any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.
Raw data
{
"_id": null,
"home_page": "https://www.weso.es/shapes-rs/",
"name": "shapes-rs",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Jose Emilio Labra Gayo <labra@uniovi.es>, \u00c1ngel Iglesias Pr\u00e9stamo <angel.iglesias.prestamo@gmail.com>, Marc-Antoine Arnaud <marc-antoine.arnaud@luminvent.com>",
"author_email": "Jose Emilio Labra Gayo <labra@uniovi.es>, \u00c1ngel Iglesias Pr\u00e9stamo <angel.iglesias.prestamo@gmail.com>, Marc-Antoine Arnaud <marc-antoine.arnaud@luminvent.com>",
"download_url": null,
"platform": null,
"description": "[![Shapes-rs](https://github.com/weso/shapes-rs/actions/workflows/ci.yml/badge.svg)](https://github.com/weso/shapes-rs/actions/workflows/ci.yml)\n[![dependency status](https://deps.rs/repo/github/weso/shapes-rs/status.svg)](https://deps.rs/repo/github/weso/shapes-rs)\n\n# SHAPES-rs\n\nThis repo contains an RDF data shapes library implemented in Rust.\nThe implementation supports both [ShEx](http://shex.io/) and [SHACL](https://www.w3.org/TR/shacl/).\n\nWe provide binaries for Linux, Windows, Mac and Docker (see [releases](https://github.com/weso/shapes-rs/releases)).\n\n- [List of issues](https://github.com/weso/shapes-rs)\n- [Discussion](https://github.com/weso/shapes-rs/discussions/landing)\n- [FAQ](https://github.com/weso/shapes-rs/wiki/FAQ)\n- [How to guides](https://github.com/weso/shapes-rs/wiki/Howto-guides)\n- [Roadmap](https://github.com/weso/shapes-rs/issues/1)\n\n### Installation\n\n#### Official releases\n\nYou can download a binary from the [latest release](https://github.com/weso/shapes-rs/releases/latest) page. There you will also find the compiled packages for the installation on your system using a package manager.\n\n##### Ubuntu\n\nDownload the binary from [https://github.com/weso/shapes-rs/releases] and install the `.deb` package running the following commands after replacing X.X.X by the latest version:\n\n```\nwget https://github.com/weso/shapes-rs/releases/download/X.X.X/rdfsx_vX.X.X_amd64.deb\nsudo dpkg -i rdfsx_vX.X.X_amd64.deb\n```\n\n##### Windows\n\nThe binary can be downloaded from [https://github.com/weso/shapes-rs/releases]\n\n##### Mac\n\nThe binary is available at: [https://github.com/weso/shapes-rs/releases]\n\n<details markdown=\"block\">\n<summary>Compiling from source</summary>\n\n#### Compiling from source\n\n`shapes-rs` has been implemented in Rust and is compiled using [cargo](https://doc.rust-lang.org/cargo/). The command `cargo run` can be used to compile and run locally the code.\n\nFor example:\n\n```\ncargo run -- validate --data examples/user.ttl --schema examples/user.shex --shapemap examples/user.sm \n```\n\n#### Compiling from source and installing the binary (Debian)\n\nInstall `cargo deb` (only the first time)\n\n```\ncargo install cargo-deb\n```\n\nCreate the `.deb` package by:\n\n```\ncargo deb\n```\n\nAnd run:\n\n```\nsudo dpkg -i target/debian/shapes-rs_0.0.11-1_amd64.deb\n```\n\n#### Docker\n\nTBD\n\n</details>\n\n### Usage\n\n#### Some examples\n\nThe folder `examples` contains several example files with ShEx schemas and RDF data.\n\n##### Validate a simple RDF file with a ShEx schema using a ShapeMap\n\n```\nrdfsx validate --data examples/user.ttl --schema examples/user.shex --shapemap examples/user.sm\n```\n\nWe maintain a Wiki page with some common [Usage scenarios and How-to guides](https://github.com/weso/shapes-rs/wiki/Howto-guides).\n\n#### Debugging information\n\nIt is possible to change the debug level information with:\n\n```\nexport RUST_LOG=value\n```\n\nwhere `value` can be `debug` to show more verbose information or `info` to show basic information.\n\n## Command line usage\n\n```sh\n$ rdfsx --help\nUsage: sx [OPTIONS] [COMMAND]\nCommands:\n schema\n validate\n data\n node\n help\n Print this message or the help of the given subcommand(s)\n```\n\n### Obtaining information about a schema\n\n```sh\nUsage: rdfsx schema [OPTIONS] --schema <Schema file name>\n\nOptions:\n -s, --schema <Schema file name>\n \n -f, --schema-format <Schema format>\n [default: shexj] [possible values: internal, shexc, shexj]\n -r, --result-schema-format <Result schema format>\n [default: shexj] [possible values: internal, shexc, shexj]\n -h, --help\n Print help\n```\n\n### Obtaining information about RDF data\n\n```sh\nUsage: rdfsx data [OPTIONS] --data <RDF data path>\n\nOptions:\n -d, --data <RDF data path> \n -t, --data-format <RDF Data format> [default: turtle] [possible values: turtle]\n -h, --help Print help\n```\n\n### Obtaining information about a node in RDF data\n\nThis command can be useful to obtain the neighbourhood of a node.\n\n```sh\nUsage: rdfsx node [OPTIONS] --node <NODE>\n\nOptions:\n -n, --node <NODE>\n \n -d, --data <RDF data path>\n \n -t, --data-format <RDF Data format>\n [default: turtle] [possible values: turtle]\n -e, --endpoint <Endpoint with RDF data>\n \n -m, --show-node-mode <Show Node Mode>\n [default: outgoing] [possible values: outgoing, incoming, both]\n -h, --help\n Print help \n```\n\nFor example, the following command shows the neighbourhood of node `wd:Q80` in the Wikidata endpoint.\n\n```sh\nrdfsx node -e wikidata -n wd:Q80\n```\n\n### Validating an RDF node against some data\n\nExample: Assuming there a ShEx file in `examples/user.shex` and an RDF turtle file in `examples/user.ttl` we can ask to validate node `:a` with shape label `:User` using:\n\n```sh\nrdfsx validate -s examples/user.shex -d examples/user.ttl -n :a -l :User\n```\n\nIf there is a shapemap in `examples/user.sm`, we can validate using:\n\n```sh\nrdfsx validate -s examples/user.shex -d examples/user.ttl -m examples/user.sm\n```\n\nThe full help for the `validate` subcommand is:\n\n```sh\nUsage: rdfsx validate [OPTIONS] --schema <Schema file name> --data <RDF data path>\n\nOptions:\n -s, --schema <Schema file name>\n \n -f, --schema-format <Schema format>\n [default: shexc] [possible values: internal, shexc, shexj]\n -m, --shapemap <ShapeMap file name>\n \n --shapemap-format <ShapeMap format>\n [default: compact] [possible values: compact, internal]\n --result-shapemap-format <Result shapemap format>\n [default: compact] [possible values: compact, internal]\n -n, --node <NODE>\n \n -l, --shape-label <shape label (default = START)>\n \n -d, --data <RDF data path>\n \n -t, --data-format <RDF Data format>\n [default: turtle] [possible values: turtle]\n --max-steps <max steps to run>\n [default: 100]\n -h, --help\n Print help\n```\n\n## Main modules\n\nThe repo is divided in the following modules:\n\n- [iri_s](https://github.com/weso/shapes-rs/tree/master/iri_s) defines simple IRIs.\n- [srdf](https://github.com/weso/shapes-rs/tree/master/srdf) simple RDF model which will be used for validation.\n- [prefixmap](https://github.com/weso/shapes-rs/tree/master/prefixmap) Prefix maps implementation.\n- [shapemap](https://github.com/weso/shapes-rs/tree/master/shapemap) ShapeMap implementation.\n- [shex_ast](https://github.com/weso/shapes-rs/tree/master/shex_ast) defines the ShEx Abstract syntax\n- [shex_compact](https://github.com/weso/shapes-rs/tree/master/shex_compact) contains the code required to handle ShEx compact syntax.\n- [shex_validation](https://github.com/weso/shapes-rs/tree/master/shex_validation) contains the code required to validate RDF using ShEx.\n- [shex_testsuite](https://github.com/weso/shapes-rs/tree/master/shex_testsuite) contains the code required to run the ShEx testsuite.\n- [shacl_ast](https://github.com/weso/shapes-rs/tree/master/shacl_ast) defines the SHACL core Abstract syntax.\n\n## Publishing the crates\n\n```sh\ncargo workspaces publish \n```\n\n## Worskpaces\n\nThe project is using cargo workspaces wihch can be installed with:\n\n```\ncargo install cargo-workspaces\n```\n\n## Unit-testing\n\nIn order to test all the sub-projects\n\n```\ncargo test --all\n```\n\nTesting one specific subproject:\n\n```\ncargo test -p shex_validation\n```\n\n## Using the ShEx test-suite\n\nThe ShEx testsuite is included in a git submodule. In order to obtain it, it is necessary to do:\n\n```sh\ngit submodule update --init --recursive\ncargo run -p shex_testsuite\n```\n\n```sh\nUsage: shex_testsuite [OPTIONS]\n\nOptions:\n -m, --manifest <Manifest FILE (.jsonld)>\n Name of Manifest file [default: shex_testsuite/shexTest/validation/manifest.jsonld]\n -c, --config <Config file>\n [default: shex_testsuite/config.yml]\n -x, --run_mode <MANIFEST_RUN_MODE>\n [default: collect-errors] [possible values: collect-errors, fail-first-error]\n -f, --manifest_mode <MANIFEST_MODE>\n [possible values: schemas, validation, negative-syntax, negative-structure]\n -p, --print_result_mode <PRINT_RESULT_MODE>\n [default: basic] [possible values: basic, failed, passed, not-implemented, all]\n -e, --entry <Entry names>\n \n -t, --trait <Trait names>\n \n -h, --help\n Print help\n -V, --version\n Print version\n```\n\n### Validation tests\n\n```\ncargo run -p shex_testsuite -- -m shex_testsuite/shexTest/validation/manifest.jsonld validation \n```\n\n### Schemas tests\n\n```sh\ncargo run -p shex_testsuite -- -m shex_testsuite/shexTest/schemas/manifest.jsonld -f schemas -p failed\n```\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)\n\nat your option.\n\n## Contributors\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n### Contribution\n\nUnless you explicitly state otherwise,\nany contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any\nadditional terms or conditions.\n\n",
"bugtrack_url": null,
"license": "MIT OR Apache-2.0",
"summary": "RDF Data shapes implementation in Rust",
"version": "0.0.13",
"project_urls": {
"Homepage": "https://www.weso.es/shapes-rs/",
"Source Code": "https://github.com/weso/shapes-rs"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "198dbcb90d8f10d76c5b04b7c2d243d86770250be8b252f102617ece43dc6bd6",
"md5": "f08ff0c51cb825de4cdaa9296c8298d0",
"sha256": "e4c50894456ff46303a685fa2ed16fe4c13937a4c107417be5f1501da96ccfbc"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp310-cp310-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "f08ff0c51cb825de4cdaa9296c8298d0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 4348694,
"upload_time": "2024-07-01T17:46:33",
"upload_time_iso_8601": "2024-07-01T17:46:33.236578Z",
"url": "https://files.pythonhosted.org/packages/19/8d/bcb90d8f10d76c5b04b7c2d243d86770250be8b252f102617ece43dc6bd6/shapes_rs-0.0.13-cp310-cp310-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "646b0c640d6d35e54963b84231fcb58da77c25a4558db75f7c07d34acd3dd3d3",
"md5": "e3d7521a1a1be7a42f7f36291d68316b",
"sha256": "2276b9027d15aa591bbc6228e5ab5938f259df0a69195a0d21a77fdad2be2282"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e3d7521a1a1be7a42f7f36291d68316b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 4224601,
"upload_time": "2024-07-01T17:46:35",
"upload_time_iso_8601": "2024-07-01T17:46:35.973278Z",
"url": "https://files.pythonhosted.org/packages/64/6b/0c640d6d35e54963b84231fcb58da77c25a4558db75f7c07d34acd3dd3d3/shapes_rs-0.0.13-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2e061fbae82cf3fafc04fd90298457215fbd892d1818be8c49ce644aa7da84eb",
"md5": "75cfc09431629b642fa8104f43205823",
"sha256": "fa1f93c759cf7ded88c352dd5f17edf5dba68d1b755169a924442104ba025033"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp310-cp310-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "75cfc09431629b642fa8104f43205823",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 6822795,
"upload_time": "2024-07-01T17:46:38",
"upload_time_iso_8601": "2024-07-01T17:46:38.548396Z",
"url": "https://files.pythonhosted.org/packages/2e/06/1fbae82cf3fafc04fd90298457215fbd892d1818be8c49ce644aa7da84eb/shapes_rs-0.0.13-cp310-cp310-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "44132a2aa04cfc897a9f2a73e59a5fb2afe5b2e145bf99c3717d690f9623ca1c",
"md5": "6723a91840004d9cd7df61eac36bce74",
"sha256": "8e26421535e2de7a10387ebeca13373c3a02098a0f229960bf30e8242809f793"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "6723a91840004d9cd7df61eac36bce74",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3787748,
"upload_time": "2024-07-01T17:46:41",
"upload_time_iso_8601": "2024-07-01T17:46:41.051495Z",
"url": "https://files.pythonhosted.org/packages/44/13/2a2aa04cfc897a9f2a73e59a5fb2afe5b2e145bf99c3717d690f9623ca1c/shapes_rs-0.0.13-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f144d004a7c3e6928aba9cb680265b986bb450dbea61555cac99bb2122a7b1c6",
"md5": "4de8bea8c1962887486f5db719d792a9",
"sha256": "338f4dab3f5334bfcc659cd37bdb78febabcb7d59698653f2a23d5e783bd3ed1"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp311-cp311-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "4de8bea8c1962887486f5db719d792a9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 4348696,
"upload_time": "2024-07-01T17:46:43",
"upload_time_iso_8601": "2024-07-01T17:46:43.760141Z",
"url": "https://files.pythonhosted.org/packages/f1/44/d004a7c3e6928aba9cb680265b986bb450dbea61555cac99bb2122a7b1c6/shapes_rs-0.0.13-cp311-cp311-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1b08eada68c1bfaa5e72aa10d67b47eaf75e77736834110d9884413c4ad292a1",
"md5": "636666648c2a52caadbf7353d30f6d9f",
"sha256": "f6f8388d2aa4d8c007af814100ccb13bf40fd34f0a4b4a2352dd638b6a6759ca"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "636666648c2a52caadbf7353d30f6d9f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 4224602,
"upload_time": "2024-07-01T17:46:45",
"upload_time_iso_8601": "2024-07-01T17:46:45.710355Z",
"url": "https://files.pythonhosted.org/packages/1b/08/eada68c1bfaa5e72aa10d67b47eaf75e77736834110d9884413c4ad292a1/shapes_rs-0.0.13-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5adc07bc2d73a8dee15d2a4006b765f00842caa28167052956178bf6cc5ae930",
"md5": "3e5ac7a5eeae23f431e81ef5f248ce79",
"sha256": "dc6982c5c535d7c1d8f60769019f7d84253640658fc6d2bd1d3d8e25cfa5aeed"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "3e5ac7a5eeae23f431e81ef5f248ce79",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3787748,
"upload_time": "2024-07-01T17:46:47",
"upload_time_iso_8601": "2024-07-01T17:46:47.794706Z",
"url": "https://files.pythonhosted.org/packages/5a/dc/07bc2d73a8dee15d2a4006b765f00842caa28167052956178bf6cc5ae930/shapes_rs-0.0.13-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "64aac6ee23321273d1e29a85b640d3f35aea4335ae27d2937f1f6a0d5024f478",
"md5": "b572d2cb62f1fdcfb40f1ccbbc82fc9a",
"sha256": "a183bd64fbc9a80ac6b1ce596ded0db913daf44dbd51a88593b28cca3ea1a30a"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp312-cp312-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "b572d2cb62f1fdcfb40f1ccbbc82fc9a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 4348698,
"upload_time": "2024-07-01T17:46:50",
"upload_time_iso_8601": "2024-07-01T17:46:50.142231Z",
"url": "https://files.pythonhosted.org/packages/64/aa/c6ee23321273d1e29a85b640d3f35aea4335ae27d2937f1f6a0d5024f478/shapes_rs-0.0.13-cp312-cp312-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "91e763fe1397ee17c96df6dbcaec31a90682448dbbec25bfee81ac12ab819d3d",
"md5": "e9c3a15ffd9dfd2bf0aaa92c0823c3c0",
"sha256": "7085e7c9402c0baea0c16bae6454d168b495d6a5dea25d1f13a36846e507c04c"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e9c3a15ffd9dfd2bf0aaa92c0823c3c0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 4224603,
"upload_time": "2024-07-01T17:46:53",
"upload_time_iso_8601": "2024-07-01T17:46:53.369483Z",
"url": "https://files.pythonhosted.org/packages/91/e7/63fe1397ee17c96df6dbcaec31a90682448dbbec25bfee81ac12ab819d3d/shapes_rs-0.0.13-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "52892c31250ee7a036475016af979fce5f6508cce33895565c3041be6d679d71",
"md5": "94134e96421de85e926fdf80d26cd85d",
"sha256": "c88e7eb64658c01a79ca4be266611fcf241323895cf2aaa40bba26acb1121926"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp312-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "94134e96421de85e926fdf80d26cd85d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3787748,
"upload_time": "2024-07-01T17:46:56",
"upload_time_iso_8601": "2024-07-01T17:46:56.071581Z",
"url": "https://files.pythonhosted.org/packages/52/89/2c31250ee7a036475016af979fce5f6508cce33895565c3041be6d679d71/shapes_rs-0.0.13-cp312-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8467b59cfa237efdaf613bda7c901bff88082baa98113d71f2775d65164e4443",
"md5": "b4ddff7c6e3a2862bccd80a90aa313e4",
"sha256": "f16414c90414b989f322a12653525a31d94e76fafbe1dcf9947741aa8095c193"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp37-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "b4ddff7c6e3a2862bccd80a90aa313e4",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 3787748,
"upload_time": "2024-07-01T17:46:58",
"upload_time_iso_8601": "2024-07-01T17:46:58.437653Z",
"url": "https://files.pythonhosted.org/packages/84/67/b59cfa237efdaf613bda7c901bff88082baa98113d71f2775d65164e4443/shapes_rs-0.0.13-cp37-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "89707f3a457bee1774136b53078b92297e0f49ca6baa03191303ac63ea54e4c7",
"md5": "fd75c0e943325428438064ead449296b",
"sha256": "abb61ff193b98e1b0e24cdf38528709957caf0666150c4000efa4aa18e14d264"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp38-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "fd75c0e943325428438064ead449296b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3787747,
"upload_time": "2024-07-01T17:47:00",
"upload_time_iso_8601": "2024-07-01T17:47:00.929082Z",
"url": "https://files.pythonhosted.org/packages/89/70/7f3a457bee1774136b53078b92297e0f49ca6baa03191303ac63ea54e4c7/shapes_rs-0.0.13-cp38-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4ef9845e2fd761c6521242a2192a4376bef801690a4c1c947009320388be182d",
"md5": "b4551e2b178370381c13adf31a9476be",
"sha256": "ff6de59ce3c6ab16172191c7a6612bfa1e9ee364ad13b2ece3cb2046f3d174ad"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp39-cp39-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "b4551e2b178370381c13adf31a9476be",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 4348695,
"upload_time": "2024-07-01T17:47:03",
"upload_time_iso_8601": "2024-07-01T17:47:03.605677Z",
"url": "https://files.pythonhosted.org/packages/4e/f9/845e2fd761c6521242a2192a4376bef801690a4c1c947009320388be182d/shapes_rs-0.0.13-cp39-cp39-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "522d3beca3694333eb6d2da2478316a01962f1b0bf86edbd6c2878d55d5915c0",
"md5": "c1c2fc73c3d738a6fbfb5bb8d02b0303",
"sha256": "ab7c7864b095b21925d89906ac81968cf20caa083f105ccb20d0ce465ecb965b"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c1c2fc73c3d738a6fbfb5bb8d02b0303",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 4224601,
"upload_time": "2024-07-01T17:47:05",
"upload_time_iso_8601": "2024-07-01T17:47:05.621163Z",
"url": "https://files.pythonhosted.org/packages/52/2d/3beca3694333eb6d2da2478316a01962f1b0bf86edbd6c2878d55d5915c0/shapes_rs-0.0.13-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "212f4a1bb589be7219c03233ac7869e1260ce97c9b6137b5c00a8f2ae1e3f013",
"md5": "5187afd795bfced74733936a4dbdb309",
"sha256": "f58cbc68d44b100a7f13289fbcc706ab013c04eb79a222d3395d9209abb99ae1"
},
"downloads": -1,
"filename": "shapes_rs-0.0.13-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "5187afd795bfced74733936a4dbdb309",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3787749,
"upload_time": "2024-07-01T17:47:07",
"upload_time_iso_8601": "2024-07-01T17:47:07.636442Z",
"url": "https://files.pythonhosted.org/packages/21/2f/4a1bb589be7219c03233ac7869e1260ce97c9b6137b5c00a8f2ae1e3f013/shapes_rs-0.0.13-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-01 17:46:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "weso",
"github_project": "shapes-rs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "shapes-rs"
}