Skip to main content

oso is an open source policy engine for authorization that’s embedded in your application

Project description

oso

Development GitHub release (latest SemVer) Maven version NPM version PyPI version RubyGems version Crates.io version Slack

What is oso?

oso is an open source policy engine for authorization that’s embedded in your application. It provides a declarative policy language for expressing authorization logic. You define this logic separately from the rest of your application code, but it executes inside the application and can call directly into it. oso ships as a library with a built-in debugger and REPL.

oso is ideal for building permissions into user-facing applications, but you can check out Use Cases to learn about other applications for oso.

Using oso consists of two parts:

  1. Writing oso policies in a declarative policy language called Polar.
  2. Embedding oso in your application using the appropriate language-specific authorization library.

oso currently offers libraries for Java, Node.js, Python, Ruby, and Rust.

Getting started

To get up and running with oso, check out the Getting Started guides in the oso documentation.

Development

Core

oso's Rust core is developed against Rust's latest stable release.

Language libraries

oso's language libraries can be developed without touching the Rust core, but you will still need the Rust stable toolchain installed in order to build the core.

To build the WebAssembly core for the Node.js library, you will need to have wasm-pack installed and available on your system PATH.

Language requirements

To work on a language library, you will need to meet the following version requirements:

  • Java: 10+
    • Maven: 3.6+
  • Node.js: 10.14.2+
    • Yarn 1.22+
  • Python: 3.6+
  • Ruby: 2.4+
    • Bundler 2.1.4+
  • Rust: 1.46+

Contributing

See: CONTRIBUTING.md.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

oso-0.10.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.10.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.10.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.10.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.10.0-cp39-cp39-win_amd64.whl (615.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.10.0-cp39-cp39-manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.10.0-cp39-cp39-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.10.0-cp38-cp38-win_amd64.whl (615.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.10.0-cp38-cp38-manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.10.0-cp38-cp38-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.10.0-cp37-cp37m-win_amd64.whl (615.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.10.0-cp37-cp37m-manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

oso-0.10.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.10.0-cp36-cp36m-win_amd64.whl (615.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.10.0-cp36-cp36m-manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

oso-0.10.0-cp36-cp36m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file oso-0.10.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5227786e9bd57ceb93d7c46ad3ddb1b13dfe8ebfdbc79b632328a512a2e9ebac
MD5 740f30b384ce9e6bc8aaaf4600e9ee97
BLAKE2b-256 6790114202ffb1bc33193667ff89a32164373a6f83f5c23455f45cb0562a13c3

See more details on using hashes here.

File details

Details for the file oso-0.10.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 054bd853af843f7b8d3ef19fee01434c3ec14d3e2560bfa2fe330c66381c69dc
MD5 00134866af4eb03b42232b15c5029391
BLAKE2b-256 f348bdedb4519bd00072d041da4a8c8951c9f509f23865631e8d3e4f59bd1abe

See more details on using hashes here.

File details

Details for the file oso-0.10.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8517a9948182912a7511400c82a4cac0423462827fd4eef1bc01b8e8ec519bf5
MD5 67740ac2adb02e563e289404f2fabf2c
BLAKE2b-256 146dd1f0484be74aa643cfa8c973cf1196fbffb1bf3901927d9e6f966b5810b4

See more details on using hashes here.

File details

Details for the file oso-0.10.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c0d7040f1959cd7ad050aa92a8638c31e32bafa84711a0b11c7d73bd63ec4c7e
MD5 358cee8b2dd9dc4be398c41ef8528ad4
BLAKE2b-256 f5d02c33f4db1433d1c1a34ed9cc313606680e68fd09571c759aadbc95109dbd

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: oso-0.10.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 615.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4b538e9056d073e9dd3d6d472d97283d4b2f4f619f9f6153aefd4b1832c918f6
MD5 37fb829942c5ecbe1c4bf5da88a40cc0
BLAKE2b-256 8c59579f3ce27fcb42f1414c9a0352bf9d861924657c8a2ab102799df9193345

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1640973e570056648a3c9078b988d2e527aef1ef42ab3a955724aa82ef67b023
MD5 6a708e0f3417d8400ce7b89b9c2b95b3
BLAKE2b-256 5952138e6980fc2af3725d9ab971749a7cc3d2f251884b1db543ab1d02e13035

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e14732ef7367074a9c3526bd1126fce8c21fd18f125a9f54188df102006d15d4
MD5 893455b4bacad5c4ab9420776ad1c918
BLAKE2b-256 d0fe9615cc029f90ec9720b1256101c96786b4a3ba65f221e4bb4689c7a31af5

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: oso-0.10.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 615.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fab1c0c4d3e995ca524a92d33981efb05aa9d44870f7a8509103c186fbe9b4dc
MD5 ba28fb6c83f78fa867a2cfe402993aa6
BLAKE2b-256 6c8e6d3110b6804ea93f96bf37dc7c50d40267928f57b456fb80f40b916ddd5e

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 13e79ace35ef10de6b46f6af82dcb54ace4435914668dda55db8c04ed98e2658
MD5 792066145ae43b4fba349823df5f2dc3
BLAKE2b-256 c03c3f849d591aea9fd0558789181a6dc9f151c732a787db6d04e037674c9c28

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a9ca03910c79e7bfd850444b1d8b07451b76f63259282de20c75e8d97be74167
MD5 5b49cade92a16d3701125343538f6069
BLAKE2b-256 1b6622adfdc697cad90360d13a59cd975d04b362ce53c4d5aeace32d3e3f1404

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: oso-0.10.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 615.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ab45f029c1c02d2b9e2a8456739b68e7fa843e61e85ace010269b211e6dcf3c3
MD5 593f5685109af9cfb721282648c18db1
BLAKE2b-256 7c122722b46a852dd072d49b0c66a705be50267e34da7aa2373193ae5f4c5ea7

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2c553443da6e3e3065156fddbc98f563f4c9548570548c7f0a94b9ff517756a3
MD5 8b5aff3ffd4875cc58b7ab4fa5c7ebe1
BLAKE2b-256 aa131ebd82bace1aa026ce55b816d4508428b1f733370ad27349e4154d539c5d

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 08698b462303f8e4181878bb42db9b21d2ba5c5c59bd30fd0b523168270c1c82
MD5 f44982d209318e96fc8f45fb38c18d79
BLAKE2b-256 7e7eaf3942be6652eb825cb503516cf8bc79804e6217616e9891a07c8a0400f3

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: oso-0.10.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 615.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 171e037e75fa22d2ea59c3207e94e25b5a10e7bfc3f46cf918da3bb74d0ab413
MD5 d3f7d3653001b15b5a6a2bab5da8c7f0
BLAKE2b-256 ae58aa9a2e4a7e2a32ccf58b5a7d06a5019a3197b30b0b7e7ca08122c4d645e4

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fd3ada485aa8a97e0ff4e89af295a73eaf30b4bd0225154dc3a8c43f73cb3265
MD5 0693343cb23733b3b220a62c39745a8f
BLAKE2b-256 39d6c9d416def5035cf45481c7dd1dfb6698a89b0a4f64990a99674e7f2aa92e

See more details on using hashes here.

File details

Details for the file oso-0.10.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.10.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for oso-0.10.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9fb56dab26a08fa798fe7627b64a54e1d31d0ac38e4d79a3a9b5c5a037fdbda3
MD5 198bc9a9dbf67d900204a46953e3cb7c
BLAKE2b-256 460662c85ffa4cb73386778f1db1edfd05b153439b428724589461ddf9ca25da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page