Skip to main content

A simple path resolver framework

Project description

Open Path Resolver Framework

Overview

This framework is designed to provide a system to write checks for deliverable work. This includes validating assets (rigs, geometry, surfacing, etc), shots (animation, lighting, simulation, etc), and whatever a company would need to validate. It provides a simple API with a rich result type that provides all the information to let a user know why a check failed and what they need to do to fix it. It also supports fixing issues if the issue can be fixed by the computer.

Features

  • A Rust and Python 3 API
  • Support for building out a filesystem for a given context.
  • Support for querying for paths and extracting information from paths.

Requirements

  • Rust: 1.92 or later (This is not the guaranteed minimum supported Rust version)

Design

Workspace

The workspace resolver is designed to not directly build a workspace. Instead it will provide information to an IO function that is responsible for creating the workspace. It is always assumed that the resolver cannot understand what the "root user" or "read and write permissions" means for a given organization. Instead, it'll provide context to a developer so they can decide where to create a file or directory, what are the permissions, owner, etc.

Path

The path resolver is designed to take some fields and a key, then return the path. There are sibling functions that can extract the information from the path based on what information is provided. For example, get_key will get the key from a path and fields, while get_fields will get the fields from the path and key. The find_paths is slightly different in that it will find all of the paths for a key, while the fields will control the filtering. For example, if there's a path path/to/{entity}/{version}, and the fields {"entity": "foo"} are supplied, then this will find all of the "foo" version paths such as ["path/to/foo/001", "path/to/foo/002"].

Install

Rust

cd /to/your/project
cargo add openpathresolver

Python

For development

cd /path/to/openpathresolver/bindings/python

python -m pip install ".[build]"
python -m maturin develop

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openpathresolver-0.1.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

openpathresolver-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

openpathresolver-0.1.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

openpathresolver-0.1.0-cp39-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9+Windows x86-64

openpathresolver-0.1.0-cp39-abi3-win32.whl (971.2 kB view details)

Uploaded CPython 3.9+Windows x86

openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_i686.whl (1.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_armv7l.whl (1.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

openpathresolver-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file openpathresolver-0.1.0.tar.gz.

File metadata

  • Download URL: openpathresolver-0.1.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.4

File hashes

Hashes for openpathresolver-0.1.0.tar.gz
Algorithm Hash digest
SHA256 46cc94facbb3a334bd9e8c571ee0811adee1a078f4727faa4ca73293ebdd80f9
MD5 f63d4eafbd0d8b55476faa710baa425c
BLAKE2b-256 734c147605205a1685cbe2d38734fb2d78c8afe6997e29421955da86b532f251

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cefc911679fd59f28061775a9350b3681356f7a75749ebf04e03d6da08b92c15
MD5 1a96e34252175a41f650818021740c88
BLAKE2b-256 2ec5b085fb948bcb23f1949c06f5cc009c3e1d6d7ec9ac6f19417c63180ee500

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 149ab71a8373943494a2cc641a512833ab0dc1a1c33eae6802a39d5324ef3970
MD5 a65d5e6419d36f1025612863c2a6535c
BLAKE2b-256 71b211f2f748019e024f745f9bb2b13e01947ef120805256acbabf188faffa29

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7d0b0872f0bdd8a6c0e3255be2ad657277ac6d6e705e0f61d70df03aa8a963b2
MD5 96ca04051199b410f7e94091af4a51cd
BLAKE2b-256 c6cb8533fdc928f85cfc98c43a7c9ad74b17819736598bfb5f5cef842a60acf6

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-win32.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 bb56d59032b62de0b63b0287d009d620b8472550cef85decde1a511fffbc752e
MD5 5ae75f0cb26b6cec251d75941cc958b2
BLAKE2b-256 794293d471e77a18b3725b565b793f80a1e8705860a4a54eff979aff1298ad5c

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df625e68ce4d5e353418dac5eff1c8a46102f648f1390901b62338743c4421f5
MD5 508a7a67307118860e344d616646c935
BLAKE2b-256 0e2e3331c36071623aa02af84edfece070f338ffe17194e4bdd8879e10451fe8

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7bab33cdb78dba94089a50d3eeae2d963d9979336c00dc27fb2857028c0b4653
MD5 095e6f5cbeb17cab77828652b3ed1414
BLAKE2b-256 f4adf81b3b86517db17b1b7d405045c8997ae9a76cbe9041d7fd017a924a912e

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0cb639f145a9adfd877863e66b1da39ccd7abfe783f7157f2f2da85c403f85c3
MD5 c5f399285663997dcf952b5278ffcda6
BLAKE2b-256 57d2ea78203c039b474a38c5146bb28d9b74ef19082886928f4ea14d9d78c48d

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f7a28fec3a38e49feb41625b542a6c5afb6eae778136dc6e725cb11840e66c32
MD5 414cddbe37c0d002b68ca4136d89a297
BLAKE2b-256 c6fb4cd07b3b86e4af865955af3e56f6b0757643a1d2a4c7ba8365b28c9bae82

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53b5da047e4fcb191f0c5af49770fe7c97e7a1119c29fbf1d2d841a6caca8b90
MD5 91c7484199a695003254a73d23f2b770
BLAKE2b-256 f6618581aadb0cf0ac954485db6b3d6d79550dfaffbe08ea64ee53c7240e5900

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 57c9c0aafc3977da0f0d8e2fea3ebc075abeec1b2f0c5b7ad8c66956b122ccfc
MD5 b58b7382c5f0622960eb6e093b35c904
BLAKE2b-256 ba359b2590ed277a129e3fd75d914babbf7d4888bd6c59dd5aa857f47affd988

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5d6da7b47fe490cca70a8dbc57df60ee32612a8491b068cb073e8edb9243ef78
MD5 423a705b747601e2f06b2b92da8723b0
BLAKE2b-256 b2740a51601fff0d26a7f2c6dba655e2cc9982d0a4cbe4e56ca0219b15fef675

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d560aa2592249e86a8e66236fb1292c9571aac528243af3f30cfcc4c52d90873
MD5 256bb0f80d25cb7f4d4f1d4ab1a91482
BLAKE2b-256 160733784b9e47697c4eb3741364492b236222e087bf64e6e120b11d6e123dc7

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f25e176b39c198ec9a60a17cb51e743862d332e19dd59f050ce4546091aa2fe4
MD5 1f69e0c17e9e8209700ea1dbde9a89cb
BLAKE2b-256 c357d7a18720a258a3bc033be8823e88ad41c4eb4806e8f6e550e5f3276a1ee3

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 33f299e74144b6a1d099bccc4f2e6a2bb082608ce449c0dc0a8a1fe626017641
MD5 1fda1141b2318fb9567c22975fc367de
BLAKE2b-256 fd32f405a280074eab3d78527af953ac6704e081341fc6bde3dc1c598bda814b

See more details on using hashes here.

File details

Details for the file openpathresolver-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openpathresolver-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ac996b4fdf7a105d9458c0bbc02089cf791bcaf66dcdbe055f037b072a1b82d
MD5 b8af1166a331d695e0d404e23da74c3b
BLAKE2b-256 fc59541087cceb2b472cfd28e57b7eca7db2a4ed09e57acaf94e5932d5cd1ff3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page