Skip to main content

Schema-driven path and URI resolver with a C++17 core and pybind11 bindings

Project description

Silex Path Resolver

Silex is a graph-based path resolution engine for VFX and animation pipelines. It bidirectionally converts between filesystem paths, URIs, and structured context dictionaries using schema-driven segment trees and pluggable functor expressions.

The runtime is implemented as a C++17 core library with pybind11 bindings. Python consumers install the published fr-silex distribution from PyPI and import the compiled silex module, while C++ consumers can still build against silex_core and the public headers in include/silex.

Installation

Install the published package with pip:

pip install fr-silex

Import it in Python as silex:

import silex

If you are building from source locally, use a normal Python build frontend:

python -m pip install --upgrade pip build
python -m build --wheel

Quick Start

import os
os.environ["SILEX_SCHEMA_PATH"] = "/path/to/schemas"

from silex import GenericResolver, ResolverStatus, set_verbosity, Verbosity

set_verbosity(Verbosity.Info)
resolver = GenericResolver()

# Path → Context
result = resolver.context_from_path("/projects/PROJ/assets/chrBob/model/v001/scene.ma")
if result.status == ResolverStatus.SUCCESS:
	print(result.context.project)

# Context → Path
result = resolver.path_from_context({"project": "PROJ", "entity": "chrBob", "fragment": "model"})
print(result.resolved_path)

Build

Build wheels and source distributions with standard Python tooling:

python -m pip install --upgrade pip build
python -m build

GitHub Actions builds wheels for Windows, Linux, and macOS, publishes tagged releases to PyPI, and publishes the generated Doxygen site to GitHub Pages.

The published distribution name is fr-silex. The Python import name remains silex.

The build also generates packaged API documentation from the public headers and documentation sources using Doxygen.

The install layout is split by consumer:

  • python/ contains the compiled silex extension module and any required runtime DLLs.
  • include/, lib/, and bin/ contain the public C++ headers, import library, and runtime library.
  • docs/ contains packaged manuals and generated API documentation.

Shared production schemas now live in the fr_env_config package. Reference authoring examples live in examples/.

Documentation

License

This project is licensed under the MIT License. See LICENSE.

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

fr_silex-0.5.1.tar.gz (196.9 kB view details)

Uploaded Source

Built Distributions

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

fr_silex-0.5.1-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

fr_silex-0.5.1-cp311-cp311-win32.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86

fr_silex-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fr_silex-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fr_silex-0.5.1-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

fr_silex-0.5.1-cp310-cp310-win32.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86

fr_silex-0.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fr_silex-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fr_silex-0.5.1-cp39-cp39-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86-64

fr_silex-0.5.1-cp39-cp39-win32.whl (1.4 MB view details)

Uploaded CPython 3.9Windows x86

fr_silex-0.5.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fr_silex-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file fr_silex-0.5.1.tar.gz.

File metadata

  • Download URL: fr_silex-0.5.1.tar.gz
  • Upload date:
  • Size: 196.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1.tar.gz
Algorithm Hash digest
SHA256 98088ce239a3664549e5a89123a16020d82c014edc25a89b42d423d5df750c8e
MD5 16f4be1d0e5353c3430c2fdeb3d38692
BLAKE2b-256 f48106e93ebce767c117028007ae4a9f82d7db19b45ba915636df3cf5ef33c0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1.tar.gz:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fr_silex-0.5.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e8c84384142756e2d9af123527b989a8cc68a9ab9411a6f017552f70d58e9f28
MD5 17accea8cc38ae909951d75d4be8e2b8
BLAKE2b-256 9394b626e6bc7d7d645172c68d2a10faea9dd9defe515de01c5cb2c027fb64a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: fr_silex-0.5.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 73da7c0b2d7def951ecc26903b33c656fdb668c500ea444c55c967937c7db7e5
MD5 d5dc26a5ab978137e4ac042d1a771c7f
BLAKE2b-256 c0f6deaf1af249e1eb1a16be17d707853f5721e8a05a41dcd78939d9a7304fd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp311-cp311-win32.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fr_silex-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d3a7f0b8553b00a8360f85fed2bbbd337b6c160dbe230ea3c7c372839c864299
MD5 3e73ef9db6a4a835f55d0b8a0b4787c7
BLAKE2b-256 c939e6504e587b687ceda00222bad801e9195f6b5b5efda861a95c26f13f7d09

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fr_silex-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78194dfc2327540662cca2d084b1ce34ffdb6d889b397614fdf206c1b87c41bd
MD5 4af1662af2c7b2ff9cb760ddb95b8be2
BLAKE2b-256 9e8402faff8914735049f26d279c7d3d4207c140d0abfe431fd297b7b286cc40

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fr_silex-0.5.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8a6b625677ac568303e3faf7597f78049aff73e6cd9b8330a460eb1ea8665409
MD5 2466e0ec823ce231207a7b7af49c2955
BLAKE2b-256 bc73ce098411cd75508c049c515c33fc9ddf19a22666c3c1373ac08cc5acbd0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: fr_silex-0.5.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 433e60266c9848ead12429a179f2b9ead90f94b6e6206016703c6ee5b4921e12
MD5 0221e5b610962958c72393d81ad563e7
BLAKE2b-256 8d9546df78c798dd88a1e6b27477ae91e1459bb27496e6015274e360a259a7da

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp310-cp310-win32.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fr_silex-0.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 acd6470326f8c1fb2cd34a2d56e560b2db906cfef5cf982649736db0547d3cdb
MD5 e5d8d7f3e1476ef7bf1be0d280b7be57
BLAKE2b-256 329923d30d4680028cba2c77c2b2a2dfc07bd82bb56d3a78ca9e91736e49e0f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fr_silex-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1407bb9eab84fd94119f7361cf66d2bc52902f4177db63dcb271e54dd4f74b5
MD5 18d561ff89033cef6a45a41bccc5e936
BLAKE2b-256 5be28ae62f7ccd19d663992eb848dfc881e7c9a34781bcd7cdbc3edb5eb9ef20

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fr_silex-0.5.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 09f26046fba2f5812f5921aa3f3b9738d40e16dc5b09a92e167d95f8fe3fb0ed
MD5 452d01a7bc5034bb54c2ccca64819ff9
BLAKE2b-256 10af1de291a7cb3f95147c0c18ee48daf36a94546ce21b22da369b2a05c70dba

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: fr_silex-0.5.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fr_silex-0.5.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 75ac29b9e856b23bed948aea9ea746916420ff51dcb137537a3dec3b325e8981
MD5 3bb5a158b727edce72a7cde85147c35a
BLAKE2b-256 96c0e5091d51b62acb2022ecb631e08421e2a4898f8c01046ca349ed6efc3ef3

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp39-cp39-win32.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fr_silex-0.5.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7c17ca632ad0205b3da6d7e653da4841ca434248c22b7221045145f7f9a6d0b
MD5 0caa17034dbcfd1759e281400ab50df3
BLAKE2b-256 98cd53f884aa6845ffe6380487c55059df72411ca73af9288f3d046166e8ed13

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fr_silex-0.5.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fr_silex-0.5.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd06f2b455f00cd12facb6123fcc7942ec1818aefea268a1d24a3d3523ce538c
MD5 4e0f0234ad84bc616bd73333aeb5e420
BLAKE2b-256 6d84f5b07c4fd7c7351ff3db5354d61db546e08ce652bc20f28af82bf264628a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fr_silex-0.5.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on FloatingRockStudio/silex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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