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

Uploaded PyPymanylinux: glibc 2.17+ i686

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

Uploaded CPython 3.9+Windows x86-64

openpathresolver-0.1.4-cp39-abi3-win32.whl (975.6 kB view details)

Uploaded CPython 3.9+Windows x86

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

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

openpathresolver-0.1.4-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.4-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.4-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.4-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.4-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.4-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.4-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.4.tar.gz.

File metadata

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

File hashes

Hashes for openpathresolver-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ca6839e92399d415487689bcf3cf81e33fa5a7f423743dfc75e29373de0a5fa7
MD5 972f1f5f2c01149052e7530d8c8d73d4
BLAKE2b-256 9d3c55d0467f04232e70593e4244f58c6e64821c276f97d48e33b8dd2e42a3e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf3886310ade6ef971776425885a09c33e841519f0c631c5b654d938fbb15dde
MD5 2a1132994f82e1f07e3ae3011fd2fc48
BLAKE2b-256 a64e7e7ee4788485c355bc5453c307a3a54b73575b4c18d40b2f09d1286e1aca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 026687793d801d651598b424d357833bd54a8368607a0315eccc4515fdc78fe7
MD5 963ea8388ad54fef1738db676095b310
BLAKE2b-256 949033931c7c3850ab6302385c858bd0c05e9ccb8632d2b3ed38b94ef09767b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d5e24665bce5b6b0190ff72e618e1f2aec0b1bb11dbfcf630f121f31c3a5f884
MD5 db643c173d0f00ebd89bb2986b810bb4
BLAKE2b-256 5b9549b8a53ede14b80ce208065d6ed2dc34719c1e1a76fe90bbf35066f6dec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 7d1efe8d6f22ace83ecf7b6fe6c040cc752f5110ba16c6a7c5f16a73729817bc
MD5 3df6e07b58a167b1b280d645519e5d49
BLAKE2b-256 458d5a0c3bfb7a32f1ea530ae7c06640e5234783a0d3a2f6deb0abc8e1a5ff8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 85aea28a9d76f212999eb5c34e1c870a9cb1949fc41f7c87611a3be4d5a257ac
MD5 f4d00ddb6a91cc34b577696ec0279346
BLAKE2b-256 97ce8d23a3aa75e425030941ed99af4bbc82e7db76ff4e60c10267004eba3a8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 deff8293baa1c6af1ab5f8d8535ca6994524d5b49ce951c717d098f85120b8e4
MD5 607709b15b5f27dd1c64a990d5795520
BLAKE2b-256 83f4640944ce2a1722506e71276d3f67907715591049d8eca84ebb710bf2fd8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e0ecfd82ea4c5a197763c3df16628bbbe94302c0e486e263730939b4367553d4
MD5 c1b4e53f28ee373dd860f141b2b2f6b8
BLAKE2b-256 d4ae15ecd063156d51327678581ccf0773b4bfe995e6cf44010f8b02180b3c92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 efb66996713117b83275a745f8dac6ae87b2e9ce89492723a7cbf697bd38dadb
MD5 97f653b7c4114978cb4a84e17d7ab788
BLAKE2b-256 f9f3119feaf435b308133ff79a0792951288ce199a8ec4558ad17fcfdbcb1dfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98f8b5f0c3aa68448f8990ba9c2798287cd14aab17af4cb4eac636a735c2b940
MD5 0460fb9c8801263e98022faab797f872
BLAKE2b-256 c1102474f584d615fe3b065b1bb4fbdfd872c22d22d6b227cbe7a76b101cd7d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0ec0d4591fda2fd1e34f1429403272625596144565640641c0f1a0f081d126d0
MD5 9d11630203fe0bfbd133dd5396fc7f45
BLAKE2b-256 cf75d0ba94f2d6250b1d37551c2b8758e252218be27ad8df5eb596b3f6d1eb94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2cbe1b231cc939b8b08d7d2cf943bae9e80fa60af72fb12c29aa4240fccc6865
MD5 8693360a999d5f0423cddb1fe39420e9
BLAKE2b-256 53f0ef16014b0b396f89c00b87118c9879e011544a27f8844b50deacbee5b2be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 edcf6fd7ed61e23e45184756031cb54b594fc977f8468d41c9ff201ee37ebe99
MD5 baccfdbfbd7d7dc97a7f7a19d0f47d22
BLAKE2b-256 0155538295248a23e5f621eae990ed193f32c8424675c5cc0bf3ceb2bc3cffc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a352077a508bec2fb1ba250ea608fdf20f00554472ff3d72f05d9d162484f610
MD5 d71392a4893ea52135664d9d99443444
BLAKE2b-256 b1134a3817cca983f14af694d52f86d8476ebcccb1d5f365408420bd62200066

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8e239f3eb81785c6d4554e4901f6a5347c1e0bcdefa5d1357b03e883ad4388f
MD5 fd5337a2a8569d329b2fc1c78769ad11
BLAKE2b-256 a24fec5de4d4b1545ffbb49f83eb0d56ec10e256501663ef7bbf67a53a34e476

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openpathresolver-0.1.4-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 754a2b2ea8aa2eac6d387763ceaea43dc70eff301da31f75b5ba9186ed3f76cb
MD5 f20ca6f4568b69f350b80c40d04a575b
BLAKE2b-256 c11d262d4f33dad450a1753501ee6e84b490cfc25d8413f1c430ade3ba9e23f6

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