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

Uploaded PyPymanylinux: glibc 2.17+ i686

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

Uploaded CPython 3.9+Windows x86-64

openpathresolver-0.1.1-cp39-abi3-win32.whl (984.1 kB view details)

Uploaded CPython 3.9+Windows x86

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

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

openpathresolver-0.1.1-cp39-abi3-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

openpathresolver-0.1.1-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.1-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.1-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.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

openpathresolver-0.1.1-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.1-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.1-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.1.tar.gz.

File metadata

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

File hashes

Hashes for openpathresolver-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4fff4a4678175e1d5811231b69bebe6646e824f7dbc79e353dacfd9aa185d8ee
MD5 5d60b31ded0763da967b6fd891c1a2c9
BLAKE2b-256 8179481541f4068108b09ed96787890dd83dce63c3e79f12bb562c7f5329d2c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77d9dc2a2e51ca68193647969e0887a96814c7006a70bf35f6e66582dc2cd141
MD5 f73d4f4301753cebf2a639342ae77876
BLAKE2b-256 ed43b2fdd128e0e2c2a5f5fb6626e5d0e1829b1dff295994fefd7ac4041d3488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1baac26abde3e360913b29144d1a2f65ba92948ae07ffbad32866975c0c8bef7
MD5 f44a42b7983b8034b93993bda8398de8
BLAKE2b-256 733038ca7d4b153b367b2d92995a84f912f45164c356fadea56556bb78f21348

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b8f578f4d411d161d67c2068f7672dd8661bdfac365b7907e34fd07b10e046bb
MD5 8b838ce870abf5ce7d6c7c1c2a8430e4
BLAKE2b-256 90606f6118a64cd74f06db73756f948afaa42d1c44a5f11ae8cf345ddf09fbf4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 66d673012f096d3a1df3a0cb74c6793d9ffc570a6f3a46aae88d23b56a2f7d55
MD5 83f52619ce9b13dce5b249c9d8464bd8
BLAKE2b-256 0b24e05116fcbec30fd297d640552f188b870e54d366def9f4b70a207bf53ada

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9569d1b4370ea10aeace7f528670a49ec0692a144c069808fd603efcc0c43687
MD5 2f72a20fc5c01a9687d0f176c90e5377
BLAKE2b-256 3dd8d575c76090cd5f7ce09726686c700e7545921b1166b682030bbdccd9d5bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2000260a6be92e694a7f500bb10189491b747b3874acd25e61ee8f39fff39bcd
MD5 1b639896fc049ebedd72a7bd64893761
BLAKE2b-256 425fc4c4de5d8f178fcaafa27df530d7a9d8956072758bb3790f5009d68d0cec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 63ab3d476949be21d6d4e0236f12519f8720da312f913e031d4bf1764ffdfa22
MD5 68b6d06aea2dbc2cabb3c8494b04ec4a
BLAKE2b-256 0c1623d280feebbcc860f1f590f7d6b541c7fa73bf8f6b6380b2c283e7bd128d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 26c97c3b1f5d1a15147edf53bc0373a3c344a6712b813074adabe62e96f9c912
MD5 72825d04800f2f43a3113522fab7ce1e
BLAKE2b-256 b71d8f5fbbed1225a4d6de3cb847f8473f2779ee51eca00db276dd6f8c09a362

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a66a656244df8ae78f1df92d25e7da10959c930738d9b87a8e913f4970bc58f
MD5 89d5ef57207ff0b2acdd070f1dfd29ca
BLAKE2b-256 fbf81bcac3a851ebb52ecef48662524a7d6dd77c20b465c6eb4b4327c978cfed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 caea5377a196b637908f4b8fd527fcc93a5e3a917ea04a86a697b8b85d15dac8
MD5 ba4b6dffcc8a724943de768147c9ddf0
BLAKE2b-256 26af633c5e24c9aa5aae78b9ee4f80b11ffce0ee5206097d5e5e8810e1279311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3680fa6cef32569548017764f11f625278075cbcfe27467456f29b82885f42bd
MD5 e936575a83f4699cc71dba1b9fd10d68
BLAKE2b-256 21ad268aa75460fdbfcc850131e48c03abc666f53e7e511efd148a430e766f89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4f16bdc78e0d877569d56fcdce2005323aa07249b4f7d3f1688af4951ce2dae9
MD5 df37c2e7a3e9a655c33a165cd1426319
BLAKE2b-256 2ea891075420435506453de411370a6799bd85cd5d65107fd8b2228c3d73faf5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 755fd64059c0f423fe67d25fbf06484783d21165f62995d494a4c6d9a6e13a4b
MD5 18b1abccadb65cc41d474f7245e601a1
BLAKE2b-256 08aaede25e3f80df6f8164268f908a6aac6c29461652e48b575fe0157ae67ae9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 665c50ace24db7e03af745f4b0b1d6bf782839504dea231e0b2c6cf72cc81bbf
MD5 bbdfdd2e21879ff2fd0ce1d24a18ba51
BLAKE2b-256 32f0865d82c8a8f7748b50500b74b8c59c7b0ca25558a58e1f72bb87f3d0ec5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75a169e5b0f909e7958e3828fdc3a7aa9e7f671aaaf519046d9a37f68f045e20
MD5 4b9c5b1d2e9327cb09bc2ce447dff5dd
BLAKE2b-256 d8014e649b1848a71240caf9f438fec98461ae743e80657c2f2ceafe4da27810

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