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.11.0b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl (7.2 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.11.0b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl (7.2 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.11.0b0-cp39-cp39-win_amd64.whl (655.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.11.0b0-cp39-cp39-manylinux2010_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.11.0b0-cp38-cp38-win_amd64.whl (655.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.11.0b0-cp38-cp38-manylinux2010_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.11.0b0-cp37-cp37m-win_amd64.whl (655.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.11.0b0-cp37-cp37m-manylinux2010_x86_64.whl (7.3 MB view details)

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

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

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.11.0b0-cp36-cp36m-win_amd64.whl (655.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.11.0b0-cp36-cp36m-manylinux2010_x86_64.whl (7.3 MB view details)

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

oso-0.11.0b0-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.11.0b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 7.2 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 372e761d2065706371c1a6fc86dc980d93cc4d4f3f3a922ff3847578e0d9e25b
MD5 239a25a7a7332a850134066351d1db8c
BLAKE2b-256 bb36920811ce10c81d2c717178b669bc77588af51c9f0a409df4e933c7ccadd3

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 14684188a34a3bb192af79ba57413bafe0eadbe2c72314d3aa6b198e7d8832d3
MD5 02fdb4a9fa8628e091cc4c07b8af3b10
BLAKE2b-256 397c52d09fabee41035d9fd65e7c2677668f6ea7585dc1845925d073c4da7c56

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 7.2 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6fe932a6e875a9ddce9cc21117c67e04576250d7e7f7d245784fa500d6df05e7
MD5 c4c2bb629f45665dd86f4e4ab671586d
BLAKE2b-256 4624fd5ffc204c231a0fce08d7454093078e7228a6d3184defdaf29d20131854

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5b1e970514800c358c2393d073f03dcaaee33eb13d2152430a95539c3c6e6c78
MD5 61396317a60c263572537ae00bbe95e6
BLAKE2b-256 f0d09512df1aec252e570b0e8f8a22ac9d2553bd322c8fab49193253647bdef0

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 655.9 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8cd9d265fe23aa6c95da3c2132c712c660b06234f3a7ce6668bc6a8797ec1749
MD5 debd96fdbc92b6a391c2c87ee76a459b
BLAKE2b-256 36ab91ae8f05ba2f6d3ee9f38caf0f3f50866ae8f1ee6574a5a6ad062e6ecfa1

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 7.3 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e7b68b1d29e7937f4a685c9432ce0e6f5d39492583bb4d22a5be116b8d5cf9d0
MD5 edaf91491551ebc53d814322989c8933
BLAKE2b-256 e5e6d0cf34ff8b1279cbe347d030488f0cfd72548b18aa61506297049d979855

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b61a14b53e57840d03ed827733d7ef8b0b0716efe442b93c7de098fc5ece383e
MD5 436cc97e37f11a705d22ae9fdbdc4371
BLAKE2b-256 01e72997f77863ad427164eb88e9ba36b436ed72cada22069c8501be8d76d4ff

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 655.9 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 52f2b9a09524634550b335912f10e72738e375e17a758fcd4fa5a266a3a3e2a7
MD5 51f4f61192e26b118402cf944867ad91
BLAKE2b-256 d7d02019a8cf7fb901cf533dfc905141c7d8609245ec4755fe8a6b098d6a1325

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 7.3 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 17f9433e29b2dc35092ffff852c553238e120f7f8dc7e89e8cdb2695d503a87d
MD5 fda6409b94a9bf6da1c50e77fda69773
BLAKE2b-256 14ec088377d325d430a15f892b174f5de7e5e9f4849c0cd579515f8df6ae9293

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 41981784a791e0baa1a6fccb43e10f69819839027453d5c02edecdc3f050be79
MD5 494fd8adaaf2a0fcfc064f4c2926ab92
BLAKE2b-256 9298c215c0a1cd23b281b73793ec486ad19fc986318fc3f1c2bcccf96c418d64

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 655.9 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 efd108004ce50ed2625a3427bb83fb98fd033abd0d1f68ee6d710ab26fcaa57c
MD5 136d9087dcf41f5e744983d9321f000c
BLAKE2b-256 324e030269aabc795e02c91c717462deb99f0e143aa50303d50cfcbef088a196

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 7.3 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 dbc2cdaf8e9e16156f9ab5cc23193fc1c73d496f788bf26bea7fa6d3df56a574
MD5 ae2b1fbd96bcb9859c372bbceed29d42
BLAKE2b-256 39d1b5b5fa6f6e0b16581fab5b8dced8daee24c9e627bd1d50fb6a38584b57b5

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7f53483e679a1e39cdf68d903a9bd1067007df3640dd47d9a70cb0102c37882c
MD5 00f9d4f210dd610f39d730fed83977b6
BLAKE2b-256 8c0b044369f4de6158291a18c1d217d6789a5e937823e48808c146739697e6e3

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 655.9 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c5e99b06d890e7f49c4b5257f1d62b1d902cce6a569dd0b881822cf7fb73c22e
MD5 d94f8434e6597646bf6d2cef15078416
BLAKE2b-256 4d2b9b5be0498d7d1c8837cc1b7e7fd9322c5017ac3697cc503d5e68ac05c03a

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 7.3 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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 aa5d821dfd302d3e4d8250c403e5d2924eb551d71e334fea0ac20adf5af03125
MD5 21df844fadd73228af3aa73c81c46c73
BLAKE2b-256 a56cd2d56fbf7a09fd7721876ff3329c1d7ee5be8c81c7c062aae2968e265946

See more details on using hashes here.

File details

Details for the file oso-0.11.0b0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.11.0b0-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.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.4

File hashes

Hashes for oso-0.11.0b0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 916db429f5a50ce4f0c019e05d6193abdf2ae8a9ff9b741ea1ba3fe06ac30e19
MD5 d8eca13e9deefb243b12d72ec9f178b4
BLAKE2b-256 17417b425bb6654ea6ab739700645354707e4377e102e6d479f8fb2a59a8c742

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