Skip to main content

A simple path resolver framework

Project description

Open Path Resolver Framework

Overview

This project is designed to answer two questions. How to build a project or workspace folder structure and how to query for where to write to/where to find paths.

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.3.tar.gz (49.0 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.3-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.3-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

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

Uploaded CPython 3.9+Windows x86-64

openpathresolver-0.1.3-cp39-abi3-win32.whl (971.9 kB view details)

Uploaded CPython 3.9+Windows x86

openpathresolver-0.1.3-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.3-cp39-abi3-musllinux_1_2_i686.whl (1.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

openpathresolver-0.1.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3.tar.gz.

File metadata

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

File hashes

Hashes for openpathresolver-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1d4e568be2ced1ce4c83c549aece15438a12c3d1662640a9ddbd878e52ab0022
MD5 2c2d094140dda2e63a2acebb6ef4e4e9
BLAKE2b-256 3d848fdb4c99c65e53cbb2b2511f02372dc6178b1b7de5da353bbbe966b73468

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa6062e8160ec90ebd82398bc3d41b6b47309fe2d12c3b1b4a29e96db420c55b
MD5 a7e9549000e077ac95897d2d6b654384
BLAKE2b-256 3ac27c61c2ac69cb2fd775b112acfaf059f762df90e6ef963c1091c97b85de01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9449ef27a6a1563c02c7d641d7250fbc5e536c81ce8a6816178c588f34f53338
MD5 d3c9e182189453a06238b8c013fbac0e
BLAKE2b-256 8102d0d2c9a6f7a758e3cd0a634f25994413a909b32e9d8a1889022573f652bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d8c850a3c75222851531773de3112a524e378579981e94e32b5644b5039ea69f
MD5 9ddfdb795620ceef539591629d8cbcb6
BLAKE2b-256 7451ca921019fec0ef3a5f0333d796e4b69b44580135fc3b3fcd9b337bf19d03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 18b21477f71bc321a1bd5d90ce37fc92c0d3f1dffa60d21c515ca2984291648a
MD5 4ab045365e767441ac46454c003e7b6a
BLAKE2b-256 a4f3ec2fdf1ece8f9b83e6d82edf7f8da75c3dec9d9256b4bcb7e609c0785dee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 30a0eca0751638a0f37712b17066f8f541bd1704fcd60e5056b2c6f424405258
MD5 0bdaa8aa37e2847e3f495d4e88541f9f
BLAKE2b-256 055ed2b663346f91cc4e4a242d353e65bb7a2e924f9215ad60f9c1ec667e99ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 10bb1476e411c4e5249c3051b20c257d06deab4a73136a31a2901ca924186b58
MD5 f00cccf0568d4195df874146033f643b
BLAKE2b-256 588a3f92d30d25e979a61d7004fcae331e8e0147fc81f7d8348027c43111a6de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0a45af6bf6a6477eda003ba360b1a6394e37ad7a49cdf5e2893fe2eeb45c2007
MD5 9efaf39e83a2e59fd99bf9d46174181b
BLAKE2b-256 bb5116a7fb1ee4cbe3c172b76f9ec4d50582e7f9a9a5634703c6f3bae4361917

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bd37a86ceae2fb4d8e0b5270aee7850e57340e3bda4abc0346c4f2be1a89e861
MD5 3be1d7a8de0fbe52d3d357040da996c0
BLAKE2b-256 d83774cc9bbae9f5b2e7198fba0fb59a604435ee7e4d0890c63b545624c30996

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25ce85a06f408876a6a057525a9ed86a58bfa8a170c0d5a593ef03a696984ea1
MD5 bc915ee16777af866d82b7bc58a5b9fe
BLAKE2b-256 f9382695b6402ff6ac45d3cbbae6f2d7c69a59793fdab11fa4fb63b240a4f180

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ed57e97cea67f71976312b8acce96dcf36aca5ed6405fcb5488630bc68eff575
MD5 db07e794a050b7d955490dc6218c738b
BLAKE2b-256 c395cacecb14802f6ff89ef4c421810ea2c89a42a57dbeb0f2d1e11df068c1f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6f4c2690a10c20aa8aef2b61222edcda7043475603918f4652e252585f74fa32
MD5 f5f94b201d5f2314a67132576e4f6950
BLAKE2b-256 48672eb0313e3fb51914a8ce43abb79f86518b7730cce9cbd3a0e93e3677c57a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1f106f98d45550e00e994b99f88f838ff27303bc036e8566885ec0b730f0e5e5
MD5 96c81cc4c06a32519a7140f4b0659676
BLAKE2b-256 f79325906091806e14c2bcb3de0d51dab838d3950b3294a17f2ede26cdbe875c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6b46ebde5ee1182b991f2aa6f8131f58ec3e1a0415213975004c7dff14d9cb7e
MD5 4aff85bcdd954c3040db9642bbe47327
BLAKE2b-256 fc32b33c0581a800165c1911b0c25142918eab2360508965efde88d46a575adb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e241ff1ea6474e665b521861b9b4bcca41a197e0cca4e681bbe6283b73ffd009
MD5 3d8e85dc40940761070ce7469a9a737b
BLAKE2b-256 fd090bc7b242de65d711899560eb24a58568d07df753d255238e3fae10376dc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.3-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e833ddc1a52559bc249d088d41b9cb71e9aa3ed5b1df4adf0e934817156a9618
MD5 e3a289e3f282665170e1d4d75869b44b
BLAKE2b-256 9d35ebeb60b0241e144e66f9275cf1b8f2e5e4ee46336d7edcbe5f1e6d42cf41

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