This release is a pre-release and may not be stable for production use.
RESTrict Framework
Please see https://restrictframework.io for the most up-to-date documentation.
TODO
- TODO: Change Ref -> Self visitor to skip data section
- TODO: Write visitor to check Self in data section
- TODO: Allow stars in security sections
- TODO: Update visitors.MatchRelDeclared...#visit_rel to search mods, too, for built-in resources
- TODO: Update visitors.MatchOverridenResource...#visit_resource to search mods, too, for built-in resources
- TODO: Consider allowing modification of restrict resources in ResolveModifyTypeVisitor
NOTES
Compiler pipeline steps:
- Check for duplicate field and resource names
- Replace refs with func params
- Replace refs with selfs
- Resolve declared types
- Resolve data constrained field type (res: type)
- Resolve rel type (res: bridge, restrict resource, or collection)
- Resolve create type (res: bridge or restrict resource)
- Resolve base resource type (base: bridge)
- Resolve inherited fields
- Resolve inherited rels
- Resolve inherited effects
- Resolve inherited security
- Resolve inherited workflows
- Resolve used resources
- Resolve global names
- Resolve func referenced function (res: function)
- Resolve computed types of expressions
- Resolve effect field type (res: type or bridge)
- Resolve value type (res: type)
- Resolve selves type (res: bridge)
- Resolve self types (path_res: [bridge, ..., type])
- Resolve literal types (res: type)
- Resolve tagged literal types (res: type)
- Resolve modify type (res: bridge)
- Resolve ref type from globals (path_res: type: bridge, ..., type)
- Check for cycles
- Resolve data computed field type (func_res: type)
- Resolve remaining self values
- Resolve func return type and make sure it matches expected type
- Check data constraint (bool)
- Check security rule (bool)
- Check effect (func_res matches res for referenced field)
- Compile funcs (compiled)
- Compile resources
Expresison types
- Data constraints can include literals, functions, self, selves, tagged literals, and value
- Data computed fields can include literals, functions, refs, self, selves, and tagged literals
- Effects can include all create, literals, functions, modify, refs, self, selves, and tagged literals
- Security can include literals, functions, refs, self, and tagged literals
- Workflows can include literals, refs, self, selves, and tagged literals
Metadata
Release files for restrict-framework 0.2.1a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| restrict_framework-0.2.1a0.tar.gz | 75.2 kB | Without provenance | Details for restrict_framework-0.2.1a0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| restrict_framework-0.2.1a0-py3-none-any.whl | Python 3 | none | any | Details for restrict_framework-0.2.1a0-py3-none-any.whl |
Total release size: 160.1 kB
Release files / restrict_framework-0.2.1a0.tar.gz
| Download URL | restrict_framework-0.2.1a0.tar.gz |
|---|---|
| Size | 75.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d7afdae890e74e00896d5cc49bc727d71b5ea7a5db5780a7e864b6466413947
|
|
BLAKE2b-256 checksum How to use checksums |
02cbee020c045f7b1ace37fbf32cd42c31ee3441753737a47591999130820b01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
poetry/2.1.1 CPython/3.12.9 Linux/5.15.154+
|
Release files / restrict_framework-0.2.1a0-py3-none-any.whl
| Download URL | restrict_framework-0.2.1a0-py3-none-any.whl |
|---|---|
| Size | 84.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ad48e4f8ca3307b09874998e6cc8e3d9a20260f71ee903f4f6fd5fce8b7772c
|
|
BLAKE2b-256 checksum How to use checksums |
3dc8a6d218865a978c0c567310339ac07e669d57ababb64d02b682dada99a9e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
poetry/2.1.1 CPython/3.12.9 Linux/5.15.154+
|
Security for restrict-framework 0.2.1a0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.